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 Amazon Web Services 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 Amazon Web Services. To minimize down time, you
525// can configure your Amazon Web Services resources to use an address from a
526// BYOIP CIDR before it is advertised, and then simultaneously stop advertising
527// it from the current location and start advertising it through Amazon Web
528// Services.
529//
530// It can take a few minutes before traffic to the specified addresses starts
531// routing to Amazon Web Services because of BGP propagation delays.
532//
533// To stop advertising the BYOIP CIDR, use WithdrawByoipCidr.
534//
535// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
536// with awserr.Error's Code and Message methods to get detailed information about
537// the error.
538//
539// See the AWS API reference guide for Amazon Elastic Compute Cloud's
540// API operation AdvertiseByoipCidr for usage and error information.
541// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AdvertiseByoipCidr
542func (c *EC2) AdvertiseByoipCidr(input *AdvertiseByoipCidrInput) (*AdvertiseByoipCidrOutput, error) {
543	req, out := c.AdvertiseByoipCidrRequest(input)
544	return out, req.Send()
545}
546
547// AdvertiseByoipCidrWithContext is the same as AdvertiseByoipCidr with the addition of
548// the ability to pass a context and additional request options.
549//
550// See AdvertiseByoipCidr for details on how to use this API operation.
551//
552// The context must be non-nil and will be used for request cancellation. If
553// the context is nil a panic will occur. In the future the SDK may create
554// sub-contexts for http.Requests. See https://golang.org/pkg/context/
555// for more information on using Contexts.
556func (c *EC2) AdvertiseByoipCidrWithContext(ctx aws.Context, input *AdvertiseByoipCidrInput, opts ...request.Option) (*AdvertiseByoipCidrOutput, error) {
557	req, out := c.AdvertiseByoipCidrRequest(input)
558	req.SetContext(ctx)
559	req.ApplyOptions(opts...)
560	return out, req.Send()
561}
562
563const opAllocateAddress = "AllocateAddress"
564
565// AllocateAddressRequest generates a "aws/request.Request" representing the
566// client's request for the AllocateAddress operation. The "output" return
567// value will be populated with the request's response once the request completes
568// successfully.
569//
570// Use "Send" method on the returned Request to send the API call to the service.
571// the "output" return value is not valid until after Send returns without error.
572//
573// See AllocateAddress for more information on using the AllocateAddress
574// API call, and error handling.
575//
576// This method is useful when you want to inject custom logic or configuration
577// into the SDK's request lifecycle. Such as custom headers, or retry logic.
578//
579//
580//    // Example sending a request using the AllocateAddressRequest method.
581//    req, resp := client.AllocateAddressRequest(params)
582//
583//    err := req.Send()
584//    if err == nil { // resp is now filled
585//        fmt.Println(resp)
586//    }
587//
588// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress
589func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request.Request, output *AllocateAddressOutput) {
590	op := &request.Operation{
591		Name:       opAllocateAddress,
592		HTTPMethod: "POST",
593		HTTPPath:   "/",
594	}
595
596	if input == nil {
597		input = &AllocateAddressInput{}
598	}
599
600	output = &AllocateAddressOutput{}
601	req = c.newRequest(op, input, output)
602	return
603}
604
605// AllocateAddress API operation for Amazon Elastic Compute Cloud.
606//
607// Allocates an Elastic IP address to your Amazon Web Services account. After
608// you allocate the Elastic IP address you can associate it with an instance
609// or network interface. After you release an Elastic IP address, it is released
610// to the IP address pool and can be allocated to a different Amazon Web Services
611// account.
612//
613// You can allocate an Elastic IP address from an address pool owned by Amazon
614// Web Services or from an address pool created from a public IPv4 address range
615// that you have brought to Amazon Web Services for use with your Amazon Web
616// Services resources using bring your own IP addresses (BYOIP). For more information,
617// see Bring Your Own IP Addresses (BYOIP) (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)
618// in the Amazon Elastic Compute Cloud User Guide.
619//
620// [EC2-VPC] If you release an Elastic IP address, you might be able to recover
621// it. You cannot recover an Elastic IP address that you released after it is
622// allocated to another Amazon Web Services account. You cannot recover an Elastic
623// IP address for EC2-Classic. To attempt to recover an Elastic IP address that
624// you released, specify it in this operation.
625//
626// An Elastic IP address is for use either in the EC2-Classic platform or in
627// a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic
628// per Region and 5 Elastic IP addresses for EC2-VPC per Region.
629//
630// For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
631// in the Amazon Elastic Compute Cloud User Guide.
632//
633// You can allocate a carrier IP address which is a public IP address from a
634// telecommunication carrier, to a network interface which resides in a subnet
635// in a Wavelength Zone (for example an EC2 instance).
636//
637// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
638// with awserr.Error's Code and Message methods to get detailed information about
639// the error.
640//
641// See the AWS API reference guide for Amazon Elastic Compute Cloud's
642// API operation AllocateAddress for usage and error information.
643// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress
644func (c *EC2) AllocateAddress(input *AllocateAddressInput) (*AllocateAddressOutput, error) {
645	req, out := c.AllocateAddressRequest(input)
646	return out, req.Send()
647}
648
649// AllocateAddressWithContext is the same as AllocateAddress with the addition of
650// the ability to pass a context and additional request options.
651//
652// See AllocateAddress for details on how to use this API operation.
653//
654// The context must be non-nil and will be used for request cancellation. If
655// the context is nil a panic will occur. In the future the SDK may create
656// sub-contexts for http.Requests. See https://golang.org/pkg/context/
657// for more information on using Contexts.
658func (c *EC2) AllocateAddressWithContext(ctx aws.Context, input *AllocateAddressInput, opts ...request.Option) (*AllocateAddressOutput, error) {
659	req, out := c.AllocateAddressRequest(input)
660	req.SetContext(ctx)
661	req.ApplyOptions(opts...)
662	return out, req.Send()
663}
664
665const opAllocateHosts = "AllocateHosts"
666
667// AllocateHostsRequest generates a "aws/request.Request" representing the
668// client's request for the AllocateHosts operation. The "output" return
669// value will be populated with the request's response once the request completes
670// successfully.
671//
672// Use "Send" method on the returned Request to send the API call to the service.
673// the "output" return value is not valid until after Send returns without error.
674//
675// See AllocateHosts for more information on using the AllocateHosts
676// API call, and error handling.
677//
678// This method is useful when you want to inject custom logic or configuration
679// into the SDK's request lifecycle. Such as custom headers, or retry logic.
680//
681//
682//    // Example sending a request using the AllocateHostsRequest method.
683//    req, resp := client.AllocateHostsRequest(params)
684//
685//    err := req.Send()
686//    if err == nil { // resp is now filled
687//        fmt.Println(resp)
688//    }
689//
690// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts
691func (c *EC2) AllocateHostsRequest(input *AllocateHostsInput) (req *request.Request, output *AllocateHostsOutput) {
692	op := &request.Operation{
693		Name:       opAllocateHosts,
694		HTTPMethod: "POST",
695		HTTPPath:   "/",
696	}
697
698	if input == nil {
699		input = &AllocateHostsInput{}
700	}
701
702	output = &AllocateHostsOutput{}
703	req = c.newRequest(op, input, output)
704	return
705}
706
707// AllocateHosts API operation for Amazon Elastic Compute Cloud.
708//
709// Allocates a Dedicated Host to your account. At a minimum, specify the supported
710// instance type or instance family, the Availability Zone in which to allocate
711// the host, and the number of hosts to allocate.
712//
713// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
714// with awserr.Error's Code and Message methods to get detailed information about
715// the error.
716//
717// See the AWS API reference guide for Amazon Elastic Compute Cloud's
718// API operation AllocateHosts for usage and error information.
719// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts
720func (c *EC2) AllocateHosts(input *AllocateHostsInput) (*AllocateHostsOutput, error) {
721	req, out := c.AllocateHostsRequest(input)
722	return out, req.Send()
723}
724
725// AllocateHostsWithContext is the same as AllocateHosts with the addition of
726// the ability to pass a context and additional request options.
727//
728// See AllocateHosts for details on how to use this API operation.
729//
730// The context must be non-nil and will be used for request cancellation. If
731// the context is nil a panic will occur. In the future the SDK may create
732// sub-contexts for http.Requests. See https://golang.org/pkg/context/
733// for more information on using Contexts.
734func (c *EC2) AllocateHostsWithContext(ctx aws.Context, input *AllocateHostsInput, opts ...request.Option) (*AllocateHostsOutput, error) {
735	req, out := c.AllocateHostsRequest(input)
736	req.SetContext(ctx)
737	req.ApplyOptions(opts...)
738	return out, req.Send()
739}
740
741const opApplySecurityGroupsToClientVpnTargetNetwork = "ApplySecurityGroupsToClientVpnTargetNetwork"
742
743// ApplySecurityGroupsToClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the
744// client's request for the ApplySecurityGroupsToClientVpnTargetNetwork operation. The "output" return
745// value will be populated with the request's response once the request completes
746// successfully.
747//
748// Use "Send" method on the returned Request to send the API call to the service.
749// the "output" return value is not valid until after Send returns without error.
750//
751// See ApplySecurityGroupsToClientVpnTargetNetwork for more information on using the ApplySecurityGroupsToClientVpnTargetNetwork
752// API call, and error handling.
753//
754// This method is useful when you want to inject custom logic or configuration
755// into the SDK's request lifecycle. Such as custom headers, or retry logic.
756//
757//
758//    // Example sending a request using the ApplySecurityGroupsToClientVpnTargetNetworkRequest method.
759//    req, resp := client.ApplySecurityGroupsToClientVpnTargetNetworkRequest(params)
760//
761//    err := req.Send()
762//    if err == nil { // resp is now filled
763//        fmt.Println(resp)
764//    }
765//
766// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ApplySecurityGroupsToClientVpnTargetNetwork
767func (c *EC2) ApplySecurityGroupsToClientVpnTargetNetworkRequest(input *ApplySecurityGroupsToClientVpnTargetNetworkInput) (req *request.Request, output *ApplySecurityGroupsToClientVpnTargetNetworkOutput) {
768	op := &request.Operation{
769		Name:       opApplySecurityGroupsToClientVpnTargetNetwork,
770		HTTPMethod: "POST",
771		HTTPPath:   "/",
772	}
773
774	if input == nil {
775		input = &ApplySecurityGroupsToClientVpnTargetNetworkInput{}
776	}
777
778	output = &ApplySecurityGroupsToClientVpnTargetNetworkOutput{}
779	req = c.newRequest(op, input, output)
780	return
781}
782
783// ApplySecurityGroupsToClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud.
784//
785// Applies a security group to the association between the target network and
786// the Client VPN endpoint. This action replaces the existing security groups
787// with the specified security groups.
788//
789// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
790// with awserr.Error's Code and Message methods to get detailed information about
791// the error.
792//
793// See the AWS API reference guide for Amazon Elastic Compute Cloud's
794// API operation ApplySecurityGroupsToClientVpnTargetNetwork for usage and error information.
795// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ApplySecurityGroupsToClientVpnTargetNetwork
796func (c *EC2) ApplySecurityGroupsToClientVpnTargetNetwork(input *ApplySecurityGroupsToClientVpnTargetNetworkInput) (*ApplySecurityGroupsToClientVpnTargetNetworkOutput, error) {
797	req, out := c.ApplySecurityGroupsToClientVpnTargetNetworkRequest(input)
798	return out, req.Send()
799}
800
801// ApplySecurityGroupsToClientVpnTargetNetworkWithContext is the same as ApplySecurityGroupsToClientVpnTargetNetwork with the addition of
802// the ability to pass a context and additional request options.
803//
804// See ApplySecurityGroupsToClientVpnTargetNetwork for details on how to use this API operation.
805//
806// The context must be non-nil and will be used for request cancellation. If
807// the context is nil a panic will occur. In the future the SDK may create
808// sub-contexts for http.Requests. See https://golang.org/pkg/context/
809// for more information on using Contexts.
810func (c *EC2) ApplySecurityGroupsToClientVpnTargetNetworkWithContext(ctx aws.Context, input *ApplySecurityGroupsToClientVpnTargetNetworkInput, opts ...request.Option) (*ApplySecurityGroupsToClientVpnTargetNetworkOutput, error) {
811	req, out := c.ApplySecurityGroupsToClientVpnTargetNetworkRequest(input)
812	req.SetContext(ctx)
813	req.ApplyOptions(opts...)
814	return out, req.Send()
815}
816
817const opAssignIpv6Addresses = "AssignIpv6Addresses"
818
819// AssignIpv6AddressesRequest generates a "aws/request.Request" representing the
820// client's request for the AssignIpv6Addresses operation. The "output" return
821// value will be populated with the request's response once the request completes
822// successfully.
823//
824// Use "Send" method on the returned Request to send the API call to the service.
825// the "output" return value is not valid until after Send returns without error.
826//
827// See AssignIpv6Addresses for more information on using the AssignIpv6Addresses
828// API call, and error handling.
829//
830// This method is useful when you want to inject custom logic or configuration
831// into the SDK's request lifecycle. Such as custom headers, or retry logic.
832//
833//
834//    // Example sending a request using the AssignIpv6AddressesRequest method.
835//    req, resp := client.AssignIpv6AddressesRequest(params)
836//
837//    err := req.Send()
838//    if err == nil { // resp is now filled
839//        fmt.Println(resp)
840//    }
841//
842// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses
843func (c *EC2) AssignIpv6AddressesRequest(input *AssignIpv6AddressesInput) (req *request.Request, output *AssignIpv6AddressesOutput) {
844	op := &request.Operation{
845		Name:       opAssignIpv6Addresses,
846		HTTPMethod: "POST",
847		HTTPPath:   "/",
848	}
849
850	if input == nil {
851		input = &AssignIpv6AddressesInput{}
852	}
853
854	output = &AssignIpv6AddressesOutput{}
855	req = c.newRequest(op, input, output)
856	return
857}
858
859// AssignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
860//
861// Assigns one or more IPv6 addresses to the specified network interface. You
862// can specify one or more specific IPv6 addresses, or you can specify the number
863// of IPv6 addresses to be automatically assigned from within the subnet's IPv6
864// CIDR block range. You can assign as many IPv6 addresses to a network interface
865// as you can assign private IPv4 addresses, and the limit varies per instance
866// type. For information, see IP Addresses Per Network Interface Per Instance
867// Type (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
868// in the Amazon Elastic Compute Cloud User Guide.
869//
870// You must specify either the IPv6 addresses or the IPv6 address count in the
871// request.
872//
873// You can optionally use Prefix Delegation on the network interface. You must
874// specify either the IPV6 Prefix Delegation prefixes, or the IPv6 Prefix Delegation
875// count. For information, see Assigning prefixes to Amazon EC2 network interfaces
876// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-prefix-eni.html)
877// in the Amazon Elastic Compute Cloud User Guide.
878//
879// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
880// with awserr.Error's Code and Message methods to get detailed information about
881// the error.
882//
883// See the AWS API reference guide for Amazon Elastic Compute Cloud's
884// API operation AssignIpv6Addresses for usage and error information.
885// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses
886func (c *EC2) AssignIpv6Addresses(input *AssignIpv6AddressesInput) (*AssignIpv6AddressesOutput, error) {
887	req, out := c.AssignIpv6AddressesRequest(input)
888	return out, req.Send()
889}
890
891// AssignIpv6AddressesWithContext is the same as AssignIpv6Addresses with the addition of
892// the ability to pass a context and additional request options.
893//
894// See AssignIpv6Addresses for details on how to use this API operation.
895//
896// The context must be non-nil and will be used for request cancellation. If
897// the context is nil a panic will occur. In the future the SDK may create
898// sub-contexts for http.Requests. See https://golang.org/pkg/context/
899// for more information on using Contexts.
900func (c *EC2) AssignIpv6AddressesWithContext(ctx aws.Context, input *AssignIpv6AddressesInput, opts ...request.Option) (*AssignIpv6AddressesOutput, error) {
901	req, out := c.AssignIpv6AddressesRequest(input)
902	req.SetContext(ctx)
903	req.ApplyOptions(opts...)
904	return out, req.Send()
905}
906
907const opAssignPrivateIpAddresses = "AssignPrivateIpAddresses"
908
909// AssignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
910// client's request for the AssignPrivateIpAddresses operation. The "output" return
911// value will be populated with the request's response once the request completes
912// successfully.
913//
914// Use "Send" method on the returned Request to send the API call to the service.
915// the "output" return value is not valid until after Send returns without error.
916//
917// See AssignPrivateIpAddresses for more information on using the AssignPrivateIpAddresses
918// API call, and error handling.
919//
920// This method is useful when you want to inject custom logic or configuration
921// into the SDK's request lifecycle. Such as custom headers, or retry logic.
922//
923//
924//    // Example sending a request using the AssignPrivateIpAddressesRequest method.
925//    req, resp := client.AssignPrivateIpAddressesRequest(params)
926//
927//    err := req.Send()
928//    if err == nil { // resp is now filled
929//        fmt.Println(resp)
930//    }
931//
932// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
933func (c *EC2) AssignPrivateIpAddressesRequest(input *AssignPrivateIpAddressesInput) (req *request.Request, output *AssignPrivateIpAddressesOutput) {
934	op := &request.Operation{
935		Name:       opAssignPrivateIpAddresses,
936		HTTPMethod: "POST",
937		HTTPPath:   "/",
938	}
939
940	if input == nil {
941		input = &AssignPrivateIpAddressesInput{}
942	}
943
944	output = &AssignPrivateIpAddressesOutput{}
945	req = c.newRequest(op, input, output)
946	return
947}
948
949// AssignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
950//
951// Assigns one or more secondary private IP addresses to the specified network
952// interface.
953//
954// You can specify one or more specific secondary IP addresses, or you can specify
955// the number of secondary IP addresses to be automatically assigned within
956// the subnet's CIDR block range. The number of secondary IP addresses that
957// you can assign to an instance varies by instance type. For information about
958// instance types, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
959// in the Amazon Elastic Compute Cloud User Guide. For more information about
960// Elastic IP addresses, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
961// in the Amazon Elastic Compute Cloud User Guide.
962//
963// When you move a secondary private IP address to another network interface,
964// any Elastic IP address that is associated with the IP address is also moved.
965//
966// Remapping an IP address is an asynchronous operation. When you move an IP
967// address from one network interface to another, check network/interfaces/macs/mac/local-ipv4s
968// in the instance metadata to confirm that the remapping is complete.
969//
970// You must specify either the IP addresses or the IP address count in the request.
971//
972// You can optionally use Prefix Delegation on the network interface. You must
973// specify either the IPv4 Prefix Delegation prefixes, or the IPv4 Prefix Delegation
974// count. For information, see Assigning prefixes to Amazon EC2 network interfaces
975// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-prefix-eni.html)
976// in the Amazon Elastic Compute Cloud User Guide.
977//
978// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
979// with awserr.Error's Code and Message methods to get detailed information about
980// the error.
981//
982// See the AWS API reference guide for Amazon Elastic Compute Cloud's
983// API operation AssignPrivateIpAddresses for usage and error information.
984// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
985func (c *EC2) AssignPrivateIpAddresses(input *AssignPrivateIpAddressesInput) (*AssignPrivateIpAddressesOutput, error) {
986	req, out := c.AssignPrivateIpAddressesRequest(input)
987	return out, req.Send()
988}
989
990// AssignPrivateIpAddressesWithContext is the same as AssignPrivateIpAddresses with the addition of
991// the ability to pass a context and additional request options.
992//
993// See AssignPrivateIpAddresses for details on how to use this API operation.
994//
995// The context must be non-nil and will be used for request cancellation. If
996// the context is nil a panic will occur. In the future the SDK may create
997// sub-contexts for http.Requests. See https://golang.org/pkg/context/
998// for more information on using Contexts.
999func (c *EC2) AssignPrivateIpAddressesWithContext(ctx aws.Context, input *AssignPrivateIpAddressesInput, opts ...request.Option) (*AssignPrivateIpAddressesOutput, error) {
1000	req, out := c.AssignPrivateIpAddressesRequest(input)
1001	req.SetContext(ctx)
1002	req.ApplyOptions(opts...)
1003	return out, req.Send()
1004}
1005
1006const opAssociateAddress = "AssociateAddress"
1007
1008// AssociateAddressRequest generates a "aws/request.Request" representing the
1009// client's request for the AssociateAddress operation. The "output" return
1010// value will be populated with the request's response once the request completes
1011// successfully.
1012//
1013// Use "Send" method on the returned Request to send the API call to the service.
1014// the "output" return value is not valid until after Send returns without error.
1015//
1016// See AssociateAddress for more information on using the AssociateAddress
1017// API call, and error handling.
1018//
1019// This method is useful when you want to inject custom logic or configuration
1020// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1021//
1022//
1023//    // Example sending a request using the AssociateAddressRequest method.
1024//    req, resp := client.AssociateAddressRequest(params)
1025//
1026//    err := req.Send()
1027//    if err == nil { // resp is now filled
1028//        fmt.Println(resp)
1029//    }
1030//
1031// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
1032func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *request.Request, output *AssociateAddressOutput) {
1033	op := &request.Operation{
1034		Name:       opAssociateAddress,
1035		HTTPMethod: "POST",
1036		HTTPPath:   "/",
1037	}
1038
1039	if input == nil {
1040		input = &AssociateAddressInput{}
1041	}
1042
1043	output = &AssociateAddressOutput{}
1044	req = c.newRequest(op, input, output)
1045	return
1046}
1047
1048// AssociateAddress API operation for Amazon Elastic Compute Cloud.
1049//
1050// Associates an Elastic IP address, or carrier IP address (for instances that
1051// are in subnets in Wavelength Zones) with an instance or a network interface.
1052// Before you can use an Elastic IP address, you must allocate it to your account.
1053//
1054// An Elastic IP address is for use in either the EC2-Classic platform or in
1055// a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
1056// in the Amazon Elastic Compute Cloud User Guide.
1057//
1058// [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is
1059// already associated with a different instance, it is disassociated from that
1060// instance and associated with the specified instance. If you associate an
1061// Elastic IP address with an instance that has an existing Elastic IP address,
1062// the existing address is disassociated from the instance, but remains allocated
1063// to your account.
1064//
1065// [VPC in an EC2-Classic account] If you don't specify a private IP address,
1066// the Elastic IP address is associated with the primary IP address. If the
1067// Elastic IP address is already associated with a different instance or a network
1068// interface, you get an error unless you allow reassociation. You cannot associate
1069// an Elastic IP address with an instance or network interface that has an existing
1070// Elastic IP address.
1071//
1072// [Subnets in Wavelength Zones] You can associate an IP address from the telecommunication
1073// carrier to the instance or network interface.
1074//
1075// You cannot associate an Elastic IP address with an interface in a different
1076// network border group.
1077//
1078// This is an idempotent operation. If you perform the operation more than once,
1079// Amazon EC2 doesn't return an error, and you may be charged for each time
1080// the Elastic IP address is remapped to the same instance. For more information,
1081// see the Elastic IP Addresses section of Amazon EC2 Pricing (http://aws.amazon.com/ec2/pricing/).
1082//
1083// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1084// with awserr.Error's Code and Message methods to get detailed information about
1085// the error.
1086//
1087// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1088// API operation AssociateAddress for usage and error information.
1089// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
1090func (c *EC2) AssociateAddress(input *AssociateAddressInput) (*AssociateAddressOutput, error) {
1091	req, out := c.AssociateAddressRequest(input)
1092	return out, req.Send()
1093}
1094
1095// AssociateAddressWithContext is the same as AssociateAddress with the addition of
1096// the ability to pass a context and additional request options.
1097//
1098// See AssociateAddress for details on how to use this API operation.
1099//
1100// The context must be non-nil and will be used for request cancellation. If
1101// the context is nil a panic will occur. In the future the SDK may create
1102// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1103// for more information on using Contexts.
1104func (c *EC2) AssociateAddressWithContext(ctx aws.Context, input *AssociateAddressInput, opts ...request.Option) (*AssociateAddressOutput, error) {
1105	req, out := c.AssociateAddressRequest(input)
1106	req.SetContext(ctx)
1107	req.ApplyOptions(opts...)
1108	return out, req.Send()
1109}
1110
1111const opAssociateClientVpnTargetNetwork = "AssociateClientVpnTargetNetwork"
1112
1113// AssociateClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the
1114// client's request for the AssociateClientVpnTargetNetwork operation. The "output" return
1115// value will be populated with the request's response once the request completes
1116// successfully.
1117//
1118// Use "Send" method on the returned Request to send the API call to the service.
1119// the "output" return value is not valid until after Send returns without error.
1120//
1121// See AssociateClientVpnTargetNetwork for more information on using the AssociateClientVpnTargetNetwork
1122// API call, and error handling.
1123//
1124// This method is useful when you want to inject custom logic or configuration
1125// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1126//
1127//
1128//    // Example sending a request using the AssociateClientVpnTargetNetworkRequest method.
1129//    req, resp := client.AssociateClientVpnTargetNetworkRequest(params)
1130//
1131//    err := req.Send()
1132//    if err == nil { // resp is now filled
1133//        fmt.Println(resp)
1134//    }
1135//
1136// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateClientVpnTargetNetwork
1137func (c *EC2) AssociateClientVpnTargetNetworkRequest(input *AssociateClientVpnTargetNetworkInput) (req *request.Request, output *AssociateClientVpnTargetNetworkOutput) {
1138	op := &request.Operation{
1139		Name:       opAssociateClientVpnTargetNetwork,
1140		HTTPMethod: "POST",
1141		HTTPPath:   "/",
1142	}
1143
1144	if input == nil {
1145		input = &AssociateClientVpnTargetNetworkInput{}
1146	}
1147
1148	output = &AssociateClientVpnTargetNetworkOutput{}
1149	req = c.newRequest(op, input, output)
1150	return
1151}
1152
1153// AssociateClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud.
1154//
1155// Associates a target network with a Client VPN endpoint. A target network
1156// is a subnet in a VPC. You can associate multiple subnets from the same VPC
1157// with a Client VPN endpoint. You can associate only one subnet in each Availability
1158// Zone. We recommend that you associate at least two subnets to provide Availability
1159// Zone redundancy.
1160//
1161// If you specified a VPC when you created the Client VPN endpoint or if you
1162// have previous subnet associations, the specified subnet must be in the same
1163// VPC. To specify a subnet that's in a different VPC, you must first modify
1164// the Client VPN endpoint (ModifyClientVpnEndpoint) and change the VPC that's
1165// associated with it.
1166//
1167// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1168// with awserr.Error's Code and Message methods to get detailed information about
1169// the error.
1170//
1171// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1172// API operation AssociateClientVpnTargetNetwork for usage and error information.
1173// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateClientVpnTargetNetwork
1174func (c *EC2) AssociateClientVpnTargetNetwork(input *AssociateClientVpnTargetNetworkInput) (*AssociateClientVpnTargetNetworkOutput, error) {
1175	req, out := c.AssociateClientVpnTargetNetworkRequest(input)
1176	return out, req.Send()
1177}
1178
1179// AssociateClientVpnTargetNetworkWithContext is the same as AssociateClientVpnTargetNetwork with the addition of
1180// the ability to pass a context and additional request options.
1181//
1182// See AssociateClientVpnTargetNetwork for details on how to use this API operation.
1183//
1184// The context must be non-nil and will be used for request cancellation. If
1185// the context is nil a panic will occur. In the future the SDK may create
1186// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1187// for more information on using Contexts.
1188func (c *EC2) AssociateClientVpnTargetNetworkWithContext(ctx aws.Context, input *AssociateClientVpnTargetNetworkInput, opts ...request.Option) (*AssociateClientVpnTargetNetworkOutput, error) {
1189	req, out := c.AssociateClientVpnTargetNetworkRequest(input)
1190	req.SetContext(ctx)
1191	req.ApplyOptions(opts...)
1192	return out, req.Send()
1193}
1194
1195const opAssociateDhcpOptions = "AssociateDhcpOptions"
1196
1197// AssociateDhcpOptionsRequest generates a "aws/request.Request" representing the
1198// client's request for the AssociateDhcpOptions operation. The "output" return
1199// value will be populated with the request's response once the request completes
1200// successfully.
1201//
1202// Use "Send" method on the returned Request to send the API call to the service.
1203// the "output" return value is not valid until after Send returns without error.
1204//
1205// See AssociateDhcpOptions for more information on using the AssociateDhcpOptions
1206// API call, and error handling.
1207//
1208// This method is useful when you want to inject custom logic or configuration
1209// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1210//
1211//
1212//    // Example sending a request using the AssociateDhcpOptionsRequest method.
1213//    req, resp := client.AssociateDhcpOptionsRequest(params)
1214//
1215//    err := req.Send()
1216//    if err == nil { // resp is now filled
1217//        fmt.Println(resp)
1218//    }
1219//
1220// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
1221func (c *EC2) AssociateDhcpOptionsRequest(input *AssociateDhcpOptionsInput) (req *request.Request, output *AssociateDhcpOptionsOutput) {
1222	op := &request.Operation{
1223		Name:       opAssociateDhcpOptions,
1224		HTTPMethod: "POST",
1225		HTTPPath:   "/",
1226	}
1227
1228	if input == nil {
1229		input = &AssociateDhcpOptionsInput{}
1230	}
1231
1232	output = &AssociateDhcpOptionsOutput{}
1233	req = c.newRequest(op, input, output)
1234	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1235	return
1236}
1237
1238// AssociateDhcpOptions API operation for Amazon Elastic Compute Cloud.
1239//
1240// Associates a set of DHCP options (that you've previously created) with the
1241// specified VPC, or associates no DHCP options with the VPC.
1242//
1243// After you associate the options with the VPC, any existing instances and
1244// all new instances that you launch in that VPC use the options. You don't
1245// need to restart or relaunch the instances. They automatically pick up the
1246// changes within a few hours, depending on how frequently the instance renews
1247// its DHCP lease. You can explicitly renew the lease using the operating system
1248// on the instance.
1249//
1250// For more information, see DHCP options sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)
1251// in the Amazon Virtual Private Cloud User Guide.
1252//
1253// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1254// with awserr.Error's Code and Message methods to get detailed information about
1255// the error.
1256//
1257// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1258// API operation AssociateDhcpOptions for usage and error information.
1259// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
1260func (c *EC2) AssociateDhcpOptions(input *AssociateDhcpOptionsInput) (*AssociateDhcpOptionsOutput, error) {
1261	req, out := c.AssociateDhcpOptionsRequest(input)
1262	return out, req.Send()
1263}
1264
1265// AssociateDhcpOptionsWithContext is the same as AssociateDhcpOptions with the addition of
1266// the ability to pass a context and additional request options.
1267//
1268// See AssociateDhcpOptions for details on how to use this API operation.
1269//
1270// The context must be non-nil and will be used for request cancellation. If
1271// the context is nil a panic will occur. In the future the SDK may create
1272// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1273// for more information on using Contexts.
1274func (c *EC2) AssociateDhcpOptionsWithContext(ctx aws.Context, input *AssociateDhcpOptionsInput, opts ...request.Option) (*AssociateDhcpOptionsOutput, error) {
1275	req, out := c.AssociateDhcpOptionsRequest(input)
1276	req.SetContext(ctx)
1277	req.ApplyOptions(opts...)
1278	return out, req.Send()
1279}
1280
1281const opAssociateEnclaveCertificateIamRole = "AssociateEnclaveCertificateIamRole"
1282
1283// AssociateEnclaveCertificateIamRoleRequest generates a "aws/request.Request" representing the
1284// client's request for the AssociateEnclaveCertificateIamRole operation. The "output" return
1285// value will be populated with the request's response once the request completes
1286// successfully.
1287//
1288// Use "Send" method on the returned Request to send the API call to the service.
1289// the "output" return value is not valid until after Send returns without error.
1290//
1291// See AssociateEnclaveCertificateIamRole for more information on using the AssociateEnclaveCertificateIamRole
1292// API call, and error handling.
1293//
1294// This method is useful when you want to inject custom logic or configuration
1295// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1296//
1297//
1298//    // Example sending a request using the AssociateEnclaveCertificateIamRoleRequest method.
1299//    req, resp := client.AssociateEnclaveCertificateIamRoleRequest(params)
1300//
1301//    err := req.Send()
1302//    if err == nil { // resp is now filled
1303//        fmt.Println(resp)
1304//    }
1305//
1306// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateEnclaveCertificateIamRole
1307func (c *EC2) AssociateEnclaveCertificateIamRoleRequest(input *AssociateEnclaveCertificateIamRoleInput) (req *request.Request, output *AssociateEnclaveCertificateIamRoleOutput) {
1308	op := &request.Operation{
1309		Name:       opAssociateEnclaveCertificateIamRole,
1310		HTTPMethod: "POST",
1311		HTTPPath:   "/",
1312	}
1313
1314	if input == nil {
1315		input = &AssociateEnclaveCertificateIamRoleInput{}
1316	}
1317
1318	output = &AssociateEnclaveCertificateIamRoleOutput{}
1319	req = c.newRequest(op, input, output)
1320	return
1321}
1322
1323// AssociateEnclaveCertificateIamRole API operation for Amazon Elastic Compute Cloud.
1324//
1325// Associates an Identity and Access Management (IAM) role with an Certificate
1326// Manager (ACM) certificate. This enables the certificate to be used by the
1327// ACM for Nitro Enclaves application inside an enclave. For more information,
1328// see Certificate Manager for Nitro Enclaves (https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave-refapp.html)
1329// in the Amazon Web Services Nitro Enclaves User Guide.
1330//
1331// When the IAM role is associated with the ACM certificate, the certificate,
1332// certificate chain, and encrypted private key are placed in an Amazon S3 bucket
1333// that only the associated IAM role can access. The private key of the certificate
1334// is encrypted with an Amazon Web Services managed key that has an attached
1335// attestation-based key policy.
1336//
1337// To enable the IAM role to access the Amazon S3 object, you must grant it
1338// permission to call s3:GetObject on the Amazon S3 bucket returned by the command.
1339// To enable the IAM role to access the KMS key, you must grant it permission
1340// to call kms:Decrypt on the KMS key returned by the command. For more information,
1341// see Grant the role permission to access the certificate and encryption key
1342// (https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave-refapp.html#add-policy)
1343// in the Amazon Web Services Nitro Enclaves User Guide.
1344//
1345// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1346// with awserr.Error's Code and Message methods to get detailed information about
1347// the error.
1348//
1349// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1350// API operation AssociateEnclaveCertificateIamRole for usage and error information.
1351// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateEnclaveCertificateIamRole
1352func (c *EC2) AssociateEnclaveCertificateIamRole(input *AssociateEnclaveCertificateIamRoleInput) (*AssociateEnclaveCertificateIamRoleOutput, error) {
1353	req, out := c.AssociateEnclaveCertificateIamRoleRequest(input)
1354	return out, req.Send()
1355}
1356
1357// AssociateEnclaveCertificateIamRoleWithContext is the same as AssociateEnclaveCertificateIamRole with the addition of
1358// the ability to pass a context and additional request options.
1359//
1360// See AssociateEnclaveCertificateIamRole for details on how to use this API operation.
1361//
1362// The context must be non-nil and will be used for request cancellation. If
1363// the context is nil a panic will occur. In the future the SDK may create
1364// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1365// for more information on using Contexts.
1366func (c *EC2) AssociateEnclaveCertificateIamRoleWithContext(ctx aws.Context, input *AssociateEnclaveCertificateIamRoleInput, opts ...request.Option) (*AssociateEnclaveCertificateIamRoleOutput, error) {
1367	req, out := c.AssociateEnclaveCertificateIamRoleRequest(input)
1368	req.SetContext(ctx)
1369	req.ApplyOptions(opts...)
1370	return out, req.Send()
1371}
1372
1373const opAssociateIamInstanceProfile = "AssociateIamInstanceProfile"
1374
1375// AssociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
1376// client's request for the AssociateIamInstanceProfile operation. The "output" return
1377// value will be populated with the request's response once the request completes
1378// successfully.
1379//
1380// Use "Send" method on the returned Request to send the API call to the service.
1381// the "output" return value is not valid until after Send returns without error.
1382//
1383// See AssociateIamInstanceProfile for more information on using the AssociateIamInstanceProfile
1384// API call, and error handling.
1385//
1386// This method is useful when you want to inject custom logic or configuration
1387// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1388//
1389//
1390//    // Example sending a request using the AssociateIamInstanceProfileRequest method.
1391//    req, resp := client.AssociateIamInstanceProfileRequest(params)
1392//
1393//    err := req.Send()
1394//    if err == nil { // resp is now filled
1395//        fmt.Println(resp)
1396//    }
1397//
1398// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
1399func (c *EC2) AssociateIamInstanceProfileRequest(input *AssociateIamInstanceProfileInput) (req *request.Request, output *AssociateIamInstanceProfileOutput) {
1400	op := &request.Operation{
1401		Name:       opAssociateIamInstanceProfile,
1402		HTTPMethod: "POST",
1403		HTTPPath:   "/",
1404	}
1405
1406	if input == nil {
1407		input = &AssociateIamInstanceProfileInput{}
1408	}
1409
1410	output = &AssociateIamInstanceProfileOutput{}
1411	req = c.newRequest(op, input, output)
1412	return
1413}
1414
1415// AssociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
1416//
1417// Associates an IAM instance profile with a running or stopped instance. You
1418// cannot associate more than one IAM instance profile with an instance.
1419//
1420// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1421// with awserr.Error's Code and Message methods to get detailed information about
1422// the error.
1423//
1424// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1425// API operation AssociateIamInstanceProfile for usage and error information.
1426// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
1427func (c *EC2) AssociateIamInstanceProfile(input *AssociateIamInstanceProfileInput) (*AssociateIamInstanceProfileOutput, error) {
1428	req, out := c.AssociateIamInstanceProfileRequest(input)
1429	return out, req.Send()
1430}
1431
1432// AssociateIamInstanceProfileWithContext is the same as AssociateIamInstanceProfile with the addition of
1433// the ability to pass a context and additional request options.
1434//
1435// See AssociateIamInstanceProfile for details on how to use this API operation.
1436//
1437// The context must be non-nil and will be used for request cancellation. If
1438// the context is nil a panic will occur. In the future the SDK may create
1439// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1440// for more information on using Contexts.
1441func (c *EC2) AssociateIamInstanceProfileWithContext(ctx aws.Context, input *AssociateIamInstanceProfileInput, opts ...request.Option) (*AssociateIamInstanceProfileOutput, error) {
1442	req, out := c.AssociateIamInstanceProfileRequest(input)
1443	req.SetContext(ctx)
1444	req.ApplyOptions(opts...)
1445	return out, req.Send()
1446}
1447
1448const opAssociateInstanceEventWindow = "AssociateInstanceEventWindow"
1449
1450// AssociateInstanceEventWindowRequest generates a "aws/request.Request" representing the
1451// client's request for the AssociateInstanceEventWindow operation. The "output" return
1452// value will be populated with the request's response once the request completes
1453// successfully.
1454//
1455// Use "Send" method on the returned Request to send the API call to the service.
1456// the "output" return value is not valid until after Send returns without error.
1457//
1458// See AssociateInstanceEventWindow for more information on using the AssociateInstanceEventWindow
1459// API call, and error handling.
1460//
1461// This method is useful when you want to inject custom logic or configuration
1462// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1463//
1464//
1465//    // Example sending a request using the AssociateInstanceEventWindowRequest method.
1466//    req, resp := client.AssociateInstanceEventWindowRequest(params)
1467//
1468//    err := req.Send()
1469//    if err == nil { // resp is now filled
1470//        fmt.Println(resp)
1471//    }
1472//
1473// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateInstanceEventWindow
1474func (c *EC2) AssociateInstanceEventWindowRequest(input *AssociateInstanceEventWindowInput) (req *request.Request, output *AssociateInstanceEventWindowOutput) {
1475	op := &request.Operation{
1476		Name:       opAssociateInstanceEventWindow,
1477		HTTPMethod: "POST",
1478		HTTPPath:   "/",
1479	}
1480
1481	if input == nil {
1482		input = &AssociateInstanceEventWindowInput{}
1483	}
1484
1485	output = &AssociateInstanceEventWindowOutput{}
1486	req = c.newRequest(op, input, output)
1487	return
1488}
1489
1490// AssociateInstanceEventWindow API operation for Amazon Elastic Compute Cloud.
1491//
1492// Associates one or more targets with an event window. Only one type of target
1493// (instance IDs, Dedicated Host IDs, or tags) can be specified with an event
1494// window.
1495//
1496// For more information, see Define event windows for scheduled events (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/event-windows.html)
1497// in the Amazon EC2 User Guide.
1498//
1499// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1500// with awserr.Error's Code and Message methods to get detailed information about
1501// the error.
1502//
1503// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1504// API operation AssociateInstanceEventWindow for usage and error information.
1505// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateInstanceEventWindow
1506func (c *EC2) AssociateInstanceEventWindow(input *AssociateInstanceEventWindowInput) (*AssociateInstanceEventWindowOutput, error) {
1507	req, out := c.AssociateInstanceEventWindowRequest(input)
1508	return out, req.Send()
1509}
1510
1511// AssociateInstanceEventWindowWithContext is the same as AssociateInstanceEventWindow with the addition of
1512// the ability to pass a context and additional request options.
1513//
1514// See AssociateInstanceEventWindow for details on how to use this API operation.
1515//
1516// The context must be non-nil and will be used for request cancellation. If
1517// the context is nil a panic will occur. In the future the SDK may create
1518// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1519// for more information on using Contexts.
1520func (c *EC2) AssociateInstanceEventWindowWithContext(ctx aws.Context, input *AssociateInstanceEventWindowInput, opts ...request.Option) (*AssociateInstanceEventWindowOutput, error) {
1521	req, out := c.AssociateInstanceEventWindowRequest(input)
1522	req.SetContext(ctx)
1523	req.ApplyOptions(opts...)
1524	return out, req.Send()
1525}
1526
1527const opAssociateRouteTable = "AssociateRouteTable"
1528
1529// AssociateRouteTableRequest generates a "aws/request.Request" representing the
1530// client's request for the AssociateRouteTable operation. The "output" return
1531// value will be populated with the request's response once the request completes
1532// successfully.
1533//
1534// Use "Send" method on the returned Request to send the API call to the service.
1535// the "output" return value is not valid until after Send returns without error.
1536//
1537// See AssociateRouteTable for more information on using the AssociateRouteTable
1538// API call, and error handling.
1539//
1540// This method is useful when you want to inject custom logic or configuration
1541// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1542//
1543//
1544//    // Example sending a request using the AssociateRouteTableRequest method.
1545//    req, resp := client.AssociateRouteTableRequest(params)
1546//
1547//    err := req.Send()
1548//    if err == nil { // resp is now filled
1549//        fmt.Println(resp)
1550//    }
1551//
1552// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
1553func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req *request.Request, output *AssociateRouteTableOutput) {
1554	op := &request.Operation{
1555		Name:       opAssociateRouteTable,
1556		HTTPMethod: "POST",
1557		HTTPPath:   "/",
1558	}
1559
1560	if input == nil {
1561		input = &AssociateRouteTableInput{}
1562	}
1563
1564	output = &AssociateRouteTableOutput{}
1565	req = c.newRequest(op, input, output)
1566	return
1567}
1568
1569// AssociateRouteTable API operation for Amazon Elastic Compute Cloud.
1570//
1571// Associates a subnet in your VPC or an internet gateway or virtual private
1572// gateway attached to your VPC with a route table in your VPC. This association
1573// causes traffic from the subnet or gateway to be routed according to the routes
1574// in the route table. The action returns an association ID, which you need
1575// in order to disassociate the route table later. A route table can be associated
1576// with multiple subnets.
1577//
1578// For more information, see Route tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
1579// in the Amazon Virtual Private Cloud User Guide.
1580//
1581// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1582// with awserr.Error's Code and Message methods to get detailed information about
1583// the error.
1584//
1585// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1586// API operation AssociateRouteTable for usage and error information.
1587// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
1588func (c *EC2) AssociateRouteTable(input *AssociateRouteTableInput) (*AssociateRouteTableOutput, error) {
1589	req, out := c.AssociateRouteTableRequest(input)
1590	return out, req.Send()
1591}
1592
1593// AssociateRouteTableWithContext is the same as AssociateRouteTable with the addition of
1594// the ability to pass a context and additional request options.
1595//
1596// See AssociateRouteTable for details on how to use this API operation.
1597//
1598// The context must be non-nil and will be used for request cancellation. If
1599// the context is nil a panic will occur. In the future the SDK may create
1600// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1601// for more information on using Contexts.
1602func (c *EC2) AssociateRouteTableWithContext(ctx aws.Context, input *AssociateRouteTableInput, opts ...request.Option) (*AssociateRouteTableOutput, error) {
1603	req, out := c.AssociateRouteTableRequest(input)
1604	req.SetContext(ctx)
1605	req.ApplyOptions(opts...)
1606	return out, req.Send()
1607}
1608
1609const opAssociateSubnetCidrBlock = "AssociateSubnetCidrBlock"
1610
1611// AssociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
1612// client's request for the AssociateSubnetCidrBlock operation. The "output" return
1613// value will be populated with the request's response once the request completes
1614// successfully.
1615//
1616// Use "Send" method on the returned Request to send the API call to the service.
1617// the "output" return value is not valid until after Send returns without error.
1618//
1619// See AssociateSubnetCidrBlock for more information on using the AssociateSubnetCidrBlock
1620// API call, and error handling.
1621//
1622// This method is useful when you want to inject custom logic or configuration
1623// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1624//
1625//
1626//    // Example sending a request using the AssociateSubnetCidrBlockRequest method.
1627//    req, resp := client.AssociateSubnetCidrBlockRequest(params)
1628//
1629//    err := req.Send()
1630//    if err == nil { // resp is now filled
1631//        fmt.Println(resp)
1632//    }
1633//
1634// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
1635func (c *EC2) AssociateSubnetCidrBlockRequest(input *AssociateSubnetCidrBlockInput) (req *request.Request, output *AssociateSubnetCidrBlockOutput) {
1636	op := &request.Operation{
1637		Name:       opAssociateSubnetCidrBlock,
1638		HTTPMethod: "POST",
1639		HTTPPath:   "/",
1640	}
1641
1642	if input == nil {
1643		input = &AssociateSubnetCidrBlockInput{}
1644	}
1645
1646	output = &AssociateSubnetCidrBlockOutput{}
1647	req = c.newRequest(op, input, output)
1648	return
1649}
1650
1651// AssociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
1652//
1653// Associates a CIDR block with your subnet. You can only associate a single
1654// IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length
1655// of /64.
1656//
1657// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1658// with awserr.Error's Code and Message methods to get detailed information about
1659// the error.
1660//
1661// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1662// API operation AssociateSubnetCidrBlock for usage and error information.
1663// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
1664func (c *EC2) AssociateSubnetCidrBlock(input *AssociateSubnetCidrBlockInput) (*AssociateSubnetCidrBlockOutput, error) {
1665	req, out := c.AssociateSubnetCidrBlockRequest(input)
1666	return out, req.Send()
1667}
1668
1669// AssociateSubnetCidrBlockWithContext is the same as AssociateSubnetCidrBlock with the addition of
1670// the ability to pass a context and additional request options.
1671//
1672// See AssociateSubnetCidrBlock for details on how to use this API operation.
1673//
1674// The context must be non-nil and will be used for request cancellation. If
1675// the context is nil a panic will occur. In the future the SDK may create
1676// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1677// for more information on using Contexts.
1678func (c *EC2) AssociateSubnetCidrBlockWithContext(ctx aws.Context, input *AssociateSubnetCidrBlockInput, opts ...request.Option) (*AssociateSubnetCidrBlockOutput, error) {
1679	req, out := c.AssociateSubnetCidrBlockRequest(input)
1680	req.SetContext(ctx)
1681	req.ApplyOptions(opts...)
1682	return out, req.Send()
1683}
1684
1685const opAssociateTransitGatewayMulticastDomain = "AssociateTransitGatewayMulticastDomain"
1686
1687// AssociateTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
1688// client's request for the AssociateTransitGatewayMulticastDomain operation. The "output" return
1689// value will be populated with the request's response once the request completes
1690// successfully.
1691//
1692// Use "Send" method on the returned Request to send the API call to the service.
1693// the "output" return value is not valid until after Send returns without error.
1694//
1695// See AssociateTransitGatewayMulticastDomain for more information on using the AssociateTransitGatewayMulticastDomain
1696// API call, and error handling.
1697//
1698// This method is useful when you want to inject custom logic or configuration
1699// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1700//
1701//
1702//    // Example sending a request using the AssociateTransitGatewayMulticastDomainRequest method.
1703//    req, resp := client.AssociateTransitGatewayMulticastDomainRequest(params)
1704//
1705//    err := req.Send()
1706//    if err == nil { // resp is now filled
1707//        fmt.Println(resp)
1708//    }
1709//
1710// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayMulticastDomain
1711func (c *EC2) AssociateTransitGatewayMulticastDomainRequest(input *AssociateTransitGatewayMulticastDomainInput) (req *request.Request, output *AssociateTransitGatewayMulticastDomainOutput) {
1712	op := &request.Operation{
1713		Name:       opAssociateTransitGatewayMulticastDomain,
1714		HTTPMethod: "POST",
1715		HTTPPath:   "/",
1716	}
1717
1718	if input == nil {
1719		input = &AssociateTransitGatewayMulticastDomainInput{}
1720	}
1721
1722	output = &AssociateTransitGatewayMulticastDomainOutput{}
1723	req = c.newRequest(op, input, output)
1724	return
1725}
1726
1727// AssociateTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
1728//
1729// Associates the specified subnets and transit gateway attachments with the
1730// specified transit gateway multicast domain.
1731//
1732// The transit gateway attachment must be in the available state before you
1733// can add a resource. Use DescribeTransitGatewayAttachments (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayAttachments.html)
1734// to see the state of the attachment.
1735//
1736// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1737// with awserr.Error's Code and Message methods to get detailed information about
1738// the error.
1739//
1740// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1741// API operation AssociateTransitGatewayMulticastDomain for usage and error information.
1742// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayMulticastDomain
1743func (c *EC2) AssociateTransitGatewayMulticastDomain(input *AssociateTransitGatewayMulticastDomainInput) (*AssociateTransitGatewayMulticastDomainOutput, error) {
1744	req, out := c.AssociateTransitGatewayMulticastDomainRequest(input)
1745	return out, req.Send()
1746}
1747
1748// AssociateTransitGatewayMulticastDomainWithContext is the same as AssociateTransitGatewayMulticastDomain with the addition of
1749// the ability to pass a context and additional request options.
1750//
1751// See AssociateTransitGatewayMulticastDomain for details on how to use this API operation.
1752//
1753// The context must be non-nil and will be used for request cancellation. If
1754// the context is nil a panic will occur. In the future the SDK may create
1755// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1756// for more information on using Contexts.
1757func (c *EC2) AssociateTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *AssociateTransitGatewayMulticastDomainInput, opts ...request.Option) (*AssociateTransitGatewayMulticastDomainOutput, error) {
1758	req, out := c.AssociateTransitGatewayMulticastDomainRequest(input)
1759	req.SetContext(ctx)
1760	req.ApplyOptions(opts...)
1761	return out, req.Send()
1762}
1763
1764const opAssociateTransitGatewayRouteTable = "AssociateTransitGatewayRouteTable"
1765
1766// AssociateTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
1767// client's request for the AssociateTransitGatewayRouteTable operation. The "output" return
1768// value will be populated with the request's response once the request completes
1769// successfully.
1770//
1771// Use "Send" method on the returned Request to send the API call to the service.
1772// the "output" return value is not valid until after Send returns without error.
1773//
1774// See AssociateTransitGatewayRouteTable for more information on using the AssociateTransitGatewayRouteTable
1775// API call, and error handling.
1776//
1777// This method is useful when you want to inject custom logic or configuration
1778// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1779//
1780//
1781//    // Example sending a request using the AssociateTransitGatewayRouteTableRequest method.
1782//    req, resp := client.AssociateTransitGatewayRouteTableRequest(params)
1783//
1784//    err := req.Send()
1785//    if err == nil { // resp is now filled
1786//        fmt.Println(resp)
1787//    }
1788//
1789// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayRouteTable
1790func (c *EC2) AssociateTransitGatewayRouteTableRequest(input *AssociateTransitGatewayRouteTableInput) (req *request.Request, output *AssociateTransitGatewayRouteTableOutput) {
1791	op := &request.Operation{
1792		Name:       opAssociateTransitGatewayRouteTable,
1793		HTTPMethod: "POST",
1794		HTTPPath:   "/",
1795	}
1796
1797	if input == nil {
1798		input = &AssociateTransitGatewayRouteTableInput{}
1799	}
1800
1801	output = &AssociateTransitGatewayRouteTableOutput{}
1802	req = c.newRequest(op, input, output)
1803	return
1804}
1805
1806// AssociateTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
1807//
1808// Associates the specified attachment with the specified transit gateway route
1809// table. You can associate only one route table with an attachment.
1810//
1811// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1812// with awserr.Error's Code and Message methods to get detailed information about
1813// the error.
1814//
1815// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1816// API operation AssociateTransitGatewayRouteTable for usage and error information.
1817// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayRouteTable
1818func (c *EC2) AssociateTransitGatewayRouteTable(input *AssociateTransitGatewayRouteTableInput) (*AssociateTransitGatewayRouteTableOutput, error) {
1819	req, out := c.AssociateTransitGatewayRouteTableRequest(input)
1820	return out, req.Send()
1821}
1822
1823// AssociateTransitGatewayRouteTableWithContext is the same as AssociateTransitGatewayRouteTable with the addition of
1824// the ability to pass a context and additional request options.
1825//
1826// See AssociateTransitGatewayRouteTable for details on how to use this API operation.
1827//
1828// The context must be non-nil and will be used for request cancellation. If
1829// the context is nil a panic will occur. In the future the SDK may create
1830// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1831// for more information on using Contexts.
1832func (c *EC2) AssociateTransitGatewayRouteTableWithContext(ctx aws.Context, input *AssociateTransitGatewayRouteTableInput, opts ...request.Option) (*AssociateTransitGatewayRouteTableOutput, error) {
1833	req, out := c.AssociateTransitGatewayRouteTableRequest(input)
1834	req.SetContext(ctx)
1835	req.ApplyOptions(opts...)
1836	return out, req.Send()
1837}
1838
1839const opAssociateTrunkInterface = "AssociateTrunkInterface"
1840
1841// AssociateTrunkInterfaceRequest generates a "aws/request.Request" representing the
1842// client's request for the AssociateTrunkInterface operation. The "output" return
1843// value will be populated with the request's response once the request completes
1844// successfully.
1845//
1846// Use "Send" method on the returned Request to send the API call to the service.
1847// the "output" return value is not valid until after Send returns without error.
1848//
1849// See AssociateTrunkInterface for more information on using the AssociateTrunkInterface
1850// API call, and error handling.
1851//
1852// This method is useful when you want to inject custom logic or configuration
1853// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1854//
1855//
1856//    // Example sending a request using the AssociateTrunkInterfaceRequest method.
1857//    req, resp := client.AssociateTrunkInterfaceRequest(params)
1858//
1859//    err := req.Send()
1860//    if err == nil { // resp is now filled
1861//        fmt.Println(resp)
1862//    }
1863//
1864// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTrunkInterface
1865func (c *EC2) AssociateTrunkInterfaceRequest(input *AssociateTrunkInterfaceInput) (req *request.Request, output *AssociateTrunkInterfaceOutput) {
1866	op := &request.Operation{
1867		Name:       opAssociateTrunkInterface,
1868		HTTPMethod: "POST",
1869		HTTPPath:   "/",
1870	}
1871
1872	if input == nil {
1873		input = &AssociateTrunkInterfaceInput{}
1874	}
1875
1876	output = &AssociateTrunkInterfaceOutput{}
1877	req = c.newRequest(op, input, output)
1878	return
1879}
1880
1881// AssociateTrunkInterface API operation for Amazon Elastic Compute Cloud.
1882//
1883//
1884// This API action is currently in limited preview only. If you are interested
1885// in using this feature, contact your account manager.
1886//
1887// Associates a branch network interface with a trunk network interface.
1888//
1889// Before you create the association, run the create-network-interface (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateNetworkInterface.html)
1890// command and set --interface-type to trunk. You must also create a network
1891// interface for each branch network interface that you want to associate with
1892// the trunk network interface.
1893//
1894// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1895// with awserr.Error's Code and Message methods to get detailed information about
1896// the error.
1897//
1898// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1899// API operation AssociateTrunkInterface for usage and error information.
1900// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTrunkInterface
1901func (c *EC2) AssociateTrunkInterface(input *AssociateTrunkInterfaceInput) (*AssociateTrunkInterfaceOutput, error) {
1902	req, out := c.AssociateTrunkInterfaceRequest(input)
1903	return out, req.Send()
1904}
1905
1906// AssociateTrunkInterfaceWithContext is the same as AssociateTrunkInterface with the addition of
1907// the ability to pass a context and additional request options.
1908//
1909// See AssociateTrunkInterface for details on how to use this API operation.
1910//
1911// The context must be non-nil and will be used for request cancellation. If
1912// the context is nil a panic will occur. In the future the SDK may create
1913// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1914// for more information on using Contexts.
1915func (c *EC2) AssociateTrunkInterfaceWithContext(ctx aws.Context, input *AssociateTrunkInterfaceInput, opts ...request.Option) (*AssociateTrunkInterfaceOutput, error) {
1916	req, out := c.AssociateTrunkInterfaceRequest(input)
1917	req.SetContext(ctx)
1918	req.ApplyOptions(opts...)
1919	return out, req.Send()
1920}
1921
1922const opAssociateVpcCidrBlock = "AssociateVpcCidrBlock"
1923
1924// AssociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
1925// client's request for the AssociateVpcCidrBlock operation. The "output" return
1926// value will be populated with the request's response once the request completes
1927// successfully.
1928//
1929// Use "Send" method on the returned Request to send the API call to the service.
1930// the "output" return value is not valid until after Send returns without error.
1931//
1932// See AssociateVpcCidrBlock for more information on using the AssociateVpcCidrBlock
1933// API call, and error handling.
1934//
1935// This method is useful when you want to inject custom logic or configuration
1936// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1937//
1938//
1939//    // Example sending a request using the AssociateVpcCidrBlockRequest method.
1940//    req, resp := client.AssociateVpcCidrBlockRequest(params)
1941//
1942//    err := req.Send()
1943//    if err == nil { // resp is now filled
1944//        fmt.Println(resp)
1945//    }
1946//
1947// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
1948func (c *EC2) AssociateVpcCidrBlockRequest(input *AssociateVpcCidrBlockInput) (req *request.Request, output *AssociateVpcCidrBlockOutput) {
1949	op := &request.Operation{
1950		Name:       opAssociateVpcCidrBlock,
1951		HTTPMethod: "POST",
1952		HTTPPath:   "/",
1953	}
1954
1955	if input == nil {
1956		input = &AssociateVpcCidrBlockInput{}
1957	}
1958
1959	output = &AssociateVpcCidrBlockOutput{}
1960	req = c.newRequest(op, input, output)
1961	return
1962}
1963
1964// AssociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
1965//
1966// Associates a CIDR block with your VPC. You can associate a secondary IPv4
1967// CIDR block, an Amazon-provided IPv6 CIDR block, or an IPv6 CIDR block from
1968// an IPv6 address pool that you provisioned through bring your own IP addresses
1969// (BYOIP (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)).
1970// The IPv6 CIDR block size is fixed at /56.
1971//
1972// You must specify one of the following in the request: an IPv4 CIDR block,
1973// an IPv6 pool, or an Amazon-provided IPv6 CIDR block.
1974//
1975// For more information about associating CIDR blocks with your VPC and applicable
1976// restrictions, see VPC and subnet sizing (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#VPC_Sizing)
1977// in the Amazon Virtual Private Cloud User Guide.
1978//
1979// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1980// with awserr.Error's Code and Message methods to get detailed information about
1981// the error.
1982//
1983// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1984// API operation AssociateVpcCidrBlock for usage and error information.
1985// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
1986func (c *EC2) AssociateVpcCidrBlock(input *AssociateVpcCidrBlockInput) (*AssociateVpcCidrBlockOutput, error) {
1987	req, out := c.AssociateVpcCidrBlockRequest(input)
1988	return out, req.Send()
1989}
1990
1991// AssociateVpcCidrBlockWithContext is the same as AssociateVpcCidrBlock with the addition of
1992// the ability to pass a context and additional request options.
1993//
1994// See AssociateVpcCidrBlock for details on how to use this API operation.
1995//
1996// The context must be non-nil and will be used for request cancellation. If
1997// the context is nil a panic will occur. In the future the SDK may create
1998// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1999// for more information on using Contexts.
2000func (c *EC2) AssociateVpcCidrBlockWithContext(ctx aws.Context, input *AssociateVpcCidrBlockInput, opts ...request.Option) (*AssociateVpcCidrBlockOutput, error) {
2001	req, out := c.AssociateVpcCidrBlockRequest(input)
2002	req.SetContext(ctx)
2003	req.ApplyOptions(opts...)
2004	return out, req.Send()
2005}
2006
2007const opAttachClassicLinkVpc = "AttachClassicLinkVpc"
2008
2009// AttachClassicLinkVpcRequest generates a "aws/request.Request" representing the
2010// client's request for the AttachClassicLinkVpc operation. The "output" return
2011// value will be populated with the request's response once the request completes
2012// successfully.
2013//
2014// Use "Send" method on the returned Request to send the API call to the service.
2015// the "output" return value is not valid until after Send returns without error.
2016//
2017// See AttachClassicLinkVpc for more information on using the AttachClassicLinkVpc
2018// API call, and error handling.
2019//
2020// This method is useful when you want to inject custom logic or configuration
2021// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2022//
2023//
2024//    // Example sending a request using the AttachClassicLinkVpcRequest method.
2025//    req, resp := client.AttachClassicLinkVpcRequest(params)
2026//
2027//    err := req.Send()
2028//    if err == nil { // resp is now filled
2029//        fmt.Println(resp)
2030//    }
2031//
2032// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
2033func (c *EC2) AttachClassicLinkVpcRequest(input *AttachClassicLinkVpcInput) (req *request.Request, output *AttachClassicLinkVpcOutput) {
2034	op := &request.Operation{
2035		Name:       opAttachClassicLinkVpc,
2036		HTTPMethod: "POST",
2037		HTTPPath:   "/",
2038	}
2039
2040	if input == nil {
2041		input = &AttachClassicLinkVpcInput{}
2042	}
2043
2044	output = &AttachClassicLinkVpcOutput{}
2045	req = c.newRequest(op, input, output)
2046	return
2047}
2048
2049// AttachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
2050//
2051// Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or
2052// more of the VPC's security groups. You cannot link an EC2-Classic instance
2053// to more than one VPC at a time. You can only link an instance that's in the
2054// running state. An instance is automatically unlinked from a VPC when it's
2055// stopped - you can link it to the VPC again when you restart it.
2056//
2057// After you've linked an instance, you cannot change the VPC security groups
2058// that are associated with it. To change the security groups, you must first
2059// unlink the instance, and then link it again.
2060//
2061// Linking your instance to a VPC is sometimes referred to as attaching your
2062// instance.
2063//
2064// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2065// with awserr.Error's Code and Message methods to get detailed information about
2066// the error.
2067//
2068// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2069// API operation AttachClassicLinkVpc for usage and error information.
2070// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
2071func (c *EC2) AttachClassicLinkVpc(input *AttachClassicLinkVpcInput) (*AttachClassicLinkVpcOutput, error) {
2072	req, out := c.AttachClassicLinkVpcRequest(input)
2073	return out, req.Send()
2074}
2075
2076// AttachClassicLinkVpcWithContext is the same as AttachClassicLinkVpc with the addition of
2077// the ability to pass a context and additional request options.
2078//
2079// See AttachClassicLinkVpc for details on how to use this API operation.
2080//
2081// The context must be non-nil and will be used for request cancellation. If
2082// the context is nil a panic will occur. In the future the SDK may create
2083// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2084// for more information on using Contexts.
2085func (c *EC2) AttachClassicLinkVpcWithContext(ctx aws.Context, input *AttachClassicLinkVpcInput, opts ...request.Option) (*AttachClassicLinkVpcOutput, error) {
2086	req, out := c.AttachClassicLinkVpcRequest(input)
2087	req.SetContext(ctx)
2088	req.ApplyOptions(opts...)
2089	return out, req.Send()
2090}
2091
2092const opAttachInternetGateway = "AttachInternetGateway"
2093
2094// AttachInternetGatewayRequest generates a "aws/request.Request" representing the
2095// client's request for the AttachInternetGateway operation. The "output" return
2096// value will be populated with the request's response once the request completes
2097// successfully.
2098//
2099// Use "Send" method on the returned Request to send the API call to the service.
2100// the "output" return value is not valid until after Send returns without error.
2101//
2102// See AttachInternetGateway for more information on using the AttachInternetGateway
2103// API call, and error handling.
2104//
2105// This method is useful when you want to inject custom logic or configuration
2106// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2107//
2108//
2109//    // Example sending a request using the AttachInternetGatewayRequest method.
2110//    req, resp := client.AttachInternetGatewayRequest(params)
2111//
2112//    err := req.Send()
2113//    if err == nil { // resp is now filled
2114//        fmt.Println(resp)
2115//    }
2116//
2117// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
2118func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (req *request.Request, output *AttachInternetGatewayOutput) {
2119	op := &request.Operation{
2120		Name:       opAttachInternetGateway,
2121		HTTPMethod: "POST",
2122		HTTPPath:   "/",
2123	}
2124
2125	if input == nil {
2126		input = &AttachInternetGatewayInput{}
2127	}
2128
2129	output = &AttachInternetGatewayOutput{}
2130	req = c.newRequest(op, input, output)
2131	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2132	return
2133}
2134
2135// AttachInternetGateway API operation for Amazon Elastic Compute Cloud.
2136//
2137// Attaches an internet gateway or a virtual private gateway to a VPC, enabling
2138// connectivity between the internet and the VPC. For more information about
2139// your VPC and internet gateway, see the Amazon Virtual Private Cloud User
2140// Guide (https://docs.aws.amazon.com/vpc/latest/userguide/).
2141//
2142// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2143// with awserr.Error's Code and Message methods to get detailed information about
2144// the error.
2145//
2146// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2147// API operation AttachInternetGateway for usage and error information.
2148// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
2149func (c *EC2) AttachInternetGateway(input *AttachInternetGatewayInput) (*AttachInternetGatewayOutput, error) {
2150	req, out := c.AttachInternetGatewayRequest(input)
2151	return out, req.Send()
2152}
2153
2154// AttachInternetGatewayWithContext is the same as AttachInternetGateway with the addition of
2155// the ability to pass a context and additional request options.
2156//
2157// See AttachInternetGateway for details on how to use this API operation.
2158//
2159// The context must be non-nil and will be used for request cancellation. If
2160// the context is nil a panic will occur. In the future the SDK may create
2161// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2162// for more information on using Contexts.
2163func (c *EC2) AttachInternetGatewayWithContext(ctx aws.Context, input *AttachInternetGatewayInput, opts ...request.Option) (*AttachInternetGatewayOutput, error) {
2164	req, out := c.AttachInternetGatewayRequest(input)
2165	req.SetContext(ctx)
2166	req.ApplyOptions(opts...)
2167	return out, req.Send()
2168}
2169
2170const opAttachNetworkInterface = "AttachNetworkInterface"
2171
2172// AttachNetworkInterfaceRequest generates a "aws/request.Request" representing the
2173// client's request for the AttachNetworkInterface operation. The "output" return
2174// value will be populated with the request's response once the request completes
2175// successfully.
2176//
2177// Use "Send" method on the returned Request to send the API call to the service.
2178// the "output" return value is not valid until after Send returns without error.
2179//
2180// See AttachNetworkInterface for more information on using the AttachNetworkInterface
2181// API call, and error handling.
2182//
2183// This method is useful when you want to inject custom logic or configuration
2184// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2185//
2186//
2187//    // Example sending a request using the AttachNetworkInterfaceRequest method.
2188//    req, resp := client.AttachNetworkInterfaceRequest(params)
2189//
2190//    err := req.Send()
2191//    if err == nil { // resp is now filled
2192//        fmt.Println(resp)
2193//    }
2194//
2195// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
2196func (c *EC2) AttachNetworkInterfaceRequest(input *AttachNetworkInterfaceInput) (req *request.Request, output *AttachNetworkInterfaceOutput) {
2197	op := &request.Operation{
2198		Name:       opAttachNetworkInterface,
2199		HTTPMethod: "POST",
2200		HTTPPath:   "/",
2201	}
2202
2203	if input == nil {
2204		input = &AttachNetworkInterfaceInput{}
2205	}
2206
2207	output = &AttachNetworkInterfaceOutput{}
2208	req = c.newRequest(op, input, output)
2209	return
2210}
2211
2212// AttachNetworkInterface API operation for Amazon Elastic Compute Cloud.
2213//
2214// Attaches a network interface to an instance.
2215//
2216// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2217// with awserr.Error's Code and Message methods to get detailed information about
2218// the error.
2219//
2220// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2221// API operation AttachNetworkInterface for usage and error information.
2222// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
2223func (c *EC2) AttachNetworkInterface(input *AttachNetworkInterfaceInput) (*AttachNetworkInterfaceOutput, error) {
2224	req, out := c.AttachNetworkInterfaceRequest(input)
2225	return out, req.Send()
2226}
2227
2228// AttachNetworkInterfaceWithContext is the same as AttachNetworkInterface with the addition of
2229// the ability to pass a context and additional request options.
2230//
2231// See AttachNetworkInterface for details on how to use this API operation.
2232//
2233// The context must be non-nil and will be used for request cancellation. If
2234// the context is nil a panic will occur. In the future the SDK may create
2235// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2236// for more information on using Contexts.
2237func (c *EC2) AttachNetworkInterfaceWithContext(ctx aws.Context, input *AttachNetworkInterfaceInput, opts ...request.Option) (*AttachNetworkInterfaceOutput, error) {
2238	req, out := c.AttachNetworkInterfaceRequest(input)
2239	req.SetContext(ctx)
2240	req.ApplyOptions(opts...)
2241	return out, req.Send()
2242}
2243
2244const opAttachVolume = "AttachVolume"
2245
2246// AttachVolumeRequest generates a "aws/request.Request" representing the
2247// client's request for the AttachVolume operation. The "output" return
2248// value will be populated with the request's response once the request completes
2249// successfully.
2250//
2251// Use "Send" method on the returned Request to send the API call to the service.
2252// the "output" return value is not valid until after Send returns without error.
2253//
2254// See AttachVolume for more information on using the AttachVolume
2255// API call, and error handling.
2256//
2257// This method is useful when you want to inject custom logic or configuration
2258// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2259//
2260//
2261//    // Example sending a request using the AttachVolumeRequest method.
2262//    req, resp := client.AttachVolumeRequest(params)
2263//
2264//    err := req.Send()
2265//    if err == nil { // resp is now filled
2266//        fmt.Println(resp)
2267//    }
2268//
2269// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
2270func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Request, output *VolumeAttachment) {
2271	op := &request.Operation{
2272		Name:       opAttachVolume,
2273		HTTPMethod: "POST",
2274		HTTPPath:   "/",
2275	}
2276
2277	if input == nil {
2278		input = &AttachVolumeInput{}
2279	}
2280
2281	output = &VolumeAttachment{}
2282	req = c.newRequest(op, input, output)
2283	return
2284}
2285
2286// AttachVolume API operation for Amazon Elastic Compute Cloud.
2287//
2288// Attaches an EBS volume to a running or stopped instance and exposes it to
2289// the instance with the specified device name.
2290//
2291// Encrypted EBS volumes must be attached to instances that support Amazon EBS
2292// encryption. For more information, see Amazon EBS encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
2293// in the Amazon Elastic Compute Cloud User Guide.
2294//
2295// After you attach an EBS volume, you must make it available. For more information,
2296// see Make an EBS volume available for use (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html).
2297//
2298// If a volume has an Amazon Web Services Marketplace product code:
2299//
2300//    * The volume can be attached only to a stopped instance.
2301//
2302//    * Amazon Web Services Marketplace product codes are copied from the volume
2303//    to the instance.
2304//
2305//    * You must be subscribed to the product.
2306//
2307//    * The instance type and operating system of the instance must support
2308//    the product. For example, you can't detach a volume from a Windows instance
2309//    and attach it to a Linux instance.
2310//
2311// For more information, see Attach an Amazon EBS volume to an instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html)
2312// in the Amazon Elastic Compute Cloud User Guide.
2313//
2314// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2315// with awserr.Error's Code and Message methods to get detailed information about
2316// the error.
2317//
2318// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2319// API operation AttachVolume for usage and error information.
2320// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
2321func (c *EC2) AttachVolume(input *AttachVolumeInput) (*VolumeAttachment, error) {
2322	req, out := c.AttachVolumeRequest(input)
2323	return out, req.Send()
2324}
2325
2326// AttachVolumeWithContext is the same as AttachVolume with the addition of
2327// the ability to pass a context and additional request options.
2328//
2329// See AttachVolume for details on how to use this API operation.
2330//
2331// The context must be non-nil and will be used for request cancellation. If
2332// the context is nil a panic will occur. In the future the SDK may create
2333// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2334// for more information on using Contexts.
2335func (c *EC2) AttachVolumeWithContext(ctx aws.Context, input *AttachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
2336	req, out := c.AttachVolumeRequest(input)
2337	req.SetContext(ctx)
2338	req.ApplyOptions(opts...)
2339	return out, req.Send()
2340}
2341
2342const opAttachVpnGateway = "AttachVpnGateway"
2343
2344// AttachVpnGatewayRequest generates a "aws/request.Request" representing the
2345// client's request for the AttachVpnGateway operation. The "output" return
2346// value will be populated with the request's response once the request completes
2347// successfully.
2348//
2349// Use "Send" method on the returned Request to send the API call to the service.
2350// the "output" return value is not valid until after Send returns without error.
2351//
2352// See AttachVpnGateway for more information on using the AttachVpnGateway
2353// API call, and error handling.
2354//
2355// This method is useful when you want to inject custom logic or configuration
2356// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2357//
2358//
2359//    // Example sending a request using the AttachVpnGatewayRequest method.
2360//    req, resp := client.AttachVpnGatewayRequest(params)
2361//
2362//    err := req.Send()
2363//    if err == nil { // resp is now filled
2364//        fmt.Println(resp)
2365//    }
2366//
2367// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
2368func (c *EC2) AttachVpnGatewayRequest(input *AttachVpnGatewayInput) (req *request.Request, output *AttachVpnGatewayOutput) {
2369	op := &request.Operation{
2370		Name:       opAttachVpnGateway,
2371		HTTPMethod: "POST",
2372		HTTPPath:   "/",
2373	}
2374
2375	if input == nil {
2376		input = &AttachVpnGatewayInput{}
2377	}
2378
2379	output = &AttachVpnGatewayOutput{}
2380	req = c.newRequest(op, input, output)
2381	return
2382}
2383
2384// AttachVpnGateway API operation for Amazon Elastic Compute Cloud.
2385//
2386// Attaches a virtual private gateway to a VPC. You can attach one virtual private
2387// gateway to one VPC at a time.
2388//
2389// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
2390// in the AWS Site-to-Site VPN User Guide.
2391//
2392// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2393// with awserr.Error's Code and Message methods to get detailed information about
2394// the error.
2395//
2396// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2397// API operation AttachVpnGateway for usage and error information.
2398// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
2399func (c *EC2) AttachVpnGateway(input *AttachVpnGatewayInput) (*AttachVpnGatewayOutput, error) {
2400	req, out := c.AttachVpnGatewayRequest(input)
2401	return out, req.Send()
2402}
2403
2404// AttachVpnGatewayWithContext is the same as AttachVpnGateway with the addition of
2405// the ability to pass a context and additional request options.
2406//
2407// See AttachVpnGateway for details on how to use this API operation.
2408//
2409// The context must be non-nil and will be used for request cancellation. If
2410// the context is nil a panic will occur. In the future the SDK may create
2411// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2412// for more information on using Contexts.
2413func (c *EC2) AttachVpnGatewayWithContext(ctx aws.Context, input *AttachVpnGatewayInput, opts ...request.Option) (*AttachVpnGatewayOutput, error) {
2414	req, out := c.AttachVpnGatewayRequest(input)
2415	req.SetContext(ctx)
2416	req.ApplyOptions(opts...)
2417	return out, req.Send()
2418}
2419
2420const opAuthorizeClientVpnIngress = "AuthorizeClientVpnIngress"
2421
2422// AuthorizeClientVpnIngressRequest generates a "aws/request.Request" representing the
2423// client's request for the AuthorizeClientVpnIngress operation. The "output" return
2424// value will be populated with the request's response once the request completes
2425// successfully.
2426//
2427// Use "Send" method on the returned Request to send the API call to the service.
2428// the "output" return value is not valid until after Send returns without error.
2429//
2430// See AuthorizeClientVpnIngress for more information on using the AuthorizeClientVpnIngress
2431// API call, and error handling.
2432//
2433// This method is useful when you want to inject custom logic or configuration
2434// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2435//
2436//
2437//    // Example sending a request using the AuthorizeClientVpnIngressRequest method.
2438//    req, resp := client.AuthorizeClientVpnIngressRequest(params)
2439//
2440//    err := req.Send()
2441//    if err == nil { // resp is now filled
2442//        fmt.Println(resp)
2443//    }
2444//
2445// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeClientVpnIngress
2446func (c *EC2) AuthorizeClientVpnIngressRequest(input *AuthorizeClientVpnIngressInput) (req *request.Request, output *AuthorizeClientVpnIngressOutput) {
2447	op := &request.Operation{
2448		Name:       opAuthorizeClientVpnIngress,
2449		HTTPMethod: "POST",
2450		HTTPPath:   "/",
2451	}
2452
2453	if input == nil {
2454		input = &AuthorizeClientVpnIngressInput{}
2455	}
2456
2457	output = &AuthorizeClientVpnIngressOutput{}
2458	req = c.newRequest(op, input, output)
2459	return
2460}
2461
2462// AuthorizeClientVpnIngress API operation for Amazon Elastic Compute Cloud.
2463//
2464// Adds an ingress authorization rule to a Client VPN endpoint. Ingress authorization
2465// rules act as firewall rules that grant access to networks. You must configure
2466// ingress authorization rules to enable clients to access resources in AWS
2467// or on-premises networks.
2468//
2469// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2470// with awserr.Error's Code and Message methods to get detailed information about
2471// the error.
2472//
2473// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2474// API operation AuthorizeClientVpnIngress for usage and error information.
2475// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeClientVpnIngress
2476func (c *EC2) AuthorizeClientVpnIngress(input *AuthorizeClientVpnIngressInput) (*AuthorizeClientVpnIngressOutput, error) {
2477	req, out := c.AuthorizeClientVpnIngressRequest(input)
2478	return out, req.Send()
2479}
2480
2481// AuthorizeClientVpnIngressWithContext is the same as AuthorizeClientVpnIngress with the addition of
2482// the ability to pass a context and additional request options.
2483//
2484// See AuthorizeClientVpnIngress for details on how to use this API operation.
2485//
2486// The context must be non-nil and will be used for request cancellation. If
2487// the context is nil a panic will occur. In the future the SDK may create
2488// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2489// for more information on using Contexts.
2490func (c *EC2) AuthorizeClientVpnIngressWithContext(ctx aws.Context, input *AuthorizeClientVpnIngressInput, opts ...request.Option) (*AuthorizeClientVpnIngressOutput, error) {
2491	req, out := c.AuthorizeClientVpnIngressRequest(input)
2492	req.SetContext(ctx)
2493	req.ApplyOptions(opts...)
2494	return out, req.Send()
2495}
2496
2497const opAuthorizeSecurityGroupEgress = "AuthorizeSecurityGroupEgress"
2498
2499// AuthorizeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
2500// client's request for the AuthorizeSecurityGroupEgress operation. The "output" return
2501// value will be populated with the request's response once the request completes
2502// successfully.
2503//
2504// Use "Send" method on the returned Request to send the API call to the service.
2505// the "output" return value is not valid until after Send returns without error.
2506//
2507// See AuthorizeSecurityGroupEgress for more information on using the AuthorizeSecurityGroupEgress
2508// API call, and error handling.
2509//
2510// This method is useful when you want to inject custom logic or configuration
2511// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2512//
2513//
2514//    // Example sending a request using the AuthorizeSecurityGroupEgressRequest method.
2515//    req, resp := client.AuthorizeSecurityGroupEgressRequest(params)
2516//
2517//    err := req.Send()
2518//    if err == nil { // resp is now filled
2519//        fmt.Println(resp)
2520//    }
2521//
2522// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
2523func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupEgressInput) (req *request.Request, output *AuthorizeSecurityGroupEgressOutput) {
2524	op := &request.Operation{
2525		Name:       opAuthorizeSecurityGroupEgress,
2526		HTTPMethod: "POST",
2527		HTTPPath:   "/",
2528	}
2529
2530	if input == nil {
2531		input = &AuthorizeSecurityGroupEgressInput{}
2532	}
2533
2534	output = &AuthorizeSecurityGroupEgressOutput{}
2535	req = c.newRequest(op, input, output)
2536	return
2537}
2538
2539// AuthorizeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
2540//
2541// [VPC only] Adds the specified outbound (egress) rules to a security group
2542// for use with a VPC.
2543//
2544// An outbound rule permits instances to send traffic to the specified IPv4
2545// or IPv6 CIDR address ranges, or to the instances that are associated with
2546// the specified destination security groups.
2547//
2548// You specify a protocol for each rule (for example, TCP). For the TCP and
2549// UDP protocols, you must also specify the destination port or port range.
2550// For the ICMP protocol, you must also specify the ICMP type and code. You
2551// can use -1 for the type or code to mean all types or all codes.
2552//
2553// Rule changes are propagated to affected instances as quickly as possible.
2554// However, a small delay might occur.
2555//
2556// For information about VPC security group quotas, see Amazon VPC quotas (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html).
2557//
2558// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2559// with awserr.Error's Code and Message methods to get detailed information about
2560// the error.
2561//
2562// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2563// API operation AuthorizeSecurityGroupEgress for usage and error information.
2564// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
2565func (c *EC2) AuthorizeSecurityGroupEgress(input *AuthorizeSecurityGroupEgressInput) (*AuthorizeSecurityGroupEgressOutput, error) {
2566	req, out := c.AuthorizeSecurityGroupEgressRequest(input)
2567	return out, req.Send()
2568}
2569
2570// AuthorizeSecurityGroupEgressWithContext is the same as AuthorizeSecurityGroupEgress with the addition of
2571// the ability to pass a context and additional request options.
2572//
2573// See AuthorizeSecurityGroupEgress for details on how to use this API operation.
2574//
2575// The context must be non-nil and will be used for request cancellation. If
2576// the context is nil a panic will occur. In the future the SDK may create
2577// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2578// for more information on using Contexts.
2579func (c *EC2) AuthorizeSecurityGroupEgressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupEgressInput, opts ...request.Option) (*AuthorizeSecurityGroupEgressOutput, error) {
2580	req, out := c.AuthorizeSecurityGroupEgressRequest(input)
2581	req.SetContext(ctx)
2582	req.ApplyOptions(opts...)
2583	return out, req.Send()
2584}
2585
2586const opAuthorizeSecurityGroupIngress = "AuthorizeSecurityGroupIngress"
2587
2588// AuthorizeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
2589// client's request for the AuthorizeSecurityGroupIngress operation. The "output" return
2590// value will be populated with the request's response once the request completes
2591// successfully.
2592//
2593// Use "Send" method on the returned Request to send the API call to the service.
2594// the "output" return value is not valid until after Send returns without error.
2595//
2596// See AuthorizeSecurityGroupIngress for more information on using the AuthorizeSecurityGroupIngress
2597// API call, and error handling.
2598//
2599// This method is useful when you want to inject custom logic or configuration
2600// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2601//
2602//
2603//    // Example sending a request using the AuthorizeSecurityGroupIngressRequest method.
2604//    req, resp := client.AuthorizeSecurityGroupIngressRequest(params)
2605//
2606//    err := req.Send()
2607//    if err == nil { // resp is now filled
2608//        fmt.Println(resp)
2609//    }
2610//
2611// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
2612func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroupIngressInput) (req *request.Request, output *AuthorizeSecurityGroupIngressOutput) {
2613	op := &request.Operation{
2614		Name:       opAuthorizeSecurityGroupIngress,
2615		HTTPMethod: "POST",
2616		HTTPPath:   "/",
2617	}
2618
2619	if input == nil {
2620		input = &AuthorizeSecurityGroupIngressInput{}
2621	}
2622
2623	output = &AuthorizeSecurityGroupIngressOutput{}
2624	req = c.newRequest(op, input, output)
2625	return
2626}
2627
2628// AuthorizeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
2629//
2630// Adds the specified inbound (ingress) rules to a security group.
2631//
2632// An inbound rule permits instances to receive traffic from the specified IPv4
2633// or IPv6 CIDR address range, or from the instances that are associated with
2634// the specified destination security groups.
2635//
2636// You specify a protocol for each rule (for example, TCP). For TCP and UDP,
2637// you must also specify the destination port or port range. For ICMP/ICMPv6,
2638// you must also specify the ICMP/ICMPv6 type and code. You can use -1 to mean
2639// all types or all codes.
2640//
2641// Rule changes are propagated to instances within the security group as quickly
2642// as possible. However, a small delay might occur.
2643//
2644// For more information about VPC security group quotas, see Amazon VPC quotas
2645// (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html).
2646//
2647// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2648// with awserr.Error's Code and Message methods to get detailed information about
2649// the error.
2650//
2651// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2652// API operation AuthorizeSecurityGroupIngress for usage and error information.
2653// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
2654func (c *EC2) AuthorizeSecurityGroupIngress(input *AuthorizeSecurityGroupIngressInput) (*AuthorizeSecurityGroupIngressOutput, error) {
2655	req, out := c.AuthorizeSecurityGroupIngressRequest(input)
2656	return out, req.Send()
2657}
2658
2659// AuthorizeSecurityGroupIngressWithContext is the same as AuthorizeSecurityGroupIngress with the addition of
2660// the ability to pass a context and additional request options.
2661//
2662// See AuthorizeSecurityGroupIngress for details on how to use this API operation.
2663//
2664// The context must be non-nil and will be used for request cancellation. If
2665// the context is nil a panic will occur. In the future the SDK may create
2666// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2667// for more information on using Contexts.
2668func (c *EC2) AuthorizeSecurityGroupIngressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupIngressInput, opts ...request.Option) (*AuthorizeSecurityGroupIngressOutput, error) {
2669	req, out := c.AuthorizeSecurityGroupIngressRequest(input)
2670	req.SetContext(ctx)
2671	req.ApplyOptions(opts...)
2672	return out, req.Send()
2673}
2674
2675const opBundleInstance = "BundleInstance"
2676
2677// BundleInstanceRequest generates a "aws/request.Request" representing the
2678// client's request for the BundleInstance operation. The "output" return
2679// value will be populated with the request's response once the request completes
2680// successfully.
2681//
2682// Use "Send" method on the returned Request to send the API call to the service.
2683// the "output" return value is not valid until after Send returns without error.
2684//
2685// See BundleInstance for more information on using the BundleInstance
2686// API call, and error handling.
2687//
2688// This method is useful when you want to inject custom logic or configuration
2689// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2690//
2691//
2692//    // Example sending a request using the BundleInstanceRequest method.
2693//    req, resp := client.BundleInstanceRequest(params)
2694//
2695//    err := req.Send()
2696//    if err == nil { // resp is now filled
2697//        fmt.Println(resp)
2698//    }
2699//
2700// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
2701func (c *EC2) BundleInstanceRequest(input *BundleInstanceInput) (req *request.Request, output *BundleInstanceOutput) {
2702	op := &request.Operation{
2703		Name:       opBundleInstance,
2704		HTTPMethod: "POST",
2705		HTTPPath:   "/",
2706	}
2707
2708	if input == nil {
2709		input = &BundleInstanceInput{}
2710	}
2711
2712	output = &BundleInstanceOutput{}
2713	req = c.newRequest(op, input, output)
2714	return
2715}
2716
2717// BundleInstance API operation for Amazon Elastic Compute Cloud.
2718//
2719// Bundles an Amazon instance store-backed Windows instance.
2720//
2721// During bundling, only the root device volume (C:\) is bundled. Data on other
2722// instance store volumes is not preserved.
2723//
2724// This action is not applicable for Linux/Unix instances or Windows instances
2725// that are backed by Amazon EBS.
2726//
2727// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2728// with awserr.Error's Code and Message methods to get detailed information about
2729// the error.
2730//
2731// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2732// API operation BundleInstance for usage and error information.
2733// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
2734func (c *EC2) BundleInstance(input *BundleInstanceInput) (*BundleInstanceOutput, error) {
2735	req, out := c.BundleInstanceRequest(input)
2736	return out, req.Send()
2737}
2738
2739// BundleInstanceWithContext is the same as BundleInstance with the addition of
2740// the ability to pass a context and additional request options.
2741//
2742// See BundleInstance for details on how to use this API operation.
2743//
2744// The context must be non-nil and will be used for request cancellation. If
2745// the context is nil a panic will occur. In the future the SDK may create
2746// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2747// for more information on using Contexts.
2748func (c *EC2) BundleInstanceWithContext(ctx aws.Context, input *BundleInstanceInput, opts ...request.Option) (*BundleInstanceOutput, error) {
2749	req, out := c.BundleInstanceRequest(input)
2750	req.SetContext(ctx)
2751	req.ApplyOptions(opts...)
2752	return out, req.Send()
2753}
2754
2755const opCancelBundleTask = "CancelBundleTask"
2756
2757// CancelBundleTaskRequest generates a "aws/request.Request" representing the
2758// client's request for the CancelBundleTask operation. The "output" return
2759// value will be populated with the request's response once the request completes
2760// successfully.
2761//
2762// Use "Send" method on the returned Request to send the API call to the service.
2763// the "output" return value is not valid until after Send returns without error.
2764//
2765// See CancelBundleTask for more information on using the CancelBundleTask
2766// API call, and error handling.
2767//
2768// This method is useful when you want to inject custom logic or configuration
2769// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2770//
2771//
2772//    // Example sending a request using the CancelBundleTaskRequest method.
2773//    req, resp := client.CancelBundleTaskRequest(params)
2774//
2775//    err := req.Send()
2776//    if err == nil { // resp is now filled
2777//        fmt.Println(resp)
2778//    }
2779//
2780// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
2781func (c *EC2) CancelBundleTaskRequest(input *CancelBundleTaskInput) (req *request.Request, output *CancelBundleTaskOutput) {
2782	op := &request.Operation{
2783		Name:       opCancelBundleTask,
2784		HTTPMethod: "POST",
2785		HTTPPath:   "/",
2786	}
2787
2788	if input == nil {
2789		input = &CancelBundleTaskInput{}
2790	}
2791
2792	output = &CancelBundleTaskOutput{}
2793	req = c.newRequest(op, input, output)
2794	return
2795}
2796
2797// CancelBundleTask API operation for Amazon Elastic Compute Cloud.
2798//
2799// Cancels a bundling operation for an instance store-backed Windows instance.
2800//
2801// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2802// with awserr.Error's Code and Message methods to get detailed information about
2803// the error.
2804//
2805// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2806// API operation CancelBundleTask for usage and error information.
2807// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
2808func (c *EC2) CancelBundleTask(input *CancelBundleTaskInput) (*CancelBundleTaskOutput, error) {
2809	req, out := c.CancelBundleTaskRequest(input)
2810	return out, req.Send()
2811}
2812
2813// CancelBundleTaskWithContext is the same as CancelBundleTask with the addition of
2814// the ability to pass a context and additional request options.
2815//
2816// See CancelBundleTask for details on how to use this API operation.
2817//
2818// The context must be non-nil and will be used for request cancellation. If
2819// the context is nil a panic will occur. In the future the SDK may create
2820// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2821// for more information on using Contexts.
2822func (c *EC2) CancelBundleTaskWithContext(ctx aws.Context, input *CancelBundleTaskInput, opts ...request.Option) (*CancelBundleTaskOutput, error) {
2823	req, out := c.CancelBundleTaskRequest(input)
2824	req.SetContext(ctx)
2825	req.ApplyOptions(opts...)
2826	return out, req.Send()
2827}
2828
2829const opCancelCapacityReservation = "CancelCapacityReservation"
2830
2831// CancelCapacityReservationRequest generates a "aws/request.Request" representing the
2832// client's request for the CancelCapacityReservation operation. The "output" return
2833// value will be populated with the request's response once the request completes
2834// successfully.
2835//
2836// Use "Send" method on the returned Request to send the API call to the service.
2837// the "output" return value is not valid until after Send returns without error.
2838//
2839// See CancelCapacityReservation for more information on using the CancelCapacityReservation
2840// API call, and error handling.
2841//
2842// This method is useful when you want to inject custom logic or configuration
2843// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2844//
2845//
2846//    // Example sending a request using the CancelCapacityReservationRequest method.
2847//    req, resp := client.CancelCapacityReservationRequest(params)
2848//
2849//    err := req.Send()
2850//    if err == nil { // resp is now filled
2851//        fmt.Println(resp)
2852//    }
2853//
2854// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelCapacityReservation
2855func (c *EC2) CancelCapacityReservationRequest(input *CancelCapacityReservationInput) (req *request.Request, output *CancelCapacityReservationOutput) {
2856	op := &request.Operation{
2857		Name:       opCancelCapacityReservation,
2858		HTTPMethod: "POST",
2859		HTTPPath:   "/",
2860	}
2861
2862	if input == nil {
2863		input = &CancelCapacityReservationInput{}
2864	}
2865
2866	output = &CancelCapacityReservationOutput{}
2867	req = c.newRequest(op, input, output)
2868	return
2869}
2870
2871// CancelCapacityReservation API operation for Amazon Elastic Compute Cloud.
2872//
2873// Cancels the specified Capacity Reservation, releases the reserved capacity,
2874// and changes the Capacity Reservation's state to cancelled.
2875//
2876// Instances running in the reserved capacity continue running until you stop
2877// them. Stopped instances that target the Capacity Reservation can no longer
2878// launch. Modify these instances to either target a different Capacity Reservation,
2879// launch On-Demand Instance capacity, or run in any open Capacity Reservation
2880// that has matching attributes and sufficient capacity.
2881//
2882// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2883// with awserr.Error's Code and Message methods to get detailed information about
2884// the error.
2885//
2886// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2887// API operation CancelCapacityReservation for usage and error information.
2888// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelCapacityReservation
2889func (c *EC2) CancelCapacityReservation(input *CancelCapacityReservationInput) (*CancelCapacityReservationOutput, error) {
2890	req, out := c.CancelCapacityReservationRequest(input)
2891	return out, req.Send()
2892}
2893
2894// CancelCapacityReservationWithContext is the same as CancelCapacityReservation with the addition of
2895// the ability to pass a context and additional request options.
2896//
2897// See CancelCapacityReservation for details on how to use this API operation.
2898//
2899// The context must be non-nil and will be used for request cancellation. If
2900// the context is nil a panic will occur. In the future the SDK may create
2901// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2902// for more information on using Contexts.
2903func (c *EC2) CancelCapacityReservationWithContext(ctx aws.Context, input *CancelCapacityReservationInput, opts ...request.Option) (*CancelCapacityReservationOutput, error) {
2904	req, out := c.CancelCapacityReservationRequest(input)
2905	req.SetContext(ctx)
2906	req.ApplyOptions(opts...)
2907	return out, req.Send()
2908}
2909
2910const opCancelConversionTask = "CancelConversionTask"
2911
2912// CancelConversionTaskRequest generates a "aws/request.Request" representing the
2913// client's request for the CancelConversionTask operation. The "output" return
2914// value will be populated with the request's response once the request completes
2915// successfully.
2916//
2917// Use "Send" method on the returned Request to send the API call to the service.
2918// the "output" return value is not valid until after Send returns without error.
2919//
2920// See CancelConversionTask for more information on using the CancelConversionTask
2921// API call, and error handling.
2922//
2923// This method is useful when you want to inject custom logic or configuration
2924// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2925//
2926//
2927//    // Example sending a request using the CancelConversionTaskRequest method.
2928//    req, resp := client.CancelConversionTaskRequest(params)
2929//
2930//    err := req.Send()
2931//    if err == nil { // resp is now filled
2932//        fmt.Println(resp)
2933//    }
2934//
2935// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
2936func (c *EC2) CancelConversionTaskRequest(input *CancelConversionTaskInput) (req *request.Request, output *CancelConversionTaskOutput) {
2937	op := &request.Operation{
2938		Name:       opCancelConversionTask,
2939		HTTPMethod: "POST",
2940		HTTPPath:   "/",
2941	}
2942
2943	if input == nil {
2944		input = &CancelConversionTaskInput{}
2945	}
2946
2947	output = &CancelConversionTaskOutput{}
2948	req = c.newRequest(op, input, output)
2949	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2950	return
2951}
2952
2953// CancelConversionTask API operation for Amazon Elastic Compute Cloud.
2954//
2955// Cancels an active conversion task. The task can be the import of an instance
2956// or volume. The action removes all artifacts of the conversion, including
2957// a partially uploaded volume or instance. If the conversion is complete or
2958// is in the process of transferring the final disk image, the command fails
2959// and returns an exception.
2960//
2961// For more information, see Importing a Virtual Machine Using the Amazon EC2
2962// CLI (https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
2963//
2964// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2965// with awserr.Error's Code and Message methods to get detailed information about
2966// the error.
2967//
2968// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2969// API operation CancelConversionTask for usage and error information.
2970// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
2971func (c *EC2) CancelConversionTask(input *CancelConversionTaskInput) (*CancelConversionTaskOutput, error) {
2972	req, out := c.CancelConversionTaskRequest(input)
2973	return out, req.Send()
2974}
2975
2976// CancelConversionTaskWithContext is the same as CancelConversionTask with the addition of
2977// the ability to pass a context and additional request options.
2978//
2979// See CancelConversionTask for details on how to use this API operation.
2980//
2981// The context must be non-nil and will be used for request cancellation. If
2982// the context is nil a panic will occur. In the future the SDK may create
2983// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2984// for more information on using Contexts.
2985func (c *EC2) CancelConversionTaskWithContext(ctx aws.Context, input *CancelConversionTaskInput, opts ...request.Option) (*CancelConversionTaskOutput, error) {
2986	req, out := c.CancelConversionTaskRequest(input)
2987	req.SetContext(ctx)
2988	req.ApplyOptions(opts...)
2989	return out, req.Send()
2990}
2991
2992const opCancelExportTask = "CancelExportTask"
2993
2994// CancelExportTaskRequest generates a "aws/request.Request" representing the
2995// client's request for the CancelExportTask operation. The "output" return
2996// value will be populated with the request's response once the request completes
2997// successfully.
2998//
2999// Use "Send" method on the returned Request to send the API call to the service.
3000// the "output" return value is not valid until after Send returns without error.
3001//
3002// See CancelExportTask for more information on using the CancelExportTask
3003// API call, and error handling.
3004//
3005// This method is useful when you want to inject custom logic or configuration
3006// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3007//
3008//
3009//    // Example sending a request using the CancelExportTaskRequest method.
3010//    req, resp := client.CancelExportTaskRequest(params)
3011//
3012//    err := req.Send()
3013//    if err == nil { // resp is now filled
3014//        fmt.Println(resp)
3015//    }
3016//
3017// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
3018func (c *EC2) CancelExportTaskRequest(input *CancelExportTaskInput) (req *request.Request, output *CancelExportTaskOutput) {
3019	op := &request.Operation{
3020		Name:       opCancelExportTask,
3021		HTTPMethod: "POST",
3022		HTTPPath:   "/",
3023	}
3024
3025	if input == nil {
3026		input = &CancelExportTaskInput{}
3027	}
3028
3029	output = &CancelExportTaskOutput{}
3030	req = c.newRequest(op, input, output)
3031	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3032	return
3033}
3034
3035// CancelExportTask API operation for Amazon Elastic Compute Cloud.
3036//
3037// Cancels an active export task. The request removes all artifacts of the export,
3038// including any partially-created Amazon S3 objects. If the export task is
3039// complete or is in the process of transferring the final disk image, the command
3040// fails and returns an error.
3041//
3042// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3043// with awserr.Error's Code and Message methods to get detailed information about
3044// the error.
3045//
3046// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3047// API operation CancelExportTask for usage and error information.
3048// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
3049func (c *EC2) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) {
3050	req, out := c.CancelExportTaskRequest(input)
3051	return out, req.Send()
3052}
3053
3054// CancelExportTaskWithContext is the same as CancelExportTask with the addition of
3055// the ability to pass a context and additional request options.
3056//
3057// See CancelExportTask for details on how to use this API operation.
3058//
3059// The context must be non-nil and will be used for request cancellation. If
3060// the context is nil a panic will occur. In the future the SDK may create
3061// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3062// for more information on using Contexts.
3063func (c *EC2) CancelExportTaskWithContext(ctx aws.Context, input *CancelExportTaskInput, opts ...request.Option) (*CancelExportTaskOutput, error) {
3064	req, out := c.CancelExportTaskRequest(input)
3065	req.SetContext(ctx)
3066	req.ApplyOptions(opts...)
3067	return out, req.Send()
3068}
3069
3070const opCancelImportTask = "CancelImportTask"
3071
3072// CancelImportTaskRequest generates a "aws/request.Request" representing the
3073// client's request for the CancelImportTask operation. The "output" return
3074// value will be populated with the request's response once the request completes
3075// successfully.
3076//
3077// Use "Send" method on the returned Request to send the API call to the service.
3078// the "output" return value is not valid until after Send returns without error.
3079//
3080// See CancelImportTask for more information on using the CancelImportTask
3081// API call, and error handling.
3082//
3083// This method is useful when you want to inject custom logic or configuration
3084// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3085//
3086//
3087//    // Example sending a request using the CancelImportTaskRequest method.
3088//    req, resp := client.CancelImportTaskRequest(params)
3089//
3090//    err := req.Send()
3091//    if err == nil { // resp is now filled
3092//        fmt.Println(resp)
3093//    }
3094//
3095// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
3096func (c *EC2) CancelImportTaskRequest(input *CancelImportTaskInput) (req *request.Request, output *CancelImportTaskOutput) {
3097	op := &request.Operation{
3098		Name:       opCancelImportTask,
3099		HTTPMethod: "POST",
3100		HTTPPath:   "/",
3101	}
3102
3103	if input == nil {
3104		input = &CancelImportTaskInput{}
3105	}
3106
3107	output = &CancelImportTaskOutput{}
3108	req = c.newRequest(op, input, output)
3109	return
3110}
3111
3112// CancelImportTask API operation for Amazon Elastic Compute Cloud.
3113//
3114// Cancels an in-process import virtual machine or import snapshot task.
3115//
3116// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3117// with awserr.Error's Code and Message methods to get detailed information about
3118// the error.
3119//
3120// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3121// API operation CancelImportTask for usage and error information.
3122// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
3123func (c *EC2) CancelImportTask(input *CancelImportTaskInput) (*CancelImportTaskOutput, error) {
3124	req, out := c.CancelImportTaskRequest(input)
3125	return out, req.Send()
3126}
3127
3128// CancelImportTaskWithContext is the same as CancelImportTask with the addition of
3129// the ability to pass a context and additional request options.
3130//
3131// See CancelImportTask for details on how to use this API operation.
3132//
3133// The context must be non-nil and will be used for request cancellation. If
3134// the context is nil a panic will occur. In the future the SDK may create
3135// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3136// for more information on using Contexts.
3137func (c *EC2) CancelImportTaskWithContext(ctx aws.Context, input *CancelImportTaskInput, opts ...request.Option) (*CancelImportTaskOutput, error) {
3138	req, out := c.CancelImportTaskRequest(input)
3139	req.SetContext(ctx)
3140	req.ApplyOptions(opts...)
3141	return out, req.Send()
3142}
3143
3144const opCancelReservedInstancesListing = "CancelReservedInstancesListing"
3145
3146// CancelReservedInstancesListingRequest generates a "aws/request.Request" representing the
3147// client's request for the CancelReservedInstancesListing operation. The "output" return
3148// value will be populated with the request's response once the request completes
3149// successfully.
3150//
3151// Use "Send" method on the returned Request to send the API call to the service.
3152// the "output" return value is not valid until after Send returns without error.
3153//
3154// See CancelReservedInstancesListing for more information on using the CancelReservedInstancesListing
3155// API call, and error handling.
3156//
3157// This method is useful when you want to inject custom logic or configuration
3158// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3159//
3160//
3161//    // Example sending a request using the CancelReservedInstancesListingRequest method.
3162//    req, resp := client.CancelReservedInstancesListingRequest(params)
3163//
3164//    err := req.Send()
3165//    if err == nil { // resp is now filled
3166//        fmt.Println(resp)
3167//    }
3168//
3169// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
3170func (c *EC2) CancelReservedInstancesListingRequest(input *CancelReservedInstancesListingInput) (req *request.Request, output *CancelReservedInstancesListingOutput) {
3171	op := &request.Operation{
3172		Name:       opCancelReservedInstancesListing,
3173		HTTPMethod: "POST",
3174		HTTPPath:   "/",
3175	}
3176
3177	if input == nil {
3178		input = &CancelReservedInstancesListingInput{}
3179	}
3180
3181	output = &CancelReservedInstancesListingOutput{}
3182	req = c.newRequest(op, input, output)
3183	return
3184}
3185
3186// CancelReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
3187//
3188// Cancels the specified Reserved Instance listing in the Reserved Instance
3189// Marketplace.
3190//
3191// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
3192// in the Amazon EC2 User Guide.
3193//
3194// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3195// with awserr.Error's Code and Message methods to get detailed information about
3196// the error.
3197//
3198// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3199// API operation CancelReservedInstancesListing for usage and error information.
3200// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
3201func (c *EC2) CancelReservedInstancesListing(input *CancelReservedInstancesListingInput) (*CancelReservedInstancesListingOutput, error) {
3202	req, out := c.CancelReservedInstancesListingRequest(input)
3203	return out, req.Send()
3204}
3205
3206// CancelReservedInstancesListingWithContext is the same as CancelReservedInstancesListing with the addition of
3207// the ability to pass a context and additional request options.
3208//
3209// See CancelReservedInstancesListing for details on how to use this API operation.
3210//
3211// The context must be non-nil and will be used for request cancellation. If
3212// the context is nil a panic will occur. In the future the SDK may create
3213// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3214// for more information on using Contexts.
3215func (c *EC2) CancelReservedInstancesListingWithContext(ctx aws.Context, input *CancelReservedInstancesListingInput, opts ...request.Option) (*CancelReservedInstancesListingOutput, error) {
3216	req, out := c.CancelReservedInstancesListingRequest(input)
3217	req.SetContext(ctx)
3218	req.ApplyOptions(opts...)
3219	return out, req.Send()
3220}
3221
3222const opCancelSpotFleetRequests = "CancelSpotFleetRequests"
3223
3224// CancelSpotFleetRequestsRequest generates a "aws/request.Request" representing the
3225// client's request for the CancelSpotFleetRequests operation. The "output" return
3226// value will be populated with the request's response once the request completes
3227// successfully.
3228//
3229// Use "Send" method on the returned Request to send the API call to the service.
3230// the "output" return value is not valid until after Send returns without error.
3231//
3232// See CancelSpotFleetRequests for more information on using the CancelSpotFleetRequests
3233// API call, and error handling.
3234//
3235// This method is useful when you want to inject custom logic or configuration
3236// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3237//
3238//
3239//    // Example sending a request using the CancelSpotFleetRequestsRequest method.
3240//    req, resp := client.CancelSpotFleetRequestsRequest(params)
3241//
3242//    err := req.Send()
3243//    if err == nil { // resp is now filled
3244//        fmt.Println(resp)
3245//    }
3246//
3247// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
3248func (c *EC2) CancelSpotFleetRequestsRequest(input *CancelSpotFleetRequestsInput) (req *request.Request, output *CancelSpotFleetRequestsOutput) {
3249	op := &request.Operation{
3250		Name:       opCancelSpotFleetRequests,
3251		HTTPMethod: "POST",
3252		HTTPPath:   "/",
3253	}
3254
3255	if input == nil {
3256		input = &CancelSpotFleetRequestsInput{}
3257	}
3258
3259	output = &CancelSpotFleetRequestsOutput{}
3260	req = c.newRequest(op, input, output)
3261	return
3262}
3263
3264// CancelSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
3265//
3266// Cancels the specified Spot Fleet requests.
3267//
3268// After you cancel a Spot Fleet request, the Spot Fleet launches no new Spot
3269// Instances. You must specify whether the Spot Fleet should also terminate
3270// its Spot Instances. If you terminate the instances, the Spot Fleet request
3271// enters the cancelled_terminating state. Otherwise, the Spot Fleet request
3272// enters the cancelled_running state and the instances continue to run until
3273// they are interrupted or you terminate them manually.
3274//
3275// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3276// with awserr.Error's Code and Message methods to get detailed information about
3277// the error.
3278//
3279// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3280// API operation CancelSpotFleetRequests for usage and error information.
3281// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
3282func (c *EC2) CancelSpotFleetRequests(input *CancelSpotFleetRequestsInput) (*CancelSpotFleetRequestsOutput, error) {
3283	req, out := c.CancelSpotFleetRequestsRequest(input)
3284	return out, req.Send()
3285}
3286
3287// CancelSpotFleetRequestsWithContext is the same as CancelSpotFleetRequests with the addition of
3288// the ability to pass a context and additional request options.
3289//
3290// See CancelSpotFleetRequests for details on how to use this API operation.
3291//
3292// The context must be non-nil and will be used for request cancellation. If
3293// the context is nil a panic will occur. In the future the SDK may create
3294// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3295// for more information on using Contexts.
3296func (c *EC2) CancelSpotFleetRequestsWithContext(ctx aws.Context, input *CancelSpotFleetRequestsInput, opts ...request.Option) (*CancelSpotFleetRequestsOutput, error) {
3297	req, out := c.CancelSpotFleetRequestsRequest(input)
3298	req.SetContext(ctx)
3299	req.ApplyOptions(opts...)
3300	return out, req.Send()
3301}
3302
3303const opCancelSpotInstanceRequests = "CancelSpotInstanceRequests"
3304
3305// CancelSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
3306// client's request for the CancelSpotInstanceRequests operation. The "output" return
3307// value will be populated with the request's response once the request completes
3308// successfully.
3309//
3310// Use "Send" method on the returned Request to send the API call to the service.
3311// the "output" return value is not valid until after Send returns without error.
3312//
3313// See CancelSpotInstanceRequests for more information on using the CancelSpotInstanceRequests
3314// API call, and error handling.
3315//
3316// This method is useful when you want to inject custom logic or configuration
3317// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3318//
3319//
3320//    // Example sending a request using the CancelSpotInstanceRequestsRequest method.
3321//    req, resp := client.CancelSpotInstanceRequestsRequest(params)
3322//
3323//    err := req.Send()
3324//    if err == nil { // resp is now filled
3325//        fmt.Println(resp)
3326//    }
3327//
3328// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
3329func (c *EC2) CancelSpotInstanceRequestsRequest(input *CancelSpotInstanceRequestsInput) (req *request.Request, output *CancelSpotInstanceRequestsOutput) {
3330	op := &request.Operation{
3331		Name:       opCancelSpotInstanceRequests,
3332		HTTPMethod: "POST",
3333		HTTPPath:   "/",
3334	}
3335
3336	if input == nil {
3337		input = &CancelSpotInstanceRequestsInput{}
3338	}
3339
3340	output = &CancelSpotInstanceRequestsOutput{}
3341	req = c.newRequest(op, input, output)
3342	return
3343}
3344
3345// CancelSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
3346//
3347// Cancels one or more Spot Instance requests.
3348//
3349// Canceling a Spot Instance request does not terminate running Spot Instances
3350// associated with the request.
3351//
3352// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3353// with awserr.Error's Code and Message methods to get detailed information about
3354// the error.
3355//
3356// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3357// API operation CancelSpotInstanceRequests for usage and error information.
3358// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
3359func (c *EC2) CancelSpotInstanceRequests(input *CancelSpotInstanceRequestsInput) (*CancelSpotInstanceRequestsOutput, error) {
3360	req, out := c.CancelSpotInstanceRequestsRequest(input)
3361	return out, req.Send()
3362}
3363
3364// CancelSpotInstanceRequestsWithContext is the same as CancelSpotInstanceRequests with the addition of
3365// the ability to pass a context and additional request options.
3366//
3367// See CancelSpotInstanceRequests for details on how to use this API operation.
3368//
3369// The context must be non-nil and will be used for request cancellation. If
3370// the context is nil a panic will occur. In the future the SDK may create
3371// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3372// for more information on using Contexts.
3373func (c *EC2) CancelSpotInstanceRequestsWithContext(ctx aws.Context, input *CancelSpotInstanceRequestsInput, opts ...request.Option) (*CancelSpotInstanceRequestsOutput, error) {
3374	req, out := c.CancelSpotInstanceRequestsRequest(input)
3375	req.SetContext(ctx)
3376	req.ApplyOptions(opts...)
3377	return out, req.Send()
3378}
3379
3380const opConfirmProductInstance = "ConfirmProductInstance"
3381
3382// ConfirmProductInstanceRequest generates a "aws/request.Request" representing the
3383// client's request for the ConfirmProductInstance operation. The "output" return
3384// value will be populated with the request's response once the request completes
3385// successfully.
3386//
3387// Use "Send" method on the returned Request to send the API call to the service.
3388// the "output" return value is not valid until after Send returns without error.
3389//
3390// See ConfirmProductInstance for more information on using the ConfirmProductInstance
3391// API call, and error handling.
3392//
3393// This method is useful when you want to inject custom logic or configuration
3394// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3395//
3396//
3397//    // Example sending a request using the ConfirmProductInstanceRequest method.
3398//    req, resp := client.ConfirmProductInstanceRequest(params)
3399//
3400//    err := req.Send()
3401//    if err == nil { // resp is now filled
3402//        fmt.Println(resp)
3403//    }
3404//
3405// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
3406func (c *EC2) ConfirmProductInstanceRequest(input *ConfirmProductInstanceInput) (req *request.Request, output *ConfirmProductInstanceOutput) {
3407	op := &request.Operation{
3408		Name:       opConfirmProductInstance,
3409		HTTPMethod: "POST",
3410		HTTPPath:   "/",
3411	}
3412
3413	if input == nil {
3414		input = &ConfirmProductInstanceInput{}
3415	}
3416
3417	output = &ConfirmProductInstanceOutput{}
3418	req = c.newRequest(op, input, output)
3419	return
3420}
3421
3422// ConfirmProductInstance API operation for Amazon Elastic Compute Cloud.
3423//
3424// Determines whether a product code is associated with an instance. This action
3425// can only be used by the owner of the product code. It is useful when a product
3426// code owner must verify whether another user's instance is eligible for support.
3427//
3428// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3429// with awserr.Error's Code and Message methods to get detailed information about
3430// the error.
3431//
3432// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3433// API operation ConfirmProductInstance for usage and error information.
3434// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
3435func (c *EC2) ConfirmProductInstance(input *ConfirmProductInstanceInput) (*ConfirmProductInstanceOutput, error) {
3436	req, out := c.ConfirmProductInstanceRequest(input)
3437	return out, req.Send()
3438}
3439
3440// ConfirmProductInstanceWithContext is the same as ConfirmProductInstance with the addition of
3441// the ability to pass a context and additional request options.
3442//
3443// See ConfirmProductInstance for details on how to use this API operation.
3444//
3445// The context must be non-nil and will be used for request cancellation. If
3446// the context is nil a panic will occur. In the future the SDK may create
3447// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3448// for more information on using Contexts.
3449func (c *EC2) ConfirmProductInstanceWithContext(ctx aws.Context, input *ConfirmProductInstanceInput, opts ...request.Option) (*ConfirmProductInstanceOutput, error) {
3450	req, out := c.ConfirmProductInstanceRequest(input)
3451	req.SetContext(ctx)
3452	req.ApplyOptions(opts...)
3453	return out, req.Send()
3454}
3455
3456const opCopyFpgaImage = "CopyFpgaImage"
3457
3458// CopyFpgaImageRequest generates a "aws/request.Request" representing the
3459// client's request for the CopyFpgaImage operation. The "output" return
3460// value will be populated with the request's response once the request completes
3461// successfully.
3462//
3463// Use "Send" method on the returned Request to send the API call to the service.
3464// the "output" return value is not valid until after Send returns without error.
3465//
3466// See CopyFpgaImage for more information on using the CopyFpgaImage
3467// API call, and error handling.
3468//
3469// This method is useful when you want to inject custom logic or configuration
3470// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3471//
3472//
3473//    // Example sending a request using the CopyFpgaImageRequest method.
3474//    req, resp := client.CopyFpgaImageRequest(params)
3475//
3476//    err := req.Send()
3477//    if err == nil { // resp is now filled
3478//        fmt.Println(resp)
3479//    }
3480//
3481// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage
3482func (c *EC2) CopyFpgaImageRequest(input *CopyFpgaImageInput) (req *request.Request, output *CopyFpgaImageOutput) {
3483	op := &request.Operation{
3484		Name:       opCopyFpgaImage,
3485		HTTPMethod: "POST",
3486		HTTPPath:   "/",
3487	}
3488
3489	if input == nil {
3490		input = &CopyFpgaImageInput{}
3491	}
3492
3493	output = &CopyFpgaImageOutput{}
3494	req = c.newRequest(op, input, output)
3495	return
3496}
3497
3498// CopyFpgaImage API operation for Amazon Elastic Compute Cloud.
3499//
3500// Copies the specified Amazon FPGA Image (AFI) to the current Region.
3501//
3502// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3503// with awserr.Error's Code and Message methods to get detailed information about
3504// the error.
3505//
3506// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3507// API operation CopyFpgaImage for usage and error information.
3508// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage
3509func (c *EC2) CopyFpgaImage(input *CopyFpgaImageInput) (*CopyFpgaImageOutput, error) {
3510	req, out := c.CopyFpgaImageRequest(input)
3511	return out, req.Send()
3512}
3513
3514// CopyFpgaImageWithContext is the same as CopyFpgaImage with the addition of
3515// the ability to pass a context and additional request options.
3516//
3517// See CopyFpgaImage for details on how to use this API operation.
3518//
3519// The context must be non-nil and will be used for request cancellation. If
3520// the context is nil a panic will occur. In the future the SDK may create
3521// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3522// for more information on using Contexts.
3523func (c *EC2) CopyFpgaImageWithContext(ctx aws.Context, input *CopyFpgaImageInput, opts ...request.Option) (*CopyFpgaImageOutput, error) {
3524	req, out := c.CopyFpgaImageRequest(input)
3525	req.SetContext(ctx)
3526	req.ApplyOptions(opts...)
3527	return out, req.Send()
3528}
3529
3530const opCopyImage = "CopyImage"
3531
3532// CopyImageRequest generates a "aws/request.Request" representing the
3533// client's request for the CopyImage operation. The "output" return
3534// value will be populated with the request's response once the request completes
3535// successfully.
3536//
3537// Use "Send" method on the returned Request to send the API call to the service.
3538// the "output" return value is not valid until after Send returns without error.
3539//
3540// See CopyImage for more information on using the CopyImage
3541// API call, and error handling.
3542//
3543// This method is useful when you want to inject custom logic or configuration
3544// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3545//
3546//
3547//    // Example sending a request using the CopyImageRequest method.
3548//    req, resp := client.CopyImageRequest(params)
3549//
3550//    err := req.Send()
3551//    if err == nil { // resp is now filled
3552//        fmt.Println(resp)
3553//    }
3554//
3555// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
3556func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *request.Request, output *CopyImageOutput) {
3557	op := &request.Operation{
3558		Name:       opCopyImage,
3559		HTTPMethod: "POST",
3560		HTTPPath:   "/",
3561	}
3562
3563	if input == nil {
3564		input = &CopyImageInput{}
3565	}
3566
3567	output = &CopyImageOutput{}
3568	req = c.newRequest(op, input, output)
3569	return
3570}
3571
3572// CopyImage API operation for Amazon Elastic Compute Cloud.
3573//
3574// Initiates the copy of an AMI. You can copy an AMI from one Region to another,
3575// or from a Region to an AWS Outpost. You can't copy an AMI from an Outpost
3576// to a Region, from one Outpost to another, or within the same Outpost. To
3577// copy an AMI to another partition, see CreateStoreImageTask (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateStoreImageTask.html).
3578//
3579// To copy an AMI from one Region to another, specify the source Region using
3580// the SourceRegion parameter, and specify the destination Region using its
3581// endpoint. Copies of encrypted backing snapshots for the AMI are encrypted.
3582// Copies of unencrypted backing snapshots remain unencrypted, unless you set
3583// Encrypted during the copy operation. You cannot create an unencrypted copy
3584// of an encrypted backing snapshot.
3585//
3586// To copy an AMI from a Region to an Outpost, specify the source Region using
3587// the SourceRegion parameter, and specify the ARN of the destination Outpost
3588// using DestinationOutpostArn. Backing snapshots copied to an Outpost are encrypted
3589// by default using the default encryption key for the Region, or a different
3590// key that you specify in the request using KmsKeyId. Outposts do not support
3591// unencrypted snapshots. For more information, Amazon EBS local snapshots on
3592// Outposts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#ami)
3593// in the Amazon Elastic Compute Cloud User Guide.
3594//
3595// For more information about the prerequisites and limits when copying an AMI,
3596// see Copying an AMI (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html)
3597// in the Amazon Elastic Compute Cloud User Guide.
3598//
3599// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3600// with awserr.Error's Code and Message methods to get detailed information about
3601// the error.
3602//
3603// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3604// API operation CopyImage for usage and error information.
3605// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
3606func (c *EC2) CopyImage(input *CopyImageInput) (*CopyImageOutput, error) {
3607	req, out := c.CopyImageRequest(input)
3608	return out, req.Send()
3609}
3610
3611// CopyImageWithContext is the same as CopyImage with the addition of
3612// the ability to pass a context and additional request options.
3613//
3614// See CopyImage for details on how to use this API operation.
3615//
3616// The context must be non-nil and will be used for request cancellation. If
3617// the context is nil a panic will occur. In the future the SDK may create
3618// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3619// for more information on using Contexts.
3620func (c *EC2) CopyImageWithContext(ctx aws.Context, input *CopyImageInput, opts ...request.Option) (*CopyImageOutput, error) {
3621	req, out := c.CopyImageRequest(input)
3622	req.SetContext(ctx)
3623	req.ApplyOptions(opts...)
3624	return out, req.Send()
3625}
3626
3627const opCopySnapshot = "CopySnapshot"
3628
3629// CopySnapshotRequest generates a "aws/request.Request" representing the
3630// client's request for the CopySnapshot operation. The "output" return
3631// value will be populated with the request's response once the request completes
3632// successfully.
3633//
3634// Use "Send" method on the returned Request to send the API call to the service.
3635// the "output" return value is not valid until after Send returns without error.
3636//
3637// See CopySnapshot for more information on using the CopySnapshot
3638// API call, and error handling.
3639//
3640// This method is useful when you want to inject custom logic or configuration
3641// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3642//
3643//
3644//    // Example sending a request using the CopySnapshotRequest method.
3645//    req, resp := client.CopySnapshotRequest(params)
3646//
3647//    err := req.Send()
3648//    if err == nil { // resp is now filled
3649//        fmt.Println(resp)
3650//    }
3651//
3652// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
3653func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) {
3654	op := &request.Operation{
3655		Name:       opCopySnapshot,
3656		HTTPMethod: "POST",
3657		HTTPPath:   "/",
3658	}
3659
3660	if input == nil {
3661		input = &CopySnapshotInput{}
3662	}
3663
3664	output = &CopySnapshotOutput{}
3665	req = c.newRequest(op, input, output)
3666	return
3667}
3668
3669// CopySnapshot API operation for Amazon Elastic Compute Cloud.
3670//
3671// Copies a point-in-time snapshot of an EBS volume and stores it in Amazon
3672// S3. You can copy a snapshot within the same Region, from one Region to another,
3673// or from a Region to an Outpost. You can't copy a snapshot from an Outpost
3674// to a Region, from one Outpost to another, or within the same Outpost.
3675//
3676// You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs).
3677//
3678// When copying snapshots to a Region, copies of encrypted EBS snapshots remain
3679// encrypted. Copies of unencrypted snapshots remain unencrypted, unless you
3680// enable encryption for the snapshot copy operation. By default, encrypted
3681// snapshot copies use the default Key Management Service (KMS) KMS key; however,
3682// you can specify a different KMS key. To copy an encrypted snapshot that has
3683// been shared from another account, you must have permissions for the KMS key
3684// used to encrypt the snapshot.
3685//
3686// Snapshots copied to an Outpost are encrypted by default using the default
3687// encryption key for the Region, or a different key that you specify in the
3688// request using KmsKeyId. Outposts do not support unencrypted snapshots. For
3689// more information, Amazon EBS local snapshots on Outposts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#ami)
3690// in the Amazon Elastic Compute Cloud User Guide.
3691//
3692// Snapshots created by copying another snapshot have an arbitrary volume ID
3693// that should not be used for any purpose.
3694//
3695// For more information, see Copy an Amazon EBS snapshot (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html)
3696// in the Amazon Elastic Compute Cloud User Guide.
3697//
3698// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3699// with awserr.Error's Code and Message methods to get detailed information about
3700// the error.
3701//
3702// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3703// API operation CopySnapshot for usage and error information.
3704// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
3705func (c *EC2) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
3706	req, out := c.CopySnapshotRequest(input)
3707	return out, req.Send()
3708}
3709
3710// CopySnapshotWithContext is the same as CopySnapshot with the addition of
3711// the ability to pass a context and additional request options.
3712//
3713// See CopySnapshot for details on how to use this API operation.
3714//
3715// The context must be non-nil and will be used for request cancellation. If
3716// the context is nil a panic will occur. In the future the SDK may create
3717// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3718// for more information on using Contexts.
3719func (c *EC2) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) {
3720	req, out := c.CopySnapshotRequest(input)
3721	req.SetContext(ctx)
3722	req.ApplyOptions(opts...)
3723	return out, req.Send()
3724}
3725
3726const opCreateCapacityReservation = "CreateCapacityReservation"
3727
3728// CreateCapacityReservationRequest generates a "aws/request.Request" representing the
3729// client's request for the CreateCapacityReservation operation. The "output" return
3730// value will be populated with the request's response once the request completes
3731// successfully.
3732//
3733// Use "Send" method on the returned Request to send the API call to the service.
3734// the "output" return value is not valid until after Send returns without error.
3735//
3736// See CreateCapacityReservation for more information on using the CreateCapacityReservation
3737// API call, and error handling.
3738//
3739// This method is useful when you want to inject custom logic or configuration
3740// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3741//
3742//
3743//    // Example sending a request using the CreateCapacityReservationRequest method.
3744//    req, resp := client.CreateCapacityReservationRequest(params)
3745//
3746//    err := req.Send()
3747//    if err == nil { // resp is now filled
3748//        fmt.Println(resp)
3749//    }
3750//
3751// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCapacityReservation
3752func (c *EC2) CreateCapacityReservationRequest(input *CreateCapacityReservationInput) (req *request.Request, output *CreateCapacityReservationOutput) {
3753	op := &request.Operation{
3754		Name:       opCreateCapacityReservation,
3755		HTTPMethod: "POST",
3756		HTTPPath:   "/",
3757	}
3758
3759	if input == nil {
3760		input = &CreateCapacityReservationInput{}
3761	}
3762
3763	output = &CreateCapacityReservationOutput{}
3764	req = c.newRequest(op, input, output)
3765	return
3766}
3767
3768// CreateCapacityReservation API operation for Amazon Elastic Compute Cloud.
3769//
3770// Creates a new Capacity Reservation with the specified attributes.
3771//
3772// Capacity Reservations enable you to reserve capacity for your Amazon EC2
3773// instances in a specific Availability Zone for any duration. This gives you
3774// the flexibility to selectively add capacity reservations and still get the
3775// Regional RI discounts for that usage. By creating Capacity Reservations,
3776// you ensure that you always have access to Amazon EC2 capacity when you need
3777// it, for as long as you need it. For more information, see Capacity Reservations
3778// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html)
3779// in the Amazon EC2 User Guide.
3780//
3781// Your request to create a Capacity Reservation could fail if Amazon EC2 does
3782// not have sufficient capacity to fulfill the request. If your request fails
3783// due to Amazon EC2 capacity constraints, either try again at a later time,
3784// try in a different Availability Zone, or request a smaller capacity reservation.
3785// If your application is flexible across instance types and sizes, try to create
3786// a Capacity Reservation with different instance attributes.
3787//
3788// Your request could also fail if the requested quantity exceeds your On-Demand
3789// Instance limit for the selected instance type. If your request fails due
3790// to limit constraints, increase your On-Demand Instance limit for the required
3791// instance type and try again. For more information about increasing your instance
3792// limits, see Amazon EC2 Service Quotas (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html)
3793// in the Amazon EC2 User Guide.
3794//
3795// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3796// with awserr.Error's Code and Message methods to get detailed information about
3797// the error.
3798//
3799// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3800// API operation CreateCapacityReservation for usage and error information.
3801// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCapacityReservation
3802func (c *EC2) CreateCapacityReservation(input *CreateCapacityReservationInput) (*CreateCapacityReservationOutput, error) {
3803	req, out := c.CreateCapacityReservationRequest(input)
3804	return out, req.Send()
3805}
3806
3807// CreateCapacityReservationWithContext is the same as CreateCapacityReservation with the addition of
3808// the ability to pass a context and additional request options.
3809//
3810// See CreateCapacityReservation for details on how to use this API operation.
3811//
3812// The context must be non-nil and will be used for request cancellation. If
3813// the context is nil a panic will occur. In the future the SDK may create
3814// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3815// for more information on using Contexts.
3816func (c *EC2) CreateCapacityReservationWithContext(ctx aws.Context, input *CreateCapacityReservationInput, opts ...request.Option) (*CreateCapacityReservationOutput, error) {
3817	req, out := c.CreateCapacityReservationRequest(input)
3818	req.SetContext(ctx)
3819	req.ApplyOptions(opts...)
3820	return out, req.Send()
3821}
3822
3823const opCreateCarrierGateway = "CreateCarrierGateway"
3824
3825// CreateCarrierGatewayRequest generates a "aws/request.Request" representing the
3826// client's request for the CreateCarrierGateway operation. The "output" return
3827// value will be populated with the request's response once the request completes
3828// successfully.
3829//
3830// Use "Send" method on the returned Request to send the API call to the service.
3831// the "output" return value is not valid until after Send returns without error.
3832//
3833// See CreateCarrierGateway for more information on using the CreateCarrierGateway
3834// API call, and error handling.
3835//
3836// This method is useful when you want to inject custom logic or configuration
3837// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3838//
3839//
3840//    // Example sending a request using the CreateCarrierGatewayRequest method.
3841//    req, resp := client.CreateCarrierGatewayRequest(params)
3842//
3843//    err := req.Send()
3844//    if err == nil { // resp is now filled
3845//        fmt.Println(resp)
3846//    }
3847//
3848// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCarrierGateway
3849func (c *EC2) CreateCarrierGatewayRequest(input *CreateCarrierGatewayInput) (req *request.Request, output *CreateCarrierGatewayOutput) {
3850	op := &request.Operation{
3851		Name:       opCreateCarrierGateway,
3852		HTTPMethod: "POST",
3853		HTTPPath:   "/",
3854	}
3855
3856	if input == nil {
3857		input = &CreateCarrierGatewayInput{}
3858	}
3859
3860	output = &CreateCarrierGatewayOutput{}
3861	req = c.newRequest(op, input, output)
3862	return
3863}
3864
3865// CreateCarrierGateway API operation for Amazon Elastic Compute Cloud.
3866//
3867// Creates a carrier gateway. For more information about carrier gateways, see
3868// Carrier gateways (https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#wavelength-carrier-gateway)
3869// in the Amazon Web Services Wavelength Developer Guide.
3870//
3871// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3872// with awserr.Error's Code and Message methods to get detailed information about
3873// the error.
3874//
3875// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3876// API operation CreateCarrierGateway for usage and error information.
3877// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCarrierGateway
3878func (c *EC2) CreateCarrierGateway(input *CreateCarrierGatewayInput) (*CreateCarrierGatewayOutput, error) {
3879	req, out := c.CreateCarrierGatewayRequest(input)
3880	return out, req.Send()
3881}
3882
3883// CreateCarrierGatewayWithContext is the same as CreateCarrierGateway with the addition of
3884// the ability to pass a context and additional request options.
3885//
3886// See CreateCarrierGateway for details on how to use this API operation.
3887//
3888// The context must be non-nil and will be used for request cancellation. If
3889// the context is nil a panic will occur. In the future the SDK may create
3890// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3891// for more information on using Contexts.
3892func (c *EC2) CreateCarrierGatewayWithContext(ctx aws.Context, input *CreateCarrierGatewayInput, opts ...request.Option) (*CreateCarrierGatewayOutput, error) {
3893	req, out := c.CreateCarrierGatewayRequest(input)
3894	req.SetContext(ctx)
3895	req.ApplyOptions(opts...)
3896	return out, req.Send()
3897}
3898
3899const opCreateClientVpnEndpoint = "CreateClientVpnEndpoint"
3900
3901// CreateClientVpnEndpointRequest generates a "aws/request.Request" representing the
3902// client's request for the CreateClientVpnEndpoint operation. The "output" return
3903// value will be populated with the request's response once the request completes
3904// successfully.
3905//
3906// Use "Send" method on the returned Request to send the API call to the service.
3907// the "output" return value is not valid until after Send returns without error.
3908//
3909// See CreateClientVpnEndpoint for more information on using the CreateClientVpnEndpoint
3910// API call, and error handling.
3911//
3912// This method is useful when you want to inject custom logic or configuration
3913// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3914//
3915//
3916//    // Example sending a request using the CreateClientVpnEndpointRequest method.
3917//    req, resp := client.CreateClientVpnEndpointRequest(params)
3918//
3919//    err := req.Send()
3920//    if err == nil { // resp is now filled
3921//        fmt.Println(resp)
3922//    }
3923//
3924// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnEndpoint
3925func (c *EC2) CreateClientVpnEndpointRequest(input *CreateClientVpnEndpointInput) (req *request.Request, output *CreateClientVpnEndpointOutput) {
3926	op := &request.Operation{
3927		Name:       opCreateClientVpnEndpoint,
3928		HTTPMethod: "POST",
3929		HTTPPath:   "/",
3930	}
3931
3932	if input == nil {
3933		input = &CreateClientVpnEndpointInput{}
3934	}
3935
3936	output = &CreateClientVpnEndpointOutput{}
3937	req = c.newRequest(op, input, output)
3938	return
3939}
3940
3941// CreateClientVpnEndpoint API operation for Amazon Elastic Compute Cloud.
3942//
3943// Creates a Client VPN endpoint. A Client VPN endpoint is the resource you
3944// create and configure to enable and manage client VPN sessions. It is the
3945// destination endpoint at which all client VPN sessions are terminated.
3946//
3947// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3948// with awserr.Error's Code and Message methods to get detailed information about
3949// the error.
3950//
3951// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3952// API operation CreateClientVpnEndpoint for usage and error information.
3953// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnEndpoint
3954func (c *EC2) CreateClientVpnEndpoint(input *CreateClientVpnEndpointInput) (*CreateClientVpnEndpointOutput, error) {
3955	req, out := c.CreateClientVpnEndpointRequest(input)
3956	return out, req.Send()
3957}
3958
3959// CreateClientVpnEndpointWithContext is the same as CreateClientVpnEndpoint with the addition of
3960// the ability to pass a context and additional request options.
3961//
3962// See CreateClientVpnEndpoint for details on how to use this API operation.
3963//
3964// The context must be non-nil and will be used for request cancellation. If
3965// the context is nil a panic will occur. In the future the SDK may create
3966// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3967// for more information on using Contexts.
3968func (c *EC2) CreateClientVpnEndpointWithContext(ctx aws.Context, input *CreateClientVpnEndpointInput, opts ...request.Option) (*CreateClientVpnEndpointOutput, error) {
3969	req, out := c.CreateClientVpnEndpointRequest(input)
3970	req.SetContext(ctx)
3971	req.ApplyOptions(opts...)
3972	return out, req.Send()
3973}
3974
3975const opCreateClientVpnRoute = "CreateClientVpnRoute"
3976
3977// CreateClientVpnRouteRequest generates a "aws/request.Request" representing the
3978// client's request for the CreateClientVpnRoute operation. The "output" return
3979// value will be populated with the request's response once the request completes
3980// successfully.
3981//
3982// Use "Send" method on the returned Request to send the API call to the service.
3983// the "output" return value is not valid until after Send returns without error.
3984//
3985// See CreateClientVpnRoute for more information on using the CreateClientVpnRoute
3986// API call, and error handling.
3987//
3988// This method is useful when you want to inject custom logic or configuration
3989// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3990//
3991//
3992//    // Example sending a request using the CreateClientVpnRouteRequest method.
3993//    req, resp := client.CreateClientVpnRouteRequest(params)
3994//
3995//    err := req.Send()
3996//    if err == nil { // resp is now filled
3997//        fmt.Println(resp)
3998//    }
3999//
4000// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnRoute
4001func (c *EC2) CreateClientVpnRouteRequest(input *CreateClientVpnRouteInput) (req *request.Request, output *CreateClientVpnRouteOutput) {
4002	op := &request.Operation{
4003		Name:       opCreateClientVpnRoute,
4004		HTTPMethod: "POST",
4005		HTTPPath:   "/",
4006	}
4007
4008	if input == nil {
4009		input = &CreateClientVpnRouteInput{}
4010	}
4011
4012	output = &CreateClientVpnRouteOutput{}
4013	req = c.newRequest(op, input, output)
4014	return
4015}
4016
4017// CreateClientVpnRoute API operation for Amazon Elastic Compute Cloud.
4018//
4019// Adds a route to a network to a Client VPN endpoint. Each Client VPN endpoint
4020// has a route table that describes the available destination network routes.
4021// Each route in the route table specifies the path for traffic to specific
4022// resources or networks.
4023//
4024// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4025// with awserr.Error's Code and Message methods to get detailed information about
4026// the error.
4027//
4028// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4029// API operation CreateClientVpnRoute for usage and error information.
4030// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnRoute
4031func (c *EC2) CreateClientVpnRoute(input *CreateClientVpnRouteInput) (*CreateClientVpnRouteOutput, error) {
4032	req, out := c.CreateClientVpnRouteRequest(input)
4033	return out, req.Send()
4034}
4035
4036// CreateClientVpnRouteWithContext is the same as CreateClientVpnRoute with the addition of
4037// the ability to pass a context and additional request options.
4038//
4039// See CreateClientVpnRoute for details on how to use this API operation.
4040//
4041// The context must be non-nil and will be used for request cancellation. If
4042// the context is nil a panic will occur. In the future the SDK may create
4043// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4044// for more information on using Contexts.
4045func (c *EC2) CreateClientVpnRouteWithContext(ctx aws.Context, input *CreateClientVpnRouteInput, opts ...request.Option) (*CreateClientVpnRouteOutput, error) {
4046	req, out := c.CreateClientVpnRouteRequest(input)
4047	req.SetContext(ctx)
4048	req.ApplyOptions(opts...)
4049	return out, req.Send()
4050}
4051
4052const opCreateCustomerGateway = "CreateCustomerGateway"
4053
4054// CreateCustomerGatewayRequest generates a "aws/request.Request" representing the
4055// client's request for the CreateCustomerGateway operation. The "output" return
4056// value will be populated with the request's response once the request completes
4057// successfully.
4058//
4059// Use "Send" method on the returned Request to send the API call to the service.
4060// the "output" return value is not valid until after Send returns without error.
4061//
4062// See CreateCustomerGateway for more information on using the CreateCustomerGateway
4063// API call, and error handling.
4064//
4065// This method is useful when you want to inject custom logic or configuration
4066// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4067//
4068//
4069//    // Example sending a request using the CreateCustomerGatewayRequest method.
4070//    req, resp := client.CreateCustomerGatewayRequest(params)
4071//
4072//    err := req.Send()
4073//    if err == nil { // resp is now filled
4074//        fmt.Println(resp)
4075//    }
4076//
4077// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
4078func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (req *request.Request, output *CreateCustomerGatewayOutput) {
4079	op := &request.Operation{
4080		Name:       opCreateCustomerGateway,
4081		HTTPMethod: "POST",
4082		HTTPPath:   "/",
4083	}
4084
4085	if input == nil {
4086		input = &CreateCustomerGatewayInput{}
4087	}
4088
4089	output = &CreateCustomerGatewayOutput{}
4090	req = c.newRequest(op, input, output)
4091	return
4092}
4093
4094// CreateCustomerGateway API operation for Amazon Elastic Compute Cloud.
4095//
4096// Provides information to AWS about your VPN customer gateway device. The customer
4097// gateway is the appliance at your end of the VPN connection. (The device on
4098// the AWS side of the VPN connection is the virtual private gateway.) You must
4099// provide the internet-routable IP address of the customer gateway's external
4100// interface. The IP address must be static and can be behind a device performing
4101// network address translation (NAT).
4102//
4103// For devices that use Border Gateway Protocol (BGP), you can also provide
4104// the device's BGP Autonomous System Number (ASN). You can use an existing
4105// ASN assigned to your network. If you don't have an ASN already, you can use
4106// a private ASN (in the 64512 - 65534 range).
4107//
4108// Amazon EC2 supports all 4-byte ASN numbers in the range of 1 - 2147483647,
4109// with the exception of the following:
4110//
4111//    * 7224 - reserved in the us-east-1 Region
4112//
4113//    * 9059 - reserved in the eu-west-1 Region
4114//
4115//    * 17943 - reserved in the ap-southeast-1 Region
4116//
4117//    * 10124 - reserved in the ap-northeast-1 Region
4118//
4119// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
4120// in the AWS Site-to-Site VPN User Guide.
4121//
4122// To create more than one customer gateway with the same VPN type, IP address,
4123// and BGP ASN, specify a unique device name for each customer gateway. Identical
4124// requests return information about the existing customer gateway and do not
4125// create new customer gateways.
4126//
4127// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4128// with awserr.Error's Code and Message methods to get detailed information about
4129// the error.
4130//
4131// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4132// API operation CreateCustomerGateway for usage and error information.
4133// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
4134func (c *EC2) CreateCustomerGateway(input *CreateCustomerGatewayInput) (*CreateCustomerGatewayOutput, error) {
4135	req, out := c.CreateCustomerGatewayRequest(input)
4136	return out, req.Send()
4137}
4138
4139// CreateCustomerGatewayWithContext is the same as CreateCustomerGateway with the addition of
4140// the ability to pass a context and additional request options.
4141//
4142// See CreateCustomerGateway for details on how to use this API operation.
4143//
4144// The context must be non-nil and will be used for request cancellation. If
4145// the context is nil a panic will occur. In the future the SDK may create
4146// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4147// for more information on using Contexts.
4148func (c *EC2) CreateCustomerGatewayWithContext(ctx aws.Context, input *CreateCustomerGatewayInput, opts ...request.Option) (*CreateCustomerGatewayOutput, error) {
4149	req, out := c.CreateCustomerGatewayRequest(input)
4150	req.SetContext(ctx)
4151	req.ApplyOptions(opts...)
4152	return out, req.Send()
4153}
4154
4155const opCreateDefaultSubnet = "CreateDefaultSubnet"
4156
4157// CreateDefaultSubnetRequest generates a "aws/request.Request" representing the
4158// client's request for the CreateDefaultSubnet operation. The "output" return
4159// value will be populated with the request's response once the request completes
4160// successfully.
4161//
4162// Use "Send" method on the returned Request to send the API call to the service.
4163// the "output" return value is not valid until after Send returns without error.
4164//
4165// See CreateDefaultSubnet for more information on using the CreateDefaultSubnet
4166// API call, and error handling.
4167//
4168// This method is useful when you want to inject custom logic or configuration
4169// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4170//
4171//
4172//    // Example sending a request using the CreateDefaultSubnetRequest method.
4173//    req, resp := client.CreateDefaultSubnetRequest(params)
4174//
4175//    err := req.Send()
4176//    if err == nil { // resp is now filled
4177//        fmt.Println(resp)
4178//    }
4179//
4180// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnet
4181func (c *EC2) CreateDefaultSubnetRequest(input *CreateDefaultSubnetInput) (req *request.Request, output *CreateDefaultSubnetOutput) {
4182	op := &request.Operation{
4183		Name:       opCreateDefaultSubnet,
4184		HTTPMethod: "POST",
4185		HTTPPath:   "/",
4186	}
4187
4188	if input == nil {
4189		input = &CreateDefaultSubnetInput{}
4190	}
4191
4192	output = &CreateDefaultSubnetOutput{}
4193	req = c.newRequest(op, input, output)
4194	return
4195}
4196
4197// CreateDefaultSubnet API operation for Amazon Elastic Compute Cloud.
4198//
4199// Creates a default subnet with a size /20 IPv4 CIDR block in the specified
4200// Availability Zone in your default VPC. You can have only one default subnet
4201// per Availability Zone. For more information, see Creating a default subnet
4202// (https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html#create-default-subnet)
4203// in the Amazon Virtual Private Cloud User Guide.
4204//
4205// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4206// with awserr.Error's Code and Message methods to get detailed information about
4207// the error.
4208//
4209// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4210// API operation CreateDefaultSubnet for usage and error information.
4211// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnet
4212func (c *EC2) CreateDefaultSubnet(input *CreateDefaultSubnetInput) (*CreateDefaultSubnetOutput, error) {
4213	req, out := c.CreateDefaultSubnetRequest(input)
4214	return out, req.Send()
4215}
4216
4217// CreateDefaultSubnetWithContext is the same as CreateDefaultSubnet with the addition of
4218// the ability to pass a context and additional request options.
4219//
4220// See CreateDefaultSubnet for details on how to use this API operation.
4221//
4222// The context must be non-nil and will be used for request cancellation. If
4223// the context is nil a panic will occur. In the future the SDK may create
4224// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4225// for more information on using Contexts.
4226func (c *EC2) CreateDefaultSubnetWithContext(ctx aws.Context, input *CreateDefaultSubnetInput, opts ...request.Option) (*CreateDefaultSubnetOutput, error) {
4227	req, out := c.CreateDefaultSubnetRequest(input)
4228	req.SetContext(ctx)
4229	req.ApplyOptions(opts...)
4230	return out, req.Send()
4231}
4232
4233const opCreateDefaultVpc = "CreateDefaultVpc"
4234
4235// CreateDefaultVpcRequest generates a "aws/request.Request" representing the
4236// client's request for the CreateDefaultVpc operation. The "output" return
4237// value will be populated with the request's response once the request completes
4238// successfully.
4239//
4240// Use "Send" method on the returned Request to send the API call to the service.
4241// the "output" return value is not valid until after Send returns without error.
4242//
4243// See CreateDefaultVpc for more information on using the CreateDefaultVpc
4244// API call, and error handling.
4245//
4246// This method is useful when you want to inject custom logic or configuration
4247// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4248//
4249//
4250//    // Example sending a request using the CreateDefaultVpcRequest method.
4251//    req, resp := client.CreateDefaultVpcRequest(params)
4252//
4253//    err := req.Send()
4254//    if err == nil { // resp is now filled
4255//        fmt.Println(resp)
4256//    }
4257//
4258// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc
4259func (c *EC2) CreateDefaultVpcRequest(input *CreateDefaultVpcInput) (req *request.Request, output *CreateDefaultVpcOutput) {
4260	op := &request.Operation{
4261		Name:       opCreateDefaultVpc,
4262		HTTPMethod: "POST",
4263		HTTPPath:   "/",
4264	}
4265
4266	if input == nil {
4267		input = &CreateDefaultVpcInput{}
4268	}
4269
4270	output = &CreateDefaultVpcOutput{}
4271	req = c.newRequest(op, input, output)
4272	return
4273}
4274
4275// CreateDefaultVpc API operation for Amazon Elastic Compute Cloud.
4276//
4277// Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet
4278// in each Availability Zone. For more information about the components of a
4279// default VPC, see Default VPC and default subnets (https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html)
4280// in the Amazon Virtual Private Cloud User Guide. You cannot specify the components
4281// of the default VPC yourself.
4282//
4283// If you deleted your previous default VPC, you can create a default VPC. You
4284// cannot have more than one default VPC per Region.
4285//
4286// If your account supports EC2-Classic, you cannot use this action to create
4287// a default VPC in a Region that supports EC2-Classic. If you want a default
4288// VPC in a Region that supports EC2-Classic, see "I really want a default VPC
4289// for my existing EC2 account. Is that possible?" in the Default VPCs FAQ (http://aws.amazon.com/vpc/faqs/#Default_VPCs).
4290//
4291// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4292// with awserr.Error's Code and Message methods to get detailed information about
4293// the error.
4294//
4295// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4296// API operation CreateDefaultVpc for usage and error information.
4297// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc
4298func (c *EC2) CreateDefaultVpc(input *CreateDefaultVpcInput) (*CreateDefaultVpcOutput, error) {
4299	req, out := c.CreateDefaultVpcRequest(input)
4300	return out, req.Send()
4301}
4302
4303// CreateDefaultVpcWithContext is the same as CreateDefaultVpc with the addition of
4304// the ability to pass a context and additional request options.
4305//
4306// See CreateDefaultVpc for details on how to use this API operation.
4307//
4308// The context must be non-nil and will be used for request cancellation. If
4309// the context is nil a panic will occur. In the future the SDK may create
4310// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4311// for more information on using Contexts.
4312func (c *EC2) CreateDefaultVpcWithContext(ctx aws.Context, input *CreateDefaultVpcInput, opts ...request.Option) (*CreateDefaultVpcOutput, error) {
4313	req, out := c.CreateDefaultVpcRequest(input)
4314	req.SetContext(ctx)
4315	req.ApplyOptions(opts...)
4316	return out, req.Send()
4317}
4318
4319const opCreateDhcpOptions = "CreateDhcpOptions"
4320
4321// CreateDhcpOptionsRequest generates a "aws/request.Request" representing the
4322// client's request for the CreateDhcpOptions operation. The "output" return
4323// value will be populated with the request's response once the request completes
4324// successfully.
4325//
4326// Use "Send" method on the returned Request to send the API call to the service.
4327// the "output" return value is not valid until after Send returns without error.
4328//
4329// See CreateDhcpOptions for more information on using the CreateDhcpOptions
4330// API call, and error handling.
4331//
4332// This method is useful when you want to inject custom logic or configuration
4333// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4334//
4335//
4336//    // Example sending a request using the CreateDhcpOptionsRequest method.
4337//    req, resp := client.CreateDhcpOptionsRequest(params)
4338//
4339//    err := req.Send()
4340//    if err == nil { // resp is now filled
4341//        fmt.Println(resp)
4342//    }
4343//
4344// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
4345func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *request.Request, output *CreateDhcpOptionsOutput) {
4346	op := &request.Operation{
4347		Name:       opCreateDhcpOptions,
4348		HTTPMethod: "POST",
4349		HTTPPath:   "/",
4350	}
4351
4352	if input == nil {
4353		input = &CreateDhcpOptionsInput{}
4354	}
4355
4356	output = &CreateDhcpOptionsOutput{}
4357	req = c.newRequest(op, input, output)
4358	return
4359}
4360
4361// CreateDhcpOptions API operation for Amazon Elastic Compute Cloud.
4362//
4363// Creates a set of DHCP options for your VPC. After creating the set, you must
4364// associate it with the VPC, causing all existing and new instances that you
4365// launch in the VPC to use this set of DHCP options. The following are the
4366// individual DHCP options you can specify. For more information about the options,
4367// see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
4368//
4369//    * domain-name-servers - The IP addresses of up to four domain name servers,
4370//    or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS.
4371//    If specifying more than one domain name server, specify the IP addresses
4372//    in a single parameter, separated by commas. To have your instance receive
4373//    a custom DNS hostname as specified in domain-name, you must set domain-name-servers
4374//    to a custom DNS server.
4375//
4376//    * domain-name - If you're using AmazonProvidedDNS in us-east-1, specify
4377//    ec2.internal. If you're using AmazonProvidedDNS in another Region, specify
4378//    region.compute.internal (for example, ap-northeast-1.compute.internal).
4379//    Otherwise, specify a domain name (for example, ExampleCompany.com). This
4380//    value is used to complete unqualified DNS hostnames. Important: Some Linux
4381//    operating systems accept multiple domain names separated by spaces. However,
4382//    Windows and other Linux operating systems treat the value as a single
4383//    domain, which results in unexpected behavior. If your DHCP options set
4384//    is associated with a VPC that has instances with multiple operating systems,
4385//    specify only one domain name.
4386//
4387//    * ntp-servers - The IP addresses of up to four Network Time Protocol (NTP)
4388//    servers.
4389//
4390//    * netbios-name-servers - The IP addresses of up to four NetBIOS name servers.
4391//
4392//    * netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend
4393//    that you specify 2 (broadcast and multicast are not currently supported).
4394//    For more information about these node types, see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
4395//
4396// Your VPC automatically starts out with a set of DHCP options that includes
4397// only a DNS server that we provide (AmazonProvidedDNS). If you create a set
4398// of options, and if your VPC has an internet gateway, make sure to set the
4399// domain-name-servers option either to AmazonProvidedDNS or to a domain name
4400// server of your choice. For more information, see DHCP options sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)
4401// in the Amazon Virtual Private Cloud User Guide.
4402//
4403// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4404// with awserr.Error's Code and Message methods to get detailed information about
4405// the error.
4406//
4407// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4408// API operation CreateDhcpOptions for usage and error information.
4409// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
4410func (c *EC2) CreateDhcpOptions(input *CreateDhcpOptionsInput) (*CreateDhcpOptionsOutput, error) {
4411	req, out := c.CreateDhcpOptionsRequest(input)
4412	return out, req.Send()
4413}
4414
4415// CreateDhcpOptionsWithContext is the same as CreateDhcpOptions with the addition of
4416// the ability to pass a context and additional request options.
4417//
4418// See CreateDhcpOptions for details on how to use this API operation.
4419//
4420// The context must be non-nil and will be used for request cancellation. If
4421// the context is nil a panic will occur. In the future the SDK may create
4422// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4423// for more information on using Contexts.
4424func (c *EC2) CreateDhcpOptionsWithContext(ctx aws.Context, input *CreateDhcpOptionsInput, opts ...request.Option) (*CreateDhcpOptionsOutput, error) {
4425	req, out := c.CreateDhcpOptionsRequest(input)
4426	req.SetContext(ctx)
4427	req.ApplyOptions(opts...)
4428	return out, req.Send()
4429}
4430
4431const opCreateEgressOnlyInternetGateway = "CreateEgressOnlyInternetGateway"
4432
4433// CreateEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
4434// client's request for the CreateEgressOnlyInternetGateway operation. The "output" return
4435// value will be populated with the request's response once the request completes
4436// successfully.
4437//
4438// Use "Send" method on the returned Request to send the API call to the service.
4439// the "output" return value is not valid until after Send returns without error.
4440//
4441// See CreateEgressOnlyInternetGateway for more information on using the CreateEgressOnlyInternetGateway
4442// API call, and error handling.
4443//
4444// This method is useful when you want to inject custom logic or configuration
4445// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4446//
4447//
4448//    // Example sending a request using the CreateEgressOnlyInternetGatewayRequest method.
4449//    req, resp := client.CreateEgressOnlyInternetGatewayRequest(params)
4450//
4451//    err := req.Send()
4452//    if err == nil { // resp is now filled
4453//        fmt.Println(resp)
4454//    }
4455//
4456// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
4457func (c *EC2) CreateEgressOnlyInternetGatewayRequest(input *CreateEgressOnlyInternetGatewayInput) (req *request.Request, output *CreateEgressOnlyInternetGatewayOutput) {
4458	op := &request.Operation{
4459		Name:       opCreateEgressOnlyInternetGateway,
4460		HTTPMethod: "POST",
4461		HTTPPath:   "/",
4462	}
4463
4464	if input == nil {
4465		input = &CreateEgressOnlyInternetGatewayInput{}
4466	}
4467
4468	output = &CreateEgressOnlyInternetGatewayOutput{}
4469	req = c.newRequest(op, input, output)
4470	return
4471}
4472
4473// CreateEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
4474//
4475// [IPv6 only] Creates an egress-only internet gateway for your VPC. An egress-only
4476// internet gateway is used to enable outbound communication over IPv6 from
4477// instances in your VPC to the internet, and prevents hosts outside of your
4478// VPC from initiating an IPv6 connection with your instance.
4479//
4480// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4481// with awserr.Error's Code and Message methods to get detailed information about
4482// the error.
4483//
4484// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4485// API operation CreateEgressOnlyInternetGateway for usage and error information.
4486// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
4487func (c *EC2) CreateEgressOnlyInternetGateway(input *CreateEgressOnlyInternetGatewayInput) (*CreateEgressOnlyInternetGatewayOutput, error) {
4488	req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
4489	return out, req.Send()
4490}
4491
4492// CreateEgressOnlyInternetGatewayWithContext is the same as CreateEgressOnlyInternetGateway with the addition of
4493// the ability to pass a context and additional request options.
4494//
4495// See CreateEgressOnlyInternetGateway for details on how to use this API operation.
4496//
4497// The context must be non-nil and will be used for request cancellation. If
4498// the context is nil a panic will occur. In the future the SDK may create
4499// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4500// for more information on using Contexts.
4501func (c *EC2) CreateEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *CreateEgressOnlyInternetGatewayInput, opts ...request.Option) (*CreateEgressOnlyInternetGatewayOutput, error) {
4502	req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
4503	req.SetContext(ctx)
4504	req.ApplyOptions(opts...)
4505	return out, req.Send()
4506}
4507
4508const opCreateFleet = "CreateFleet"
4509
4510// CreateFleetRequest generates a "aws/request.Request" representing the
4511// client's request for the CreateFleet operation. The "output" return
4512// value will be populated with the request's response once the request completes
4513// successfully.
4514//
4515// Use "Send" method on the returned Request to send the API call to the service.
4516// the "output" return value is not valid until after Send returns without error.
4517//
4518// See CreateFleet for more information on using the CreateFleet
4519// API call, and error handling.
4520//
4521// This method is useful when you want to inject custom logic or configuration
4522// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4523//
4524//
4525//    // Example sending a request using the CreateFleetRequest method.
4526//    req, resp := client.CreateFleetRequest(params)
4527//
4528//    err := req.Send()
4529//    if err == nil { // resp is now filled
4530//        fmt.Println(resp)
4531//    }
4532//
4533// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFleet
4534func (c *EC2) CreateFleetRequest(input *CreateFleetInput) (req *request.Request, output *CreateFleetOutput) {
4535	op := &request.Operation{
4536		Name:       opCreateFleet,
4537		HTTPMethod: "POST",
4538		HTTPPath:   "/",
4539	}
4540
4541	if input == nil {
4542		input = &CreateFleetInput{}
4543	}
4544
4545	output = &CreateFleetOutput{}
4546	req = c.newRequest(op, input, output)
4547	return
4548}
4549
4550// CreateFleet API operation for Amazon Elastic Compute Cloud.
4551//
4552// Launches an EC2 Fleet.
4553//
4554// You can create a single EC2 Fleet that includes multiple launch specifications
4555// that vary by instance type, AMI, Availability Zone, or subnet.
4556//
4557// For more information, see Launching an EC2 Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html)
4558// in the Amazon EC2 User Guide.
4559//
4560// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4561// with awserr.Error's Code and Message methods to get detailed information about
4562// the error.
4563//
4564// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4565// API operation CreateFleet for usage and error information.
4566// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFleet
4567func (c *EC2) CreateFleet(input *CreateFleetInput) (*CreateFleetOutput, error) {
4568	req, out := c.CreateFleetRequest(input)
4569	return out, req.Send()
4570}
4571
4572// CreateFleetWithContext is the same as CreateFleet with the addition of
4573// the ability to pass a context and additional request options.
4574//
4575// See CreateFleet for details on how to use this API operation.
4576//
4577// The context must be non-nil and will be used for request cancellation. If
4578// the context is nil a panic will occur. In the future the SDK may create
4579// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4580// for more information on using Contexts.
4581func (c *EC2) CreateFleetWithContext(ctx aws.Context, input *CreateFleetInput, opts ...request.Option) (*CreateFleetOutput, error) {
4582	req, out := c.CreateFleetRequest(input)
4583	req.SetContext(ctx)
4584	req.ApplyOptions(opts...)
4585	return out, req.Send()
4586}
4587
4588const opCreateFlowLogs = "CreateFlowLogs"
4589
4590// CreateFlowLogsRequest generates a "aws/request.Request" representing the
4591// client's request for the CreateFlowLogs operation. The "output" return
4592// value will be populated with the request's response once the request completes
4593// successfully.
4594//
4595// Use "Send" method on the returned Request to send the API call to the service.
4596// the "output" return value is not valid until after Send returns without error.
4597//
4598// See CreateFlowLogs for more information on using the CreateFlowLogs
4599// API call, and error handling.
4600//
4601// This method is useful when you want to inject custom logic or configuration
4602// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4603//
4604//
4605//    // Example sending a request using the CreateFlowLogsRequest method.
4606//    req, resp := client.CreateFlowLogsRequest(params)
4607//
4608//    err := req.Send()
4609//    if err == nil { // resp is now filled
4610//        fmt.Println(resp)
4611//    }
4612//
4613// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
4614func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Request, output *CreateFlowLogsOutput) {
4615	op := &request.Operation{
4616		Name:       opCreateFlowLogs,
4617		HTTPMethod: "POST",
4618		HTTPPath:   "/",
4619	}
4620
4621	if input == nil {
4622		input = &CreateFlowLogsInput{}
4623	}
4624
4625	output = &CreateFlowLogsOutput{}
4626	req = c.newRequest(op, input, output)
4627	return
4628}
4629
4630// CreateFlowLogs API operation for Amazon Elastic Compute Cloud.
4631//
4632// Creates one or more flow logs to capture information about IP traffic for
4633// a specific network interface, subnet, or VPC.
4634//
4635// Flow log data for a monitored network interface is recorded as flow log records,
4636// which are log events consisting of fields that describe the traffic flow.
4637// For more information, see Flow log records (https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records)
4638// in the Amazon Virtual Private Cloud User Guide.
4639//
4640// When publishing to CloudWatch Logs, flow log records are published to a log
4641// group, and each network interface has a unique log stream in the log group.
4642// When publishing to Amazon S3, flow log records for all of the monitored network
4643// interfaces are published to a single log file object that is stored in the
4644// specified bucket.
4645//
4646// For more information, see VPC Flow Logs (https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)
4647// in the Amazon Virtual Private Cloud User Guide.
4648//
4649// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4650// with awserr.Error's Code and Message methods to get detailed information about
4651// the error.
4652//
4653// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4654// API operation CreateFlowLogs for usage and error information.
4655// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
4656func (c *EC2) CreateFlowLogs(input *CreateFlowLogsInput) (*CreateFlowLogsOutput, error) {
4657	req, out := c.CreateFlowLogsRequest(input)
4658	return out, req.Send()
4659}
4660
4661// CreateFlowLogsWithContext is the same as CreateFlowLogs with the addition of
4662// the ability to pass a context and additional request options.
4663//
4664// See CreateFlowLogs for details on how to use this API operation.
4665//
4666// The context must be non-nil and will be used for request cancellation. If
4667// the context is nil a panic will occur. In the future the SDK may create
4668// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4669// for more information on using Contexts.
4670func (c *EC2) CreateFlowLogsWithContext(ctx aws.Context, input *CreateFlowLogsInput, opts ...request.Option) (*CreateFlowLogsOutput, error) {
4671	req, out := c.CreateFlowLogsRequest(input)
4672	req.SetContext(ctx)
4673	req.ApplyOptions(opts...)
4674	return out, req.Send()
4675}
4676
4677const opCreateFpgaImage = "CreateFpgaImage"
4678
4679// CreateFpgaImageRequest generates a "aws/request.Request" representing the
4680// client's request for the CreateFpgaImage operation. The "output" return
4681// value will be populated with the request's response once the request completes
4682// successfully.
4683//
4684// Use "Send" method on the returned Request to send the API call to the service.
4685// the "output" return value is not valid until after Send returns without error.
4686//
4687// See CreateFpgaImage for more information on using the CreateFpgaImage
4688// API call, and error handling.
4689//
4690// This method is useful when you want to inject custom logic or configuration
4691// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4692//
4693//
4694//    // Example sending a request using the CreateFpgaImageRequest method.
4695//    req, resp := client.CreateFpgaImageRequest(params)
4696//
4697//    err := req.Send()
4698//    if err == nil { // resp is now filled
4699//        fmt.Println(resp)
4700//    }
4701//
4702// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
4703func (c *EC2) CreateFpgaImageRequest(input *CreateFpgaImageInput) (req *request.Request, output *CreateFpgaImageOutput) {
4704	op := &request.Operation{
4705		Name:       opCreateFpgaImage,
4706		HTTPMethod: "POST",
4707		HTTPPath:   "/",
4708	}
4709
4710	if input == nil {
4711		input = &CreateFpgaImageInput{}
4712	}
4713
4714	output = &CreateFpgaImageOutput{}
4715	req = c.newRequest(op, input, output)
4716	return
4717}
4718
4719// CreateFpgaImage API operation for Amazon Elastic Compute Cloud.
4720//
4721// Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP).
4722//
4723// The create operation is asynchronous. To verify that the AFI is ready for
4724// use, check the output logs.
4725//
4726// An AFI contains the FPGA bitstream that is ready to download to an FPGA.
4727// You can securely deploy an AFI on multiple FPGA-accelerated instances. For
4728// more information, see the AWS FPGA Hardware Development Kit (https://github.com/aws/aws-fpga/).
4729//
4730// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4731// with awserr.Error's Code and Message methods to get detailed information about
4732// the error.
4733//
4734// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4735// API operation CreateFpgaImage for usage and error information.
4736// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
4737func (c *EC2) CreateFpgaImage(input *CreateFpgaImageInput) (*CreateFpgaImageOutput, error) {
4738	req, out := c.CreateFpgaImageRequest(input)
4739	return out, req.Send()
4740}
4741
4742// CreateFpgaImageWithContext is the same as CreateFpgaImage with the addition of
4743// the ability to pass a context and additional request options.
4744//
4745// See CreateFpgaImage for details on how to use this API operation.
4746//
4747// The context must be non-nil and will be used for request cancellation. If
4748// the context is nil a panic will occur. In the future the SDK may create
4749// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4750// for more information on using Contexts.
4751func (c *EC2) CreateFpgaImageWithContext(ctx aws.Context, input *CreateFpgaImageInput, opts ...request.Option) (*CreateFpgaImageOutput, error) {
4752	req, out := c.CreateFpgaImageRequest(input)
4753	req.SetContext(ctx)
4754	req.ApplyOptions(opts...)
4755	return out, req.Send()
4756}
4757
4758const opCreateImage = "CreateImage"
4759
4760// CreateImageRequest generates a "aws/request.Request" representing the
4761// client's request for the CreateImage operation. The "output" return
4762// value will be populated with the request's response once the request completes
4763// successfully.
4764//
4765// Use "Send" method on the returned Request to send the API call to the service.
4766// the "output" return value is not valid until after Send returns without error.
4767//
4768// See CreateImage for more information on using the CreateImage
4769// API call, and error handling.
4770//
4771// This method is useful when you want to inject custom logic or configuration
4772// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4773//
4774//
4775//    // Example sending a request using the CreateImageRequest method.
4776//    req, resp := client.CreateImageRequest(params)
4777//
4778//    err := req.Send()
4779//    if err == nil { // resp is now filled
4780//        fmt.Println(resp)
4781//    }
4782//
4783// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
4784func (c *EC2) CreateImageRequest(input *CreateImageInput) (req *request.Request, output *CreateImageOutput) {
4785	op := &request.Operation{
4786		Name:       opCreateImage,
4787		HTTPMethod: "POST",
4788		HTTPPath:   "/",
4789	}
4790
4791	if input == nil {
4792		input = &CreateImageInput{}
4793	}
4794
4795	output = &CreateImageOutput{}
4796	req = c.newRequest(op, input, output)
4797	return
4798}
4799
4800// CreateImage API operation for Amazon Elastic Compute Cloud.
4801//
4802// Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that
4803// is either running or stopped.
4804//
4805// If you customized your instance with instance store volumes or EBS volumes
4806// in addition to the root device volume, the new AMI contains block device
4807// mapping information for those volumes. When you launch an instance from this
4808// new AMI, the instance automatically launches with those additional volumes.
4809//
4810// For more information, see Creating Amazon EBS-Backed Linux AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html)
4811// in the Amazon Elastic Compute Cloud User Guide.
4812//
4813// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4814// with awserr.Error's Code and Message methods to get detailed information about
4815// the error.
4816//
4817// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4818// API operation CreateImage for usage and error information.
4819// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
4820func (c *EC2) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) {
4821	req, out := c.CreateImageRequest(input)
4822	return out, req.Send()
4823}
4824
4825// CreateImageWithContext is the same as CreateImage with the addition of
4826// the ability to pass a context and additional request options.
4827//
4828// See CreateImage for details on how to use this API operation.
4829//
4830// The context must be non-nil and will be used for request cancellation. If
4831// the context is nil a panic will occur. In the future the SDK may create
4832// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4833// for more information on using Contexts.
4834func (c *EC2) CreateImageWithContext(ctx aws.Context, input *CreateImageInput, opts ...request.Option) (*CreateImageOutput, error) {
4835	req, out := c.CreateImageRequest(input)
4836	req.SetContext(ctx)
4837	req.ApplyOptions(opts...)
4838	return out, req.Send()
4839}
4840
4841const opCreateInstanceEventWindow = "CreateInstanceEventWindow"
4842
4843// CreateInstanceEventWindowRequest generates a "aws/request.Request" representing the
4844// client's request for the CreateInstanceEventWindow operation. The "output" return
4845// value will be populated with the request's response once the request completes
4846// successfully.
4847//
4848// Use "Send" method on the returned Request to send the API call to the service.
4849// the "output" return value is not valid until after Send returns without error.
4850//
4851// See CreateInstanceEventWindow for more information on using the CreateInstanceEventWindow
4852// API call, and error handling.
4853//
4854// This method is useful when you want to inject custom logic or configuration
4855// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4856//
4857//
4858//    // Example sending a request using the CreateInstanceEventWindowRequest method.
4859//    req, resp := client.CreateInstanceEventWindowRequest(params)
4860//
4861//    err := req.Send()
4862//    if err == nil { // resp is now filled
4863//        fmt.Println(resp)
4864//    }
4865//
4866// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceEventWindow
4867func (c *EC2) CreateInstanceEventWindowRequest(input *CreateInstanceEventWindowInput) (req *request.Request, output *CreateInstanceEventWindowOutput) {
4868	op := &request.Operation{
4869		Name:       opCreateInstanceEventWindow,
4870		HTTPMethod: "POST",
4871		HTTPPath:   "/",
4872	}
4873
4874	if input == nil {
4875		input = &CreateInstanceEventWindowInput{}
4876	}
4877
4878	output = &CreateInstanceEventWindowOutput{}
4879	req = c.newRequest(op, input, output)
4880	return
4881}
4882
4883// CreateInstanceEventWindow API operation for Amazon Elastic Compute Cloud.
4884//
4885// Creates an event window in which scheduled events for the associated Amazon
4886// EC2 instances can run.
4887//
4888// You can define either a set of time ranges or a cron expression when creating
4889// the event window, but not both. All event window times are in UTC.
4890//
4891// You can create up to 200 event windows per Amazon Web Services Region.
4892//
4893// When you create the event window, targets (instance IDs, Dedicated Host IDs,
4894// or tags) are not yet associated with it. To ensure that the event window
4895// can be used, you must associate one or more targets with it by using the
4896// AssociateInstanceEventWindow API.
4897//
4898// Event windows are applicable only for scheduled events that stop, reboot,
4899// or terminate instances.
4900//
4901// Event windows are not applicable for:
4902//
4903//    * Expedited scheduled events and network maintenance events.
4904//
4905//    * Unscheduled maintenance such as AutoRecovery and unplanned reboots.
4906//
4907// For more information, see Define event windows for scheduled events (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/event-windows.html)
4908// in the Amazon EC2 User Guide.
4909//
4910// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4911// with awserr.Error's Code and Message methods to get detailed information about
4912// the error.
4913//
4914// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4915// API operation CreateInstanceEventWindow for usage and error information.
4916// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceEventWindow
4917func (c *EC2) CreateInstanceEventWindow(input *CreateInstanceEventWindowInput) (*CreateInstanceEventWindowOutput, error) {
4918	req, out := c.CreateInstanceEventWindowRequest(input)
4919	return out, req.Send()
4920}
4921
4922// CreateInstanceEventWindowWithContext is the same as CreateInstanceEventWindow with the addition of
4923// the ability to pass a context and additional request options.
4924//
4925// See CreateInstanceEventWindow for details on how to use this API operation.
4926//
4927// The context must be non-nil and will be used for request cancellation. If
4928// the context is nil a panic will occur. In the future the SDK may create
4929// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4930// for more information on using Contexts.
4931func (c *EC2) CreateInstanceEventWindowWithContext(ctx aws.Context, input *CreateInstanceEventWindowInput, opts ...request.Option) (*CreateInstanceEventWindowOutput, error) {
4932	req, out := c.CreateInstanceEventWindowRequest(input)
4933	req.SetContext(ctx)
4934	req.ApplyOptions(opts...)
4935	return out, req.Send()
4936}
4937
4938const opCreateInstanceExportTask = "CreateInstanceExportTask"
4939
4940// CreateInstanceExportTaskRequest generates a "aws/request.Request" representing the
4941// client's request for the CreateInstanceExportTask operation. The "output" return
4942// value will be populated with the request's response once the request completes
4943// successfully.
4944//
4945// Use "Send" method on the returned Request to send the API call to the service.
4946// the "output" return value is not valid until after Send returns without error.
4947//
4948// See CreateInstanceExportTask for more information on using the CreateInstanceExportTask
4949// API call, and error handling.
4950//
4951// This method is useful when you want to inject custom logic or configuration
4952// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4953//
4954//
4955//    // Example sending a request using the CreateInstanceExportTaskRequest method.
4956//    req, resp := client.CreateInstanceExportTaskRequest(params)
4957//
4958//    err := req.Send()
4959//    if err == nil { // resp is now filled
4960//        fmt.Println(resp)
4961//    }
4962//
4963// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
4964func (c *EC2) CreateInstanceExportTaskRequest(input *CreateInstanceExportTaskInput) (req *request.Request, output *CreateInstanceExportTaskOutput) {
4965	op := &request.Operation{
4966		Name:       opCreateInstanceExportTask,
4967		HTTPMethod: "POST",
4968		HTTPPath:   "/",
4969	}
4970
4971	if input == nil {
4972		input = &CreateInstanceExportTaskInput{}
4973	}
4974
4975	output = &CreateInstanceExportTaskOutput{}
4976	req = c.newRequest(op, input, output)
4977	return
4978}
4979
4980// CreateInstanceExportTask API operation for Amazon Elastic Compute Cloud.
4981//
4982// Exports a running or stopped instance to an Amazon S3 bucket.
4983//
4984// For information about the supported operating systems, image formats, and
4985// known limitations for the types of instances you can export, see Exporting
4986// an instance as a VM Using VM Import/Export (https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html)
4987// in the VM Import/Export User Guide.
4988//
4989// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4990// with awserr.Error's Code and Message methods to get detailed information about
4991// the error.
4992//
4993// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4994// API operation CreateInstanceExportTask for usage and error information.
4995// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
4996func (c *EC2) CreateInstanceExportTask(input *CreateInstanceExportTaskInput) (*CreateInstanceExportTaskOutput, error) {
4997	req, out := c.CreateInstanceExportTaskRequest(input)
4998	return out, req.Send()
4999}
5000
5001// CreateInstanceExportTaskWithContext is the same as CreateInstanceExportTask with the addition of
5002// the ability to pass a context and additional request options.
5003//
5004// See CreateInstanceExportTask for details on how to use this API operation.
5005//
5006// The context must be non-nil and will be used for request cancellation. If
5007// the context is nil a panic will occur. In the future the SDK may create
5008// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5009// for more information on using Contexts.
5010func (c *EC2) CreateInstanceExportTaskWithContext(ctx aws.Context, input *CreateInstanceExportTaskInput, opts ...request.Option) (*CreateInstanceExportTaskOutput, error) {
5011	req, out := c.CreateInstanceExportTaskRequest(input)
5012	req.SetContext(ctx)
5013	req.ApplyOptions(opts...)
5014	return out, req.Send()
5015}
5016
5017const opCreateInternetGateway = "CreateInternetGateway"
5018
5019// CreateInternetGatewayRequest generates a "aws/request.Request" representing the
5020// client's request for the CreateInternetGateway operation. The "output" return
5021// value will be populated with the request's response once the request completes
5022// successfully.
5023//
5024// Use "Send" method on the returned Request to send the API call to the service.
5025// the "output" return value is not valid until after Send returns without error.
5026//
5027// See CreateInternetGateway for more information on using the CreateInternetGateway
5028// API call, and error handling.
5029//
5030// This method is useful when you want to inject custom logic or configuration
5031// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5032//
5033//
5034//    // Example sending a request using the CreateInternetGatewayRequest method.
5035//    req, resp := client.CreateInternetGatewayRequest(params)
5036//
5037//    err := req.Send()
5038//    if err == nil { // resp is now filled
5039//        fmt.Println(resp)
5040//    }
5041//
5042// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
5043func (c *EC2) CreateInternetGatewayRequest(input *CreateInternetGatewayInput) (req *request.Request, output *CreateInternetGatewayOutput) {
5044	op := &request.Operation{
5045		Name:       opCreateInternetGateway,
5046		HTTPMethod: "POST",
5047		HTTPPath:   "/",
5048	}
5049
5050	if input == nil {
5051		input = &CreateInternetGatewayInput{}
5052	}
5053
5054	output = &CreateInternetGatewayOutput{}
5055	req = c.newRequest(op, input, output)
5056	return
5057}
5058
5059// CreateInternetGateway API operation for Amazon Elastic Compute Cloud.
5060//
5061// Creates an internet gateway for use with a VPC. After creating the internet
5062// gateway, you attach it to a VPC using AttachInternetGateway.
5063//
5064// For more information about your VPC and internet gateway, see the Amazon
5065// Virtual Private Cloud User Guide (https://docs.aws.amazon.com/vpc/latest/userguide/).
5066//
5067// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5068// with awserr.Error's Code and Message methods to get detailed information about
5069// the error.
5070//
5071// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5072// API operation CreateInternetGateway for usage and error information.
5073// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
5074func (c *EC2) CreateInternetGateway(input *CreateInternetGatewayInput) (*CreateInternetGatewayOutput, error) {
5075	req, out := c.CreateInternetGatewayRequest(input)
5076	return out, req.Send()
5077}
5078
5079// CreateInternetGatewayWithContext is the same as CreateInternetGateway with the addition of
5080// the ability to pass a context and additional request options.
5081//
5082// See CreateInternetGateway for details on how to use this API operation.
5083//
5084// The context must be non-nil and will be used for request cancellation. If
5085// the context is nil a panic will occur. In the future the SDK may create
5086// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5087// for more information on using Contexts.
5088func (c *EC2) CreateInternetGatewayWithContext(ctx aws.Context, input *CreateInternetGatewayInput, opts ...request.Option) (*CreateInternetGatewayOutput, error) {
5089	req, out := c.CreateInternetGatewayRequest(input)
5090	req.SetContext(ctx)
5091	req.ApplyOptions(opts...)
5092	return out, req.Send()
5093}
5094
5095const opCreateKeyPair = "CreateKeyPair"
5096
5097// CreateKeyPairRequest generates a "aws/request.Request" representing the
5098// client's request for the CreateKeyPair operation. The "output" return
5099// value will be populated with the request's response once the request completes
5100// successfully.
5101//
5102// Use "Send" method on the returned Request to send the API call to the service.
5103// the "output" return value is not valid until after Send returns without error.
5104//
5105// See CreateKeyPair for more information on using the CreateKeyPair
5106// API call, and error handling.
5107//
5108// This method is useful when you want to inject custom logic or configuration
5109// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5110//
5111//
5112//    // Example sending a request using the CreateKeyPairRequest method.
5113//    req, resp := client.CreateKeyPairRequest(params)
5114//
5115//    err := req.Send()
5116//    if err == nil { // resp is now filled
5117//        fmt.Println(resp)
5118//    }
5119//
5120// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
5121func (c *EC2) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) {
5122	op := &request.Operation{
5123		Name:       opCreateKeyPair,
5124		HTTPMethod: "POST",
5125		HTTPPath:   "/",
5126	}
5127
5128	if input == nil {
5129		input = &CreateKeyPairInput{}
5130	}
5131
5132	output = &CreateKeyPairOutput{}
5133	req = c.newRequest(op, input, output)
5134	return
5135}
5136
5137// CreateKeyPair API operation for Amazon Elastic Compute Cloud.
5138//
5139// Creates an ED25519 or 2048-bit RSA key pair with the specified name. Amazon
5140// EC2 stores the public key and displays the private key for you to save to
5141// a file. The private key is returned as an unencrypted PEM encoded PKCS#1
5142// private key. If a key with the specified name already exists, Amazon EC2
5143// returns an error.
5144//
5145// The key pair returned to you is available only in the Amazon Web Services
5146// Region in which you create it. If you prefer, you can create your own key
5147// pair using a third-party tool and upload it to any Region using ImportKeyPair.
5148//
5149// You can have up to 5,000 key pairs per Amazon Web Services Region.
5150//
5151// For more information, see Amazon EC2 key pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
5152// in the Amazon Elastic Compute Cloud User Guide.
5153//
5154// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5155// with awserr.Error's Code and Message methods to get detailed information about
5156// the error.
5157//
5158// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5159// API operation CreateKeyPair for usage and error information.
5160// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
5161func (c *EC2) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
5162	req, out := c.CreateKeyPairRequest(input)
5163	return out, req.Send()
5164}
5165
5166// CreateKeyPairWithContext is the same as CreateKeyPair with the addition of
5167// the ability to pass a context and additional request options.
5168//
5169// See CreateKeyPair for details on how to use this API operation.
5170//
5171// The context must be non-nil and will be used for request cancellation. If
5172// the context is nil a panic will occur. In the future the SDK may create
5173// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5174// for more information on using Contexts.
5175func (c *EC2) CreateKeyPairWithContext(ctx aws.Context, input *CreateKeyPairInput, opts ...request.Option) (*CreateKeyPairOutput, error) {
5176	req, out := c.CreateKeyPairRequest(input)
5177	req.SetContext(ctx)
5178	req.ApplyOptions(opts...)
5179	return out, req.Send()
5180}
5181
5182const opCreateLaunchTemplate = "CreateLaunchTemplate"
5183
5184// CreateLaunchTemplateRequest generates a "aws/request.Request" representing the
5185// client's request for the CreateLaunchTemplate operation. The "output" return
5186// value will be populated with the request's response once the request completes
5187// successfully.
5188//
5189// Use "Send" method on the returned Request to send the API call to the service.
5190// the "output" return value is not valid until after Send returns without error.
5191//
5192// See CreateLaunchTemplate for more information on using the CreateLaunchTemplate
5193// API call, and error handling.
5194//
5195// This method is useful when you want to inject custom logic or configuration
5196// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5197//
5198//
5199//    // Example sending a request using the CreateLaunchTemplateRequest method.
5200//    req, resp := client.CreateLaunchTemplateRequest(params)
5201//
5202//    err := req.Send()
5203//    if err == nil { // resp is now filled
5204//        fmt.Println(resp)
5205//    }
5206//
5207// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplate
5208func (c *EC2) CreateLaunchTemplateRequest(input *CreateLaunchTemplateInput) (req *request.Request, output *CreateLaunchTemplateOutput) {
5209	op := &request.Operation{
5210		Name:       opCreateLaunchTemplate,
5211		HTTPMethod: "POST",
5212		HTTPPath:   "/",
5213	}
5214
5215	if input == nil {
5216		input = &CreateLaunchTemplateInput{}
5217	}
5218
5219	output = &CreateLaunchTemplateOutput{}
5220	req = c.newRequest(op, input, output)
5221	return
5222}
5223
5224// CreateLaunchTemplate API operation for Amazon Elastic Compute Cloud.
5225//
5226// Creates a launch template. A launch template contains the parameters to launch
5227// an instance. When you launch an instance using RunInstances, you can specify
5228// a launch template instead of providing the launch parameters in the request.
5229// For more information, see Launching an instance from a launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html)in
5230// the Amazon Elastic Compute Cloud User Guide.
5231//
5232// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5233// with awserr.Error's Code and Message methods to get detailed information about
5234// the error.
5235//
5236// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5237// API operation CreateLaunchTemplate for usage and error information.
5238// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplate
5239func (c *EC2) CreateLaunchTemplate(input *CreateLaunchTemplateInput) (*CreateLaunchTemplateOutput, error) {
5240	req, out := c.CreateLaunchTemplateRequest(input)
5241	return out, req.Send()
5242}
5243
5244// CreateLaunchTemplateWithContext is the same as CreateLaunchTemplate with the addition of
5245// the ability to pass a context and additional request options.
5246//
5247// See CreateLaunchTemplate for details on how to use this API operation.
5248//
5249// The context must be non-nil and will be used for request cancellation. If
5250// the context is nil a panic will occur. In the future the SDK may create
5251// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5252// for more information on using Contexts.
5253func (c *EC2) CreateLaunchTemplateWithContext(ctx aws.Context, input *CreateLaunchTemplateInput, opts ...request.Option) (*CreateLaunchTemplateOutput, error) {
5254	req, out := c.CreateLaunchTemplateRequest(input)
5255	req.SetContext(ctx)
5256	req.ApplyOptions(opts...)
5257	return out, req.Send()
5258}
5259
5260const opCreateLaunchTemplateVersion = "CreateLaunchTemplateVersion"
5261
5262// CreateLaunchTemplateVersionRequest generates a "aws/request.Request" representing the
5263// client's request for the CreateLaunchTemplateVersion operation. The "output" return
5264// value will be populated with the request's response once the request completes
5265// successfully.
5266//
5267// Use "Send" method on the returned Request to send the API call to the service.
5268// the "output" return value is not valid until after Send returns without error.
5269//
5270// See CreateLaunchTemplateVersion for more information on using the CreateLaunchTemplateVersion
5271// API call, and error handling.
5272//
5273// This method is useful when you want to inject custom logic or configuration
5274// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5275//
5276//
5277//    // Example sending a request using the CreateLaunchTemplateVersionRequest method.
5278//    req, resp := client.CreateLaunchTemplateVersionRequest(params)
5279//
5280//    err := req.Send()
5281//    if err == nil { // resp is now filled
5282//        fmt.Println(resp)
5283//    }
5284//
5285// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersion
5286func (c *EC2) CreateLaunchTemplateVersionRequest(input *CreateLaunchTemplateVersionInput) (req *request.Request, output *CreateLaunchTemplateVersionOutput) {
5287	op := &request.Operation{
5288		Name:       opCreateLaunchTemplateVersion,
5289		HTTPMethod: "POST",
5290		HTTPPath:   "/",
5291	}
5292
5293	if input == nil {
5294		input = &CreateLaunchTemplateVersionInput{}
5295	}
5296
5297	output = &CreateLaunchTemplateVersionOutput{}
5298	req = c.newRequest(op, input, output)
5299	return
5300}
5301
5302// CreateLaunchTemplateVersion API operation for Amazon Elastic Compute Cloud.
5303//
5304// Creates a new version for a launch template. You can specify an existing
5305// version of launch template from which to base the new version.
5306//
5307// Launch template versions are numbered in the order in which they are created.
5308// You cannot specify, change, or replace the numbering of launch template versions.
5309//
5310// 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
5311// the Amazon Elastic Compute Cloud User Guide.
5312//
5313// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5314// with awserr.Error's Code and Message methods to get detailed information about
5315// the error.
5316//
5317// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5318// API operation CreateLaunchTemplateVersion for usage and error information.
5319// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersion
5320func (c *EC2) CreateLaunchTemplateVersion(input *CreateLaunchTemplateVersionInput) (*CreateLaunchTemplateVersionOutput, error) {
5321	req, out := c.CreateLaunchTemplateVersionRequest(input)
5322	return out, req.Send()
5323}
5324
5325// CreateLaunchTemplateVersionWithContext is the same as CreateLaunchTemplateVersion with the addition of
5326// the ability to pass a context and additional request options.
5327//
5328// See CreateLaunchTemplateVersion for details on how to use this API operation.
5329//
5330// The context must be non-nil and will be used for request cancellation. If
5331// the context is nil a panic will occur. In the future the SDK may create
5332// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5333// for more information on using Contexts.
5334func (c *EC2) CreateLaunchTemplateVersionWithContext(ctx aws.Context, input *CreateLaunchTemplateVersionInput, opts ...request.Option) (*CreateLaunchTemplateVersionOutput, error) {
5335	req, out := c.CreateLaunchTemplateVersionRequest(input)
5336	req.SetContext(ctx)
5337	req.ApplyOptions(opts...)
5338	return out, req.Send()
5339}
5340
5341const opCreateLocalGatewayRoute = "CreateLocalGatewayRoute"
5342
5343// CreateLocalGatewayRouteRequest generates a "aws/request.Request" representing the
5344// client's request for the CreateLocalGatewayRoute operation. The "output" return
5345// value will be populated with the request's response once the request completes
5346// successfully.
5347//
5348// Use "Send" method on the returned Request to send the API call to the service.
5349// the "output" return value is not valid until after Send returns without error.
5350//
5351// See CreateLocalGatewayRoute for more information on using the CreateLocalGatewayRoute
5352// API call, and error handling.
5353//
5354// This method is useful when you want to inject custom logic or configuration
5355// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5356//
5357//
5358//    // Example sending a request using the CreateLocalGatewayRouteRequest method.
5359//    req, resp := client.CreateLocalGatewayRouteRequest(params)
5360//
5361//    err := req.Send()
5362//    if err == nil { // resp is now filled
5363//        fmt.Println(resp)
5364//    }
5365//
5366// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRoute
5367func (c *EC2) CreateLocalGatewayRouteRequest(input *CreateLocalGatewayRouteInput) (req *request.Request, output *CreateLocalGatewayRouteOutput) {
5368	op := &request.Operation{
5369		Name:       opCreateLocalGatewayRoute,
5370		HTTPMethod: "POST",
5371		HTTPPath:   "/",
5372	}
5373
5374	if input == nil {
5375		input = &CreateLocalGatewayRouteInput{}
5376	}
5377
5378	output = &CreateLocalGatewayRouteOutput{}
5379	req = c.newRequest(op, input, output)
5380	return
5381}
5382
5383// CreateLocalGatewayRoute API operation for Amazon Elastic Compute Cloud.
5384//
5385// Creates a static route for the specified local gateway route table.
5386//
5387// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5388// with awserr.Error's Code and Message methods to get detailed information about
5389// the error.
5390//
5391// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5392// API operation CreateLocalGatewayRoute for usage and error information.
5393// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRoute
5394func (c *EC2) CreateLocalGatewayRoute(input *CreateLocalGatewayRouteInput) (*CreateLocalGatewayRouteOutput, error) {
5395	req, out := c.CreateLocalGatewayRouteRequest(input)
5396	return out, req.Send()
5397}
5398
5399// CreateLocalGatewayRouteWithContext is the same as CreateLocalGatewayRoute with the addition of
5400// the ability to pass a context and additional request options.
5401//
5402// See CreateLocalGatewayRoute for details on how to use this API operation.
5403//
5404// The context must be non-nil and will be used for request cancellation. If
5405// the context is nil a panic will occur. In the future the SDK may create
5406// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5407// for more information on using Contexts.
5408func (c *EC2) CreateLocalGatewayRouteWithContext(ctx aws.Context, input *CreateLocalGatewayRouteInput, opts ...request.Option) (*CreateLocalGatewayRouteOutput, error) {
5409	req, out := c.CreateLocalGatewayRouteRequest(input)
5410	req.SetContext(ctx)
5411	req.ApplyOptions(opts...)
5412	return out, req.Send()
5413}
5414
5415const opCreateLocalGatewayRouteTableVpcAssociation = "CreateLocalGatewayRouteTableVpcAssociation"
5416
5417// CreateLocalGatewayRouteTableVpcAssociationRequest generates a "aws/request.Request" representing the
5418// client's request for the CreateLocalGatewayRouteTableVpcAssociation operation. The "output" return
5419// value will be populated with the request's response once the request completes
5420// successfully.
5421//
5422// Use "Send" method on the returned Request to send the API call to the service.
5423// the "output" return value is not valid until after Send returns without error.
5424//
5425// See CreateLocalGatewayRouteTableVpcAssociation for more information on using the CreateLocalGatewayRouteTableVpcAssociation
5426// API call, and error handling.
5427//
5428// This method is useful when you want to inject custom logic or configuration
5429// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5430//
5431//
5432//    // Example sending a request using the CreateLocalGatewayRouteTableVpcAssociationRequest method.
5433//    req, resp := client.CreateLocalGatewayRouteTableVpcAssociationRequest(params)
5434//
5435//    err := req.Send()
5436//    if err == nil { // resp is now filled
5437//        fmt.Println(resp)
5438//    }
5439//
5440// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRouteTableVpcAssociation
5441func (c *EC2) CreateLocalGatewayRouteTableVpcAssociationRequest(input *CreateLocalGatewayRouteTableVpcAssociationInput) (req *request.Request, output *CreateLocalGatewayRouteTableVpcAssociationOutput) {
5442	op := &request.Operation{
5443		Name:       opCreateLocalGatewayRouteTableVpcAssociation,
5444		HTTPMethod: "POST",
5445		HTTPPath:   "/",
5446	}
5447
5448	if input == nil {
5449		input = &CreateLocalGatewayRouteTableVpcAssociationInput{}
5450	}
5451
5452	output = &CreateLocalGatewayRouteTableVpcAssociationOutput{}
5453	req = c.newRequest(op, input, output)
5454	return
5455}
5456
5457// CreateLocalGatewayRouteTableVpcAssociation API operation for Amazon Elastic Compute Cloud.
5458//
5459// Associates the specified VPC with the specified local gateway route table.
5460//
5461// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5462// with awserr.Error's Code and Message methods to get detailed information about
5463// the error.
5464//
5465// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5466// API operation CreateLocalGatewayRouteTableVpcAssociation for usage and error information.
5467// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRouteTableVpcAssociation
5468func (c *EC2) CreateLocalGatewayRouteTableVpcAssociation(input *CreateLocalGatewayRouteTableVpcAssociationInput) (*CreateLocalGatewayRouteTableVpcAssociationOutput, error) {
5469	req, out := c.CreateLocalGatewayRouteTableVpcAssociationRequest(input)
5470	return out, req.Send()
5471}
5472
5473// CreateLocalGatewayRouteTableVpcAssociationWithContext is the same as CreateLocalGatewayRouteTableVpcAssociation with the addition of
5474// the ability to pass a context and additional request options.
5475//
5476// See CreateLocalGatewayRouteTableVpcAssociation for details on how to use this API operation.
5477//
5478// The context must be non-nil and will be used for request cancellation. If
5479// the context is nil a panic will occur. In the future the SDK may create
5480// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5481// for more information on using Contexts.
5482func (c *EC2) CreateLocalGatewayRouteTableVpcAssociationWithContext(ctx aws.Context, input *CreateLocalGatewayRouteTableVpcAssociationInput, opts ...request.Option) (*CreateLocalGatewayRouteTableVpcAssociationOutput, error) {
5483	req, out := c.CreateLocalGatewayRouteTableVpcAssociationRequest(input)
5484	req.SetContext(ctx)
5485	req.ApplyOptions(opts...)
5486	return out, req.Send()
5487}
5488
5489const opCreateManagedPrefixList = "CreateManagedPrefixList"
5490
5491// CreateManagedPrefixListRequest generates a "aws/request.Request" representing the
5492// client's request for the CreateManagedPrefixList operation. The "output" return
5493// value will be populated with the request's response once the request completes
5494// successfully.
5495//
5496// Use "Send" method on the returned Request to send the API call to the service.
5497// the "output" return value is not valid until after Send returns without error.
5498//
5499// See CreateManagedPrefixList for more information on using the CreateManagedPrefixList
5500// API call, and error handling.
5501//
5502// This method is useful when you want to inject custom logic or configuration
5503// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5504//
5505//
5506//    // Example sending a request using the CreateManagedPrefixListRequest method.
5507//    req, resp := client.CreateManagedPrefixListRequest(params)
5508//
5509//    err := req.Send()
5510//    if err == nil { // resp is now filled
5511//        fmt.Println(resp)
5512//    }
5513//
5514// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateManagedPrefixList
5515func (c *EC2) CreateManagedPrefixListRequest(input *CreateManagedPrefixListInput) (req *request.Request, output *CreateManagedPrefixListOutput) {
5516	op := &request.Operation{
5517		Name:       opCreateManagedPrefixList,
5518		HTTPMethod: "POST",
5519		HTTPPath:   "/",
5520	}
5521
5522	if input == nil {
5523		input = &CreateManagedPrefixListInput{}
5524	}
5525
5526	output = &CreateManagedPrefixListOutput{}
5527	req = c.newRequest(op, input, output)
5528	return
5529}
5530
5531// CreateManagedPrefixList API operation for Amazon Elastic Compute Cloud.
5532//
5533// Creates a managed prefix list. You can specify one or more entries for the
5534// prefix list. Each entry consists of a CIDR block and an optional description.
5535//
5536// You must specify the maximum number of entries for the prefix list. The maximum
5537// number of entries cannot be changed later.
5538//
5539// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5540// with awserr.Error's Code and Message methods to get detailed information about
5541// the error.
5542//
5543// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5544// API operation CreateManagedPrefixList for usage and error information.
5545// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateManagedPrefixList
5546func (c *EC2) CreateManagedPrefixList(input *CreateManagedPrefixListInput) (*CreateManagedPrefixListOutput, error) {
5547	req, out := c.CreateManagedPrefixListRequest(input)
5548	return out, req.Send()
5549}
5550
5551// CreateManagedPrefixListWithContext is the same as CreateManagedPrefixList with the addition of
5552// the ability to pass a context and additional request options.
5553//
5554// See CreateManagedPrefixList for details on how to use this API operation.
5555//
5556// The context must be non-nil and will be used for request cancellation. If
5557// the context is nil a panic will occur. In the future the SDK may create
5558// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5559// for more information on using Contexts.
5560func (c *EC2) CreateManagedPrefixListWithContext(ctx aws.Context, input *CreateManagedPrefixListInput, opts ...request.Option) (*CreateManagedPrefixListOutput, error) {
5561	req, out := c.CreateManagedPrefixListRequest(input)
5562	req.SetContext(ctx)
5563	req.ApplyOptions(opts...)
5564	return out, req.Send()
5565}
5566
5567const opCreateNatGateway = "CreateNatGateway"
5568
5569// CreateNatGatewayRequest generates a "aws/request.Request" representing the
5570// client's request for the CreateNatGateway operation. The "output" return
5571// value will be populated with the request's response once the request completes
5572// successfully.
5573//
5574// Use "Send" method on the returned Request to send the API call to the service.
5575// the "output" return value is not valid until after Send returns without error.
5576//
5577// See CreateNatGateway for more information on using the CreateNatGateway
5578// API call, and error handling.
5579//
5580// This method is useful when you want to inject custom logic or configuration
5581// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5582//
5583//
5584//    // Example sending a request using the CreateNatGatewayRequest method.
5585//    req, resp := client.CreateNatGatewayRequest(params)
5586//
5587//    err := req.Send()
5588//    if err == nil { // resp is now filled
5589//        fmt.Println(resp)
5590//    }
5591//
5592// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
5593func (c *EC2) CreateNatGatewayRequest(input *CreateNatGatewayInput) (req *request.Request, output *CreateNatGatewayOutput) {
5594	op := &request.Operation{
5595		Name:       opCreateNatGateway,
5596		HTTPMethod: "POST",
5597		HTTPPath:   "/",
5598	}
5599
5600	if input == nil {
5601		input = &CreateNatGatewayInput{}
5602	}
5603
5604	output = &CreateNatGatewayOutput{}
5605	req = c.newRequest(op, input, output)
5606	return
5607}
5608
5609// CreateNatGateway API operation for Amazon Elastic Compute Cloud.
5610//
5611// Creates a NAT gateway in the specified subnet. This action creates a network
5612// interface in the specified subnet with a private IP address from the IP address
5613// range of the subnet. You can create either a public NAT gateway or a private
5614// NAT gateway.
5615//
5616// With a public NAT gateway, internet-bound traffic from a private subnet can
5617// be routed to the NAT gateway, so that instances in a private subnet can connect
5618// to the internet.
5619//
5620// With a private NAT gateway, private communication is routed across VPCs and
5621// on-premises networks through a transit gateway or virtual private gateway.
5622// Common use cases include running large workloads behind a small pool of allowlisted
5623// IPv4 addresses, preserving private IPv4 addresses, and communicating between
5624// overlapping networks.
5625//
5626// For more information, see NAT gateways (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)
5627// in the Amazon Virtual Private Cloud User Guide.
5628//
5629// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5630// with awserr.Error's Code and Message methods to get detailed information about
5631// the error.
5632//
5633// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5634// API operation CreateNatGateway for usage and error information.
5635// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
5636func (c *EC2) CreateNatGateway(input *CreateNatGatewayInput) (*CreateNatGatewayOutput, error) {
5637	req, out := c.CreateNatGatewayRequest(input)
5638	return out, req.Send()
5639}
5640
5641// CreateNatGatewayWithContext is the same as CreateNatGateway with the addition of
5642// the ability to pass a context and additional request options.
5643//
5644// See CreateNatGateway for details on how to use this API operation.
5645//
5646// The context must be non-nil and will be used for request cancellation. If
5647// the context is nil a panic will occur. In the future the SDK may create
5648// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5649// for more information on using Contexts.
5650func (c *EC2) CreateNatGatewayWithContext(ctx aws.Context, input *CreateNatGatewayInput, opts ...request.Option) (*CreateNatGatewayOutput, error) {
5651	req, out := c.CreateNatGatewayRequest(input)
5652	req.SetContext(ctx)
5653	req.ApplyOptions(opts...)
5654	return out, req.Send()
5655}
5656
5657const opCreateNetworkAcl = "CreateNetworkAcl"
5658
5659// CreateNetworkAclRequest generates a "aws/request.Request" representing the
5660// client's request for the CreateNetworkAcl operation. The "output" return
5661// value will be populated with the request's response once the request completes
5662// successfully.
5663//
5664// Use "Send" method on the returned Request to send the API call to the service.
5665// the "output" return value is not valid until after Send returns without error.
5666//
5667// See CreateNetworkAcl for more information on using the CreateNetworkAcl
5668// API call, and error handling.
5669//
5670// This method is useful when you want to inject custom logic or configuration
5671// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5672//
5673//
5674//    // Example sending a request using the CreateNetworkAclRequest method.
5675//    req, resp := client.CreateNetworkAclRequest(params)
5676//
5677//    err := req.Send()
5678//    if err == nil { // resp is now filled
5679//        fmt.Println(resp)
5680//    }
5681//
5682// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
5683func (c *EC2) CreateNetworkAclRequest(input *CreateNetworkAclInput) (req *request.Request, output *CreateNetworkAclOutput) {
5684	op := &request.Operation{
5685		Name:       opCreateNetworkAcl,
5686		HTTPMethod: "POST",
5687		HTTPPath:   "/",
5688	}
5689
5690	if input == nil {
5691		input = &CreateNetworkAclInput{}
5692	}
5693
5694	output = &CreateNetworkAclOutput{}
5695	req = c.newRequest(op, input, output)
5696	return
5697}
5698
5699// CreateNetworkAcl API operation for Amazon Elastic Compute Cloud.
5700//
5701// Creates a network ACL in a VPC. Network ACLs provide an optional layer of
5702// security (in addition to security groups) for the instances in your VPC.
5703//
5704// For more information, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html)
5705// in the Amazon Virtual Private Cloud User Guide.
5706//
5707// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5708// with awserr.Error's Code and Message methods to get detailed information about
5709// the error.
5710//
5711// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5712// API operation CreateNetworkAcl for usage and error information.
5713// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
5714func (c *EC2) CreateNetworkAcl(input *CreateNetworkAclInput) (*CreateNetworkAclOutput, error) {
5715	req, out := c.CreateNetworkAclRequest(input)
5716	return out, req.Send()
5717}
5718
5719// CreateNetworkAclWithContext is the same as CreateNetworkAcl with the addition of
5720// the ability to pass a context and additional request options.
5721//
5722// See CreateNetworkAcl for details on how to use this API operation.
5723//
5724// The context must be non-nil and will be used for request cancellation. If
5725// the context is nil a panic will occur. In the future the SDK may create
5726// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5727// for more information on using Contexts.
5728func (c *EC2) CreateNetworkAclWithContext(ctx aws.Context, input *CreateNetworkAclInput, opts ...request.Option) (*CreateNetworkAclOutput, error) {
5729	req, out := c.CreateNetworkAclRequest(input)
5730	req.SetContext(ctx)
5731	req.ApplyOptions(opts...)
5732	return out, req.Send()
5733}
5734
5735const opCreateNetworkAclEntry = "CreateNetworkAclEntry"
5736
5737// CreateNetworkAclEntryRequest generates a "aws/request.Request" representing the
5738// client's request for the CreateNetworkAclEntry operation. The "output" return
5739// value will be populated with the request's response once the request completes
5740// successfully.
5741//
5742// Use "Send" method on the returned Request to send the API call to the service.
5743// the "output" return value is not valid until after Send returns without error.
5744//
5745// See CreateNetworkAclEntry for more information on using the CreateNetworkAclEntry
5746// API call, and error handling.
5747//
5748// This method is useful when you want to inject custom logic or configuration
5749// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5750//
5751//
5752//    // Example sending a request using the CreateNetworkAclEntryRequest method.
5753//    req, resp := client.CreateNetworkAclEntryRequest(params)
5754//
5755//    err := req.Send()
5756//    if err == nil { // resp is now filled
5757//        fmt.Println(resp)
5758//    }
5759//
5760// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
5761func (c *EC2) CreateNetworkAclEntryRequest(input *CreateNetworkAclEntryInput) (req *request.Request, output *CreateNetworkAclEntryOutput) {
5762	op := &request.Operation{
5763		Name:       opCreateNetworkAclEntry,
5764		HTTPMethod: "POST",
5765		HTTPPath:   "/",
5766	}
5767
5768	if input == nil {
5769		input = &CreateNetworkAclEntryInput{}
5770	}
5771
5772	output = &CreateNetworkAclEntryOutput{}
5773	req = c.newRequest(op, input, output)
5774	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5775	return
5776}
5777
5778// CreateNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
5779//
5780// Creates an entry (a rule) in a network ACL with the specified rule number.
5781// Each network ACL has a set of numbered ingress rules and a separate set of
5782// numbered egress rules. When determining whether a packet should be allowed
5783// in or out of a subnet associated with the ACL, we process the entries in
5784// the ACL according to the rule numbers, in ascending order. Each network ACL
5785// has a set of ingress rules and a separate set of egress rules.
5786//
5787// We recommend that you leave room between the rule numbers (for example, 100,
5788// 110, 120, ...), and not number them one right after the other (for example,
5789// 101, 102, 103, ...). This makes it easier to add a rule between existing
5790// ones without having to renumber the rules.
5791//
5792// After you add an entry, you can't modify it; you must either replace it,
5793// or create an entry and delete the old one.
5794//
5795// For more information about network ACLs, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html)
5796// in the Amazon Virtual Private Cloud User Guide.
5797//
5798// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5799// with awserr.Error's Code and Message methods to get detailed information about
5800// the error.
5801//
5802// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5803// API operation CreateNetworkAclEntry for usage and error information.
5804// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
5805func (c *EC2) CreateNetworkAclEntry(input *CreateNetworkAclEntryInput) (*CreateNetworkAclEntryOutput, error) {
5806	req, out := c.CreateNetworkAclEntryRequest(input)
5807	return out, req.Send()
5808}
5809
5810// CreateNetworkAclEntryWithContext is the same as CreateNetworkAclEntry with the addition of
5811// the ability to pass a context and additional request options.
5812//
5813// See CreateNetworkAclEntry for details on how to use this API operation.
5814//
5815// The context must be non-nil and will be used for request cancellation. If
5816// the context is nil a panic will occur. In the future the SDK may create
5817// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5818// for more information on using Contexts.
5819func (c *EC2) CreateNetworkAclEntryWithContext(ctx aws.Context, input *CreateNetworkAclEntryInput, opts ...request.Option) (*CreateNetworkAclEntryOutput, error) {
5820	req, out := c.CreateNetworkAclEntryRequest(input)
5821	req.SetContext(ctx)
5822	req.ApplyOptions(opts...)
5823	return out, req.Send()
5824}
5825
5826const opCreateNetworkInsightsPath = "CreateNetworkInsightsPath"
5827
5828// CreateNetworkInsightsPathRequest generates a "aws/request.Request" representing the
5829// client's request for the CreateNetworkInsightsPath operation. The "output" return
5830// value will be populated with the request's response once the request completes
5831// successfully.
5832//
5833// Use "Send" method on the returned Request to send the API call to the service.
5834// the "output" return value is not valid until after Send returns without error.
5835//
5836// See CreateNetworkInsightsPath for more information on using the CreateNetworkInsightsPath
5837// API call, and error handling.
5838//
5839// This method is useful when you want to inject custom logic or configuration
5840// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5841//
5842//
5843//    // Example sending a request using the CreateNetworkInsightsPathRequest method.
5844//    req, resp := client.CreateNetworkInsightsPathRequest(params)
5845//
5846//    err := req.Send()
5847//    if err == nil { // resp is now filled
5848//        fmt.Println(resp)
5849//    }
5850//
5851// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInsightsPath
5852func (c *EC2) CreateNetworkInsightsPathRequest(input *CreateNetworkInsightsPathInput) (req *request.Request, output *CreateNetworkInsightsPathOutput) {
5853	op := &request.Operation{
5854		Name:       opCreateNetworkInsightsPath,
5855		HTTPMethod: "POST",
5856		HTTPPath:   "/",
5857	}
5858
5859	if input == nil {
5860		input = &CreateNetworkInsightsPathInput{}
5861	}
5862
5863	output = &CreateNetworkInsightsPathOutput{}
5864	req = c.newRequest(op, input, output)
5865	return
5866}
5867
5868// CreateNetworkInsightsPath API operation for Amazon Elastic Compute Cloud.
5869//
5870// Creates a path to analyze for reachability.
5871//
5872// Reachability Analyzer enables you to analyze and debug network reachability
5873// between two resources in your virtual private cloud (VPC). For more information,
5874// see What is Reachability Analyzer (https://docs.aws.amazon.com/vpc/latest/reachability/).
5875//
5876// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5877// with awserr.Error's Code and Message methods to get detailed information about
5878// the error.
5879//
5880// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5881// API operation CreateNetworkInsightsPath for usage and error information.
5882// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInsightsPath
5883func (c *EC2) CreateNetworkInsightsPath(input *CreateNetworkInsightsPathInput) (*CreateNetworkInsightsPathOutput, error) {
5884	req, out := c.CreateNetworkInsightsPathRequest(input)
5885	return out, req.Send()
5886}
5887
5888// CreateNetworkInsightsPathWithContext is the same as CreateNetworkInsightsPath with the addition of
5889// the ability to pass a context and additional request options.
5890//
5891// See CreateNetworkInsightsPath for details on how to use this API operation.
5892//
5893// The context must be non-nil and will be used for request cancellation. If
5894// the context is nil a panic will occur. In the future the SDK may create
5895// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5896// for more information on using Contexts.
5897func (c *EC2) CreateNetworkInsightsPathWithContext(ctx aws.Context, input *CreateNetworkInsightsPathInput, opts ...request.Option) (*CreateNetworkInsightsPathOutput, error) {
5898	req, out := c.CreateNetworkInsightsPathRequest(input)
5899	req.SetContext(ctx)
5900	req.ApplyOptions(opts...)
5901	return out, req.Send()
5902}
5903
5904const opCreateNetworkInterface = "CreateNetworkInterface"
5905
5906// CreateNetworkInterfaceRequest generates a "aws/request.Request" representing the
5907// client's request for the CreateNetworkInterface operation. The "output" return
5908// value will be populated with the request's response once the request completes
5909// successfully.
5910//
5911// Use "Send" method on the returned Request to send the API call to the service.
5912// the "output" return value is not valid until after Send returns without error.
5913//
5914// See CreateNetworkInterface for more information on using the CreateNetworkInterface
5915// API call, and error handling.
5916//
5917// This method is useful when you want to inject custom logic or configuration
5918// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5919//
5920//
5921//    // Example sending a request using the CreateNetworkInterfaceRequest method.
5922//    req, resp := client.CreateNetworkInterfaceRequest(params)
5923//
5924//    err := req.Send()
5925//    if err == nil { // resp is now filled
5926//        fmt.Println(resp)
5927//    }
5928//
5929// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
5930func (c *EC2) CreateNetworkInterfaceRequest(input *CreateNetworkInterfaceInput) (req *request.Request, output *CreateNetworkInterfaceOutput) {
5931	op := &request.Operation{
5932		Name:       opCreateNetworkInterface,
5933		HTTPMethod: "POST",
5934		HTTPPath:   "/",
5935	}
5936
5937	if input == nil {
5938		input = &CreateNetworkInterfaceInput{}
5939	}
5940
5941	output = &CreateNetworkInterfaceOutput{}
5942	req = c.newRequest(op, input, output)
5943	return
5944}
5945
5946// CreateNetworkInterface API operation for Amazon Elastic Compute Cloud.
5947//
5948// Creates a network interface in the specified subnet.
5949//
5950// For more information about network interfaces, see Elastic Network Interfaces
5951// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in the
5952// Amazon Virtual Private Cloud User Guide.
5953//
5954// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5955// with awserr.Error's Code and Message methods to get detailed information about
5956// the error.
5957//
5958// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5959// API operation CreateNetworkInterface for usage and error information.
5960// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
5961func (c *EC2) CreateNetworkInterface(input *CreateNetworkInterfaceInput) (*CreateNetworkInterfaceOutput, error) {
5962	req, out := c.CreateNetworkInterfaceRequest(input)
5963	return out, req.Send()
5964}
5965
5966// CreateNetworkInterfaceWithContext is the same as CreateNetworkInterface with the addition of
5967// the ability to pass a context and additional request options.
5968//
5969// See CreateNetworkInterface for details on how to use this API operation.
5970//
5971// The context must be non-nil and will be used for request cancellation. If
5972// the context is nil a panic will occur. In the future the SDK may create
5973// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5974// for more information on using Contexts.
5975func (c *EC2) CreateNetworkInterfaceWithContext(ctx aws.Context, input *CreateNetworkInterfaceInput, opts ...request.Option) (*CreateNetworkInterfaceOutput, error) {
5976	req, out := c.CreateNetworkInterfaceRequest(input)
5977	req.SetContext(ctx)
5978	req.ApplyOptions(opts...)
5979	return out, req.Send()
5980}
5981
5982const opCreateNetworkInterfacePermission = "CreateNetworkInterfacePermission"
5983
5984// CreateNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
5985// client's request for the CreateNetworkInterfacePermission operation. The "output" return
5986// value will be populated with the request's response once the request completes
5987// successfully.
5988//
5989// Use "Send" method on the returned Request to send the API call to the service.
5990// the "output" return value is not valid until after Send returns without error.
5991//
5992// See CreateNetworkInterfacePermission for more information on using the CreateNetworkInterfacePermission
5993// API call, and error handling.
5994//
5995// This method is useful when you want to inject custom logic or configuration
5996// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5997//
5998//
5999//    // Example sending a request using the CreateNetworkInterfacePermissionRequest method.
6000//    req, resp := client.CreateNetworkInterfacePermissionRequest(params)
6001//
6002//    err := req.Send()
6003//    if err == nil { // resp is now filled
6004//        fmt.Println(resp)
6005//    }
6006//
6007// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission
6008func (c *EC2) CreateNetworkInterfacePermissionRequest(input *CreateNetworkInterfacePermissionInput) (req *request.Request, output *CreateNetworkInterfacePermissionOutput) {
6009	op := &request.Operation{
6010		Name:       opCreateNetworkInterfacePermission,
6011		HTTPMethod: "POST",
6012		HTTPPath:   "/",
6013	}
6014
6015	if input == nil {
6016		input = &CreateNetworkInterfacePermissionInput{}
6017	}
6018
6019	output = &CreateNetworkInterfacePermissionOutput{}
6020	req = c.newRequest(op, input, output)
6021	return
6022}
6023
6024// CreateNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
6025//
6026// Grants an Amazon Web Services-authorized account permission to attach the
6027// specified network interface to an instance in their account.
6028//
6029// You can grant permission to a single Amazon Web Services account only, and
6030// only one account at a time.
6031//
6032// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6033// with awserr.Error's Code and Message methods to get detailed information about
6034// the error.
6035//
6036// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6037// API operation CreateNetworkInterfacePermission for usage and error information.
6038// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission
6039func (c *EC2) CreateNetworkInterfacePermission(input *CreateNetworkInterfacePermissionInput) (*CreateNetworkInterfacePermissionOutput, error) {
6040	req, out := c.CreateNetworkInterfacePermissionRequest(input)
6041	return out, req.Send()
6042}
6043
6044// CreateNetworkInterfacePermissionWithContext is the same as CreateNetworkInterfacePermission with the addition of
6045// the ability to pass a context and additional request options.
6046//
6047// See CreateNetworkInterfacePermission for details on how to use this API operation.
6048//
6049// The context must be non-nil and will be used for request cancellation. If
6050// the context is nil a panic will occur. In the future the SDK may create
6051// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6052// for more information on using Contexts.
6053func (c *EC2) CreateNetworkInterfacePermissionWithContext(ctx aws.Context, input *CreateNetworkInterfacePermissionInput, opts ...request.Option) (*CreateNetworkInterfacePermissionOutput, error) {
6054	req, out := c.CreateNetworkInterfacePermissionRequest(input)
6055	req.SetContext(ctx)
6056	req.ApplyOptions(opts...)
6057	return out, req.Send()
6058}
6059
6060const opCreatePlacementGroup = "CreatePlacementGroup"
6061
6062// CreatePlacementGroupRequest generates a "aws/request.Request" representing the
6063// client's request for the CreatePlacementGroup operation. The "output" return
6064// value will be populated with the request's response once the request completes
6065// successfully.
6066//
6067// Use "Send" method on the returned Request to send the API call to the service.
6068// the "output" return value is not valid until after Send returns without error.
6069//
6070// See CreatePlacementGroup for more information on using the CreatePlacementGroup
6071// API call, and error handling.
6072//
6073// This method is useful when you want to inject custom logic or configuration
6074// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6075//
6076//
6077//    // Example sending a request using the CreatePlacementGroupRequest method.
6078//    req, resp := client.CreatePlacementGroupRequest(params)
6079//
6080//    err := req.Send()
6081//    if err == nil { // resp is now filled
6082//        fmt.Println(resp)
6083//    }
6084//
6085// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
6086func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req *request.Request, output *CreatePlacementGroupOutput) {
6087	op := &request.Operation{
6088		Name:       opCreatePlacementGroup,
6089		HTTPMethod: "POST",
6090		HTTPPath:   "/",
6091	}
6092
6093	if input == nil {
6094		input = &CreatePlacementGroupInput{}
6095	}
6096
6097	output = &CreatePlacementGroupOutput{}
6098	req = c.newRequest(op, input, output)
6099	return
6100}
6101
6102// CreatePlacementGroup API operation for Amazon Elastic Compute Cloud.
6103//
6104// Creates a placement group in which to launch instances. The strategy of the
6105// placement group determines how the instances are organized within the group.
6106//
6107// A cluster placement group is a logical grouping of instances within a single
6108// Availability Zone that benefit from low network latency, high network throughput.
6109// A spread placement group places instances on distinct hardware. A partition
6110// placement group places groups of instances in different partitions, where
6111// instances in one partition do not share the same hardware with instances
6112// in another partition.
6113//
6114// For more information, see Placement groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
6115// in the Amazon EC2 User Guide.
6116//
6117// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6118// with awserr.Error's Code and Message methods to get detailed information about
6119// the error.
6120//
6121// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6122// API operation CreatePlacementGroup for usage and error information.
6123// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
6124func (c *EC2) CreatePlacementGroup(input *CreatePlacementGroupInput) (*CreatePlacementGroupOutput, error) {
6125	req, out := c.CreatePlacementGroupRequest(input)
6126	return out, req.Send()
6127}
6128
6129// CreatePlacementGroupWithContext is the same as CreatePlacementGroup with the addition of
6130// the ability to pass a context and additional request options.
6131//
6132// See CreatePlacementGroup for details on how to use this API operation.
6133//
6134// The context must be non-nil and will be used for request cancellation. If
6135// the context is nil a panic will occur. In the future the SDK may create
6136// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6137// for more information on using Contexts.
6138func (c *EC2) CreatePlacementGroupWithContext(ctx aws.Context, input *CreatePlacementGroupInput, opts ...request.Option) (*CreatePlacementGroupOutput, error) {
6139	req, out := c.CreatePlacementGroupRequest(input)
6140	req.SetContext(ctx)
6141	req.ApplyOptions(opts...)
6142	return out, req.Send()
6143}
6144
6145const opCreateReplaceRootVolumeTask = "CreateReplaceRootVolumeTask"
6146
6147// CreateReplaceRootVolumeTaskRequest generates a "aws/request.Request" representing the
6148// client's request for the CreateReplaceRootVolumeTask operation. The "output" return
6149// value will be populated with the request's response once the request completes
6150// successfully.
6151//
6152// Use "Send" method on the returned Request to send the API call to the service.
6153// the "output" return value is not valid until after Send returns without error.
6154//
6155// See CreateReplaceRootVolumeTask for more information on using the CreateReplaceRootVolumeTask
6156// API call, and error handling.
6157//
6158// This method is useful when you want to inject custom logic or configuration
6159// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6160//
6161//
6162//    // Example sending a request using the CreateReplaceRootVolumeTaskRequest method.
6163//    req, resp := client.CreateReplaceRootVolumeTaskRequest(params)
6164//
6165//    err := req.Send()
6166//    if err == nil { // resp is now filled
6167//        fmt.Println(resp)
6168//    }
6169//
6170// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReplaceRootVolumeTask
6171func (c *EC2) CreateReplaceRootVolumeTaskRequest(input *CreateReplaceRootVolumeTaskInput) (req *request.Request, output *CreateReplaceRootVolumeTaskOutput) {
6172	op := &request.Operation{
6173		Name:       opCreateReplaceRootVolumeTask,
6174		HTTPMethod: "POST",
6175		HTTPPath:   "/",
6176	}
6177
6178	if input == nil {
6179		input = &CreateReplaceRootVolumeTaskInput{}
6180	}
6181
6182	output = &CreateReplaceRootVolumeTaskOutput{}
6183	req = c.newRequest(op, input, output)
6184	return
6185}
6186
6187// CreateReplaceRootVolumeTask API operation for Amazon Elastic Compute Cloud.
6188//
6189// Creates a root volume replacement task for an Amazon EC2 instance. The root
6190// volume can either be restored to its initial launch state, or it can be restored
6191// using a specific snapshot.
6192//
6193// For more information, see Replace a root volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-restoring-volume.html#replace-root)
6194// in the Amazon Elastic Compute Cloud User Guide.
6195//
6196// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6197// with awserr.Error's Code and Message methods to get detailed information about
6198// the error.
6199//
6200// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6201// API operation CreateReplaceRootVolumeTask for usage and error information.
6202// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReplaceRootVolumeTask
6203func (c *EC2) CreateReplaceRootVolumeTask(input *CreateReplaceRootVolumeTaskInput) (*CreateReplaceRootVolumeTaskOutput, error) {
6204	req, out := c.CreateReplaceRootVolumeTaskRequest(input)
6205	return out, req.Send()
6206}
6207
6208// CreateReplaceRootVolumeTaskWithContext is the same as CreateReplaceRootVolumeTask with the addition of
6209// the ability to pass a context and additional request options.
6210//
6211// See CreateReplaceRootVolumeTask for details on how to use this API operation.
6212//
6213// The context must be non-nil and will be used for request cancellation. If
6214// the context is nil a panic will occur. In the future the SDK may create
6215// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6216// for more information on using Contexts.
6217func (c *EC2) CreateReplaceRootVolumeTaskWithContext(ctx aws.Context, input *CreateReplaceRootVolumeTaskInput, opts ...request.Option) (*CreateReplaceRootVolumeTaskOutput, error) {
6218	req, out := c.CreateReplaceRootVolumeTaskRequest(input)
6219	req.SetContext(ctx)
6220	req.ApplyOptions(opts...)
6221	return out, req.Send()
6222}
6223
6224const opCreateReservedInstancesListing = "CreateReservedInstancesListing"
6225
6226// CreateReservedInstancesListingRequest generates a "aws/request.Request" representing the
6227// client's request for the CreateReservedInstancesListing operation. The "output" return
6228// value will be populated with the request's response once the request completes
6229// successfully.
6230//
6231// Use "Send" method on the returned Request to send the API call to the service.
6232// the "output" return value is not valid until after Send returns without error.
6233//
6234// See CreateReservedInstancesListing for more information on using the CreateReservedInstancesListing
6235// API call, and error handling.
6236//
6237// This method is useful when you want to inject custom logic or configuration
6238// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6239//
6240//
6241//    // Example sending a request using the CreateReservedInstancesListingRequest method.
6242//    req, resp := client.CreateReservedInstancesListingRequest(params)
6243//
6244//    err := req.Send()
6245//    if err == nil { // resp is now filled
6246//        fmt.Println(resp)
6247//    }
6248//
6249// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
6250func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstancesListingInput) (req *request.Request, output *CreateReservedInstancesListingOutput) {
6251	op := &request.Operation{
6252		Name:       opCreateReservedInstancesListing,
6253		HTTPMethod: "POST",
6254		HTTPPath:   "/",
6255	}
6256
6257	if input == nil {
6258		input = &CreateReservedInstancesListingInput{}
6259	}
6260
6261	output = &CreateReservedInstancesListingOutput{}
6262	req = c.newRequest(op, input, output)
6263	return
6264}
6265
6266// CreateReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
6267//
6268// Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in
6269// the Reserved Instance Marketplace. You can submit one Standard Reserved Instance
6270// listing at a time. To get a list of your Standard Reserved Instances, you
6271// can use the DescribeReservedInstances operation.
6272//
6273// Only Standard Reserved Instances can be sold in the Reserved Instance Marketplace.
6274// Convertible Reserved Instances cannot be sold.
6275//
6276// The Reserved Instance Marketplace matches sellers who want to resell Standard
6277// Reserved Instance capacity that they no longer need with buyers who want
6278// to purchase additional capacity. Reserved Instances bought and sold through
6279// the Reserved Instance Marketplace work like any other Reserved Instances.
6280//
6281// To sell your Standard Reserved Instances, you must first register as a seller
6282// in the Reserved Instance Marketplace. After completing the registration process,
6283// you can create a Reserved Instance Marketplace listing of some or all of
6284// your Standard Reserved Instances, and specify the upfront price to receive
6285// for them. Your Standard Reserved Instance listings then become available
6286// for purchase. To view the details of your Standard Reserved Instance listing,
6287// you can use the DescribeReservedInstancesListings operation.
6288//
6289// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
6290// in the Amazon EC2 User Guide.
6291//
6292// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6293// with awserr.Error's Code and Message methods to get detailed information about
6294// the error.
6295//
6296// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6297// API operation CreateReservedInstancesListing for usage and error information.
6298// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
6299func (c *EC2) CreateReservedInstancesListing(input *CreateReservedInstancesListingInput) (*CreateReservedInstancesListingOutput, error) {
6300	req, out := c.CreateReservedInstancesListingRequest(input)
6301	return out, req.Send()
6302}
6303
6304// CreateReservedInstancesListingWithContext is the same as CreateReservedInstancesListing with the addition of
6305// the ability to pass a context and additional request options.
6306//
6307// See CreateReservedInstancesListing for details on how to use this API operation.
6308//
6309// The context must be non-nil and will be used for request cancellation. If
6310// the context is nil a panic will occur. In the future the SDK may create
6311// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6312// for more information on using Contexts.
6313func (c *EC2) CreateReservedInstancesListingWithContext(ctx aws.Context, input *CreateReservedInstancesListingInput, opts ...request.Option) (*CreateReservedInstancesListingOutput, error) {
6314	req, out := c.CreateReservedInstancesListingRequest(input)
6315	req.SetContext(ctx)
6316	req.ApplyOptions(opts...)
6317	return out, req.Send()
6318}
6319
6320const opCreateRestoreImageTask = "CreateRestoreImageTask"
6321
6322// CreateRestoreImageTaskRequest generates a "aws/request.Request" representing the
6323// client's request for the CreateRestoreImageTask operation. The "output" return
6324// value will be populated with the request's response once the request completes
6325// successfully.
6326//
6327// Use "Send" method on the returned Request to send the API call to the service.
6328// the "output" return value is not valid until after Send returns without error.
6329//
6330// See CreateRestoreImageTask for more information on using the CreateRestoreImageTask
6331// API call, and error handling.
6332//
6333// This method is useful when you want to inject custom logic or configuration
6334// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6335//
6336//
6337//    // Example sending a request using the CreateRestoreImageTaskRequest method.
6338//    req, resp := client.CreateRestoreImageTaskRequest(params)
6339//
6340//    err := req.Send()
6341//    if err == nil { // resp is now filled
6342//        fmt.Println(resp)
6343//    }
6344//
6345// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRestoreImageTask
6346func (c *EC2) CreateRestoreImageTaskRequest(input *CreateRestoreImageTaskInput) (req *request.Request, output *CreateRestoreImageTaskOutput) {
6347	op := &request.Operation{
6348		Name:       opCreateRestoreImageTask,
6349		HTTPMethod: "POST",
6350		HTTPPath:   "/",
6351	}
6352
6353	if input == nil {
6354		input = &CreateRestoreImageTaskInput{}
6355	}
6356
6357	output = &CreateRestoreImageTaskOutput{}
6358	req = c.newRequest(op, input, output)
6359	return
6360}
6361
6362// CreateRestoreImageTask API operation for Amazon Elastic Compute Cloud.
6363//
6364// Starts a task that restores an AMI from an S3 object that was previously
6365// created by using CreateStoreImageTask (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateStoreImageTask.html).
6366//
6367// To use this API, you must have the required permissions. For more information,
6368// see Permissions for storing and restoring AMIs using S3 (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-store-restore.html#ami-s3-permissions)
6369// in the Amazon Elastic Compute Cloud User Guide.
6370//
6371// For more information, see Store and restore an AMI using S3 (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-store-restore.html)
6372// in the Amazon Elastic Compute Cloud User Guide.
6373//
6374// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6375// with awserr.Error's Code and Message methods to get detailed information about
6376// the error.
6377//
6378// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6379// API operation CreateRestoreImageTask for usage and error information.
6380// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRestoreImageTask
6381func (c *EC2) CreateRestoreImageTask(input *CreateRestoreImageTaskInput) (*CreateRestoreImageTaskOutput, error) {
6382	req, out := c.CreateRestoreImageTaskRequest(input)
6383	return out, req.Send()
6384}
6385
6386// CreateRestoreImageTaskWithContext is the same as CreateRestoreImageTask with the addition of
6387// the ability to pass a context and additional request options.
6388//
6389// See CreateRestoreImageTask for details on how to use this API operation.
6390//
6391// The context must be non-nil and will be used for request cancellation. If
6392// the context is nil a panic will occur. In the future the SDK may create
6393// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6394// for more information on using Contexts.
6395func (c *EC2) CreateRestoreImageTaskWithContext(ctx aws.Context, input *CreateRestoreImageTaskInput, opts ...request.Option) (*CreateRestoreImageTaskOutput, error) {
6396	req, out := c.CreateRestoreImageTaskRequest(input)
6397	req.SetContext(ctx)
6398	req.ApplyOptions(opts...)
6399	return out, req.Send()
6400}
6401
6402const opCreateRoute = "CreateRoute"
6403
6404// CreateRouteRequest generates a "aws/request.Request" representing the
6405// client's request for the CreateRoute operation. The "output" return
6406// value will be populated with the request's response once the request completes
6407// successfully.
6408//
6409// Use "Send" method on the returned Request to send the API call to the service.
6410// the "output" return value is not valid until after Send returns without error.
6411//
6412// See CreateRoute for more information on using the CreateRoute
6413// API call, and error handling.
6414//
6415// This method is useful when you want to inject custom logic or configuration
6416// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6417//
6418//
6419//    // Example sending a request using the CreateRouteRequest method.
6420//    req, resp := client.CreateRouteRequest(params)
6421//
6422//    err := req.Send()
6423//    if err == nil { // resp is now filled
6424//        fmt.Println(resp)
6425//    }
6426//
6427// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
6428func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput) {
6429	op := &request.Operation{
6430		Name:       opCreateRoute,
6431		HTTPMethod: "POST",
6432		HTTPPath:   "/",
6433	}
6434
6435	if input == nil {
6436		input = &CreateRouteInput{}
6437	}
6438
6439	output = &CreateRouteOutput{}
6440	req = c.newRequest(op, input, output)
6441	return
6442}
6443
6444// CreateRoute API operation for Amazon Elastic Compute Cloud.
6445//
6446// Creates a route in a route table within a VPC.
6447//
6448// You must specify one of the following targets: internet gateway or virtual
6449// private gateway, NAT instance, NAT gateway, VPC peering connection, network
6450// interface, egress-only internet gateway, or transit gateway.
6451//
6452// When determining how to route traffic, we use the route with the most specific
6453// match. For example, traffic is destined for the IPv4 address 192.0.2.3, and
6454// the route table includes the following two IPv4 routes:
6455//
6456//    * 192.0.2.0/24 (goes to some target A)
6457//
6458//    * 192.0.2.0/28 (goes to some target B)
6459//
6460// Both routes apply to the traffic destined for 192.0.2.3. However, the second
6461// route in the list covers a smaller number of IP addresses and is therefore
6462// more specific, so we use that route to determine where to target the traffic.
6463//
6464// For more information about route tables, see Route tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
6465// in the Amazon Virtual Private Cloud User Guide.
6466//
6467// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6468// with awserr.Error's Code and Message methods to get detailed information about
6469// the error.
6470//
6471// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6472// API operation CreateRoute for usage and error information.
6473// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
6474func (c *EC2) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) {
6475	req, out := c.CreateRouteRequest(input)
6476	return out, req.Send()
6477}
6478
6479// CreateRouteWithContext is the same as CreateRoute with the addition of
6480// the ability to pass a context and additional request options.
6481//
6482// See CreateRoute for details on how to use this API operation.
6483//
6484// The context must be non-nil and will be used for request cancellation. If
6485// the context is nil a panic will occur. In the future the SDK may create
6486// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6487// for more information on using Contexts.
6488func (c *EC2) CreateRouteWithContext(ctx aws.Context, input *CreateRouteInput, opts ...request.Option) (*CreateRouteOutput, error) {
6489	req, out := c.CreateRouteRequest(input)
6490	req.SetContext(ctx)
6491	req.ApplyOptions(opts...)
6492	return out, req.Send()
6493}
6494
6495const opCreateRouteTable = "CreateRouteTable"
6496
6497// CreateRouteTableRequest generates a "aws/request.Request" representing the
6498// client's request for the CreateRouteTable operation. The "output" return
6499// value will be populated with the request's response once the request completes
6500// successfully.
6501//
6502// Use "Send" method on the returned Request to send the API call to the service.
6503// the "output" return value is not valid until after Send returns without error.
6504//
6505// See CreateRouteTable for more information on using the CreateRouteTable
6506// API call, and error handling.
6507//
6508// This method is useful when you want to inject custom logic or configuration
6509// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6510//
6511//
6512//    // Example sending a request using the CreateRouteTableRequest method.
6513//    req, resp := client.CreateRouteTableRequest(params)
6514//
6515//    err := req.Send()
6516//    if err == nil { // resp is now filled
6517//        fmt.Println(resp)
6518//    }
6519//
6520// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
6521func (c *EC2) CreateRouteTableRequest(input *CreateRouteTableInput) (req *request.Request, output *CreateRouteTableOutput) {
6522	op := &request.Operation{
6523		Name:       opCreateRouteTable,
6524		HTTPMethod: "POST",
6525		HTTPPath:   "/",
6526	}
6527
6528	if input == nil {
6529		input = &CreateRouteTableInput{}
6530	}
6531
6532	output = &CreateRouteTableOutput{}
6533	req = c.newRequest(op, input, output)
6534	return
6535}
6536
6537// CreateRouteTable API operation for Amazon Elastic Compute Cloud.
6538//
6539// Creates a route table for the specified VPC. After you create a route table,
6540// you can add routes and associate the table with a subnet.
6541//
6542// For more information, see Route tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
6543// in the Amazon Virtual Private Cloud User Guide.
6544//
6545// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6546// with awserr.Error's Code and Message methods to get detailed information about
6547// the error.
6548//
6549// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6550// API operation CreateRouteTable for usage and error information.
6551// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
6552func (c *EC2) CreateRouteTable(input *CreateRouteTableInput) (*CreateRouteTableOutput, error) {
6553	req, out := c.CreateRouteTableRequest(input)
6554	return out, req.Send()
6555}
6556
6557// CreateRouteTableWithContext is the same as CreateRouteTable with the addition of
6558// the ability to pass a context and additional request options.
6559//
6560// See CreateRouteTable for details on how to use this API operation.
6561//
6562// The context must be non-nil and will be used for request cancellation. If
6563// the context is nil a panic will occur. In the future the SDK may create
6564// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6565// for more information on using Contexts.
6566func (c *EC2) CreateRouteTableWithContext(ctx aws.Context, input *CreateRouteTableInput, opts ...request.Option) (*CreateRouteTableOutput, error) {
6567	req, out := c.CreateRouteTableRequest(input)
6568	req.SetContext(ctx)
6569	req.ApplyOptions(opts...)
6570	return out, req.Send()
6571}
6572
6573const opCreateSecurityGroup = "CreateSecurityGroup"
6574
6575// CreateSecurityGroupRequest generates a "aws/request.Request" representing the
6576// client's request for the CreateSecurityGroup operation. The "output" return
6577// value will be populated with the request's response once the request completes
6578// successfully.
6579//
6580// Use "Send" method on the returned Request to send the API call to the service.
6581// the "output" return value is not valid until after Send returns without error.
6582//
6583// See CreateSecurityGroup for more information on using the CreateSecurityGroup
6584// API call, and error handling.
6585//
6586// This method is useful when you want to inject custom logic or configuration
6587// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6588//
6589//
6590//    // Example sending a request using the CreateSecurityGroupRequest method.
6591//    req, resp := client.CreateSecurityGroupRequest(params)
6592//
6593//    err := req.Send()
6594//    if err == nil { // resp is now filled
6595//        fmt.Println(resp)
6596//    }
6597//
6598// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
6599func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req *request.Request, output *CreateSecurityGroupOutput) {
6600	op := &request.Operation{
6601		Name:       opCreateSecurityGroup,
6602		HTTPMethod: "POST",
6603		HTTPPath:   "/",
6604	}
6605
6606	if input == nil {
6607		input = &CreateSecurityGroupInput{}
6608	}
6609
6610	output = &CreateSecurityGroupOutput{}
6611	req = c.newRequest(op, input, output)
6612	return
6613}
6614
6615// CreateSecurityGroup API operation for Amazon Elastic Compute Cloud.
6616//
6617// Creates a security group.
6618//
6619// A security group acts as a virtual firewall for your instance to control
6620// inbound and outbound traffic. For more information, see Amazon EC2 security
6621// groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
6622// in the Amazon Elastic Compute Cloud User Guide and Security groups for your
6623// VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
6624// in the Amazon Virtual Private Cloud User Guide.
6625//
6626// When you create a security group, you specify a friendly name of your choice.
6627// You can have a security group for use in EC2-Classic with the same name as
6628// a security group for use in a VPC. However, you can't have two security groups
6629// for use in EC2-Classic with the same name or two security groups for use
6630// in a VPC with the same name.
6631//
6632// You have a default security group for use in EC2-Classic and a default security
6633// group for use in your VPC. If you don't specify a security group when you
6634// launch an instance, the instance is launched into the appropriate default
6635// security group. A default security group includes a default rule that grants
6636// instances unrestricted network access to each other.
6637//
6638// You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress,
6639// AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.
6640//
6641// For more information about VPC security group limits, see Amazon VPC Limits
6642// (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html).
6643//
6644// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6645// with awserr.Error's Code and Message methods to get detailed information about
6646// the error.
6647//
6648// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6649// API operation CreateSecurityGroup for usage and error information.
6650// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
6651func (c *EC2) CreateSecurityGroup(input *CreateSecurityGroupInput) (*CreateSecurityGroupOutput, error) {
6652	req, out := c.CreateSecurityGroupRequest(input)
6653	return out, req.Send()
6654}
6655
6656// CreateSecurityGroupWithContext is the same as CreateSecurityGroup with the addition of
6657// the ability to pass a context and additional request options.
6658//
6659// See CreateSecurityGroup for details on how to use this API operation.
6660//
6661// The context must be non-nil and will be used for request cancellation. If
6662// the context is nil a panic will occur. In the future the SDK may create
6663// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6664// for more information on using Contexts.
6665func (c *EC2) CreateSecurityGroupWithContext(ctx aws.Context, input *CreateSecurityGroupInput, opts ...request.Option) (*CreateSecurityGroupOutput, error) {
6666	req, out := c.CreateSecurityGroupRequest(input)
6667	req.SetContext(ctx)
6668	req.ApplyOptions(opts...)
6669	return out, req.Send()
6670}
6671
6672const opCreateSnapshot = "CreateSnapshot"
6673
6674// CreateSnapshotRequest generates a "aws/request.Request" representing the
6675// client's request for the CreateSnapshot operation. The "output" return
6676// value will be populated with the request's response once the request completes
6677// successfully.
6678//
6679// Use "Send" method on the returned Request to send the API call to the service.
6680// the "output" return value is not valid until after Send returns without error.
6681//
6682// See CreateSnapshot for more information on using the CreateSnapshot
6683// API call, and error handling.
6684//
6685// This method is useful when you want to inject custom logic or configuration
6686// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6687//
6688//
6689//    // Example sending a request using the CreateSnapshotRequest method.
6690//    req, resp := client.CreateSnapshotRequest(params)
6691//
6692//    err := req.Send()
6693//    if err == nil { // resp is now filled
6694//        fmt.Println(resp)
6695//    }
6696//
6697// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
6698func (c *EC2) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *Snapshot) {
6699	op := &request.Operation{
6700		Name:       opCreateSnapshot,
6701		HTTPMethod: "POST",
6702		HTTPPath:   "/",
6703	}
6704
6705	if input == nil {
6706		input = &CreateSnapshotInput{}
6707	}
6708
6709	output = &Snapshot{}
6710	req = c.newRequest(op, input, output)
6711	return
6712}
6713
6714// CreateSnapshot API operation for Amazon Elastic Compute Cloud.
6715//
6716// Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use
6717// snapshots for backups, to make copies of EBS volumes, and to save data before
6718// shutting down an instance.
6719//
6720// You can create snapshots of volumes in a Region and volumes on an Outpost.
6721// If you create a snapshot of a volume in a Region, the snapshot must be stored
6722// in the same Region as the volume. If you create a snapshot of a volume on
6723// an Outpost, the snapshot can be stored on the same Outpost as the volume,
6724// or in the Region for that Outpost.
6725//
6726// When a snapshot is created, any Amazon Web Services Marketplace product codes
6727// that are associated with the source volume are propagated to the snapshot.
6728//
6729// You can take a snapshot of an attached volume that is in use. However, snapshots
6730// only capture data that has been written to your Amazon EBS volume at the
6731// time the snapshot command is issued; this might exclude any data that has
6732// been cached by any applications or the operating system. If you can pause
6733// any file systems on the volume long enough to take a snapshot, your snapshot
6734// should be complete. However, if you cannot pause all file writes to the volume,
6735// you should unmount the volume from within the instance, issue the snapshot
6736// command, and then remount the volume to ensure a consistent and complete
6737// snapshot. You may remount and use your volume while the snapshot status is
6738// pending.
6739//
6740// To create a snapshot for Amazon EBS volumes that serve as root devices, you
6741// should stop the instance before taking the snapshot.
6742//
6743// Snapshots that are taken from encrypted volumes are automatically encrypted.
6744// Volumes that are created from encrypted snapshots are also automatically
6745// encrypted. Your encrypted volumes and any associated snapshots always remain
6746// protected.
6747//
6748// You can tag your snapshots during creation. For more information, see Tag
6749// your Amazon EC2 resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
6750// in the Amazon Elastic Compute Cloud User Guide.
6751//
6752// For more information, see Amazon Elastic Block Store (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)
6753// and Amazon EBS encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
6754// in the Amazon Elastic Compute Cloud User Guide.
6755//
6756// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6757// with awserr.Error's Code and Message methods to get detailed information about
6758// the error.
6759//
6760// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6761// API operation CreateSnapshot for usage and error information.
6762// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
6763func (c *EC2) CreateSnapshot(input *CreateSnapshotInput) (*Snapshot, error) {
6764	req, out := c.CreateSnapshotRequest(input)
6765	return out, req.Send()
6766}
6767
6768// CreateSnapshotWithContext is the same as CreateSnapshot with the addition of
6769// the ability to pass a context and additional request options.
6770//
6771// See CreateSnapshot for details on how to use this API operation.
6772//
6773// The context must be non-nil and will be used for request cancellation. If
6774// the context is nil a panic will occur. In the future the SDK may create
6775// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6776// for more information on using Contexts.
6777func (c *EC2) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*Snapshot, error) {
6778	req, out := c.CreateSnapshotRequest(input)
6779	req.SetContext(ctx)
6780	req.ApplyOptions(opts...)
6781	return out, req.Send()
6782}
6783
6784const opCreateSnapshots = "CreateSnapshots"
6785
6786// CreateSnapshotsRequest generates a "aws/request.Request" representing the
6787// client's request for the CreateSnapshots operation. The "output" return
6788// value will be populated with the request's response once the request completes
6789// successfully.
6790//
6791// Use "Send" method on the returned Request to send the API call to the service.
6792// the "output" return value is not valid until after Send returns without error.
6793//
6794// See CreateSnapshots for more information on using the CreateSnapshots
6795// API call, and error handling.
6796//
6797// This method is useful when you want to inject custom logic or configuration
6798// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6799//
6800//
6801//    // Example sending a request using the CreateSnapshotsRequest method.
6802//    req, resp := client.CreateSnapshotsRequest(params)
6803//
6804//    err := req.Send()
6805//    if err == nil { // resp is now filled
6806//        fmt.Println(resp)
6807//    }
6808//
6809// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshots
6810func (c *EC2) CreateSnapshotsRequest(input *CreateSnapshotsInput) (req *request.Request, output *CreateSnapshotsOutput) {
6811	op := &request.Operation{
6812		Name:       opCreateSnapshots,
6813		HTTPMethod: "POST",
6814		HTTPPath:   "/",
6815	}
6816
6817	if input == nil {
6818		input = &CreateSnapshotsInput{}
6819	}
6820
6821	output = &CreateSnapshotsOutput{}
6822	req = c.newRequest(op, input, output)
6823	return
6824}
6825
6826// CreateSnapshots API operation for Amazon Elastic Compute Cloud.
6827//
6828// Creates crash-consistent snapshots of multiple EBS volumes and stores the
6829// data in S3. Volumes are chosen by specifying an instance. Any attached volumes
6830// will produce one snapshot each that is crash-consistent across the instance.
6831// Boot volumes can be excluded by changing the parameters.
6832//
6833// You can create multi-volume snapshots of instances in a Region and instances
6834// on an Outpost. If you create snapshots from an instance in a Region, the
6835// snapshots must be stored in the same Region as the instance. If you create
6836// snapshots from an instance on an Outpost, the snapshots can be stored on
6837// the same Outpost as the instance, or in the Region for that Outpost.
6838//
6839// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6840// with awserr.Error's Code and Message methods to get detailed information about
6841// the error.
6842//
6843// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6844// API operation CreateSnapshots for usage and error information.
6845// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshots
6846func (c *EC2) CreateSnapshots(input *CreateSnapshotsInput) (*CreateSnapshotsOutput, error) {
6847	req, out := c.CreateSnapshotsRequest(input)
6848	return out, req.Send()
6849}
6850
6851// CreateSnapshotsWithContext is the same as CreateSnapshots with the addition of
6852// the ability to pass a context and additional request options.
6853//
6854// See CreateSnapshots for details on how to use this API operation.
6855//
6856// The context must be non-nil and will be used for request cancellation. If
6857// the context is nil a panic will occur. In the future the SDK may create
6858// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6859// for more information on using Contexts.
6860func (c *EC2) CreateSnapshotsWithContext(ctx aws.Context, input *CreateSnapshotsInput, opts ...request.Option) (*CreateSnapshotsOutput, error) {
6861	req, out := c.CreateSnapshotsRequest(input)
6862	req.SetContext(ctx)
6863	req.ApplyOptions(opts...)
6864	return out, req.Send()
6865}
6866
6867const opCreateSpotDatafeedSubscription = "CreateSpotDatafeedSubscription"
6868
6869// CreateSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
6870// client's request for the CreateSpotDatafeedSubscription operation. The "output" return
6871// value will be populated with the request's response once the request completes
6872// successfully.
6873//
6874// Use "Send" method on the returned Request to send the API call to the service.
6875// the "output" return value is not valid until after Send returns without error.
6876//
6877// See CreateSpotDatafeedSubscription for more information on using the CreateSpotDatafeedSubscription
6878// API call, and error handling.
6879//
6880// This method is useful when you want to inject custom logic or configuration
6881// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6882//
6883//
6884//    // Example sending a request using the CreateSpotDatafeedSubscriptionRequest method.
6885//    req, resp := client.CreateSpotDatafeedSubscriptionRequest(params)
6886//
6887//    err := req.Send()
6888//    if err == nil { // resp is now filled
6889//        fmt.Println(resp)
6890//    }
6891//
6892// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
6893func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSubscriptionInput) (req *request.Request, output *CreateSpotDatafeedSubscriptionOutput) {
6894	op := &request.Operation{
6895		Name:       opCreateSpotDatafeedSubscription,
6896		HTTPMethod: "POST",
6897		HTTPPath:   "/",
6898	}
6899
6900	if input == nil {
6901		input = &CreateSpotDatafeedSubscriptionInput{}
6902	}
6903
6904	output = &CreateSpotDatafeedSubscriptionOutput{}
6905	req = c.newRequest(op, input, output)
6906	return
6907}
6908
6909// CreateSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
6910//
6911// Creates a data feed for Spot Instances, enabling you to view Spot Instance
6912// usage logs. You can create one data feed per Amazon Web Services account.
6913// For more information, see Spot Instance data feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
6914// in the Amazon EC2 User Guide for Linux Instances.
6915//
6916// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6917// with awserr.Error's Code and Message methods to get detailed information about
6918// the error.
6919//
6920// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6921// API operation CreateSpotDatafeedSubscription for usage and error information.
6922// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
6923func (c *EC2) CreateSpotDatafeedSubscription(input *CreateSpotDatafeedSubscriptionInput) (*CreateSpotDatafeedSubscriptionOutput, error) {
6924	req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
6925	return out, req.Send()
6926}
6927
6928// CreateSpotDatafeedSubscriptionWithContext is the same as CreateSpotDatafeedSubscription with the addition of
6929// the ability to pass a context and additional request options.
6930//
6931// See CreateSpotDatafeedSubscription for details on how to use this API operation.
6932//
6933// The context must be non-nil and will be used for request cancellation. If
6934// the context is nil a panic will occur. In the future the SDK may create
6935// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6936// for more information on using Contexts.
6937func (c *EC2) CreateSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *CreateSpotDatafeedSubscriptionInput, opts ...request.Option) (*CreateSpotDatafeedSubscriptionOutput, error) {
6938	req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
6939	req.SetContext(ctx)
6940	req.ApplyOptions(opts...)
6941	return out, req.Send()
6942}
6943
6944const opCreateStoreImageTask = "CreateStoreImageTask"
6945
6946// CreateStoreImageTaskRequest generates a "aws/request.Request" representing the
6947// client's request for the CreateStoreImageTask operation. The "output" return
6948// value will be populated with the request's response once the request completes
6949// successfully.
6950//
6951// Use "Send" method on the returned Request to send the API call to the service.
6952// the "output" return value is not valid until after Send returns without error.
6953//
6954// See CreateStoreImageTask for more information on using the CreateStoreImageTask
6955// API call, and error handling.
6956//
6957// This method is useful when you want to inject custom logic or configuration
6958// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6959//
6960//
6961//    // Example sending a request using the CreateStoreImageTaskRequest method.
6962//    req, resp := client.CreateStoreImageTaskRequest(params)
6963//
6964//    err := req.Send()
6965//    if err == nil { // resp is now filled
6966//        fmt.Println(resp)
6967//    }
6968//
6969// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateStoreImageTask
6970func (c *EC2) CreateStoreImageTaskRequest(input *CreateStoreImageTaskInput) (req *request.Request, output *CreateStoreImageTaskOutput) {
6971	op := &request.Operation{
6972		Name:       opCreateStoreImageTask,
6973		HTTPMethod: "POST",
6974		HTTPPath:   "/",
6975	}
6976
6977	if input == nil {
6978		input = &CreateStoreImageTaskInput{}
6979	}
6980
6981	output = &CreateStoreImageTaskOutput{}
6982	req = c.newRequest(op, input, output)
6983	return
6984}
6985
6986// CreateStoreImageTask API operation for Amazon Elastic Compute Cloud.
6987//
6988// Stores an AMI as a single object in an S3 bucket.
6989//
6990// To use this API, you must have the required permissions. For more information,
6991// see Permissions for storing and restoring AMIs using S3 (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-store-restore.html#ami-s3-permissions)
6992// in the Amazon Elastic Compute Cloud User Guide.
6993//
6994// For more information, see Store and restore an AMI using S3 (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-store-restore.html)
6995// in the Amazon Elastic Compute Cloud User Guide.
6996//
6997// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6998// with awserr.Error's Code and Message methods to get detailed information about
6999// the error.
7000//
7001// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7002// API operation CreateStoreImageTask for usage and error information.
7003// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateStoreImageTask
7004func (c *EC2) CreateStoreImageTask(input *CreateStoreImageTaskInput) (*CreateStoreImageTaskOutput, error) {
7005	req, out := c.CreateStoreImageTaskRequest(input)
7006	return out, req.Send()
7007}
7008
7009// CreateStoreImageTaskWithContext is the same as CreateStoreImageTask with the addition of
7010// the ability to pass a context and additional request options.
7011//
7012// See CreateStoreImageTask for details on how to use this API operation.
7013//
7014// The context must be non-nil and will be used for request cancellation. If
7015// the context is nil a panic will occur. In the future the SDK may create
7016// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7017// for more information on using Contexts.
7018func (c *EC2) CreateStoreImageTaskWithContext(ctx aws.Context, input *CreateStoreImageTaskInput, opts ...request.Option) (*CreateStoreImageTaskOutput, error) {
7019	req, out := c.CreateStoreImageTaskRequest(input)
7020	req.SetContext(ctx)
7021	req.ApplyOptions(opts...)
7022	return out, req.Send()
7023}
7024
7025const opCreateSubnet = "CreateSubnet"
7026
7027// CreateSubnetRequest generates a "aws/request.Request" representing the
7028// client's request for the CreateSubnet operation. The "output" return
7029// value will be populated with the request's response once the request completes
7030// successfully.
7031//
7032// Use "Send" method on the returned Request to send the API call to the service.
7033// the "output" return value is not valid until after Send returns without error.
7034//
7035// See CreateSubnet for more information on using the CreateSubnet
7036// API call, and error handling.
7037//
7038// This method is useful when you want to inject custom logic or configuration
7039// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7040//
7041//
7042//    // Example sending a request using the CreateSubnetRequest method.
7043//    req, resp := client.CreateSubnetRequest(params)
7044//
7045//    err := req.Send()
7046//    if err == nil { // resp is now filled
7047//        fmt.Println(resp)
7048//    }
7049//
7050// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
7051func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Request, output *CreateSubnetOutput) {
7052	op := &request.Operation{
7053		Name:       opCreateSubnet,
7054		HTTPMethod: "POST",
7055		HTTPPath:   "/",
7056	}
7057
7058	if input == nil {
7059		input = &CreateSubnetInput{}
7060	}
7061
7062	output = &CreateSubnetOutput{}
7063	req = c.newRequest(op, input, output)
7064	return
7065}
7066
7067// CreateSubnet API operation for Amazon Elastic Compute Cloud.
7068//
7069// Creates a subnet in a specified VPC.
7070//
7071// You must specify an IPv4 CIDR block for the subnet. After you create a subnet,
7072// you can't change its CIDR block. The allowed block size is between a /16
7073// netmask (65,536 IP addresses) and /28 netmask (16 IP addresses). The CIDR
7074// block must not overlap with the CIDR block of an existing subnet in the VPC.
7075//
7076// If you've associated an IPv6 CIDR block with your VPC, you can create a subnet
7077// with an IPv6 CIDR block that uses a /64 prefix length.
7078//
7079// Amazon Web Services reserves both the first four and the last IPv4 address
7080// in each subnet's CIDR block. They're not available for use.
7081//
7082// If you add more than one subnet to a VPC, they're set up in a star topology
7083// with a logical router in the middle.
7084//
7085// When you stop an instance in a subnet, it retains its private IPv4 address.
7086// It's therefore possible to have a subnet with no running instances (they're
7087// all stopped), but no remaining IP addresses available.
7088//
7089// For more information about subnets, see Your VPC and subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
7090// in the Amazon Virtual Private Cloud User Guide.
7091//
7092// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7093// with awserr.Error's Code and Message methods to get detailed information about
7094// the error.
7095//
7096// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7097// API operation CreateSubnet for usage and error information.
7098// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
7099func (c *EC2) CreateSubnet(input *CreateSubnetInput) (*CreateSubnetOutput, error) {
7100	req, out := c.CreateSubnetRequest(input)
7101	return out, req.Send()
7102}
7103
7104// CreateSubnetWithContext is the same as CreateSubnet with the addition of
7105// the ability to pass a context and additional request options.
7106//
7107// See CreateSubnet for details on how to use this API operation.
7108//
7109// The context must be non-nil and will be used for request cancellation. If
7110// the context is nil a panic will occur. In the future the SDK may create
7111// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7112// for more information on using Contexts.
7113func (c *EC2) CreateSubnetWithContext(ctx aws.Context, input *CreateSubnetInput, opts ...request.Option) (*CreateSubnetOutput, error) {
7114	req, out := c.CreateSubnetRequest(input)
7115	req.SetContext(ctx)
7116	req.ApplyOptions(opts...)
7117	return out, req.Send()
7118}
7119
7120const opCreateSubnetCidrReservation = "CreateSubnetCidrReservation"
7121
7122// CreateSubnetCidrReservationRequest generates a "aws/request.Request" representing the
7123// client's request for the CreateSubnetCidrReservation operation. The "output" return
7124// value will be populated with the request's response once the request completes
7125// successfully.
7126//
7127// Use "Send" method on the returned Request to send the API call to the service.
7128// the "output" return value is not valid until after Send returns without error.
7129//
7130// See CreateSubnetCidrReservation for more information on using the CreateSubnetCidrReservation
7131// API call, and error handling.
7132//
7133// This method is useful when you want to inject custom logic or configuration
7134// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7135//
7136//
7137//    // Example sending a request using the CreateSubnetCidrReservationRequest method.
7138//    req, resp := client.CreateSubnetCidrReservationRequest(params)
7139//
7140//    err := req.Send()
7141//    if err == nil { // resp is now filled
7142//        fmt.Println(resp)
7143//    }
7144//
7145// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnetCidrReservation
7146func (c *EC2) CreateSubnetCidrReservationRequest(input *CreateSubnetCidrReservationInput) (req *request.Request, output *CreateSubnetCidrReservationOutput) {
7147	op := &request.Operation{
7148		Name:       opCreateSubnetCidrReservation,
7149		HTTPMethod: "POST",
7150		HTTPPath:   "/",
7151	}
7152
7153	if input == nil {
7154		input = &CreateSubnetCidrReservationInput{}
7155	}
7156
7157	output = &CreateSubnetCidrReservationOutput{}
7158	req = c.newRequest(op, input, output)
7159	return
7160}
7161
7162// CreateSubnetCidrReservation API operation for Amazon Elastic Compute Cloud.
7163//
7164// Creates a subnet CIDR reservation. For information about subnet CIDR reservations,
7165// see Subnet CIDR reservations (https://docs.aws.amazon.com/vpc/latest/userguide/subnet-cidr-reservation.html)
7166// in the Amazon Virtual Private Cloud User Guide.
7167//
7168// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7169// with awserr.Error's Code and Message methods to get detailed information about
7170// the error.
7171//
7172// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7173// API operation CreateSubnetCidrReservation for usage and error information.
7174// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnetCidrReservation
7175func (c *EC2) CreateSubnetCidrReservation(input *CreateSubnetCidrReservationInput) (*CreateSubnetCidrReservationOutput, error) {
7176	req, out := c.CreateSubnetCidrReservationRequest(input)
7177	return out, req.Send()
7178}
7179
7180// CreateSubnetCidrReservationWithContext is the same as CreateSubnetCidrReservation with the addition of
7181// the ability to pass a context and additional request options.
7182//
7183// See CreateSubnetCidrReservation for details on how to use this API operation.
7184//
7185// The context must be non-nil and will be used for request cancellation. If
7186// the context is nil a panic will occur. In the future the SDK may create
7187// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7188// for more information on using Contexts.
7189func (c *EC2) CreateSubnetCidrReservationWithContext(ctx aws.Context, input *CreateSubnetCidrReservationInput, opts ...request.Option) (*CreateSubnetCidrReservationOutput, error) {
7190	req, out := c.CreateSubnetCidrReservationRequest(input)
7191	req.SetContext(ctx)
7192	req.ApplyOptions(opts...)
7193	return out, req.Send()
7194}
7195
7196const opCreateTags = "CreateTags"
7197
7198// CreateTagsRequest generates a "aws/request.Request" representing the
7199// client's request for the CreateTags operation. The "output" return
7200// value will be populated with the request's response once the request completes
7201// successfully.
7202//
7203// Use "Send" method on the returned Request to send the API call to the service.
7204// the "output" return value is not valid until after Send returns without error.
7205//
7206// See CreateTags for more information on using the CreateTags
7207// API call, and error handling.
7208//
7209// This method is useful when you want to inject custom logic or configuration
7210// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7211//
7212//
7213//    // Example sending a request using the CreateTagsRequest method.
7214//    req, resp := client.CreateTagsRequest(params)
7215//
7216//    err := req.Send()
7217//    if err == nil { // resp is now filled
7218//        fmt.Println(resp)
7219//    }
7220//
7221// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
7222func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
7223	op := &request.Operation{
7224		Name:       opCreateTags,
7225		HTTPMethod: "POST",
7226		HTTPPath:   "/",
7227	}
7228
7229	if input == nil {
7230		input = &CreateTagsInput{}
7231	}
7232
7233	output = &CreateTagsOutput{}
7234	req = c.newRequest(op, input, output)
7235	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7236	return
7237}
7238
7239// CreateTags API operation for Amazon Elastic Compute Cloud.
7240//
7241// Adds or overwrites only the specified tags for the specified Amazon EC2 resource
7242// or resources. When you specify an existing tag key, the value is overwritten
7243// with the new value. Each resource can have a maximum of 50 tags. Each tag
7244// consists of a key and optional value. Tag keys must be unique per resource.
7245//
7246// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
7247// in the Amazon Elastic Compute Cloud User Guide. For more information about
7248// creating IAM policies that control users' access to resources based on tags,
7249// see Supported Resource-Level Permissions for Amazon EC2 API Actions (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html)
7250// in the Amazon Elastic Compute Cloud User Guide.
7251//
7252// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7253// with awserr.Error's Code and Message methods to get detailed information about
7254// the error.
7255//
7256// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7257// API operation CreateTags for usage and error information.
7258// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
7259func (c *EC2) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
7260	req, out := c.CreateTagsRequest(input)
7261	return out, req.Send()
7262}
7263
7264// CreateTagsWithContext is the same as CreateTags with the addition of
7265// the ability to pass a context and additional request options.
7266//
7267// See CreateTags for details on how to use this API operation.
7268//
7269// The context must be non-nil and will be used for request cancellation. If
7270// the context is nil a panic will occur. In the future the SDK may create
7271// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7272// for more information on using Contexts.
7273func (c *EC2) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) {
7274	req, out := c.CreateTagsRequest(input)
7275	req.SetContext(ctx)
7276	req.ApplyOptions(opts...)
7277	return out, req.Send()
7278}
7279
7280const opCreateTrafficMirrorFilter = "CreateTrafficMirrorFilter"
7281
7282// CreateTrafficMirrorFilterRequest generates a "aws/request.Request" representing the
7283// client's request for the CreateTrafficMirrorFilter operation. The "output" return
7284// value will be populated with the request's response once the request completes
7285// successfully.
7286//
7287// Use "Send" method on the returned Request to send the API call to the service.
7288// the "output" return value is not valid until after Send returns without error.
7289//
7290// See CreateTrafficMirrorFilter for more information on using the CreateTrafficMirrorFilter
7291// API call, and error handling.
7292//
7293// This method is useful when you want to inject custom logic or configuration
7294// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7295//
7296//
7297//    // Example sending a request using the CreateTrafficMirrorFilterRequest method.
7298//    req, resp := client.CreateTrafficMirrorFilterRequest(params)
7299//
7300//    err := req.Send()
7301//    if err == nil { // resp is now filled
7302//        fmt.Println(resp)
7303//    }
7304//
7305// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilter
7306func (c *EC2) CreateTrafficMirrorFilterRequest(input *CreateTrafficMirrorFilterInput) (req *request.Request, output *CreateTrafficMirrorFilterOutput) {
7307	op := &request.Operation{
7308		Name:       opCreateTrafficMirrorFilter,
7309		HTTPMethod: "POST",
7310		HTTPPath:   "/",
7311	}
7312
7313	if input == nil {
7314		input = &CreateTrafficMirrorFilterInput{}
7315	}
7316
7317	output = &CreateTrafficMirrorFilterOutput{}
7318	req = c.newRequest(op, input, output)
7319	return
7320}
7321
7322// CreateTrafficMirrorFilter API operation for Amazon Elastic Compute Cloud.
7323//
7324// Creates a Traffic Mirror filter.
7325//
7326// A Traffic Mirror filter is a set of rules that defines the traffic to mirror.
7327//
7328// By default, no traffic is mirrored. To mirror traffic, use CreateTrafficMirrorFilterRule
7329// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorFilterRule.htm)
7330// to add Traffic Mirror rules to the filter. The rules you add define what
7331// traffic gets mirrored. You can also use ModifyTrafficMirrorFilterNetworkServices
7332// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyTrafficMirrorFilterNetworkServices.html)
7333// to mirror supported network services.
7334//
7335// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7336// with awserr.Error's Code and Message methods to get detailed information about
7337// the error.
7338//
7339// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7340// API operation CreateTrafficMirrorFilter for usage and error information.
7341// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilter
7342func (c *EC2) CreateTrafficMirrorFilter(input *CreateTrafficMirrorFilterInput) (*CreateTrafficMirrorFilterOutput, error) {
7343	req, out := c.CreateTrafficMirrorFilterRequest(input)
7344	return out, req.Send()
7345}
7346
7347// CreateTrafficMirrorFilterWithContext is the same as CreateTrafficMirrorFilter with the addition of
7348// the ability to pass a context and additional request options.
7349//
7350// See CreateTrafficMirrorFilter for details on how to use this API operation.
7351//
7352// The context must be non-nil and will be used for request cancellation. If
7353// the context is nil a panic will occur. In the future the SDK may create
7354// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7355// for more information on using Contexts.
7356func (c *EC2) CreateTrafficMirrorFilterWithContext(ctx aws.Context, input *CreateTrafficMirrorFilterInput, opts ...request.Option) (*CreateTrafficMirrorFilterOutput, error) {
7357	req, out := c.CreateTrafficMirrorFilterRequest(input)
7358	req.SetContext(ctx)
7359	req.ApplyOptions(opts...)
7360	return out, req.Send()
7361}
7362
7363const opCreateTrafficMirrorFilterRule = "CreateTrafficMirrorFilterRule"
7364
7365// CreateTrafficMirrorFilterRuleRequest generates a "aws/request.Request" representing the
7366// client's request for the CreateTrafficMirrorFilterRule operation. The "output" return
7367// value will be populated with the request's response once the request completes
7368// successfully.
7369//
7370// Use "Send" method on the returned Request to send the API call to the service.
7371// the "output" return value is not valid until after Send returns without error.
7372//
7373// See CreateTrafficMirrorFilterRule for more information on using the CreateTrafficMirrorFilterRule
7374// API call, and error handling.
7375//
7376// This method is useful when you want to inject custom logic or configuration
7377// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7378//
7379//
7380//    // Example sending a request using the CreateTrafficMirrorFilterRuleRequest method.
7381//    req, resp := client.CreateTrafficMirrorFilterRuleRequest(params)
7382//
7383//    err := req.Send()
7384//    if err == nil { // resp is now filled
7385//        fmt.Println(resp)
7386//    }
7387//
7388// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilterRule
7389func (c *EC2) CreateTrafficMirrorFilterRuleRequest(input *CreateTrafficMirrorFilterRuleInput) (req *request.Request, output *CreateTrafficMirrorFilterRuleOutput) {
7390	op := &request.Operation{
7391		Name:       opCreateTrafficMirrorFilterRule,
7392		HTTPMethod: "POST",
7393		HTTPPath:   "/",
7394	}
7395
7396	if input == nil {
7397		input = &CreateTrafficMirrorFilterRuleInput{}
7398	}
7399
7400	output = &CreateTrafficMirrorFilterRuleOutput{}
7401	req = c.newRequest(op, input, output)
7402	return
7403}
7404
7405// CreateTrafficMirrorFilterRule API operation for Amazon Elastic Compute Cloud.
7406//
7407// Creates a Traffic Mirror filter rule.
7408//
7409// A Traffic Mirror rule defines the Traffic Mirror source traffic to mirror.
7410//
7411// You need the Traffic Mirror filter ID when you create the rule.
7412//
7413// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7414// with awserr.Error's Code and Message methods to get detailed information about
7415// the error.
7416//
7417// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7418// API operation CreateTrafficMirrorFilterRule for usage and error information.
7419// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilterRule
7420func (c *EC2) CreateTrafficMirrorFilterRule(input *CreateTrafficMirrorFilterRuleInput) (*CreateTrafficMirrorFilterRuleOutput, error) {
7421	req, out := c.CreateTrafficMirrorFilterRuleRequest(input)
7422	return out, req.Send()
7423}
7424
7425// CreateTrafficMirrorFilterRuleWithContext is the same as CreateTrafficMirrorFilterRule with the addition of
7426// the ability to pass a context and additional request options.
7427//
7428// See CreateTrafficMirrorFilterRule for details on how to use this API operation.
7429//
7430// The context must be non-nil and will be used for request cancellation. If
7431// the context is nil a panic will occur. In the future the SDK may create
7432// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7433// for more information on using Contexts.
7434func (c *EC2) CreateTrafficMirrorFilterRuleWithContext(ctx aws.Context, input *CreateTrafficMirrorFilterRuleInput, opts ...request.Option) (*CreateTrafficMirrorFilterRuleOutput, error) {
7435	req, out := c.CreateTrafficMirrorFilterRuleRequest(input)
7436	req.SetContext(ctx)
7437	req.ApplyOptions(opts...)
7438	return out, req.Send()
7439}
7440
7441const opCreateTrafficMirrorSession = "CreateTrafficMirrorSession"
7442
7443// CreateTrafficMirrorSessionRequest generates a "aws/request.Request" representing the
7444// client's request for the CreateTrafficMirrorSession operation. The "output" return
7445// value will be populated with the request's response once the request completes
7446// successfully.
7447//
7448// Use "Send" method on the returned Request to send the API call to the service.
7449// the "output" return value is not valid until after Send returns without error.
7450//
7451// See CreateTrafficMirrorSession for more information on using the CreateTrafficMirrorSession
7452// API call, and error handling.
7453//
7454// This method is useful when you want to inject custom logic or configuration
7455// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7456//
7457//
7458//    // Example sending a request using the CreateTrafficMirrorSessionRequest method.
7459//    req, resp := client.CreateTrafficMirrorSessionRequest(params)
7460//
7461//    err := req.Send()
7462//    if err == nil { // resp is now filled
7463//        fmt.Println(resp)
7464//    }
7465//
7466// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorSession
7467func (c *EC2) CreateTrafficMirrorSessionRequest(input *CreateTrafficMirrorSessionInput) (req *request.Request, output *CreateTrafficMirrorSessionOutput) {
7468	op := &request.Operation{
7469		Name:       opCreateTrafficMirrorSession,
7470		HTTPMethod: "POST",
7471		HTTPPath:   "/",
7472	}
7473
7474	if input == nil {
7475		input = &CreateTrafficMirrorSessionInput{}
7476	}
7477
7478	output = &CreateTrafficMirrorSessionOutput{}
7479	req = c.newRequest(op, input, output)
7480	return
7481}
7482
7483// CreateTrafficMirrorSession API operation for Amazon Elastic Compute Cloud.
7484//
7485// Creates a Traffic Mirror session.
7486//
7487// A Traffic Mirror session actively copies packets from a Traffic Mirror source
7488// to a Traffic Mirror target. Create a filter, and then assign it to the session
7489// to define a subset of the traffic to mirror, for example all TCP traffic.
7490//
7491// The Traffic Mirror source and the Traffic Mirror target (monitoring appliances)
7492// can be in the same VPC, or in a different VPC connected via VPC peering or
7493// a transit gateway.
7494//
7495// By default, no traffic is mirrored. Use CreateTrafficMirrorFilter (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorFilter.htm)
7496// to create filter rules that specify the traffic to mirror.
7497//
7498// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7499// with awserr.Error's Code and Message methods to get detailed information about
7500// the error.
7501//
7502// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7503// API operation CreateTrafficMirrorSession for usage and error information.
7504// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorSession
7505func (c *EC2) CreateTrafficMirrorSession(input *CreateTrafficMirrorSessionInput) (*CreateTrafficMirrorSessionOutput, error) {
7506	req, out := c.CreateTrafficMirrorSessionRequest(input)
7507	return out, req.Send()
7508}
7509
7510// CreateTrafficMirrorSessionWithContext is the same as CreateTrafficMirrorSession with the addition of
7511// the ability to pass a context and additional request options.
7512//
7513// See CreateTrafficMirrorSession for details on how to use this API operation.
7514//
7515// The context must be non-nil and will be used for request cancellation. If
7516// the context is nil a panic will occur. In the future the SDK may create
7517// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7518// for more information on using Contexts.
7519func (c *EC2) CreateTrafficMirrorSessionWithContext(ctx aws.Context, input *CreateTrafficMirrorSessionInput, opts ...request.Option) (*CreateTrafficMirrorSessionOutput, error) {
7520	req, out := c.CreateTrafficMirrorSessionRequest(input)
7521	req.SetContext(ctx)
7522	req.ApplyOptions(opts...)
7523	return out, req.Send()
7524}
7525
7526const opCreateTrafficMirrorTarget = "CreateTrafficMirrorTarget"
7527
7528// CreateTrafficMirrorTargetRequest generates a "aws/request.Request" representing the
7529// client's request for the CreateTrafficMirrorTarget operation. The "output" return
7530// value will be populated with the request's response once the request completes
7531// successfully.
7532//
7533// Use "Send" method on the returned Request to send the API call to the service.
7534// the "output" return value is not valid until after Send returns without error.
7535//
7536// See CreateTrafficMirrorTarget for more information on using the CreateTrafficMirrorTarget
7537// API call, and error handling.
7538//
7539// This method is useful when you want to inject custom logic or configuration
7540// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7541//
7542//
7543//    // Example sending a request using the CreateTrafficMirrorTargetRequest method.
7544//    req, resp := client.CreateTrafficMirrorTargetRequest(params)
7545//
7546//    err := req.Send()
7547//    if err == nil { // resp is now filled
7548//        fmt.Println(resp)
7549//    }
7550//
7551// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorTarget
7552func (c *EC2) CreateTrafficMirrorTargetRequest(input *CreateTrafficMirrorTargetInput) (req *request.Request, output *CreateTrafficMirrorTargetOutput) {
7553	op := &request.Operation{
7554		Name:       opCreateTrafficMirrorTarget,
7555		HTTPMethod: "POST",
7556		HTTPPath:   "/",
7557	}
7558
7559	if input == nil {
7560		input = &CreateTrafficMirrorTargetInput{}
7561	}
7562
7563	output = &CreateTrafficMirrorTargetOutput{}
7564	req = c.newRequest(op, input, output)
7565	return
7566}
7567
7568// CreateTrafficMirrorTarget API operation for Amazon Elastic Compute Cloud.
7569//
7570// Creates a target for your Traffic Mirror session.
7571//
7572// A Traffic Mirror target is the destination for mirrored traffic. The Traffic
7573// Mirror source and the Traffic Mirror target (monitoring appliances) can be
7574// in the same VPC, or in different VPCs connected via VPC peering or a transit
7575// gateway.
7576//
7577// A Traffic Mirror target can be a network interface, or a Network Load Balancer.
7578//
7579// To use the target in a Traffic Mirror session, use CreateTrafficMirrorSession
7580// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorSession.htm).
7581//
7582// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7583// with awserr.Error's Code and Message methods to get detailed information about
7584// the error.
7585//
7586// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7587// API operation CreateTrafficMirrorTarget for usage and error information.
7588// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorTarget
7589func (c *EC2) CreateTrafficMirrorTarget(input *CreateTrafficMirrorTargetInput) (*CreateTrafficMirrorTargetOutput, error) {
7590	req, out := c.CreateTrafficMirrorTargetRequest(input)
7591	return out, req.Send()
7592}
7593
7594// CreateTrafficMirrorTargetWithContext is the same as CreateTrafficMirrorTarget with the addition of
7595// the ability to pass a context and additional request options.
7596//
7597// See CreateTrafficMirrorTarget for details on how to use this API operation.
7598//
7599// The context must be non-nil and will be used for request cancellation. If
7600// the context is nil a panic will occur. In the future the SDK may create
7601// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7602// for more information on using Contexts.
7603func (c *EC2) CreateTrafficMirrorTargetWithContext(ctx aws.Context, input *CreateTrafficMirrorTargetInput, opts ...request.Option) (*CreateTrafficMirrorTargetOutput, error) {
7604	req, out := c.CreateTrafficMirrorTargetRequest(input)
7605	req.SetContext(ctx)
7606	req.ApplyOptions(opts...)
7607	return out, req.Send()
7608}
7609
7610const opCreateTransitGateway = "CreateTransitGateway"
7611
7612// CreateTransitGatewayRequest generates a "aws/request.Request" representing the
7613// client's request for the CreateTransitGateway operation. The "output" return
7614// value will be populated with the request's response once the request completes
7615// successfully.
7616//
7617// Use "Send" method on the returned Request to send the API call to the service.
7618// the "output" return value is not valid until after Send returns without error.
7619//
7620// See CreateTransitGateway for more information on using the CreateTransitGateway
7621// API call, and error handling.
7622//
7623// This method is useful when you want to inject custom logic or configuration
7624// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7625//
7626//
7627//    // Example sending a request using the CreateTransitGatewayRequest method.
7628//    req, resp := client.CreateTransitGatewayRequest(params)
7629//
7630//    err := req.Send()
7631//    if err == nil { // resp is now filled
7632//        fmt.Println(resp)
7633//    }
7634//
7635// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGateway
7636func (c *EC2) CreateTransitGatewayRequest(input *CreateTransitGatewayInput) (req *request.Request, output *CreateTransitGatewayOutput) {
7637	op := &request.Operation{
7638		Name:       opCreateTransitGateway,
7639		HTTPMethod: "POST",
7640		HTTPPath:   "/",
7641	}
7642
7643	if input == nil {
7644		input = &CreateTransitGatewayInput{}
7645	}
7646
7647	output = &CreateTransitGatewayOutput{}
7648	req = c.newRequest(op, input, output)
7649	return
7650}
7651
7652// CreateTransitGateway API operation for Amazon Elastic Compute Cloud.
7653//
7654// Creates a transit gateway.
7655//
7656// You can use a transit gateway to interconnect your virtual private clouds
7657// (VPC) and on-premises networks. After the transit gateway enters the available
7658// state, you can attach your VPCs and VPN connections to the transit gateway.
7659//
7660// To attach your VPCs, use CreateTransitGatewayVpcAttachment.
7661//
7662// To attach a VPN connection, use CreateCustomerGateway to create a customer
7663// gateway and specify the ID of the customer gateway and the ID of the transit
7664// gateway in a call to CreateVpnConnection.
7665//
7666// When you create a transit gateway, we create a default transit gateway route
7667// table and use it as the default association route table and the default propagation
7668// route table. You can use CreateTransitGatewayRouteTable to create additional
7669// transit gateway route tables. If you disable automatic route propagation,
7670// we do not create a default transit gateway route table. You can use EnableTransitGatewayRouteTablePropagation
7671// to propagate routes from a resource attachment to a transit gateway route
7672// table. If you disable automatic associations, you can use AssociateTransitGatewayRouteTable
7673// to associate a resource attachment with a transit gateway route table.
7674//
7675// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7676// with awserr.Error's Code and Message methods to get detailed information about
7677// the error.
7678//
7679// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7680// API operation CreateTransitGateway for usage and error information.
7681// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGateway
7682func (c *EC2) CreateTransitGateway(input *CreateTransitGatewayInput) (*CreateTransitGatewayOutput, error) {
7683	req, out := c.CreateTransitGatewayRequest(input)
7684	return out, req.Send()
7685}
7686
7687// CreateTransitGatewayWithContext is the same as CreateTransitGateway with the addition of
7688// the ability to pass a context and additional request options.
7689//
7690// See CreateTransitGateway for details on how to use this API operation.
7691//
7692// The context must be non-nil and will be used for request cancellation. If
7693// the context is nil a panic will occur. In the future the SDK may create
7694// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7695// for more information on using Contexts.
7696func (c *EC2) CreateTransitGatewayWithContext(ctx aws.Context, input *CreateTransitGatewayInput, opts ...request.Option) (*CreateTransitGatewayOutput, error) {
7697	req, out := c.CreateTransitGatewayRequest(input)
7698	req.SetContext(ctx)
7699	req.ApplyOptions(opts...)
7700	return out, req.Send()
7701}
7702
7703const opCreateTransitGatewayConnect = "CreateTransitGatewayConnect"
7704
7705// CreateTransitGatewayConnectRequest generates a "aws/request.Request" representing the
7706// client's request for the CreateTransitGatewayConnect operation. The "output" return
7707// value will be populated with the request's response once the request completes
7708// successfully.
7709//
7710// Use "Send" method on the returned Request to send the API call to the service.
7711// the "output" return value is not valid until after Send returns without error.
7712//
7713// See CreateTransitGatewayConnect for more information on using the CreateTransitGatewayConnect
7714// API call, and error handling.
7715//
7716// This method is useful when you want to inject custom logic or configuration
7717// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7718//
7719//
7720//    // Example sending a request using the CreateTransitGatewayConnectRequest method.
7721//    req, resp := client.CreateTransitGatewayConnectRequest(params)
7722//
7723//    err := req.Send()
7724//    if err == nil { // resp is now filled
7725//        fmt.Println(resp)
7726//    }
7727//
7728// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayConnect
7729func (c *EC2) CreateTransitGatewayConnectRequest(input *CreateTransitGatewayConnectInput) (req *request.Request, output *CreateTransitGatewayConnectOutput) {
7730	op := &request.Operation{
7731		Name:       opCreateTransitGatewayConnect,
7732		HTTPMethod: "POST",
7733		HTTPPath:   "/",
7734	}
7735
7736	if input == nil {
7737		input = &CreateTransitGatewayConnectInput{}
7738	}
7739
7740	output = &CreateTransitGatewayConnectOutput{}
7741	req = c.newRequest(op, input, output)
7742	return
7743}
7744
7745// CreateTransitGatewayConnect API operation for Amazon Elastic Compute Cloud.
7746//
7747// Creates a Connect attachment from a specified transit gateway attachment.
7748// A Connect attachment is a GRE-based tunnel attachment that you can use to
7749// establish a connection between a transit gateway and an appliance.
7750//
7751// A Connect attachment uses an existing VPC or Amazon Web Services Direct Connect
7752// attachment as the underlying transport mechanism.
7753//
7754// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7755// with awserr.Error's Code and Message methods to get detailed information about
7756// the error.
7757//
7758// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7759// API operation CreateTransitGatewayConnect for usage and error information.
7760// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayConnect
7761func (c *EC2) CreateTransitGatewayConnect(input *CreateTransitGatewayConnectInput) (*CreateTransitGatewayConnectOutput, error) {
7762	req, out := c.CreateTransitGatewayConnectRequest(input)
7763	return out, req.Send()
7764}
7765
7766// CreateTransitGatewayConnectWithContext is the same as CreateTransitGatewayConnect with the addition of
7767// the ability to pass a context and additional request options.
7768//
7769// See CreateTransitGatewayConnect for details on how to use this API operation.
7770//
7771// The context must be non-nil and will be used for request cancellation. If
7772// the context is nil a panic will occur. In the future the SDK may create
7773// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7774// for more information on using Contexts.
7775func (c *EC2) CreateTransitGatewayConnectWithContext(ctx aws.Context, input *CreateTransitGatewayConnectInput, opts ...request.Option) (*CreateTransitGatewayConnectOutput, error) {
7776	req, out := c.CreateTransitGatewayConnectRequest(input)
7777	req.SetContext(ctx)
7778	req.ApplyOptions(opts...)
7779	return out, req.Send()
7780}
7781
7782const opCreateTransitGatewayConnectPeer = "CreateTransitGatewayConnectPeer"
7783
7784// CreateTransitGatewayConnectPeerRequest generates a "aws/request.Request" representing the
7785// client's request for the CreateTransitGatewayConnectPeer operation. The "output" return
7786// value will be populated with the request's response once the request completes
7787// successfully.
7788//
7789// Use "Send" method on the returned Request to send the API call to the service.
7790// the "output" return value is not valid until after Send returns without error.
7791//
7792// See CreateTransitGatewayConnectPeer for more information on using the CreateTransitGatewayConnectPeer
7793// API call, and error handling.
7794//
7795// This method is useful when you want to inject custom logic or configuration
7796// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7797//
7798//
7799//    // Example sending a request using the CreateTransitGatewayConnectPeerRequest method.
7800//    req, resp := client.CreateTransitGatewayConnectPeerRequest(params)
7801//
7802//    err := req.Send()
7803//    if err == nil { // resp is now filled
7804//        fmt.Println(resp)
7805//    }
7806//
7807// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayConnectPeer
7808func (c *EC2) CreateTransitGatewayConnectPeerRequest(input *CreateTransitGatewayConnectPeerInput) (req *request.Request, output *CreateTransitGatewayConnectPeerOutput) {
7809	op := &request.Operation{
7810		Name:       opCreateTransitGatewayConnectPeer,
7811		HTTPMethod: "POST",
7812		HTTPPath:   "/",
7813	}
7814
7815	if input == nil {
7816		input = &CreateTransitGatewayConnectPeerInput{}
7817	}
7818
7819	output = &CreateTransitGatewayConnectPeerOutput{}
7820	req = c.newRequest(op, input, output)
7821	return
7822}
7823
7824// CreateTransitGatewayConnectPeer API operation for Amazon Elastic Compute Cloud.
7825//
7826// Creates a Connect peer for a specified transit gateway Connect attachment
7827// between a transit gateway and an appliance.
7828//
7829// The peer address and transit gateway address must be the same IP address
7830// family (IPv4 or IPv6).
7831//
7832// For more information, see Connect peers (https://docs.aws.amazon.com/vpc/latest/tgw/tgw-connect.html#tgw-connect-peer)
7833// in the Transit Gateways Guide.
7834//
7835// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7836// with awserr.Error's Code and Message methods to get detailed information about
7837// the error.
7838//
7839// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7840// API operation CreateTransitGatewayConnectPeer for usage and error information.
7841// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayConnectPeer
7842func (c *EC2) CreateTransitGatewayConnectPeer(input *CreateTransitGatewayConnectPeerInput) (*CreateTransitGatewayConnectPeerOutput, error) {
7843	req, out := c.CreateTransitGatewayConnectPeerRequest(input)
7844	return out, req.Send()
7845}
7846
7847// CreateTransitGatewayConnectPeerWithContext is the same as CreateTransitGatewayConnectPeer with the addition of
7848// the ability to pass a context and additional request options.
7849//
7850// See CreateTransitGatewayConnectPeer for details on how to use this API operation.
7851//
7852// The context must be non-nil and will be used for request cancellation. If
7853// the context is nil a panic will occur. In the future the SDK may create
7854// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7855// for more information on using Contexts.
7856func (c *EC2) CreateTransitGatewayConnectPeerWithContext(ctx aws.Context, input *CreateTransitGatewayConnectPeerInput, opts ...request.Option) (*CreateTransitGatewayConnectPeerOutput, error) {
7857	req, out := c.CreateTransitGatewayConnectPeerRequest(input)
7858	req.SetContext(ctx)
7859	req.ApplyOptions(opts...)
7860	return out, req.Send()
7861}
7862
7863const opCreateTransitGatewayMulticastDomain = "CreateTransitGatewayMulticastDomain"
7864
7865// CreateTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
7866// client's request for the CreateTransitGatewayMulticastDomain operation. The "output" return
7867// value will be populated with the request's response once the request completes
7868// successfully.
7869//
7870// Use "Send" method on the returned Request to send the API call to the service.
7871// the "output" return value is not valid until after Send returns without error.
7872//
7873// See CreateTransitGatewayMulticastDomain for more information on using the CreateTransitGatewayMulticastDomain
7874// API call, and error handling.
7875//
7876// This method is useful when you want to inject custom logic or configuration
7877// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7878//
7879//
7880//    // Example sending a request using the CreateTransitGatewayMulticastDomainRequest method.
7881//    req, resp := client.CreateTransitGatewayMulticastDomainRequest(params)
7882//
7883//    err := req.Send()
7884//    if err == nil { // resp is now filled
7885//        fmt.Println(resp)
7886//    }
7887//
7888// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayMulticastDomain
7889func (c *EC2) CreateTransitGatewayMulticastDomainRequest(input *CreateTransitGatewayMulticastDomainInput) (req *request.Request, output *CreateTransitGatewayMulticastDomainOutput) {
7890	op := &request.Operation{
7891		Name:       opCreateTransitGatewayMulticastDomain,
7892		HTTPMethod: "POST",
7893		HTTPPath:   "/",
7894	}
7895
7896	if input == nil {
7897		input = &CreateTransitGatewayMulticastDomainInput{}
7898	}
7899
7900	output = &CreateTransitGatewayMulticastDomainOutput{}
7901	req = c.newRequest(op, input, output)
7902	return
7903}
7904
7905// CreateTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
7906//
7907// Creates a multicast domain using the specified transit gateway.
7908//
7909// The transit gateway must be in the available state before you create a domain.
7910// Use DescribeTransitGateways (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGateways.html)
7911// to see the state of transit gateway.
7912//
7913// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7914// with awserr.Error's Code and Message methods to get detailed information about
7915// the error.
7916//
7917// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7918// API operation CreateTransitGatewayMulticastDomain for usage and error information.
7919// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayMulticastDomain
7920func (c *EC2) CreateTransitGatewayMulticastDomain(input *CreateTransitGatewayMulticastDomainInput) (*CreateTransitGatewayMulticastDomainOutput, error) {
7921	req, out := c.CreateTransitGatewayMulticastDomainRequest(input)
7922	return out, req.Send()
7923}
7924
7925// CreateTransitGatewayMulticastDomainWithContext is the same as CreateTransitGatewayMulticastDomain with the addition of
7926// the ability to pass a context and additional request options.
7927//
7928// See CreateTransitGatewayMulticastDomain for details on how to use this API operation.
7929//
7930// The context must be non-nil and will be used for request cancellation. If
7931// the context is nil a panic will occur. In the future the SDK may create
7932// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7933// for more information on using Contexts.
7934func (c *EC2) CreateTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *CreateTransitGatewayMulticastDomainInput, opts ...request.Option) (*CreateTransitGatewayMulticastDomainOutput, error) {
7935	req, out := c.CreateTransitGatewayMulticastDomainRequest(input)
7936	req.SetContext(ctx)
7937	req.ApplyOptions(opts...)
7938	return out, req.Send()
7939}
7940
7941const opCreateTransitGatewayPeeringAttachment = "CreateTransitGatewayPeeringAttachment"
7942
7943// CreateTransitGatewayPeeringAttachmentRequest generates a "aws/request.Request" representing the
7944// client's request for the CreateTransitGatewayPeeringAttachment operation. The "output" return
7945// value will be populated with the request's response once the request completes
7946// successfully.
7947//
7948// Use "Send" method on the returned Request to send the API call to the service.
7949// the "output" return value is not valid until after Send returns without error.
7950//
7951// See CreateTransitGatewayPeeringAttachment for more information on using the CreateTransitGatewayPeeringAttachment
7952// API call, and error handling.
7953//
7954// This method is useful when you want to inject custom logic or configuration
7955// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7956//
7957//
7958//    // Example sending a request using the CreateTransitGatewayPeeringAttachmentRequest method.
7959//    req, resp := client.CreateTransitGatewayPeeringAttachmentRequest(params)
7960//
7961//    err := req.Send()
7962//    if err == nil { // resp is now filled
7963//        fmt.Println(resp)
7964//    }
7965//
7966// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPeeringAttachment
7967func (c *EC2) CreateTransitGatewayPeeringAttachmentRequest(input *CreateTransitGatewayPeeringAttachmentInput) (req *request.Request, output *CreateTransitGatewayPeeringAttachmentOutput) {
7968	op := &request.Operation{
7969		Name:       opCreateTransitGatewayPeeringAttachment,
7970		HTTPMethod: "POST",
7971		HTTPPath:   "/",
7972	}
7973
7974	if input == nil {
7975		input = &CreateTransitGatewayPeeringAttachmentInput{}
7976	}
7977
7978	output = &CreateTransitGatewayPeeringAttachmentOutput{}
7979	req = c.newRequest(op, input, output)
7980	return
7981}
7982
7983// CreateTransitGatewayPeeringAttachment API operation for Amazon Elastic Compute Cloud.
7984//
7985// Requests a transit gateway peering attachment between the specified transit
7986// gateway (requester) and a peer transit gateway (accepter). The transit gateways
7987// must be in different Regions. The peer transit gateway can be in your account
7988// or a different Amazon Web Services account.
7989//
7990// After you create the peering attachment, the owner of the accepter transit
7991// gateway must accept the attachment request.
7992//
7993// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7994// with awserr.Error's Code and Message methods to get detailed information about
7995// the error.
7996//
7997// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7998// API operation CreateTransitGatewayPeeringAttachment for usage and error information.
7999// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPeeringAttachment
8000func (c *EC2) CreateTransitGatewayPeeringAttachment(input *CreateTransitGatewayPeeringAttachmentInput) (*CreateTransitGatewayPeeringAttachmentOutput, error) {
8001	req, out := c.CreateTransitGatewayPeeringAttachmentRequest(input)
8002	return out, req.Send()
8003}
8004
8005// CreateTransitGatewayPeeringAttachmentWithContext is the same as CreateTransitGatewayPeeringAttachment with the addition of
8006// the ability to pass a context and additional request options.
8007//
8008// See CreateTransitGatewayPeeringAttachment for details on how to use this API operation.
8009//
8010// The context must be non-nil and will be used for request cancellation. If
8011// the context is nil a panic will occur. In the future the SDK may create
8012// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8013// for more information on using Contexts.
8014func (c *EC2) CreateTransitGatewayPeeringAttachmentWithContext(ctx aws.Context, input *CreateTransitGatewayPeeringAttachmentInput, opts ...request.Option) (*CreateTransitGatewayPeeringAttachmentOutput, error) {
8015	req, out := c.CreateTransitGatewayPeeringAttachmentRequest(input)
8016	req.SetContext(ctx)
8017	req.ApplyOptions(opts...)
8018	return out, req.Send()
8019}
8020
8021const opCreateTransitGatewayPrefixListReference = "CreateTransitGatewayPrefixListReference"
8022
8023// CreateTransitGatewayPrefixListReferenceRequest generates a "aws/request.Request" representing the
8024// client's request for the CreateTransitGatewayPrefixListReference operation. The "output" return
8025// value will be populated with the request's response once the request completes
8026// successfully.
8027//
8028// Use "Send" method on the returned Request to send the API call to the service.
8029// the "output" return value is not valid until after Send returns without error.
8030//
8031// See CreateTransitGatewayPrefixListReference for more information on using the CreateTransitGatewayPrefixListReference
8032// API call, and error handling.
8033//
8034// This method is useful when you want to inject custom logic or configuration
8035// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8036//
8037//
8038//    // Example sending a request using the CreateTransitGatewayPrefixListReferenceRequest method.
8039//    req, resp := client.CreateTransitGatewayPrefixListReferenceRequest(params)
8040//
8041//    err := req.Send()
8042//    if err == nil { // resp is now filled
8043//        fmt.Println(resp)
8044//    }
8045//
8046// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPrefixListReference
8047func (c *EC2) CreateTransitGatewayPrefixListReferenceRequest(input *CreateTransitGatewayPrefixListReferenceInput) (req *request.Request, output *CreateTransitGatewayPrefixListReferenceOutput) {
8048	op := &request.Operation{
8049		Name:       opCreateTransitGatewayPrefixListReference,
8050		HTTPMethod: "POST",
8051		HTTPPath:   "/",
8052	}
8053
8054	if input == nil {
8055		input = &CreateTransitGatewayPrefixListReferenceInput{}
8056	}
8057
8058	output = &CreateTransitGatewayPrefixListReferenceOutput{}
8059	req = c.newRequest(op, input, output)
8060	return
8061}
8062
8063// CreateTransitGatewayPrefixListReference API operation for Amazon Elastic Compute Cloud.
8064//
8065// Creates a reference (route) to a prefix list in a specified transit gateway
8066// route table.
8067//
8068// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8069// with awserr.Error's Code and Message methods to get detailed information about
8070// the error.
8071//
8072// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8073// API operation CreateTransitGatewayPrefixListReference for usage and error information.
8074// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPrefixListReference
8075func (c *EC2) CreateTransitGatewayPrefixListReference(input *CreateTransitGatewayPrefixListReferenceInput) (*CreateTransitGatewayPrefixListReferenceOutput, error) {
8076	req, out := c.CreateTransitGatewayPrefixListReferenceRequest(input)
8077	return out, req.Send()
8078}
8079
8080// CreateTransitGatewayPrefixListReferenceWithContext is the same as CreateTransitGatewayPrefixListReference with the addition of
8081// the ability to pass a context and additional request options.
8082//
8083// See CreateTransitGatewayPrefixListReference for details on how to use this API operation.
8084//
8085// The context must be non-nil and will be used for request cancellation. If
8086// the context is nil a panic will occur. In the future the SDK may create
8087// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8088// for more information on using Contexts.
8089func (c *EC2) CreateTransitGatewayPrefixListReferenceWithContext(ctx aws.Context, input *CreateTransitGatewayPrefixListReferenceInput, opts ...request.Option) (*CreateTransitGatewayPrefixListReferenceOutput, error) {
8090	req, out := c.CreateTransitGatewayPrefixListReferenceRequest(input)
8091	req.SetContext(ctx)
8092	req.ApplyOptions(opts...)
8093	return out, req.Send()
8094}
8095
8096const opCreateTransitGatewayRoute = "CreateTransitGatewayRoute"
8097
8098// CreateTransitGatewayRouteRequest generates a "aws/request.Request" representing the
8099// client's request for the CreateTransitGatewayRoute operation. The "output" return
8100// value will be populated with the request's response once the request completes
8101// successfully.
8102//
8103// Use "Send" method on the returned Request to send the API call to the service.
8104// the "output" return value is not valid until after Send returns without error.
8105//
8106// See CreateTransitGatewayRoute for more information on using the CreateTransitGatewayRoute
8107// API call, and error handling.
8108//
8109// This method is useful when you want to inject custom logic or configuration
8110// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8111//
8112//
8113//    // Example sending a request using the CreateTransitGatewayRouteRequest method.
8114//    req, resp := client.CreateTransitGatewayRouteRequest(params)
8115//
8116//    err := req.Send()
8117//    if err == nil { // resp is now filled
8118//        fmt.Println(resp)
8119//    }
8120//
8121// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRoute
8122func (c *EC2) CreateTransitGatewayRouteRequest(input *CreateTransitGatewayRouteInput) (req *request.Request, output *CreateTransitGatewayRouteOutput) {
8123	op := &request.Operation{
8124		Name:       opCreateTransitGatewayRoute,
8125		HTTPMethod: "POST",
8126		HTTPPath:   "/",
8127	}
8128
8129	if input == nil {
8130		input = &CreateTransitGatewayRouteInput{}
8131	}
8132
8133	output = &CreateTransitGatewayRouteOutput{}
8134	req = c.newRequest(op, input, output)
8135	return
8136}
8137
8138// CreateTransitGatewayRoute API operation for Amazon Elastic Compute Cloud.
8139//
8140// Creates a static route for the specified transit gateway route table.
8141//
8142// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8143// with awserr.Error's Code and Message methods to get detailed information about
8144// the error.
8145//
8146// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8147// API operation CreateTransitGatewayRoute for usage and error information.
8148// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRoute
8149func (c *EC2) CreateTransitGatewayRoute(input *CreateTransitGatewayRouteInput) (*CreateTransitGatewayRouteOutput, error) {
8150	req, out := c.CreateTransitGatewayRouteRequest(input)
8151	return out, req.Send()
8152}
8153
8154// CreateTransitGatewayRouteWithContext is the same as CreateTransitGatewayRoute with the addition of
8155// the ability to pass a context and additional request options.
8156//
8157// See CreateTransitGatewayRoute for details on how to use this API operation.
8158//
8159// The context must be non-nil and will be used for request cancellation. If
8160// the context is nil a panic will occur. In the future the SDK may create
8161// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8162// for more information on using Contexts.
8163func (c *EC2) CreateTransitGatewayRouteWithContext(ctx aws.Context, input *CreateTransitGatewayRouteInput, opts ...request.Option) (*CreateTransitGatewayRouteOutput, error) {
8164	req, out := c.CreateTransitGatewayRouteRequest(input)
8165	req.SetContext(ctx)
8166	req.ApplyOptions(opts...)
8167	return out, req.Send()
8168}
8169
8170const opCreateTransitGatewayRouteTable = "CreateTransitGatewayRouteTable"
8171
8172// CreateTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
8173// client's request for the CreateTransitGatewayRouteTable operation. The "output" return
8174// value will be populated with the request's response once the request completes
8175// successfully.
8176//
8177// Use "Send" method on the returned Request to send the API call to the service.
8178// the "output" return value is not valid until after Send returns without error.
8179//
8180// See CreateTransitGatewayRouteTable for more information on using the CreateTransitGatewayRouteTable
8181// API call, and error handling.
8182//
8183// This method is useful when you want to inject custom logic or configuration
8184// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8185//
8186//
8187//    // Example sending a request using the CreateTransitGatewayRouteTableRequest method.
8188//    req, resp := client.CreateTransitGatewayRouteTableRequest(params)
8189//
8190//    err := req.Send()
8191//    if err == nil { // resp is now filled
8192//        fmt.Println(resp)
8193//    }
8194//
8195// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRouteTable
8196func (c *EC2) CreateTransitGatewayRouteTableRequest(input *CreateTransitGatewayRouteTableInput) (req *request.Request, output *CreateTransitGatewayRouteTableOutput) {
8197	op := &request.Operation{
8198		Name:       opCreateTransitGatewayRouteTable,
8199		HTTPMethod: "POST",
8200		HTTPPath:   "/",
8201	}
8202
8203	if input == nil {
8204		input = &CreateTransitGatewayRouteTableInput{}
8205	}
8206
8207	output = &CreateTransitGatewayRouteTableOutput{}
8208	req = c.newRequest(op, input, output)
8209	return
8210}
8211
8212// CreateTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
8213//
8214// Creates a route table for the specified transit gateway.
8215//
8216// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8217// with awserr.Error's Code and Message methods to get detailed information about
8218// the error.
8219//
8220// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8221// API operation CreateTransitGatewayRouteTable for usage and error information.
8222// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRouteTable
8223func (c *EC2) CreateTransitGatewayRouteTable(input *CreateTransitGatewayRouteTableInput) (*CreateTransitGatewayRouteTableOutput, error) {
8224	req, out := c.CreateTransitGatewayRouteTableRequest(input)
8225	return out, req.Send()
8226}
8227
8228// CreateTransitGatewayRouteTableWithContext is the same as CreateTransitGatewayRouteTable with the addition of
8229// the ability to pass a context and additional request options.
8230//
8231// See CreateTransitGatewayRouteTable for details on how to use this API operation.
8232//
8233// The context must be non-nil and will be used for request cancellation. If
8234// the context is nil a panic will occur. In the future the SDK may create
8235// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8236// for more information on using Contexts.
8237func (c *EC2) CreateTransitGatewayRouteTableWithContext(ctx aws.Context, input *CreateTransitGatewayRouteTableInput, opts ...request.Option) (*CreateTransitGatewayRouteTableOutput, error) {
8238	req, out := c.CreateTransitGatewayRouteTableRequest(input)
8239	req.SetContext(ctx)
8240	req.ApplyOptions(opts...)
8241	return out, req.Send()
8242}
8243
8244const opCreateTransitGatewayVpcAttachment = "CreateTransitGatewayVpcAttachment"
8245
8246// CreateTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
8247// client's request for the CreateTransitGatewayVpcAttachment operation. The "output" return
8248// value will be populated with the request's response once the request completes
8249// successfully.
8250//
8251// Use "Send" method on the returned Request to send the API call to the service.
8252// the "output" return value is not valid until after Send returns without error.
8253//
8254// See CreateTransitGatewayVpcAttachment for more information on using the CreateTransitGatewayVpcAttachment
8255// API call, and error handling.
8256//
8257// This method is useful when you want to inject custom logic or configuration
8258// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8259//
8260//
8261//    // Example sending a request using the CreateTransitGatewayVpcAttachmentRequest method.
8262//    req, resp := client.CreateTransitGatewayVpcAttachmentRequest(params)
8263//
8264//    err := req.Send()
8265//    if err == nil { // resp is now filled
8266//        fmt.Println(resp)
8267//    }
8268//
8269// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayVpcAttachment
8270func (c *EC2) CreateTransitGatewayVpcAttachmentRequest(input *CreateTransitGatewayVpcAttachmentInput) (req *request.Request, output *CreateTransitGatewayVpcAttachmentOutput) {
8271	op := &request.Operation{
8272		Name:       opCreateTransitGatewayVpcAttachment,
8273		HTTPMethod: "POST",
8274		HTTPPath:   "/",
8275	}
8276
8277	if input == nil {
8278		input = &CreateTransitGatewayVpcAttachmentInput{}
8279	}
8280
8281	output = &CreateTransitGatewayVpcAttachmentOutput{}
8282	req = c.newRequest(op, input, output)
8283	return
8284}
8285
8286// CreateTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
8287//
8288// Attaches the specified VPC to the specified transit gateway.
8289//
8290// If you attach a VPC with a CIDR range that overlaps the CIDR range of a VPC
8291// that is already attached, the new VPC CIDR range is not propagated to the
8292// default propagation route table.
8293//
8294// To send VPC traffic to an attached transit gateway, add a route to the VPC
8295// route table using CreateRoute.
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 CreateTransitGatewayVpcAttachment for usage and error information.
8303// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayVpcAttachment
8304func (c *EC2) CreateTransitGatewayVpcAttachment(input *CreateTransitGatewayVpcAttachmentInput) (*CreateTransitGatewayVpcAttachmentOutput, error) {
8305	req, out := c.CreateTransitGatewayVpcAttachmentRequest(input)
8306	return out, req.Send()
8307}
8308
8309// CreateTransitGatewayVpcAttachmentWithContext is the same as CreateTransitGatewayVpcAttachment with the addition of
8310// the ability to pass a context and additional request options.
8311//
8312// See CreateTransitGatewayVpcAttachment 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) CreateTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *CreateTransitGatewayVpcAttachmentInput, opts ...request.Option) (*CreateTransitGatewayVpcAttachmentOutput, error) {
8319	req, out := c.CreateTransitGatewayVpcAttachmentRequest(input)
8320	req.SetContext(ctx)
8321	req.ApplyOptions(opts...)
8322	return out, req.Send()
8323}
8324
8325const opCreateVolume = "CreateVolume"
8326
8327// CreateVolumeRequest generates a "aws/request.Request" representing the
8328// client's request for the CreateVolume 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 CreateVolume for more information on using the CreateVolume
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 CreateVolumeRequest method.
8343//    req, resp := client.CreateVolumeRequest(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/CreateVolume
8351func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Request, output *Volume) {
8352	op := &request.Operation{
8353		Name:       opCreateVolume,
8354		HTTPMethod: "POST",
8355		HTTPPath:   "/",
8356	}
8357
8358	if input == nil {
8359		input = &CreateVolumeInput{}
8360	}
8361
8362	output = &Volume{}
8363	req = c.newRequest(op, input, output)
8364	return
8365}
8366
8367// CreateVolume API operation for Amazon Elastic Compute Cloud.
8368//
8369// Creates an EBS volume that can be attached to an instance in the same Availability
8370// Zone.
8371//
8372// You can create a new empty volume or restore a volume from an EBS snapshot.
8373// Any Amazon Web Services Marketplace product codes from the snapshot are propagated
8374// to the volume.
8375//
8376// You can create encrypted volumes. Encrypted volumes must be attached to instances
8377// that support Amazon EBS encryption. Volumes that are created from encrypted
8378// snapshots are also automatically encrypted. For more information, see Amazon
8379// EBS encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
8380// in the Amazon Elastic Compute Cloud User Guide.
8381//
8382// You can tag your volumes during creation. For more information, see Tag your
8383// Amazon EC2 resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
8384// in the Amazon Elastic Compute Cloud User Guide.
8385//
8386// For more information, see Create an Amazon EBS volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html)
8387// in the Amazon Elastic Compute Cloud User Guide.
8388//
8389// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8390// with awserr.Error's Code and Message methods to get detailed information about
8391// the error.
8392//
8393// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8394// API operation CreateVolume for usage and error information.
8395// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
8396func (c *EC2) CreateVolume(input *CreateVolumeInput) (*Volume, error) {
8397	req, out := c.CreateVolumeRequest(input)
8398	return out, req.Send()
8399}
8400
8401// CreateVolumeWithContext is the same as CreateVolume with the addition of
8402// the ability to pass a context and additional request options.
8403//
8404// See CreateVolume for details on how to use this API operation.
8405//
8406// The context must be non-nil and will be used for request cancellation. If
8407// the context is nil a panic will occur. In the future the SDK may create
8408// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8409// for more information on using Contexts.
8410func (c *EC2) CreateVolumeWithContext(ctx aws.Context, input *CreateVolumeInput, opts ...request.Option) (*Volume, error) {
8411	req, out := c.CreateVolumeRequest(input)
8412	req.SetContext(ctx)
8413	req.ApplyOptions(opts...)
8414	return out, req.Send()
8415}
8416
8417const opCreateVpc = "CreateVpc"
8418
8419// CreateVpcRequest generates a "aws/request.Request" representing the
8420// client's request for the CreateVpc operation. The "output" return
8421// value will be populated with the request's response once the request completes
8422// successfully.
8423//
8424// Use "Send" method on the returned Request to send the API call to the service.
8425// the "output" return value is not valid until after Send returns without error.
8426//
8427// See CreateVpc for more information on using the CreateVpc
8428// API call, and error handling.
8429//
8430// This method is useful when you want to inject custom logic or configuration
8431// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8432//
8433//
8434//    // Example sending a request using the CreateVpcRequest method.
8435//    req, resp := client.CreateVpcRequest(params)
8436//
8437//    err := req.Send()
8438//    if err == nil { // resp is now filled
8439//        fmt.Println(resp)
8440//    }
8441//
8442// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
8443func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, output *CreateVpcOutput) {
8444	op := &request.Operation{
8445		Name:       opCreateVpc,
8446		HTTPMethod: "POST",
8447		HTTPPath:   "/",
8448	}
8449
8450	if input == nil {
8451		input = &CreateVpcInput{}
8452	}
8453
8454	output = &CreateVpcOutput{}
8455	req = c.newRequest(op, input, output)
8456	return
8457}
8458
8459// CreateVpc API operation for Amazon Elastic Compute Cloud.
8460//
8461// Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can
8462// create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16
8463// netmask (65,536 IPv4 addresses). For more information about how large to
8464// make your VPC, see Your VPC and subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
8465// in the Amazon Virtual Private Cloud User Guide.
8466//
8467// You can optionally request an IPv6 CIDR block for the VPC. You can request
8468// an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses,
8469// or an IPv6 CIDR block from an IPv6 address pool that you provisioned through
8470// bring your own IP addresses (BYOIP (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)).
8471//
8472// By default, each instance you launch in the VPC has the default DHCP options,
8473// which include only a default DNS server that we provide (AmazonProvidedDNS).
8474// For more information, see DHCP options sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)
8475// in the Amazon Virtual Private Cloud User Guide.
8476//
8477// You can specify the instance tenancy value for the VPC when you create it.
8478// You can't change this value for the VPC after you create it. For more information,
8479// see Dedicated Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)
8480// in the Amazon Elastic Compute Cloud User Guide.
8481//
8482// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8483// with awserr.Error's Code and Message methods to get detailed information about
8484// the error.
8485//
8486// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8487// API operation CreateVpc for usage and error information.
8488// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
8489func (c *EC2) CreateVpc(input *CreateVpcInput) (*CreateVpcOutput, error) {
8490	req, out := c.CreateVpcRequest(input)
8491	return out, req.Send()
8492}
8493
8494// CreateVpcWithContext is the same as CreateVpc with the addition of
8495// the ability to pass a context and additional request options.
8496//
8497// See CreateVpc for details on how to use this API operation.
8498//
8499// The context must be non-nil and will be used for request cancellation. If
8500// the context is nil a panic will occur. In the future the SDK may create
8501// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8502// for more information on using Contexts.
8503func (c *EC2) CreateVpcWithContext(ctx aws.Context, input *CreateVpcInput, opts ...request.Option) (*CreateVpcOutput, error) {
8504	req, out := c.CreateVpcRequest(input)
8505	req.SetContext(ctx)
8506	req.ApplyOptions(opts...)
8507	return out, req.Send()
8508}
8509
8510const opCreateVpcEndpoint = "CreateVpcEndpoint"
8511
8512// CreateVpcEndpointRequest generates a "aws/request.Request" representing the
8513// client's request for the CreateVpcEndpoint operation. The "output" return
8514// value will be populated with the request's response once the request completes
8515// successfully.
8516//
8517// Use "Send" method on the returned Request to send the API call to the service.
8518// the "output" return value is not valid until after Send returns without error.
8519//
8520// See CreateVpcEndpoint for more information on using the CreateVpcEndpoint
8521// API call, and error handling.
8522//
8523// This method is useful when you want to inject custom logic or configuration
8524// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8525//
8526//
8527//    // Example sending a request using the CreateVpcEndpointRequest method.
8528//    req, resp := client.CreateVpcEndpointRequest(params)
8529//
8530//    err := req.Send()
8531//    if err == nil { // resp is now filled
8532//        fmt.Println(resp)
8533//    }
8534//
8535// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
8536func (c *EC2) CreateVpcEndpointRequest(input *CreateVpcEndpointInput) (req *request.Request, output *CreateVpcEndpointOutput) {
8537	op := &request.Operation{
8538		Name:       opCreateVpcEndpoint,
8539		HTTPMethod: "POST",
8540		HTTPPath:   "/",
8541	}
8542
8543	if input == nil {
8544		input = &CreateVpcEndpointInput{}
8545	}
8546
8547	output = &CreateVpcEndpointOutput{}
8548	req = c.newRequest(op, input, output)
8549	return
8550}
8551
8552// CreateVpcEndpoint API operation for Amazon Elastic Compute Cloud.
8553//
8554// Creates a VPC endpoint for a specified service. An endpoint enables you to
8555// create a private connection between your VPC and the service. The service
8556// may be provided by AWS, an AWS Marketplace Partner, or another AWS account.
8557// For more information, see VPC Endpoints (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)
8558// in the Amazon Virtual Private Cloud User Guide.
8559//
8560// A gateway endpoint serves as a target for a route in your route table for
8561// traffic destined for the AWS service. You can specify an endpoint policy
8562// to attach to the endpoint, which will control access to the service from
8563// your VPC. You can also specify the VPC route tables that use the endpoint.
8564//
8565// An interface endpoint is a network interface in your subnet that serves as
8566// an endpoint for communicating with the specified service. You can specify
8567// the subnets in which to create an endpoint, and the security groups to associate
8568// with the endpoint network interface.
8569//
8570// A GatewayLoadBalancer endpoint is a network interface in your subnet that
8571// serves an endpoint for communicating with a Gateway Load Balancer that you've
8572// configured as a VPC endpoint service.
8573//
8574// Use DescribeVpcEndpointServices to get a list of supported services.
8575//
8576// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8577// with awserr.Error's Code and Message methods to get detailed information about
8578// the error.
8579//
8580// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8581// API operation CreateVpcEndpoint for usage and error information.
8582// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
8583func (c *EC2) CreateVpcEndpoint(input *CreateVpcEndpointInput) (*CreateVpcEndpointOutput, error) {
8584	req, out := c.CreateVpcEndpointRequest(input)
8585	return out, req.Send()
8586}
8587
8588// CreateVpcEndpointWithContext is the same as CreateVpcEndpoint with the addition of
8589// the ability to pass a context and additional request options.
8590//
8591// See CreateVpcEndpoint for details on how to use this API operation.
8592//
8593// The context must be non-nil and will be used for request cancellation. If
8594// the context is nil a panic will occur. In the future the SDK may create
8595// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8596// for more information on using Contexts.
8597func (c *EC2) CreateVpcEndpointWithContext(ctx aws.Context, input *CreateVpcEndpointInput, opts ...request.Option) (*CreateVpcEndpointOutput, error) {
8598	req, out := c.CreateVpcEndpointRequest(input)
8599	req.SetContext(ctx)
8600	req.ApplyOptions(opts...)
8601	return out, req.Send()
8602}
8603
8604const opCreateVpcEndpointConnectionNotification = "CreateVpcEndpointConnectionNotification"
8605
8606// CreateVpcEndpointConnectionNotificationRequest generates a "aws/request.Request" representing the
8607// client's request for the CreateVpcEndpointConnectionNotification operation. The "output" return
8608// value will be populated with the request's response once the request completes
8609// successfully.
8610//
8611// Use "Send" method on the returned Request to send the API call to the service.
8612// the "output" return value is not valid until after Send returns without error.
8613//
8614// See CreateVpcEndpointConnectionNotification for more information on using the CreateVpcEndpointConnectionNotification
8615// API call, and error handling.
8616//
8617// This method is useful when you want to inject custom logic or configuration
8618// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8619//
8620//
8621//    // Example sending a request using the CreateVpcEndpointConnectionNotificationRequest method.
8622//    req, resp := client.CreateVpcEndpointConnectionNotificationRequest(params)
8623//
8624//    err := req.Send()
8625//    if err == nil { // resp is now filled
8626//        fmt.Println(resp)
8627//    }
8628//
8629// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotification
8630func (c *EC2) CreateVpcEndpointConnectionNotificationRequest(input *CreateVpcEndpointConnectionNotificationInput) (req *request.Request, output *CreateVpcEndpointConnectionNotificationOutput) {
8631	op := &request.Operation{
8632		Name:       opCreateVpcEndpointConnectionNotification,
8633		HTTPMethod: "POST",
8634		HTTPPath:   "/",
8635	}
8636
8637	if input == nil {
8638		input = &CreateVpcEndpointConnectionNotificationInput{}
8639	}
8640
8641	output = &CreateVpcEndpointConnectionNotificationOutput{}
8642	req = c.newRequest(op, input, output)
8643	return
8644}
8645
8646// CreateVpcEndpointConnectionNotification API operation for Amazon Elastic Compute Cloud.
8647//
8648// Creates a connection notification for a specified VPC endpoint or VPC endpoint
8649// service. A connection notification notifies you of specific endpoint events.
8650// You must create an SNS topic to receive notifications. For more information,
8651// see Create a Topic (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html)
8652// in the Amazon Simple Notification Service Developer Guide.
8653//
8654// You can create a connection notification for interface endpoints only.
8655//
8656// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8657// with awserr.Error's Code and Message methods to get detailed information about
8658// the error.
8659//
8660// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8661// API operation CreateVpcEndpointConnectionNotification for usage and error information.
8662// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotification
8663func (c *EC2) CreateVpcEndpointConnectionNotification(input *CreateVpcEndpointConnectionNotificationInput) (*CreateVpcEndpointConnectionNotificationOutput, error) {
8664	req, out := c.CreateVpcEndpointConnectionNotificationRequest(input)
8665	return out, req.Send()
8666}
8667
8668// CreateVpcEndpointConnectionNotificationWithContext is the same as CreateVpcEndpointConnectionNotification with the addition of
8669// the ability to pass a context and additional request options.
8670//
8671// See CreateVpcEndpointConnectionNotification for details on how to use this API operation.
8672//
8673// The context must be non-nil and will be used for request cancellation. If
8674// the context is nil a panic will occur. In the future the SDK may create
8675// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8676// for more information on using Contexts.
8677func (c *EC2) CreateVpcEndpointConnectionNotificationWithContext(ctx aws.Context, input *CreateVpcEndpointConnectionNotificationInput, opts ...request.Option) (*CreateVpcEndpointConnectionNotificationOutput, error) {
8678	req, out := c.CreateVpcEndpointConnectionNotificationRequest(input)
8679	req.SetContext(ctx)
8680	req.ApplyOptions(opts...)
8681	return out, req.Send()
8682}
8683
8684const opCreateVpcEndpointServiceConfiguration = "CreateVpcEndpointServiceConfiguration"
8685
8686// CreateVpcEndpointServiceConfigurationRequest generates a "aws/request.Request" representing the
8687// client's request for the CreateVpcEndpointServiceConfiguration operation. The "output" return
8688// value will be populated with the request's response once the request completes
8689// successfully.
8690//
8691// Use "Send" method on the returned Request to send the API call to the service.
8692// the "output" return value is not valid until after Send returns without error.
8693//
8694// See CreateVpcEndpointServiceConfiguration for more information on using the CreateVpcEndpointServiceConfiguration
8695// API call, and error handling.
8696//
8697// This method is useful when you want to inject custom logic or configuration
8698// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8699//
8700//
8701//    // Example sending a request using the CreateVpcEndpointServiceConfigurationRequest method.
8702//    req, resp := client.CreateVpcEndpointServiceConfigurationRequest(params)
8703//
8704//    err := req.Send()
8705//    if err == nil { // resp is now filled
8706//        fmt.Println(resp)
8707//    }
8708//
8709// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfiguration
8710func (c *EC2) CreateVpcEndpointServiceConfigurationRequest(input *CreateVpcEndpointServiceConfigurationInput) (req *request.Request, output *CreateVpcEndpointServiceConfigurationOutput) {
8711	op := &request.Operation{
8712		Name:       opCreateVpcEndpointServiceConfiguration,
8713		HTTPMethod: "POST",
8714		HTTPPath:   "/",
8715	}
8716
8717	if input == nil {
8718		input = &CreateVpcEndpointServiceConfigurationInput{}
8719	}
8720
8721	output = &CreateVpcEndpointServiceConfigurationOutput{}
8722	req = c.newRequest(op, input, output)
8723	return
8724}
8725
8726// CreateVpcEndpointServiceConfiguration API operation for Amazon Elastic Compute Cloud.
8727//
8728// Creates a VPC endpoint service configuration to which service consumers (AWS
8729// accounts, IAM users, and IAM roles) can connect.
8730//
8731// To create an endpoint service configuration, you must first create one of
8732// the following for your service:
8733//
8734//    * A Network Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html).
8735//    Service consumers connect to your service using an interface endpoint.
8736//
8737//    * A Gateway Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/introduction.html).
8738//    Service consumers connect to your service using a Gateway Load Balancer
8739//    endpoint.
8740//
8741// For more information, see VPC Endpoint Services (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html)
8742// in the Amazon Virtual Private Cloud User Guide.
8743//
8744// If you set the private DNS name, you must prove that you own the private
8745// DNS domain name. For more information, see VPC Endpoint Service Private DNS
8746// Name Verification (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-dns-validation.html)
8747// in the Amazon Virtual Private Cloud User Guide.
8748//
8749// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8750// with awserr.Error's Code and Message methods to get detailed information about
8751// the error.
8752//
8753// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8754// API operation CreateVpcEndpointServiceConfiguration for usage and error information.
8755// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfiguration
8756func (c *EC2) CreateVpcEndpointServiceConfiguration(input *CreateVpcEndpointServiceConfigurationInput) (*CreateVpcEndpointServiceConfigurationOutput, error) {
8757	req, out := c.CreateVpcEndpointServiceConfigurationRequest(input)
8758	return out, req.Send()
8759}
8760
8761// CreateVpcEndpointServiceConfigurationWithContext is the same as CreateVpcEndpointServiceConfiguration with the addition of
8762// the ability to pass a context and additional request options.
8763//
8764// See CreateVpcEndpointServiceConfiguration for details on how to use this API operation.
8765//
8766// The context must be non-nil and will be used for request cancellation. If
8767// the context is nil a panic will occur. In the future the SDK may create
8768// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8769// for more information on using Contexts.
8770func (c *EC2) CreateVpcEndpointServiceConfigurationWithContext(ctx aws.Context, input *CreateVpcEndpointServiceConfigurationInput, opts ...request.Option) (*CreateVpcEndpointServiceConfigurationOutput, error) {
8771	req, out := c.CreateVpcEndpointServiceConfigurationRequest(input)
8772	req.SetContext(ctx)
8773	req.ApplyOptions(opts...)
8774	return out, req.Send()
8775}
8776
8777const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection"
8778
8779// CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
8780// client's request for the CreateVpcPeeringConnection operation. The "output" return
8781// value will be populated with the request's response once the request completes
8782// successfully.
8783//
8784// Use "Send" method on the returned Request to send the API call to the service.
8785// the "output" return value is not valid until after Send returns without error.
8786//
8787// See CreateVpcPeeringConnection for more information on using the CreateVpcPeeringConnection
8788// API call, and error handling.
8789//
8790// This method is useful when you want to inject custom logic or configuration
8791// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8792//
8793//
8794//    // Example sending a request using the CreateVpcPeeringConnectionRequest method.
8795//    req, resp := client.CreateVpcPeeringConnectionRequest(params)
8796//
8797//    err := req.Send()
8798//    if err == nil { // resp is now filled
8799//        fmt.Println(resp)
8800//    }
8801//
8802// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
8803func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectionInput) (req *request.Request, output *CreateVpcPeeringConnectionOutput) {
8804	op := &request.Operation{
8805		Name:       opCreateVpcPeeringConnection,
8806		HTTPMethod: "POST",
8807		HTTPPath:   "/",
8808	}
8809
8810	if input == nil {
8811		input = &CreateVpcPeeringConnectionInput{}
8812	}
8813
8814	output = &CreateVpcPeeringConnectionOutput{}
8815	req = c.newRequest(op, input, output)
8816	return
8817}
8818
8819// CreateVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
8820//
8821// Requests a VPC peering connection between two VPCs: a requester VPC that
8822// you own and an accepter VPC with which to create the connection. The accepter
8823// VPC can belong to another Amazon Web Services account and can be in a different
8824// Region to the requester VPC. The requester VPC and accepter VPC cannot have
8825// overlapping CIDR blocks.
8826//
8827// Limitations and rules apply to a VPC peering connection. For more information,
8828// see the limitations (https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-basics.html#vpc-peering-limitations)
8829// section in the VPC Peering Guide.
8830//
8831// The owner of the accepter VPC must accept the peering request to activate
8832// the peering connection. The VPC peering connection request expires after
8833// 7 days, after which it cannot be accepted or rejected.
8834//
8835// If you create a VPC peering connection request between VPCs with overlapping
8836// CIDR blocks, the VPC peering connection has a status of failed.
8837//
8838// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8839// with awserr.Error's Code and Message methods to get detailed information about
8840// the error.
8841//
8842// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8843// API operation CreateVpcPeeringConnection for usage and error information.
8844// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
8845func (c *EC2) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) {
8846	req, out := c.CreateVpcPeeringConnectionRequest(input)
8847	return out, req.Send()
8848}
8849
8850// CreateVpcPeeringConnectionWithContext is the same as CreateVpcPeeringConnection with the addition of
8851// the ability to pass a context and additional request options.
8852//
8853// See CreateVpcPeeringConnection for details on how to use this API operation.
8854//
8855// The context must be non-nil and will be used for request cancellation. If
8856// the context is nil a panic will occur. In the future the SDK may create
8857// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8858// for more information on using Contexts.
8859func (c *EC2) CreateVpcPeeringConnectionWithContext(ctx aws.Context, input *CreateVpcPeeringConnectionInput, opts ...request.Option) (*CreateVpcPeeringConnectionOutput, error) {
8860	req, out := c.CreateVpcPeeringConnectionRequest(input)
8861	req.SetContext(ctx)
8862	req.ApplyOptions(opts...)
8863	return out, req.Send()
8864}
8865
8866const opCreateVpnConnection = "CreateVpnConnection"
8867
8868// CreateVpnConnectionRequest generates a "aws/request.Request" representing the
8869// client's request for the CreateVpnConnection operation. The "output" return
8870// value will be populated with the request's response once the request completes
8871// successfully.
8872//
8873// Use "Send" method on the returned Request to send the API call to the service.
8874// the "output" return value is not valid until after Send returns without error.
8875//
8876// See CreateVpnConnection for more information on using the CreateVpnConnection
8877// API call, and error handling.
8878//
8879// This method is useful when you want to inject custom logic or configuration
8880// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8881//
8882//
8883//    // Example sending a request using the CreateVpnConnectionRequest method.
8884//    req, resp := client.CreateVpnConnectionRequest(params)
8885//
8886//    err := req.Send()
8887//    if err == nil { // resp is now filled
8888//        fmt.Println(resp)
8889//    }
8890//
8891// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
8892func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req *request.Request, output *CreateVpnConnectionOutput) {
8893	op := &request.Operation{
8894		Name:       opCreateVpnConnection,
8895		HTTPMethod: "POST",
8896		HTTPPath:   "/",
8897	}
8898
8899	if input == nil {
8900		input = &CreateVpnConnectionInput{}
8901	}
8902
8903	output = &CreateVpnConnectionOutput{}
8904	req = c.newRequest(op, input, output)
8905	return
8906}
8907
8908// CreateVpnConnection API operation for Amazon Elastic Compute Cloud.
8909//
8910// Creates a VPN connection between an existing virtual private gateway or transit
8911// gateway and a customer gateway. The supported connection type is ipsec.1.
8912//
8913// The response includes information that you need to give to your network administrator
8914// to configure your customer gateway.
8915//
8916// We strongly recommend that you use HTTPS when calling this operation because
8917// the response contains sensitive cryptographic information for configuring
8918// your customer gateway device.
8919//
8920// If you decide to shut down your VPN connection for any reason and later create
8921// a new VPN connection, you must reconfigure your customer gateway with the
8922// new information returned from this call.
8923//
8924// This is an idempotent operation. If you perform the operation more than once,
8925// Amazon EC2 doesn't return an error.
8926//
8927// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
8928// in the AWS Site-to-Site VPN User Guide.
8929//
8930// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8931// with awserr.Error's Code and Message methods to get detailed information about
8932// the error.
8933//
8934// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8935// API operation CreateVpnConnection for usage and error information.
8936// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
8937func (c *EC2) CreateVpnConnection(input *CreateVpnConnectionInput) (*CreateVpnConnectionOutput, error) {
8938	req, out := c.CreateVpnConnectionRequest(input)
8939	return out, req.Send()
8940}
8941
8942// CreateVpnConnectionWithContext is the same as CreateVpnConnection with the addition of
8943// the ability to pass a context and additional request options.
8944//
8945// See CreateVpnConnection for details on how to use this API operation.
8946//
8947// The context must be non-nil and will be used for request cancellation. If
8948// the context is nil a panic will occur. In the future the SDK may create
8949// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8950// for more information on using Contexts.
8951func (c *EC2) CreateVpnConnectionWithContext(ctx aws.Context, input *CreateVpnConnectionInput, opts ...request.Option) (*CreateVpnConnectionOutput, error) {
8952	req, out := c.CreateVpnConnectionRequest(input)
8953	req.SetContext(ctx)
8954	req.ApplyOptions(opts...)
8955	return out, req.Send()
8956}
8957
8958const opCreateVpnConnectionRoute = "CreateVpnConnectionRoute"
8959
8960// CreateVpnConnectionRouteRequest generates a "aws/request.Request" representing the
8961// client's request for the CreateVpnConnectionRoute operation. The "output" return
8962// value will be populated with the request's response once the request completes
8963// successfully.
8964//
8965// Use "Send" method on the returned Request to send the API call to the service.
8966// the "output" return value is not valid until after Send returns without error.
8967//
8968// See CreateVpnConnectionRoute for more information on using the CreateVpnConnectionRoute
8969// API call, and error handling.
8970//
8971// This method is useful when you want to inject custom logic or configuration
8972// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8973//
8974//
8975//    // Example sending a request using the CreateVpnConnectionRouteRequest method.
8976//    req, resp := client.CreateVpnConnectionRouteRequest(params)
8977//
8978//    err := req.Send()
8979//    if err == nil { // resp is now filled
8980//        fmt.Println(resp)
8981//    }
8982//
8983// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
8984func (c *EC2) CreateVpnConnectionRouteRequest(input *CreateVpnConnectionRouteInput) (req *request.Request, output *CreateVpnConnectionRouteOutput) {
8985	op := &request.Operation{
8986		Name:       opCreateVpnConnectionRoute,
8987		HTTPMethod: "POST",
8988		HTTPPath:   "/",
8989	}
8990
8991	if input == nil {
8992		input = &CreateVpnConnectionRouteInput{}
8993	}
8994
8995	output = &CreateVpnConnectionRouteOutput{}
8996	req = c.newRequest(op, input, output)
8997	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8998	return
8999}
9000
9001// CreateVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
9002//
9003// Creates a static route associated with a VPN connection between an existing
9004// virtual private gateway and a VPN customer gateway. The static route allows
9005// traffic to be routed from the virtual private gateway to the VPN customer
9006// gateway.
9007//
9008// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
9009// in the AWS Site-to-Site VPN User Guide.
9010//
9011// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9012// with awserr.Error's Code and Message methods to get detailed information about
9013// the error.
9014//
9015// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9016// API operation CreateVpnConnectionRoute for usage and error information.
9017// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
9018func (c *EC2) CreateVpnConnectionRoute(input *CreateVpnConnectionRouteInput) (*CreateVpnConnectionRouteOutput, error) {
9019	req, out := c.CreateVpnConnectionRouteRequest(input)
9020	return out, req.Send()
9021}
9022
9023// CreateVpnConnectionRouteWithContext is the same as CreateVpnConnectionRoute with the addition of
9024// the ability to pass a context and additional request options.
9025//
9026// See CreateVpnConnectionRoute for details on how to use this API operation.
9027//
9028// The context must be non-nil and will be used for request cancellation. If
9029// the context is nil a panic will occur. In the future the SDK may create
9030// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9031// for more information on using Contexts.
9032func (c *EC2) CreateVpnConnectionRouteWithContext(ctx aws.Context, input *CreateVpnConnectionRouteInput, opts ...request.Option) (*CreateVpnConnectionRouteOutput, error) {
9033	req, out := c.CreateVpnConnectionRouteRequest(input)
9034	req.SetContext(ctx)
9035	req.ApplyOptions(opts...)
9036	return out, req.Send()
9037}
9038
9039const opCreateVpnGateway = "CreateVpnGateway"
9040
9041// CreateVpnGatewayRequest generates a "aws/request.Request" representing the
9042// client's request for the CreateVpnGateway operation. The "output" return
9043// value will be populated with the request's response once the request completes
9044// successfully.
9045//
9046// Use "Send" method on the returned Request to send the API call to the service.
9047// the "output" return value is not valid until after Send returns without error.
9048//
9049// See CreateVpnGateway for more information on using the CreateVpnGateway
9050// API call, and error handling.
9051//
9052// This method is useful when you want to inject custom logic or configuration
9053// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9054//
9055//
9056//    // Example sending a request using the CreateVpnGatewayRequest method.
9057//    req, resp := client.CreateVpnGatewayRequest(params)
9058//
9059//    err := req.Send()
9060//    if err == nil { // resp is now filled
9061//        fmt.Println(resp)
9062//    }
9063//
9064// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
9065func (c *EC2) CreateVpnGatewayRequest(input *CreateVpnGatewayInput) (req *request.Request, output *CreateVpnGatewayOutput) {
9066	op := &request.Operation{
9067		Name:       opCreateVpnGateway,
9068		HTTPMethod: "POST",
9069		HTTPPath:   "/",
9070	}
9071
9072	if input == nil {
9073		input = &CreateVpnGatewayInput{}
9074	}
9075
9076	output = &CreateVpnGatewayOutput{}
9077	req = c.newRequest(op, input, output)
9078	return
9079}
9080
9081// CreateVpnGateway API operation for Amazon Elastic Compute Cloud.
9082//
9083// Creates a virtual private gateway. A virtual private gateway is the endpoint
9084// on the VPC side of your VPN connection. You can create a virtual private
9085// gateway before creating the VPC itself.
9086//
9087// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
9088// in the AWS Site-to-Site VPN User Guide.
9089//
9090// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9091// with awserr.Error's Code and Message methods to get detailed information about
9092// the error.
9093//
9094// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9095// API operation CreateVpnGateway for usage and error information.
9096// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
9097func (c *EC2) CreateVpnGateway(input *CreateVpnGatewayInput) (*CreateVpnGatewayOutput, error) {
9098	req, out := c.CreateVpnGatewayRequest(input)
9099	return out, req.Send()
9100}
9101
9102// CreateVpnGatewayWithContext is the same as CreateVpnGateway with the addition of
9103// the ability to pass a context and additional request options.
9104//
9105// See CreateVpnGateway for details on how to use this API operation.
9106//
9107// The context must be non-nil and will be used for request cancellation. If
9108// the context is nil a panic will occur. In the future the SDK may create
9109// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9110// for more information on using Contexts.
9111func (c *EC2) CreateVpnGatewayWithContext(ctx aws.Context, input *CreateVpnGatewayInput, opts ...request.Option) (*CreateVpnGatewayOutput, error) {
9112	req, out := c.CreateVpnGatewayRequest(input)
9113	req.SetContext(ctx)
9114	req.ApplyOptions(opts...)
9115	return out, req.Send()
9116}
9117
9118const opDeleteCarrierGateway = "DeleteCarrierGateway"
9119
9120// DeleteCarrierGatewayRequest generates a "aws/request.Request" representing the
9121// client's request for the DeleteCarrierGateway operation. The "output" return
9122// value will be populated with the request's response once the request completes
9123// successfully.
9124//
9125// Use "Send" method on the returned Request to send the API call to the service.
9126// the "output" return value is not valid until after Send returns without error.
9127//
9128// See DeleteCarrierGateway for more information on using the DeleteCarrierGateway
9129// API call, and error handling.
9130//
9131// This method is useful when you want to inject custom logic or configuration
9132// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9133//
9134//
9135//    // Example sending a request using the DeleteCarrierGatewayRequest method.
9136//    req, resp := client.DeleteCarrierGatewayRequest(params)
9137//
9138//    err := req.Send()
9139//    if err == nil { // resp is now filled
9140//        fmt.Println(resp)
9141//    }
9142//
9143// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCarrierGateway
9144func (c *EC2) DeleteCarrierGatewayRequest(input *DeleteCarrierGatewayInput) (req *request.Request, output *DeleteCarrierGatewayOutput) {
9145	op := &request.Operation{
9146		Name:       opDeleteCarrierGateway,
9147		HTTPMethod: "POST",
9148		HTTPPath:   "/",
9149	}
9150
9151	if input == nil {
9152		input = &DeleteCarrierGatewayInput{}
9153	}
9154
9155	output = &DeleteCarrierGatewayOutput{}
9156	req = c.newRequest(op, input, output)
9157	return
9158}
9159
9160// DeleteCarrierGateway API operation for Amazon Elastic Compute Cloud.
9161//
9162// Deletes a carrier gateway.
9163//
9164// If you do not delete the route that contains the carrier gateway as the Target,
9165// the route is a blackhole route. For information about how to delete a route,
9166// see DeleteRoute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteRoute.html).
9167//
9168// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9169// with awserr.Error's Code and Message methods to get detailed information about
9170// the error.
9171//
9172// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9173// API operation DeleteCarrierGateway for usage and error information.
9174// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCarrierGateway
9175func (c *EC2) DeleteCarrierGateway(input *DeleteCarrierGatewayInput) (*DeleteCarrierGatewayOutput, error) {
9176	req, out := c.DeleteCarrierGatewayRequest(input)
9177	return out, req.Send()
9178}
9179
9180// DeleteCarrierGatewayWithContext is the same as DeleteCarrierGateway with the addition of
9181// the ability to pass a context and additional request options.
9182//
9183// See DeleteCarrierGateway for details on how to use this API operation.
9184//
9185// The context must be non-nil and will be used for request cancellation. If
9186// the context is nil a panic will occur. In the future the SDK may create
9187// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9188// for more information on using Contexts.
9189func (c *EC2) DeleteCarrierGatewayWithContext(ctx aws.Context, input *DeleteCarrierGatewayInput, opts ...request.Option) (*DeleteCarrierGatewayOutput, error) {
9190	req, out := c.DeleteCarrierGatewayRequest(input)
9191	req.SetContext(ctx)
9192	req.ApplyOptions(opts...)
9193	return out, req.Send()
9194}
9195
9196const opDeleteClientVpnEndpoint = "DeleteClientVpnEndpoint"
9197
9198// DeleteClientVpnEndpointRequest generates a "aws/request.Request" representing the
9199// client's request for the DeleteClientVpnEndpoint operation. The "output" return
9200// value will be populated with the request's response once the request completes
9201// successfully.
9202//
9203// Use "Send" method on the returned Request to send the API call to the service.
9204// the "output" return value is not valid until after Send returns without error.
9205//
9206// See DeleteClientVpnEndpoint for more information on using the DeleteClientVpnEndpoint
9207// API call, and error handling.
9208//
9209// This method is useful when you want to inject custom logic or configuration
9210// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9211//
9212//
9213//    // Example sending a request using the DeleteClientVpnEndpointRequest method.
9214//    req, resp := client.DeleteClientVpnEndpointRequest(params)
9215//
9216//    err := req.Send()
9217//    if err == nil { // resp is now filled
9218//        fmt.Println(resp)
9219//    }
9220//
9221// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnEndpoint
9222func (c *EC2) DeleteClientVpnEndpointRequest(input *DeleteClientVpnEndpointInput) (req *request.Request, output *DeleteClientVpnEndpointOutput) {
9223	op := &request.Operation{
9224		Name:       opDeleteClientVpnEndpoint,
9225		HTTPMethod: "POST",
9226		HTTPPath:   "/",
9227	}
9228
9229	if input == nil {
9230		input = &DeleteClientVpnEndpointInput{}
9231	}
9232
9233	output = &DeleteClientVpnEndpointOutput{}
9234	req = c.newRequest(op, input, output)
9235	return
9236}
9237
9238// DeleteClientVpnEndpoint API operation for Amazon Elastic Compute Cloud.
9239//
9240// Deletes the specified Client VPN endpoint. You must disassociate all target
9241// networks before you can delete a Client VPN endpoint.
9242//
9243// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9244// with awserr.Error's Code and Message methods to get detailed information about
9245// the error.
9246//
9247// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9248// API operation DeleteClientVpnEndpoint for usage and error information.
9249// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnEndpoint
9250func (c *EC2) DeleteClientVpnEndpoint(input *DeleteClientVpnEndpointInput) (*DeleteClientVpnEndpointOutput, error) {
9251	req, out := c.DeleteClientVpnEndpointRequest(input)
9252	return out, req.Send()
9253}
9254
9255// DeleteClientVpnEndpointWithContext is the same as DeleteClientVpnEndpoint with the addition of
9256// the ability to pass a context and additional request options.
9257//
9258// See DeleteClientVpnEndpoint for details on how to use this API operation.
9259//
9260// The context must be non-nil and will be used for request cancellation. If
9261// the context is nil a panic will occur. In the future the SDK may create
9262// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9263// for more information on using Contexts.
9264func (c *EC2) DeleteClientVpnEndpointWithContext(ctx aws.Context, input *DeleteClientVpnEndpointInput, opts ...request.Option) (*DeleteClientVpnEndpointOutput, error) {
9265	req, out := c.DeleteClientVpnEndpointRequest(input)
9266	req.SetContext(ctx)
9267	req.ApplyOptions(opts...)
9268	return out, req.Send()
9269}
9270
9271const opDeleteClientVpnRoute = "DeleteClientVpnRoute"
9272
9273// DeleteClientVpnRouteRequest generates a "aws/request.Request" representing the
9274// client's request for the DeleteClientVpnRoute operation. The "output" return
9275// value will be populated with the request's response once the request completes
9276// successfully.
9277//
9278// Use "Send" method on the returned Request to send the API call to the service.
9279// the "output" return value is not valid until after Send returns without error.
9280//
9281// See DeleteClientVpnRoute for more information on using the DeleteClientVpnRoute
9282// API call, and error handling.
9283//
9284// This method is useful when you want to inject custom logic or configuration
9285// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9286//
9287//
9288//    // Example sending a request using the DeleteClientVpnRouteRequest method.
9289//    req, resp := client.DeleteClientVpnRouteRequest(params)
9290//
9291//    err := req.Send()
9292//    if err == nil { // resp is now filled
9293//        fmt.Println(resp)
9294//    }
9295//
9296// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnRoute
9297func (c *EC2) DeleteClientVpnRouteRequest(input *DeleteClientVpnRouteInput) (req *request.Request, output *DeleteClientVpnRouteOutput) {
9298	op := &request.Operation{
9299		Name:       opDeleteClientVpnRoute,
9300		HTTPMethod: "POST",
9301		HTTPPath:   "/",
9302	}
9303
9304	if input == nil {
9305		input = &DeleteClientVpnRouteInput{}
9306	}
9307
9308	output = &DeleteClientVpnRouteOutput{}
9309	req = c.newRequest(op, input, output)
9310	return
9311}
9312
9313// DeleteClientVpnRoute API operation for Amazon Elastic Compute Cloud.
9314//
9315// Deletes a route from a Client VPN endpoint. You can only delete routes that
9316// you manually added using the CreateClientVpnRoute action. You cannot delete
9317// routes that were automatically added when associating a subnet. To remove
9318// routes that have been automatically added, disassociate the target subnet
9319// from the Client VPN endpoint.
9320//
9321// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9322// with awserr.Error's Code and Message methods to get detailed information about
9323// the error.
9324//
9325// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9326// API operation DeleteClientVpnRoute for usage and error information.
9327// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnRoute
9328func (c *EC2) DeleteClientVpnRoute(input *DeleteClientVpnRouteInput) (*DeleteClientVpnRouteOutput, error) {
9329	req, out := c.DeleteClientVpnRouteRequest(input)
9330	return out, req.Send()
9331}
9332
9333// DeleteClientVpnRouteWithContext is the same as DeleteClientVpnRoute with the addition of
9334// the ability to pass a context and additional request options.
9335//
9336// See DeleteClientVpnRoute for details on how to use this API operation.
9337//
9338// The context must be non-nil and will be used for request cancellation. If
9339// the context is nil a panic will occur. In the future the SDK may create
9340// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9341// for more information on using Contexts.
9342func (c *EC2) DeleteClientVpnRouteWithContext(ctx aws.Context, input *DeleteClientVpnRouteInput, opts ...request.Option) (*DeleteClientVpnRouteOutput, error) {
9343	req, out := c.DeleteClientVpnRouteRequest(input)
9344	req.SetContext(ctx)
9345	req.ApplyOptions(opts...)
9346	return out, req.Send()
9347}
9348
9349const opDeleteCustomerGateway = "DeleteCustomerGateway"
9350
9351// DeleteCustomerGatewayRequest generates a "aws/request.Request" representing the
9352// client's request for the DeleteCustomerGateway operation. The "output" return
9353// value will be populated with the request's response once the request completes
9354// successfully.
9355//
9356// Use "Send" method on the returned Request to send the API call to the service.
9357// the "output" return value is not valid until after Send returns without error.
9358//
9359// See DeleteCustomerGateway for more information on using the DeleteCustomerGateway
9360// API call, and error handling.
9361//
9362// This method is useful when you want to inject custom logic or configuration
9363// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9364//
9365//
9366//    // Example sending a request using the DeleteCustomerGatewayRequest method.
9367//    req, resp := client.DeleteCustomerGatewayRequest(params)
9368//
9369//    err := req.Send()
9370//    if err == nil { // resp is now filled
9371//        fmt.Println(resp)
9372//    }
9373//
9374// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
9375func (c *EC2) DeleteCustomerGatewayRequest(input *DeleteCustomerGatewayInput) (req *request.Request, output *DeleteCustomerGatewayOutput) {
9376	op := &request.Operation{
9377		Name:       opDeleteCustomerGateway,
9378		HTTPMethod: "POST",
9379		HTTPPath:   "/",
9380	}
9381
9382	if input == nil {
9383		input = &DeleteCustomerGatewayInput{}
9384	}
9385
9386	output = &DeleteCustomerGatewayOutput{}
9387	req = c.newRequest(op, input, output)
9388	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9389	return
9390}
9391
9392// DeleteCustomerGateway API operation for Amazon Elastic Compute Cloud.
9393//
9394// Deletes the specified customer gateway. You must delete the VPN connection
9395// before you can delete the customer gateway.
9396//
9397// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9398// with awserr.Error's Code and Message methods to get detailed information about
9399// the error.
9400//
9401// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9402// API operation DeleteCustomerGateway for usage and error information.
9403// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
9404func (c *EC2) DeleteCustomerGateway(input *DeleteCustomerGatewayInput) (*DeleteCustomerGatewayOutput, error) {
9405	req, out := c.DeleteCustomerGatewayRequest(input)
9406	return out, req.Send()
9407}
9408
9409// DeleteCustomerGatewayWithContext is the same as DeleteCustomerGateway with the addition of
9410// the ability to pass a context and additional request options.
9411//
9412// See DeleteCustomerGateway for details on how to use this API operation.
9413//
9414// The context must be non-nil and will be used for request cancellation. If
9415// the context is nil a panic will occur. In the future the SDK may create
9416// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9417// for more information on using Contexts.
9418func (c *EC2) DeleteCustomerGatewayWithContext(ctx aws.Context, input *DeleteCustomerGatewayInput, opts ...request.Option) (*DeleteCustomerGatewayOutput, error) {
9419	req, out := c.DeleteCustomerGatewayRequest(input)
9420	req.SetContext(ctx)
9421	req.ApplyOptions(opts...)
9422	return out, req.Send()
9423}
9424
9425const opDeleteDhcpOptions = "DeleteDhcpOptions"
9426
9427// DeleteDhcpOptionsRequest generates a "aws/request.Request" representing the
9428// client's request for the DeleteDhcpOptions operation. The "output" return
9429// value will be populated with the request's response once the request completes
9430// successfully.
9431//
9432// Use "Send" method on the returned Request to send the API call to the service.
9433// the "output" return value is not valid until after Send returns without error.
9434//
9435// See DeleteDhcpOptions for more information on using the DeleteDhcpOptions
9436// API call, and error handling.
9437//
9438// This method is useful when you want to inject custom logic or configuration
9439// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9440//
9441//
9442//    // Example sending a request using the DeleteDhcpOptionsRequest method.
9443//    req, resp := client.DeleteDhcpOptionsRequest(params)
9444//
9445//    err := req.Send()
9446//    if err == nil { // resp is now filled
9447//        fmt.Println(resp)
9448//    }
9449//
9450// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
9451func (c *EC2) DeleteDhcpOptionsRequest(input *DeleteDhcpOptionsInput) (req *request.Request, output *DeleteDhcpOptionsOutput) {
9452	op := &request.Operation{
9453		Name:       opDeleteDhcpOptions,
9454		HTTPMethod: "POST",
9455		HTTPPath:   "/",
9456	}
9457
9458	if input == nil {
9459		input = &DeleteDhcpOptionsInput{}
9460	}
9461
9462	output = &DeleteDhcpOptionsOutput{}
9463	req = c.newRequest(op, input, output)
9464	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9465	return
9466}
9467
9468// DeleteDhcpOptions API operation for Amazon Elastic Compute Cloud.
9469//
9470// Deletes the specified set of DHCP options. You must disassociate the set
9471// of DHCP options before you can delete it. You can disassociate the set of
9472// DHCP options by associating either a new set of options or the default set
9473// of options with the VPC.
9474//
9475// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9476// with awserr.Error's Code and Message methods to get detailed information about
9477// the error.
9478//
9479// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9480// API operation DeleteDhcpOptions for usage and error information.
9481// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
9482func (c *EC2) DeleteDhcpOptions(input *DeleteDhcpOptionsInput) (*DeleteDhcpOptionsOutput, error) {
9483	req, out := c.DeleteDhcpOptionsRequest(input)
9484	return out, req.Send()
9485}
9486
9487// DeleteDhcpOptionsWithContext is the same as DeleteDhcpOptions with the addition of
9488// the ability to pass a context and additional request options.
9489//
9490// See DeleteDhcpOptions for details on how to use this API operation.
9491//
9492// The context must be non-nil and will be used for request cancellation. If
9493// the context is nil a panic will occur. In the future the SDK may create
9494// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9495// for more information on using Contexts.
9496func (c *EC2) DeleteDhcpOptionsWithContext(ctx aws.Context, input *DeleteDhcpOptionsInput, opts ...request.Option) (*DeleteDhcpOptionsOutput, error) {
9497	req, out := c.DeleteDhcpOptionsRequest(input)
9498	req.SetContext(ctx)
9499	req.ApplyOptions(opts...)
9500	return out, req.Send()
9501}
9502
9503const opDeleteEgressOnlyInternetGateway = "DeleteEgressOnlyInternetGateway"
9504
9505// DeleteEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
9506// client's request for the DeleteEgressOnlyInternetGateway operation. The "output" return
9507// value will be populated with the request's response once the request completes
9508// successfully.
9509//
9510// Use "Send" method on the returned Request to send the API call to the service.
9511// the "output" return value is not valid until after Send returns without error.
9512//
9513// See DeleteEgressOnlyInternetGateway for more information on using the DeleteEgressOnlyInternetGateway
9514// API call, and error handling.
9515//
9516// This method is useful when you want to inject custom logic or configuration
9517// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9518//
9519//
9520//    // Example sending a request using the DeleteEgressOnlyInternetGatewayRequest method.
9521//    req, resp := client.DeleteEgressOnlyInternetGatewayRequest(params)
9522//
9523//    err := req.Send()
9524//    if err == nil { // resp is now filled
9525//        fmt.Println(resp)
9526//    }
9527//
9528// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
9529func (c *EC2) DeleteEgressOnlyInternetGatewayRequest(input *DeleteEgressOnlyInternetGatewayInput) (req *request.Request, output *DeleteEgressOnlyInternetGatewayOutput) {
9530	op := &request.Operation{
9531		Name:       opDeleteEgressOnlyInternetGateway,
9532		HTTPMethod: "POST",
9533		HTTPPath:   "/",
9534	}
9535
9536	if input == nil {
9537		input = &DeleteEgressOnlyInternetGatewayInput{}
9538	}
9539
9540	output = &DeleteEgressOnlyInternetGatewayOutput{}
9541	req = c.newRequest(op, input, output)
9542	return
9543}
9544
9545// DeleteEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
9546//
9547// Deletes an egress-only internet gateway.
9548//
9549// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9550// with awserr.Error's Code and Message methods to get detailed information about
9551// the error.
9552//
9553// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9554// API operation DeleteEgressOnlyInternetGateway for usage and error information.
9555// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
9556func (c *EC2) DeleteEgressOnlyInternetGateway(input *DeleteEgressOnlyInternetGatewayInput) (*DeleteEgressOnlyInternetGatewayOutput, error) {
9557	req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
9558	return out, req.Send()
9559}
9560
9561// DeleteEgressOnlyInternetGatewayWithContext is the same as DeleteEgressOnlyInternetGateway with the addition of
9562// the ability to pass a context and additional request options.
9563//
9564// See DeleteEgressOnlyInternetGateway for details on how to use this API operation.
9565//
9566// The context must be non-nil and will be used for request cancellation. If
9567// the context is nil a panic will occur. In the future the SDK may create
9568// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9569// for more information on using Contexts.
9570func (c *EC2) DeleteEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *DeleteEgressOnlyInternetGatewayInput, opts ...request.Option) (*DeleteEgressOnlyInternetGatewayOutput, error) {
9571	req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
9572	req.SetContext(ctx)
9573	req.ApplyOptions(opts...)
9574	return out, req.Send()
9575}
9576
9577const opDeleteFleets = "DeleteFleets"
9578
9579// DeleteFleetsRequest generates a "aws/request.Request" representing the
9580// client's request for the DeleteFleets operation. The "output" return
9581// value will be populated with the request's response once the request completes
9582// successfully.
9583//
9584// Use "Send" method on the returned Request to send the API call to the service.
9585// the "output" return value is not valid until after Send returns without error.
9586//
9587// See DeleteFleets for more information on using the DeleteFleets
9588// API call, and error handling.
9589//
9590// This method is useful when you want to inject custom logic or configuration
9591// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9592//
9593//
9594//    // Example sending a request using the DeleteFleetsRequest method.
9595//    req, resp := client.DeleteFleetsRequest(params)
9596//
9597//    err := req.Send()
9598//    if err == nil { // resp is now filled
9599//        fmt.Println(resp)
9600//    }
9601//
9602// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleets
9603func (c *EC2) DeleteFleetsRequest(input *DeleteFleetsInput) (req *request.Request, output *DeleteFleetsOutput) {
9604	op := &request.Operation{
9605		Name:       opDeleteFleets,
9606		HTTPMethod: "POST",
9607		HTTPPath:   "/",
9608	}
9609
9610	if input == nil {
9611		input = &DeleteFleetsInput{}
9612	}
9613
9614	output = &DeleteFleetsOutput{}
9615	req = c.newRequest(op, input, output)
9616	return
9617}
9618
9619// DeleteFleets API operation for Amazon Elastic Compute Cloud.
9620//
9621// Deletes the specified EC2 Fleet.
9622//
9623// After you delete an EC2 Fleet, it launches no new instances.
9624//
9625// You must specify whether a deleted EC2 Fleet should also terminate its instances.
9626// If you choose to terminate the instances, the EC2 Fleet enters the deleted_terminating
9627// state. Otherwise, the EC2 Fleet enters the deleted_running state, and the
9628// instances continue to run until they are interrupted or you terminate them
9629// manually.
9630//
9631// For instant fleets, EC2 Fleet must terminate the instances when the fleet
9632// is deleted. A deleted instant fleet with running instances is not supported.
9633//
9634// Restrictions
9635//
9636//    * You can delete up to 25 instant fleets in a single request. If you exceed
9637//    this number, no instant fleets are deleted and an error is returned. There
9638//    is no restriction on the number of fleets of type maintain or request
9639//    that can be deleted in a single request.
9640//
9641//    * Up to 1000 instances can be terminated in a single request to delete
9642//    instant fleets.
9643//
9644// For more information, see Deleting an EC2 Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#delete-fleet)
9645// in the Amazon EC2 User Guide.
9646//
9647// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9648// with awserr.Error's Code and Message methods to get detailed information about
9649// the error.
9650//
9651// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9652// API operation DeleteFleets for usage and error information.
9653// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleets
9654func (c *EC2) DeleteFleets(input *DeleteFleetsInput) (*DeleteFleetsOutput, error) {
9655	req, out := c.DeleteFleetsRequest(input)
9656	return out, req.Send()
9657}
9658
9659// DeleteFleetsWithContext is the same as DeleteFleets with the addition of
9660// the ability to pass a context and additional request options.
9661//
9662// See DeleteFleets for details on how to use this API operation.
9663//
9664// The context must be non-nil and will be used for request cancellation. If
9665// the context is nil a panic will occur. In the future the SDK may create
9666// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9667// for more information on using Contexts.
9668func (c *EC2) DeleteFleetsWithContext(ctx aws.Context, input *DeleteFleetsInput, opts ...request.Option) (*DeleteFleetsOutput, error) {
9669	req, out := c.DeleteFleetsRequest(input)
9670	req.SetContext(ctx)
9671	req.ApplyOptions(opts...)
9672	return out, req.Send()
9673}
9674
9675const opDeleteFlowLogs = "DeleteFlowLogs"
9676
9677// DeleteFlowLogsRequest generates a "aws/request.Request" representing the
9678// client's request for the DeleteFlowLogs operation. The "output" return
9679// value will be populated with the request's response once the request completes
9680// successfully.
9681//
9682// Use "Send" method on the returned Request to send the API call to the service.
9683// the "output" return value is not valid until after Send returns without error.
9684//
9685// See DeleteFlowLogs for more information on using the DeleteFlowLogs
9686// API call, and error handling.
9687//
9688// This method is useful when you want to inject custom logic or configuration
9689// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9690//
9691//
9692//    // Example sending a request using the DeleteFlowLogsRequest method.
9693//    req, resp := client.DeleteFlowLogsRequest(params)
9694//
9695//    err := req.Send()
9696//    if err == nil { // resp is now filled
9697//        fmt.Println(resp)
9698//    }
9699//
9700// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
9701func (c *EC2) DeleteFlowLogsRequest(input *DeleteFlowLogsInput) (req *request.Request, output *DeleteFlowLogsOutput) {
9702	op := &request.Operation{
9703		Name:       opDeleteFlowLogs,
9704		HTTPMethod: "POST",
9705		HTTPPath:   "/",
9706	}
9707
9708	if input == nil {
9709		input = &DeleteFlowLogsInput{}
9710	}
9711
9712	output = &DeleteFlowLogsOutput{}
9713	req = c.newRequest(op, input, output)
9714	return
9715}
9716
9717// DeleteFlowLogs API operation for Amazon Elastic Compute Cloud.
9718//
9719// Deletes one or more flow logs.
9720//
9721// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9722// with awserr.Error's Code and Message methods to get detailed information about
9723// the error.
9724//
9725// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9726// API operation DeleteFlowLogs for usage and error information.
9727// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
9728func (c *EC2) DeleteFlowLogs(input *DeleteFlowLogsInput) (*DeleteFlowLogsOutput, error) {
9729	req, out := c.DeleteFlowLogsRequest(input)
9730	return out, req.Send()
9731}
9732
9733// DeleteFlowLogsWithContext is the same as DeleteFlowLogs with the addition of
9734// the ability to pass a context and additional request options.
9735//
9736// See DeleteFlowLogs for details on how to use this API operation.
9737//
9738// The context must be non-nil and will be used for request cancellation. If
9739// the context is nil a panic will occur. In the future the SDK may create
9740// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9741// for more information on using Contexts.
9742func (c *EC2) DeleteFlowLogsWithContext(ctx aws.Context, input *DeleteFlowLogsInput, opts ...request.Option) (*DeleteFlowLogsOutput, error) {
9743	req, out := c.DeleteFlowLogsRequest(input)
9744	req.SetContext(ctx)
9745	req.ApplyOptions(opts...)
9746	return out, req.Send()
9747}
9748
9749const opDeleteFpgaImage = "DeleteFpgaImage"
9750
9751// DeleteFpgaImageRequest generates a "aws/request.Request" representing the
9752// client's request for the DeleteFpgaImage operation. The "output" return
9753// value will be populated with the request's response once the request completes
9754// successfully.
9755//
9756// Use "Send" method on the returned Request to send the API call to the service.
9757// the "output" return value is not valid until after Send returns without error.
9758//
9759// See DeleteFpgaImage for more information on using the DeleteFpgaImage
9760// API call, and error handling.
9761//
9762// This method is useful when you want to inject custom logic or configuration
9763// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9764//
9765//
9766//    // Example sending a request using the DeleteFpgaImageRequest method.
9767//    req, resp := client.DeleteFpgaImageRequest(params)
9768//
9769//    err := req.Send()
9770//    if err == nil { // resp is now filled
9771//        fmt.Println(resp)
9772//    }
9773//
9774// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage
9775func (c *EC2) DeleteFpgaImageRequest(input *DeleteFpgaImageInput) (req *request.Request, output *DeleteFpgaImageOutput) {
9776	op := &request.Operation{
9777		Name:       opDeleteFpgaImage,
9778		HTTPMethod: "POST",
9779		HTTPPath:   "/",
9780	}
9781
9782	if input == nil {
9783		input = &DeleteFpgaImageInput{}
9784	}
9785
9786	output = &DeleteFpgaImageOutput{}
9787	req = c.newRequest(op, input, output)
9788	return
9789}
9790
9791// DeleteFpgaImage API operation for Amazon Elastic Compute Cloud.
9792//
9793// Deletes the specified Amazon FPGA Image (AFI).
9794//
9795// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9796// with awserr.Error's Code and Message methods to get detailed information about
9797// the error.
9798//
9799// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9800// API operation DeleteFpgaImage for usage and error information.
9801// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage
9802func (c *EC2) DeleteFpgaImage(input *DeleteFpgaImageInput) (*DeleteFpgaImageOutput, error) {
9803	req, out := c.DeleteFpgaImageRequest(input)
9804	return out, req.Send()
9805}
9806
9807// DeleteFpgaImageWithContext is the same as DeleteFpgaImage with the addition of
9808// the ability to pass a context and additional request options.
9809//
9810// See DeleteFpgaImage for details on how to use this API operation.
9811//
9812// The context must be non-nil and will be used for request cancellation. If
9813// the context is nil a panic will occur. In the future the SDK may create
9814// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9815// for more information on using Contexts.
9816func (c *EC2) DeleteFpgaImageWithContext(ctx aws.Context, input *DeleteFpgaImageInput, opts ...request.Option) (*DeleteFpgaImageOutput, error) {
9817	req, out := c.DeleteFpgaImageRequest(input)
9818	req.SetContext(ctx)
9819	req.ApplyOptions(opts...)
9820	return out, req.Send()
9821}
9822
9823const opDeleteInstanceEventWindow = "DeleteInstanceEventWindow"
9824
9825// DeleteInstanceEventWindowRequest generates a "aws/request.Request" representing the
9826// client's request for the DeleteInstanceEventWindow operation. The "output" return
9827// value will be populated with the request's response once the request completes
9828// successfully.
9829//
9830// Use "Send" method on the returned Request to send the API call to the service.
9831// the "output" return value is not valid until after Send returns without error.
9832//
9833// See DeleteInstanceEventWindow for more information on using the DeleteInstanceEventWindow
9834// API call, and error handling.
9835//
9836// This method is useful when you want to inject custom logic or configuration
9837// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9838//
9839//
9840//    // Example sending a request using the DeleteInstanceEventWindowRequest method.
9841//    req, resp := client.DeleteInstanceEventWindowRequest(params)
9842//
9843//    err := req.Send()
9844//    if err == nil { // resp is now filled
9845//        fmt.Println(resp)
9846//    }
9847//
9848// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInstanceEventWindow
9849func (c *EC2) DeleteInstanceEventWindowRequest(input *DeleteInstanceEventWindowInput) (req *request.Request, output *DeleteInstanceEventWindowOutput) {
9850	op := &request.Operation{
9851		Name:       opDeleteInstanceEventWindow,
9852		HTTPMethod: "POST",
9853		HTTPPath:   "/",
9854	}
9855
9856	if input == nil {
9857		input = &DeleteInstanceEventWindowInput{}
9858	}
9859
9860	output = &DeleteInstanceEventWindowOutput{}
9861	req = c.newRequest(op, input, output)
9862	return
9863}
9864
9865// DeleteInstanceEventWindow API operation for Amazon Elastic Compute Cloud.
9866//
9867// Deletes the specified event window.
9868//
9869// For more information, see Define event windows for scheduled events (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/event-windows.html)
9870// in the Amazon EC2 User Guide.
9871//
9872// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9873// with awserr.Error's Code and Message methods to get detailed information about
9874// the error.
9875//
9876// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9877// API operation DeleteInstanceEventWindow for usage and error information.
9878// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInstanceEventWindow
9879func (c *EC2) DeleteInstanceEventWindow(input *DeleteInstanceEventWindowInput) (*DeleteInstanceEventWindowOutput, error) {
9880	req, out := c.DeleteInstanceEventWindowRequest(input)
9881	return out, req.Send()
9882}
9883
9884// DeleteInstanceEventWindowWithContext is the same as DeleteInstanceEventWindow with the addition of
9885// the ability to pass a context and additional request options.
9886//
9887// See DeleteInstanceEventWindow for details on how to use this API operation.
9888//
9889// The context must be non-nil and will be used for request cancellation. If
9890// the context is nil a panic will occur. In the future the SDK may create
9891// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9892// for more information on using Contexts.
9893func (c *EC2) DeleteInstanceEventWindowWithContext(ctx aws.Context, input *DeleteInstanceEventWindowInput, opts ...request.Option) (*DeleteInstanceEventWindowOutput, error) {
9894	req, out := c.DeleteInstanceEventWindowRequest(input)
9895	req.SetContext(ctx)
9896	req.ApplyOptions(opts...)
9897	return out, req.Send()
9898}
9899
9900const opDeleteInternetGateway = "DeleteInternetGateway"
9901
9902// DeleteInternetGatewayRequest generates a "aws/request.Request" representing the
9903// client's request for the DeleteInternetGateway operation. The "output" return
9904// value will be populated with the request's response once the request completes
9905// successfully.
9906//
9907// Use "Send" method on the returned Request to send the API call to the service.
9908// the "output" return value is not valid until after Send returns without error.
9909//
9910// See DeleteInternetGateway for more information on using the DeleteInternetGateway
9911// API call, and error handling.
9912//
9913// This method is useful when you want to inject custom logic or configuration
9914// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9915//
9916//
9917//    // Example sending a request using the DeleteInternetGatewayRequest method.
9918//    req, resp := client.DeleteInternetGatewayRequest(params)
9919//
9920//    err := req.Send()
9921//    if err == nil { // resp is now filled
9922//        fmt.Println(resp)
9923//    }
9924//
9925// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
9926func (c *EC2) DeleteInternetGatewayRequest(input *DeleteInternetGatewayInput) (req *request.Request, output *DeleteInternetGatewayOutput) {
9927	op := &request.Operation{
9928		Name:       opDeleteInternetGateway,
9929		HTTPMethod: "POST",
9930		HTTPPath:   "/",
9931	}
9932
9933	if input == nil {
9934		input = &DeleteInternetGatewayInput{}
9935	}
9936
9937	output = &DeleteInternetGatewayOutput{}
9938	req = c.newRequest(op, input, output)
9939	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9940	return
9941}
9942
9943// DeleteInternetGateway API operation for Amazon Elastic Compute Cloud.
9944//
9945// Deletes the specified internet gateway. You must detach the internet gateway
9946// from the VPC before you can delete it.
9947//
9948// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9949// with awserr.Error's Code and Message methods to get detailed information about
9950// the error.
9951//
9952// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9953// API operation DeleteInternetGateway for usage and error information.
9954// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
9955func (c *EC2) DeleteInternetGateway(input *DeleteInternetGatewayInput) (*DeleteInternetGatewayOutput, error) {
9956	req, out := c.DeleteInternetGatewayRequest(input)
9957	return out, req.Send()
9958}
9959
9960// DeleteInternetGatewayWithContext is the same as DeleteInternetGateway with the addition of
9961// the ability to pass a context and additional request options.
9962//
9963// See DeleteInternetGateway for details on how to use this API operation.
9964//
9965// The context must be non-nil and will be used for request cancellation. If
9966// the context is nil a panic will occur. In the future the SDK may create
9967// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9968// for more information on using Contexts.
9969func (c *EC2) DeleteInternetGatewayWithContext(ctx aws.Context, input *DeleteInternetGatewayInput, opts ...request.Option) (*DeleteInternetGatewayOutput, error) {
9970	req, out := c.DeleteInternetGatewayRequest(input)
9971	req.SetContext(ctx)
9972	req.ApplyOptions(opts...)
9973	return out, req.Send()
9974}
9975
9976const opDeleteKeyPair = "DeleteKeyPair"
9977
9978// DeleteKeyPairRequest generates a "aws/request.Request" representing the
9979// client's request for the DeleteKeyPair operation. The "output" return
9980// value will be populated with the request's response once the request completes
9981// successfully.
9982//
9983// Use "Send" method on the returned Request to send the API call to the service.
9984// the "output" return value is not valid until after Send returns without error.
9985//
9986// See DeleteKeyPair for more information on using the DeleteKeyPair
9987// API call, and error handling.
9988//
9989// This method is useful when you want to inject custom logic or configuration
9990// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9991//
9992//
9993//    // Example sending a request using the DeleteKeyPairRequest method.
9994//    req, resp := client.DeleteKeyPairRequest(params)
9995//
9996//    err := req.Send()
9997//    if err == nil { // resp is now filled
9998//        fmt.Println(resp)
9999//    }
10000//
10001// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
10002func (c *EC2) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) {
10003	op := &request.Operation{
10004		Name:       opDeleteKeyPair,
10005		HTTPMethod: "POST",
10006		HTTPPath:   "/",
10007	}
10008
10009	if input == nil {
10010		input = &DeleteKeyPairInput{}
10011	}
10012
10013	output = &DeleteKeyPairOutput{}
10014	req = c.newRequest(op, input, output)
10015	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10016	return
10017}
10018
10019// DeleteKeyPair API operation for Amazon Elastic Compute Cloud.
10020//
10021// Deletes the specified key pair, by removing the public key from Amazon EC2.
10022//
10023// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10024// with awserr.Error's Code and Message methods to get detailed information about
10025// the error.
10026//
10027// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10028// API operation DeleteKeyPair for usage and error information.
10029// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
10030func (c *EC2) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
10031	req, out := c.DeleteKeyPairRequest(input)
10032	return out, req.Send()
10033}
10034
10035// DeleteKeyPairWithContext is the same as DeleteKeyPair with the addition of
10036// the ability to pass a context and additional request options.
10037//
10038// See DeleteKeyPair for details on how to use this API operation.
10039//
10040// The context must be non-nil and will be used for request cancellation. If
10041// the context is nil a panic will occur. In the future the SDK may create
10042// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10043// for more information on using Contexts.
10044func (c *EC2) DeleteKeyPairWithContext(ctx aws.Context, input *DeleteKeyPairInput, opts ...request.Option) (*DeleteKeyPairOutput, error) {
10045	req, out := c.DeleteKeyPairRequest(input)
10046	req.SetContext(ctx)
10047	req.ApplyOptions(opts...)
10048	return out, req.Send()
10049}
10050
10051const opDeleteLaunchTemplate = "DeleteLaunchTemplate"
10052
10053// DeleteLaunchTemplateRequest generates a "aws/request.Request" representing the
10054// client's request for the DeleteLaunchTemplate operation. The "output" return
10055// value will be populated with the request's response once the request completes
10056// successfully.
10057//
10058// Use "Send" method on the returned Request to send the API call to the service.
10059// the "output" return value is not valid until after Send returns without error.
10060//
10061// See DeleteLaunchTemplate for more information on using the DeleteLaunchTemplate
10062// API call, and error handling.
10063//
10064// This method is useful when you want to inject custom logic or configuration
10065// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10066//
10067//
10068//    // Example sending a request using the DeleteLaunchTemplateRequest method.
10069//    req, resp := client.DeleteLaunchTemplateRequest(params)
10070//
10071//    err := req.Send()
10072//    if err == nil { // resp is now filled
10073//        fmt.Println(resp)
10074//    }
10075//
10076// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplate
10077func (c *EC2) DeleteLaunchTemplateRequest(input *DeleteLaunchTemplateInput) (req *request.Request, output *DeleteLaunchTemplateOutput) {
10078	op := &request.Operation{
10079		Name:       opDeleteLaunchTemplate,
10080		HTTPMethod: "POST",
10081		HTTPPath:   "/",
10082	}
10083
10084	if input == nil {
10085		input = &DeleteLaunchTemplateInput{}
10086	}
10087
10088	output = &DeleteLaunchTemplateOutput{}
10089	req = c.newRequest(op, input, output)
10090	return
10091}
10092
10093// DeleteLaunchTemplate API operation for Amazon Elastic Compute Cloud.
10094//
10095// Deletes a launch template. Deleting a launch template deletes all of its
10096// versions.
10097//
10098// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10099// with awserr.Error's Code and Message methods to get detailed information about
10100// the error.
10101//
10102// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10103// API operation DeleteLaunchTemplate for usage and error information.
10104// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplate
10105func (c *EC2) DeleteLaunchTemplate(input *DeleteLaunchTemplateInput) (*DeleteLaunchTemplateOutput, error) {
10106	req, out := c.DeleteLaunchTemplateRequest(input)
10107	return out, req.Send()
10108}
10109
10110// DeleteLaunchTemplateWithContext is the same as DeleteLaunchTemplate with the addition of
10111// the ability to pass a context and additional request options.
10112//
10113// See DeleteLaunchTemplate for details on how to use this API operation.
10114//
10115// The context must be non-nil and will be used for request cancellation. If
10116// the context is nil a panic will occur. In the future the SDK may create
10117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10118// for more information on using Contexts.
10119func (c *EC2) DeleteLaunchTemplateWithContext(ctx aws.Context, input *DeleteLaunchTemplateInput, opts ...request.Option) (*DeleteLaunchTemplateOutput, error) {
10120	req, out := c.DeleteLaunchTemplateRequest(input)
10121	req.SetContext(ctx)
10122	req.ApplyOptions(opts...)
10123	return out, req.Send()
10124}
10125
10126const opDeleteLaunchTemplateVersions = "DeleteLaunchTemplateVersions"
10127
10128// DeleteLaunchTemplateVersionsRequest generates a "aws/request.Request" representing the
10129// client's request for the DeleteLaunchTemplateVersions operation. The "output" return
10130// value will be populated with the request's response once the request completes
10131// successfully.
10132//
10133// Use "Send" method on the returned Request to send the API call to the service.
10134// the "output" return value is not valid until after Send returns without error.
10135//
10136// See DeleteLaunchTemplateVersions for more information on using the DeleteLaunchTemplateVersions
10137// API call, and error handling.
10138//
10139// This method is useful when you want to inject custom logic or configuration
10140// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10141//
10142//
10143//    // Example sending a request using the DeleteLaunchTemplateVersionsRequest method.
10144//    req, resp := client.DeleteLaunchTemplateVersionsRequest(params)
10145//
10146//    err := req.Send()
10147//    if err == nil { // resp is now filled
10148//        fmt.Println(resp)
10149//    }
10150//
10151// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersions
10152func (c *EC2) DeleteLaunchTemplateVersionsRequest(input *DeleteLaunchTemplateVersionsInput) (req *request.Request, output *DeleteLaunchTemplateVersionsOutput) {
10153	op := &request.Operation{
10154		Name:       opDeleteLaunchTemplateVersions,
10155		HTTPMethod: "POST",
10156		HTTPPath:   "/",
10157	}
10158
10159	if input == nil {
10160		input = &DeleteLaunchTemplateVersionsInput{}
10161	}
10162
10163	output = &DeleteLaunchTemplateVersionsOutput{}
10164	req = c.newRequest(op, input, output)
10165	return
10166}
10167
10168// DeleteLaunchTemplateVersions API operation for Amazon Elastic Compute Cloud.
10169//
10170// Deletes one or more versions of a launch template. You cannot delete the
10171// default version of a launch template; you must first assign a different version
10172// as the default. If the default version is the only version for the launch
10173// template, you must delete the entire launch template using DeleteLaunchTemplate.
10174//
10175// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10176// with awserr.Error's Code and Message methods to get detailed information about
10177// the error.
10178//
10179// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10180// API operation DeleteLaunchTemplateVersions for usage and error information.
10181// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersions
10182func (c *EC2) DeleteLaunchTemplateVersions(input *DeleteLaunchTemplateVersionsInput) (*DeleteLaunchTemplateVersionsOutput, error) {
10183	req, out := c.DeleteLaunchTemplateVersionsRequest(input)
10184	return out, req.Send()
10185}
10186
10187// DeleteLaunchTemplateVersionsWithContext is the same as DeleteLaunchTemplateVersions with the addition of
10188// the ability to pass a context and additional request options.
10189//
10190// See DeleteLaunchTemplateVersions for details on how to use this API operation.
10191//
10192// The context must be non-nil and will be used for request cancellation. If
10193// the context is nil a panic will occur. In the future the SDK may create
10194// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10195// for more information on using Contexts.
10196func (c *EC2) DeleteLaunchTemplateVersionsWithContext(ctx aws.Context, input *DeleteLaunchTemplateVersionsInput, opts ...request.Option) (*DeleteLaunchTemplateVersionsOutput, error) {
10197	req, out := c.DeleteLaunchTemplateVersionsRequest(input)
10198	req.SetContext(ctx)
10199	req.ApplyOptions(opts...)
10200	return out, req.Send()
10201}
10202
10203const opDeleteLocalGatewayRoute = "DeleteLocalGatewayRoute"
10204
10205// DeleteLocalGatewayRouteRequest generates a "aws/request.Request" representing the
10206// client's request for the DeleteLocalGatewayRoute operation. The "output" return
10207// value will be populated with the request's response once the request completes
10208// successfully.
10209//
10210// Use "Send" method on the returned Request to send the API call to the service.
10211// the "output" return value is not valid until after Send returns without error.
10212//
10213// See DeleteLocalGatewayRoute for more information on using the DeleteLocalGatewayRoute
10214// API call, and error handling.
10215//
10216// This method is useful when you want to inject custom logic or configuration
10217// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10218//
10219//
10220//    // Example sending a request using the DeleteLocalGatewayRouteRequest method.
10221//    req, resp := client.DeleteLocalGatewayRouteRequest(params)
10222//
10223//    err := req.Send()
10224//    if err == nil { // resp is now filled
10225//        fmt.Println(resp)
10226//    }
10227//
10228// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRoute
10229func (c *EC2) DeleteLocalGatewayRouteRequest(input *DeleteLocalGatewayRouteInput) (req *request.Request, output *DeleteLocalGatewayRouteOutput) {
10230	op := &request.Operation{
10231		Name:       opDeleteLocalGatewayRoute,
10232		HTTPMethod: "POST",
10233		HTTPPath:   "/",
10234	}
10235
10236	if input == nil {
10237		input = &DeleteLocalGatewayRouteInput{}
10238	}
10239
10240	output = &DeleteLocalGatewayRouteOutput{}
10241	req = c.newRequest(op, input, output)
10242	return
10243}
10244
10245// DeleteLocalGatewayRoute API operation for Amazon Elastic Compute Cloud.
10246//
10247// Deletes the specified route from the specified local gateway route table.
10248//
10249// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10250// with awserr.Error's Code and Message methods to get detailed information about
10251// the error.
10252//
10253// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10254// API operation DeleteLocalGatewayRoute for usage and error information.
10255// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRoute
10256func (c *EC2) DeleteLocalGatewayRoute(input *DeleteLocalGatewayRouteInput) (*DeleteLocalGatewayRouteOutput, error) {
10257	req, out := c.DeleteLocalGatewayRouteRequest(input)
10258	return out, req.Send()
10259}
10260
10261// DeleteLocalGatewayRouteWithContext is the same as DeleteLocalGatewayRoute with the addition of
10262// the ability to pass a context and additional request options.
10263//
10264// See DeleteLocalGatewayRoute for details on how to use this API operation.
10265//
10266// The context must be non-nil and will be used for request cancellation. If
10267// the context is nil a panic will occur. In the future the SDK may create
10268// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10269// for more information on using Contexts.
10270func (c *EC2) DeleteLocalGatewayRouteWithContext(ctx aws.Context, input *DeleteLocalGatewayRouteInput, opts ...request.Option) (*DeleteLocalGatewayRouteOutput, error) {
10271	req, out := c.DeleteLocalGatewayRouteRequest(input)
10272	req.SetContext(ctx)
10273	req.ApplyOptions(opts...)
10274	return out, req.Send()
10275}
10276
10277const opDeleteLocalGatewayRouteTableVpcAssociation = "DeleteLocalGatewayRouteTableVpcAssociation"
10278
10279// DeleteLocalGatewayRouteTableVpcAssociationRequest generates a "aws/request.Request" representing the
10280// client's request for the DeleteLocalGatewayRouteTableVpcAssociation operation. The "output" return
10281// value will be populated with the request's response once the request completes
10282// successfully.
10283//
10284// Use "Send" method on the returned Request to send the API call to the service.
10285// the "output" return value is not valid until after Send returns without error.
10286//
10287// See DeleteLocalGatewayRouteTableVpcAssociation for more information on using the DeleteLocalGatewayRouteTableVpcAssociation
10288// API call, and error handling.
10289//
10290// This method is useful when you want to inject custom logic or configuration
10291// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10292//
10293//
10294//    // Example sending a request using the DeleteLocalGatewayRouteTableVpcAssociationRequest method.
10295//    req, resp := client.DeleteLocalGatewayRouteTableVpcAssociationRequest(params)
10296//
10297//    err := req.Send()
10298//    if err == nil { // resp is now filled
10299//        fmt.Println(resp)
10300//    }
10301//
10302// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRouteTableVpcAssociation
10303func (c *EC2) DeleteLocalGatewayRouteTableVpcAssociationRequest(input *DeleteLocalGatewayRouteTableVpcAssociationInput) (req *request.Request, output *DeleteLocalGatewayRouteTableVpcAssociationOutput) {
10304	op := &request.Operation{
10305		Name:       opDeleteLocalGatewayRouteTableVpcAssociation,
10306		HTTPMethod: "POST",
10307		HTTPPath:   "/",
10308	}
10309
10310	if input == nil {
10311		input = &DeleteLocalGatewayRouteTableVpcAssociationInput{}
10312	}
10313
10314	output = &DeleteLocalGatewayRouteTableVpcAssociationOutput{}
10315	req = c.newRequest(op, input, output)
10316	return
10317}
10318
10319// DeleteLocalGatewayRouteTableVpcAssociation API operation for Amazon Elastic Compute Cloud.
10320//
10321// Deletes the specified association between a VPC and local gateway route table.
10322//
10323// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10324// with awserr.Error's Code and Message methods to get detailed information about
10325// the error.
10326//
10327// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10328// API operation DeleteLocalGatewayRouteTableVpcAssociation for usage and error information.
10329// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRouteTableVpcAssociation
10330func (c *EC2) DeleteLocalGatewayRouteTableVpcAssociation(input *DeleteLocalGatewayRouteTableVpcAssociationInput) (*DeleteLocalGatewayRouteTableVpcAssociationOutput, error) {
10331	req, out := c.DeleteLocalGatewayRouteTableVpcAssociationRequest(input)
10332	return out, req.Send()
10333}
10334
10335// DeleteLocalGatewayRouteTableVpcAssociationWithContext is the same as DeleteLocalGatewayRouteTableVpcAssociation with the addition of
10336// the ability to pass a context and additional request options.
10337//
10338// See DeleteLocalGatewayRouteTableVpcAssociation for details on how to use this API operation.
10339//
10340// The context must be non-nil and will be used for request cancellation. If
10341// the context is nil a panic will occur. In the future the SDK may create
10342// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10343// for more information on using Contexts.
10344func (c *EC2) DeleteLocalGatewayRouteTableVpcAssociationWithContext(ctx aws.Context, input *DeleteLocalGatewayRouteTableVpcAssociationInput, opts ...request.Option) (*DeleteLocalGatewayRouteTableVpcAssociationOutput, error) {
10345	req, out := c.DeleteLocalGatewayRouteTableVpcAssociationRequest(input)
10346	req.SetContext(ctx)
10347	req.ApplyOptions(opts...)
10348	return out, req.Send()
10349}
10350
10351const opDeleteManagedPrefixList = "DeleteManagedPrefixList"
10352
10353// DeleteManagedPrefixListRequest generates a "aws/request.Request" representing the
10354// client's request for the DeleteManagedPrefixList operation. The "output" return
10355// value will be populated with the request's response once the request completes
10356// successfully.
10357//
10358// Use "Send" method on the returned Request to send the API call to the service.
10359// the "output" return value is not valid until after Send returns without error.
10360//
10361// See DeleteManagedPrefixList for more information on using the DeleteManagedPrefixList
10362// API call, and error handling.
10363//
10364// This method is useful when you want to inject custom logic or configuration
10365// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10366//
10367//
10368//    // Example sending a request using the DeleteManagedPrefixListRequest method.
10369//    req, resp := client.DeleteManagedPrefixListRequest(params)
10370//
10371//    err := req.Send()
10372//    if err == nil { // resp is now filled
10373//        fmt.Println(resp)
10374//    }
10375//
10376// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteManagedPrefixList
10377func (c *EC2) DeleteManagedPrefixListRequest(input *DeleteManagedPrefixListInput) (req *request.Request, output *DeleteManagedPrefixListOutput) {
10378	op := &request.Operation{
10379		Name:       opDeleteManagedPrefixList,
10380		HTTPMethod: "POST",
10381		HTTPPath:   "/",
10382	}
10383
10384	if input == nil {
10385		input = &DeleteManagedPrefixListInput{}
10386	}
10387
10388	output = &DeleteManagedPrefixListOutput{}
10389	req = c.newRequest(op, input, output)
10390	return
10391}
10392
10393// DeleteManagedPrefixList API operation for Amazon Elastic Compute Cloud.
10394//
10395// Deletes the specified managed prefix list. You must first remove all references
10396// to the prefix list in your resources.
10397//
10398// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10399// with awserr.Error's Code and Message methods to get detailed information about
10400// the error.
10401//
10402// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10403// API operation DeleteManagedPrefixList for usage and error information.
10404// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteManagedPrefixList
10405func (c *EC2) DeleteManagedPrefixList(input *DeleteManagedPrefixListInput) (*DeleteManagedPrefixListOutput, error) {
10406	req, out := c.DeleteManagedPrefixListRequest(input)
10407	return out, req.Send()
10408}
10409
10410// DeleteManagedPrefixListWithContext is the same as DeleteManagedPrefixList with the addition of
10411// the ability to pass a context and additional request options.
10412//
10413// See DeleteManagedPrefixList for details on how to use this API operation.
10414//
10415// The context must be non-nil and will be used for request cancellation. If
10416// the context is nil a panic will occur. In the future the SDK may create
10417// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10418// for more information on using Contexts.
10419func (c *EC2) DeleteManagedPrefixListWithContext(ctx aws.Context, input *DeleteManagedPrefixListInput, opts ...request.Option) (*DeleteManagedPrefixListOutput, error) {
10420	req, out := c.DeleteManagedPrefixListRequest(input)
10421	req.SetContext(ctx)
10422	req.ApplyOptions(opts...)
10423	return out, req.Send()
10424}
10425
10426const opDeleteNatGateway = "DeleteNatGateway"
10427
10428// DeleteNatGatewayRequest generates a "aws/request.Request" representing the
10429// client's request for the DeleteNatGateway operation. The "output" return
10430// value will be populated with the request's response once the request completes
10431// successfully.
10432//
10433// Use "Send" method on the returned Request to send the API call to the service.
10434// the "output" return value is not valid until after Send returns without error.
10435//
10436// See DeleteNatGateway for more information on using the DeleteNatGateway
10437// API call, and error handling.
10438//
10439// This method is useful when you want to inject custom logic or configuration
10440// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10441//
10442//
10443//    // Example sending a request using the DeleteNatGatewayRequest method.
10444//    req, resp := client.DeleteNatGatewayRequest(params)
10445//
10446//    err := req.Send()
10447//    if err == nil { // resp is now filled
10448//        fmt.Println(resp)
10449//    }
10450//
10451// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
10452func (c *EC2) DeleteNatGatewayRequest(input *DeleteNatGatewayInput) (req *request.Request, output *DeleteNatGatewayOutput) {
10453	op := &request.Operation{
10454		Name:       opDeleteNatGateway,
10455		HTTPMethod: "POST",
10456		HTTPPath:   "/",
10457	}
10458
10459	if input == nil {
10460		input = &DeleteNatGatewayInput{}
10461	}
10462
10463	output = &DeleteNatGatewayOutput{}
10464	req = c.newRequest(op, input, output)
10465	return
10466}
10467
10468// DeleteNatGateway API operation for Amazon Elastic Compute Cloud.
10469//
10470// Deletes the specified NAT gateway. Deleting a public NAT gateway disassociates
10471// its Elastic IP address, but does not release the address from your account.
10472// Deleting a NAT gateway does not delete any NAT gateway routes in your route
10473// tables.
10474//
10475// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10476// with awserr.Error's Code and Message methods to get detailed information about
10477// the error.
10478//
10479// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10480// API operation DeleteNatGateway for usage and error information.
10481// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
10482func (c *EC2) DeleteNatGateway(input *DeleteNatGatewayInput) (*DeleteNatGatewayOutput, error) {
10483	req, out := c.DeleteNatGatewayRequest(input)
10484	return out, req.Send()
10485}
10486
10487// DeleteNatGatewayWithContext is the same as DeleteNatGateway with the addition of
10488// the ability to pass a context and additional request options.
10489//
10490// See DeleteNatGateway for details on how to use this API operation.
10491//
10492// The context must be non-nil and will be used for request cancellation. If
10493// the context is nil a panic will occur. In the future the SDK may create
10494// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10495// for more information on using Contexts.
10496func (c *EC2) DeleteNatGatewayWithContext(ctx aws.Context, input *DeleteNatGatewayInput, opts ...request.Option) (*DeleteNatGatewayOutput, error) {
10497	req, out := c.DeleteNatGatewayRequest(input)
10498	req.SetContext(ctx)
10499	req.ApplyOptions(opts...)
10500	return out, req.Send()
10501}
10502
10503const opDeleteNetworkAcl = "DeleteNetworkAcl"
10504
10505// DeleteNetworkAclRequest generates a "aws/request.Request" representing the
10506// client's request for the DeleteNetworkAcl operation. The "output" return
10507// value will be populated with the request's response once the request completes
10508// successfully.
10509//
10510// Use "Send" method on the returned Request to send the API call to the service.
10511// the "output" return value is not valid until after Send returns without error.
10512//
10513// See DeleteNetworkAcl for more information on using the DeleteNetworkAcl
10514// API call, and error handling.
10515//
10516// This method is useful when you want to inject custom logic or configuration
10517// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10518//
10519//
10520//    // Example sending a request using the DeleteNetworkAclRequest method.
10521//    req, resp := client.DeleteNetworkAclRequest(params)
10522//
10523//    err := req.Send()
10524//    if err == nil { // resp is now filled
10525//        fmt.Println(resp)
10526//    }
10527//
10528// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
10529func (c *EC2) DeleteNetworkAclRequest(input *DeleteNetworkAclInput) (req *request.Request, output *DeleteNetworkAclOutput) {
10530	op := &request.Operation{
10531		Name:       opDeleteNetworkAcl,
10532		HTTPMethod: "POST",
10533		HTTPPath:   "/",
10534	}
10535
10536	if input == nil {
10537		input = &DeleteNetworkAclInput{}
10538	}
10539
10540	output = &DeleteNetworkAclOutput{}
10541	req = c.newRequest(op, input, output)
10542	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10543	return
10544}
10545
10546// DeleteNetworkAcl API operation for Amazon Elastic Compute Cloud.
10547//
10548// Deletes the specified network ACL. You can't delete the ACL if it's associated
10549// with any subnets. You can't delete the default network ACL.
10550//
10551// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10552// with awserr.Error's Code and Message methods to get detailed information about
10553// the error.
10554//
10555// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10556// API operation DeleteNetworkAcl for usage and error information.
10557// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
10558func (c *EC2) DeleteNetworkAcl(input *DeleteNetworkAclInput) (*DeleteNetworkAclOutput, error) {
10559	req, out := c.DeleteNetworkAclRequest(input)
10560	return out, req.Send()
10561}
10562
10563// DeleteNetworkAclWithContext is the same as DeleteNetworkAcl with the addition of
10564// the ability to pass a context and additional request options.
10565//
10566// See DeleteNetworkAcl for details on how to use this API operation.
10567//
10568// The context must be non-nil and will be used for request cancellation. If
10569// the context is nil a panic will occur. In the future the SDK may create
10570// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10571// for more information on using Contexts.
10572func (c *EC2) DeleteNetworkAclWithContext(ctx aws.Context, input *DeleteNetworkAclInput, opts ...request.Option) (*DeleteNetworkAclOutput, error) {
10573	req, out := c.DeleteNetworkAclRequest(input)
10574	req.SetContext(ctx)
10575	req.ApplyOptions(opts...)
10576	return out, req.Send()
10577}
10578
10579const opDeleteNetworkAclEntry = "DeleteNetworkAclEntry"
10580
10581// DeleteNetworkAclEntryRequest generates a "aws/request.Request" representing the
10582// client's request for the DeleteNetworkAclEntry operation. The "output" return
10583// value will be populated with the request's response once the request completes
10584// successfully.
10585//
10586// Use "Send" method on the returned Request to send the API call to the service.
10587// the "output" return value is not valid until after Send returns without error.
10588//
10589// See DeleteNetworkAclEntry for more information on using the DeleteNetworkAclEntry
10590// API call, and error handling.
10591//
10592// This method is useful when you want to inject custom logic or configuration
10593// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10594//
10595//
10596//    // Example sending a request using the DeleteNetworkAclEntryRequest method.
10597//    req, resp := client.DeleteNetworkAclEntryRequest(params)
10598//
10599//    err := req.Send()
10600//    if err == nil { // resp is now filled
10601//        fmt.Println(resp)
10602//    }
10603//
10604// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
10605func (c *EC2) DeleteNetworkAclEntryRequest(input *DeleteNetworkAclEntryInput) (req *request.Request, output *DeleteNetworkAclEntryOutput) {
10606	op := &request.Operation{
10607		Name:       opDeleteNetworkAclEntry,
10608		HTTPMethod: "POST",
10609		HTTPPath:   "/",
10610	}
10611
10612	if input == nil {
10613		input = &DeleteNetworkAclEntryInput{}
10614	}
10615
10616	output = &DeleteNetworkAclEntryOutput{}
10617	req = c.newRequest(op, input, output)
10618	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10619	return
10620}
10621
10622// DeleteNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
10623//
10624// Deletes the specified ingress or egress entry (rule) from the specified network
10625// ACL.
10626//
10627// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10628// with awserr.Error's Code and Message methods to get detailed information about
10629// the error.
10630//
10631// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10632// API operation DeleteNetworkAclEntry for usage and error information.
10633// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
10634func (c *EC2) DeleteNetworkAclEntry(input *DeleteNetworkAclEntryInput) (*DeleteNetworkAclEntryOutput, error) {
10635	req, out := c.DeleteNetworkAclEntryRequest(input)
10636	return out, req.Send()
10637}
10638
10639// DeleteNetworkAclEntryWithContext is the same as DeleteNetworkAclEntry with the addition of
10640// the ability to pass a context and additional request options.
10641//
10642// See DeleteNetworkAclEntry for details on how to use this API operation.
10643//
10644// The context must be non-nil and will be used for request cancellation. If
10645// the context is nil a panic will occur. In the future the SDK may create
10646// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10647// for more information on using Contexts.
10648func (c *EC2) DeleteNetworkAclEntryWithContext(ctx aws.Context, input *DeleteNetworkAclEntryInput, opts ...request.Option) (*DeleteNetworkAclEntryOutput, error) {
10649	req, out := c.DeleteNetworkAclEntryRequest(input)
10650	req.SetContext(ctx)
10651	req.ApplyOptions(opts...)
10652	return out, req.Send()
10653}
10654
10655const opDeleteNetworkInsightsAnalysis = "DeleteNetworkInsightsAnalysis"
10656
10657// DeleteNetworkInsightsAnalysisRequest generates a "aws/request.Request" representing the
10658// client's request for the DeleteNetworkInsightsAnalysis operation. The "output" return
10659// value will be populated with the request's response once the request completes
10660// successfully.
10661//
10662// Use "Send" method on the returned Request to send the API call to the service.
10663// the "output" return value is not valid until after Send returns without error.
10664//
10665// See DeleteNetworkInsightsAnalysis for more information on using the DeleteNetworkInsightsAnalysis
10666// API call, and error handling.
10667//
10668// This method is useful when you want to inject custom logic or configuration
10669// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10670//
10671//
10672//    // Example sending a request using the DeleteNetworkInsightsAnalysisRequest method.
10673//    req, resp := client.DeleteNetworkInsightsAnalysisRequest(params)
10674//
10675//    err := req.Send()
10676//    if err == nil { // resp is now filled
10677//        fmt.Println(resp)
10678//    }
10679//
10680// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInsightsAnalysis
10681func (c *EC2) DeleteNetworkInsightsAnalysisRequest(input *DeleteNetworkInsightsAnalysisInput) (req *request.Request, output *DeleteNetworkInsightsAnalysisOutput) {
10682	op := &request.Operation{
10683		Name:       opDeleteNetworkInsightsAnalysis,
10684		HTTPMethod: "POST",
10685		HTTPPath:   "/",
10686	}
10687
10688	if input == nil {
10689		input = &DeleteNetworkInsightsAnalysisInput{}
10690	}
10691
10692	output = &DeleteNetworkInsightsAnalysisOutput{}
10693	req = c.newRequest(op, input, output)
10694	return
10695}
10696
10697// DeleteNetworkInsightsAnalysis API operation for Amazon Elastic Compute Cloud.
10698//
10699// Deletes the specified network insights analysis.
10700//
10701// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10702// with awserr.Error's Code and Message methods to get detailed information about
10703// the error.
10704//
10705// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10706// API operation DeleteNetworkInsightsAnalysis for usage and error information.
10707// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInsightsAnalysis
10708func (c *EC2) DeleteNetworkInsightsAnalysis(input *DeleteNetworkInsightsAnalysisInput) (*DeleteNetworkInsightsAnalysisOutput, error) {
10709	req, out := c.DeleteNetworkInsightsAnalysisRequest(input)
10710	return out, req.Send()
10711}
10712
10713// DeleteNetworkInsightsAnalysisWithContext is the same as DeleteNetworkInsightsAnalysis with the addition of
10714// the ability to pass a context and additional request options.
10715//
10716// See DeleteNetworkInsightsAnalysis for details on how to use this API operation.
10717//
10718// The context must be non-nil and will be used for request cancellation. If
10719// the context is nil a panic will occur. In the future the SDK may create
10720// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10721// for more information on using Contexts.
10722func (c *EC2) DeleteNetworkInsightsAnalysisWithContext(ctx aws.Context, input *DeleteNetworkInsightsAnalysisInput, opts ...request.Option) (*DeleteNetworkInsightsAnalysisOutput, error) {
10723	req, out := c.DeleteNetworkInsightsAnalysisRequest(input)
10724	req.SetContext(ctx)
10725	req.ApplyOptions(opts...)
10726	return out, req.Send()
10727}
10728
10729const opDeleteNetworkInsightsPath = "DeleteNetworkInsightsPath"
10730
10731// DeleteNetworkInsightsPathRequest generates a "aws/request.Request" representing the
10732// client's request for the DeleteNetworkInsightsPath operation. The "output" return
10733// value will be populated with the request's response once the request completes
10734// successfully.
10735//
10736// Use "Send" method on the returned Request to send the API call to the service.
10737// the "output" return value is not valid until after Send returns without error.
10738//
10739// See DeleteNetworkInsightsPath for more information on using the DeleteNetworkInsightsPath
10740// API call, and error handling.
10741//
10742// This method is useful when you want to inject custom logic or configuration
10743// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10744//
10745//
10746//    // Example sending a request using the DeleteNetworkInsightsPathRequest method.
10747//    req, resp := client.DeleteNetworkInsightsPathRequest(params)
10748//
10749//    err := req.Send()
10750//    if err == nil { // resp is now filled
10751//        fmt.Println(resp)
10752//    }
10753//
10754// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInsightsPath
10755func (c *EC2) DeleteNetworkInsightsPathRequest(input *DeleteNetworkInsightsPathInput) (req *request.Request, output *DeleteNetworkInsightsPathOutput) {
10756	op := &request.Operation{
10757		Name:       opDeleteNetworkInsightsPath,
10758		HTTPMethod: "POST",
10759		HTTPPath:   "/",
10760	}
10761
10762	if input == nil {
10763		input = &DeleteNetworkInsightsPathInput{}
10764	}
10765
10766	output = &DeleteNetworkInsightsPathOutput{}
10767	req = c.newRequest(op, input, output)
10768	return
10769}
10770
10771// DeleteNetworkInsightsPath API operation for Amazon Elastic Compute Cloud.
10772//
10773// Deletes the specified path.
10774//
10775// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10776// with awserr.Error's Code and Message methods to get detailed information about
10777// the error.
10778//
10779// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10780// API operation DeleteNetworkInsightsPath for usage and error information.
10781// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInsightsPath
10782func (c *EC2) DeleteNetworkInsightsPath(input *DeleteNetworkInsightsPathInput) (*DeleteNetworkInsightsPathOutput, error) {
10783	req, out := c.DeleteNetworkInsightsPathRequest(input)
10784	return out, req.Send()
10785}
10786
10787// DeleteNetworkInsightsPathWithContext is the same as DeleteNetworkInsightsPath with the addition of
10788// the ability to pass a context and additional request options.
10789//
10790// See DeleteNetworkInsightsPath for details on how to use this API operation.
10791//
10792// The context must be non-nil and will be used for request cancellation. If
10793// the context is nil a panic will occur. In the future the SDK may create
10794// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10795// for more information on using Contexts.
10796func (c *EC2) DeleteNetworkInsightsPathWithContext(ctx aws.Context, input *DeleteNetworkInsightsPathInput, opts ...request.Option) (*DeleteNetworkInsightsPathOutput, error) {
10797	req, out := c.DeleteNetworkInsightsPathRequest(input)
10798	req.SetContext(ctx)
10799	req.ApplyOptions(opts...)
10800	return out, req.Send()
10801}
10802
10803const opDeleteNetworkInterface = "DeleteNetworkInterface"
10804
10805// DeleteNetworkInterfaceRequest generates a "aws/request.Request" representing the
10806// client's request for the DeleteNetworkInterface operation. The "output" return
10807// value will be populated with the request's response once the request completes
10808// successfully.
10809//
10810// Use "Send" method on the returned Request to send the API call to the service.
10811// the "output" return value is not valid until after Send returns without error.
10812//
10813// See DeleteNetworkInterface for more information on using the DeleteNetworkInterface
10814// API call, and error handling.
10815//
10816// This method is useful when you want to inject custom logic or configuration
10817// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10818//
10819//
10820//    // Example sending a request using the DeleteNetworkInterfaceRequest method.
10821//    req, resp := client.DeleteNetworkInterfaceRequest(params)
10822//
10823//    err := req.Send()
10824//    if err == nil { // resp is now filled
10825//        fmt.Println(resp)
10826//    }
10827//
10828// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
10829func (c *EC2) DeleteNetworkInterfaceRequest(input *DeleteNetworkInterfaceInput) (req *request.Request, output *DeleteNetworkInterfaceOutput) {
10830	op := &request.Operation{
10831		Name:       opDeleteNetworkInterface,
10832		HTTPMethod: "POST",
10833		HTTPPath:   "/",
10834	}
10835
10836	if input == nil {
10837		input = &DeleteNetworkInterfaceInput{}
10838	}
10839
10840	output = &DeleteNetworkInterfaceOutput{}
10841	req = c.newRequest(op, input, output)
10842	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10843	return
10844}
10845
10846// DeleteNetworkInterface API operation for Amazon Elastic Compute Cloud.
10847//
10848// Deletes the specified network interface. You must detach the network interface
10849// before you can delete it.
10850//
10851// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10852// with awserr.Error's Code and Message methods to get detailed information about
10853// the error.
10854//
10855// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10856// API operation DeleteNetworkInterface for usage and error information.
10857// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
10858func (c *EC2) DeleteNetworkInterface(input *DeleteNetworkInterfaceInput) (*DeleteNetworkInterfaceOutput, error) {
10859	req, out := c.DeleteNetworkInterfaceRequest(input)
10860	return out, req.Send()
10861}
10862
10863// DeleteNetworkInterfaceWithContext is the same as DeleteNetworkInterface with the addition of
10864// the ability to pass a context and additional request options.
10865//
10866// See DeleteNetworkInterface for details on how to use this API operation.
10867//
10868// The context must be non-nil and will be used for request cancellation. If
10869// the context is nil a panic will occur. In the future the SDK may create
10870// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10871// for more information on using Contexts.
10872func (c *EC2) DeleteNetworkInterfaceWithContext(ctx aws.Context, input *DeleteNetworkInterfaceInput, opts ...request.Option) (*DeleteNetworkInterfaceOutput, error) {
10873	req, out := c.DeleteNetworkInterfaceRequest(input)
10874	req.SetContext(ctx)
10875	req.ApplyOptions(opts...)
10876	return out, req.Send()
10877}
10878
10879const opDeleteNetworkInterfacePermission = "DeleteNetworkInterfacePermission"
10880
10881// DeleteNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
10882// client's request for the DeleteNetworkInterfacePermission operation. The "output" return
10883// value will be populated with the request's response once the request completes
10884// successfully.
10885//
10886// Use "Send" method on the returned Request to send the API call to the service.
10887// the "output" return value is not valid until after Send returns without error.
10888//
10889// See DeleteNetworkInterfacePermission for more information on using the DeleteNetworkInterfacePermission
10890// API call, and error handling.
10891//
10892// This method is useful when you want to inject custom logic or configuration
10893// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10894//
10895//
10896//    // Example sending a request using the DeleteNetworkInterfacePermissionRequest method.
10897//    req, resp := client.DeleteNetworkInterfacePermissionRequest(params)
10898//
10899//    err := req.Send()
10900//    if err == nil { // resp is now filled
10901//        fmt.Println(resp)
10902//    }
10903//
10904// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission
10905func (c *EC2) DeleteNetworkInterfacePermissionRequest(input *DeleteNetworkInterfacePermissionInput) (req *request.Request, output *DeleteNetworkInterfacePermissionOutput) {
10906	op := &request.Operation{
10907		Name:       opDeleteNetworkInterfacePermission,
10908		HTTPMethod: "POST",
10909		HTTPPath:   "/",
10910	}
10911
10912	if input == nil {
10913		input = &DeleteNetworkInterfacePermissionInput{}
10914	}
10915
10916	output = &DeleteNetworkInterfacePermissionOutput{}
10917	req = c.newRequest(op, input, output)
10918	return
10919}
10920
10921// DeleteNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
10922//
10923// Deletes a permission for a network interface. By default, you cannot delete
10924// the permission if the account for which you're removing the permission has
10925// attached the network interface to an instance. However, you can force delete
10926// the permission, regardless of any attachment.
10927//
10928// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10929// with awserr.Error's Code and Message methods to get detailed information about
10930// the error.
10931//
10932// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10933// API operation DeleteNetworkInterfacePermission for usage and error information.
10934// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission
10935func (c *EC2) DeleteNetworkInterfacePermission(input *DeleteNetworkInterfacePermissionInput) (*DeleteNetworkInterfacePermissionOutput, error) {
10936	req, out := c.DeleteNetworkInterfacePermissionRequest(input)
10937	return out, req.Send()
10938}
10939
10940// DeleteNetworkInterfacePermissionWithContext is the same as DeleteNetworkInterfacePermission with the addition of
10941// the ability to pass a context and additional request options.
10942//
10943// See DeleteNetworkInterfacePermission for details on how to use this API operation.
10944//
10945// The context must be non-nil and will be used for request cancellation. If
10946// the context is nil a panic will occur. In the future the SDK may create
10947// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10948// for more information on using Contexts.
10949func (c *EC2) DeleteNetworkInterfacePermissionWithContext(ctx aws.Context, input *DeleteNetworkInterfacePermissionInput, opts ...request.Option) (*DeleteNetworkInterfacePermissionOutput, error) {
10950	req, out := c.DeleteNetworkInterfacePermissionRequest(input)
10951	req.SetContext(ctx)
10952	req.ApplyOptions(opts...)
10953	return out, req.Send()
10954}
10955
10956const opDeletePlacementGroup = "DeletePlacementGroup"
10957
10958// DeletePlacementGroupRequest generates a "aws/request.Request" representing the
10959// client's request for the DeletePlacementGroup operation. The "output" return
10960// value will be populated with the request's response once the request completes
10961// successfully.
10962//
10963// Use "Send" method on the returned Request to send the API call to the service.
10964// the "output" return value is not valid until after Send returns without error.
10965//
10966// See DeletePlacementGroup for more information on using the DeletePlacementGroup
10967// API call, and error handling.
10968//
10969// This method is useful when you want to inject custom logic or configuration
10970// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10971//
10972//
10973//    // Example sending a request using the DeletePlacementGroupRequest method.
10974//    req, resp := client.DeletePlacementGroupRequest(params)
10975//
10976//    err := req.Send()
10977//    if err == nil { // resp is now filled
10978//        fmt.Println(resp)
10979//    }
10980//
10981// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
10982func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req *request.Request, output *DeletePlacementGroupOutput) {
10983	op := &request.Operation{
10984		Name:       opDeletePlacementGroup,
10985		HTTPMethod: "POST",
10986		HTTPPath:   "/",
10987	}
10988
10989	if input == nil {
10990		input = &DeletePlacementGroupInput{}
10991	}
10992
10993	output = &DeletePlacementGroupOutput{}
10994	req = c.newRequest(op, input, output)
10995	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10996	return
10997}
10998
10999// DeletePlacementGroup API operation for Amazon Elastic Compute Cloud.
11000//
11001// Deletes the specified placement group. You must terminate all instances in
11002// the placement group before you can delete the placement group. For more information,
11003// see Placement groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
11004// in the Amazon EC2 User Guide.
11005//
11006// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11007// with awserr.Error's Code and Message methods to get detailed information about
11008// the error.
11009//
11010// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11011// API operation DeletePlacementGroup for usage and error information.
11012// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
11013func (c *EC2) DeletePlacementGroup(input *DeletePlacementGroupInput) (*DeletePlacementGroupOutput, error) {
11014	req, out := c.DeletePlacementGroupRequest(input)
11015	return out, req.Send()
11016}
11017
11018// DeletePlacementGroupWithContext is the same as DeletePlacementGroup with the addition of
11019// the ability to pass a context and additional request options.
11020//
11021// See DeletePlacementGroup for details on how to use this API operation.
11022//
11023// The context must be non-nil and will be used for request cancellation. If
11024// the context is nil a panic will occur. In the future the SDK may create
11025// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11026// for more information on using Contexts.
11027func (c *EC2) DeletePlacementGroupWithContext(ctx aws.Context, input *DeletePlacementGroupInput, opts ...request.Option) (*DeletePlacementGroupOutput, error) {
11028	req, out := c.DeletePlacementGroupRequest(input)
11029	req.SetContext(ctx)
11030	req.ApplyOptions(opts...)
11031	return out, req.Send()
11032}
11033
11034const opDeleteQueuedReservedInstances = "DeleteQueuedReservedInstances"
11035
11036// DeleteQueuedReservedInstancesRequest generates a "aws/request.Request" representing the
11037// client's request for the DeleteQueuedReservedInstances operation. The "output" return
11038// value will be populated with the request's response once the request completes
11039// successfully.
11040//
11041// Use "Send" method on the returned Request to send the API call to the service.
11042// the "output" return value is not valid until after Send returns without error.
11043//
11044// See DeleteQueuedReservedInstances for more information on using the DeleteQueuedReservedInstances
11045// API call, and error handling.
11046//
11047// This method is useful when you want to inject custom logic or configuration
11048// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11049//
11050//
11051//    // Example sending a request using the DeleteQueuedReservedInstancesRequest method.
11052//    req, resp := client.DeleteQueuedReservedInstancesRequest(params)
11053//
11054//    err := req.Send()
11055//    if err == nil { // resp is now filled
11056//        fmt.Println(resp)
11057//    }
11058//
11059// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteQueuedReservedInstances
11060func (c *EC2) DeleteQueuedReservedInstancesRequest(input *DeleteQueuedReservedInstancesInput) (req *request.Request, output *DeleteQueuedReservedInstancesOutput) {
11061	op := &request.Operation{
11062		Name:       opDeleteQueuedReservedInstances,
11063		HTTPMethod: "POST",
11064		HTTPPath:   "/",
11065	}
11066
11067	if input == nil {
11068		input = &DeleteQueuedReservedInstancesInput{}
11069	}
11070
11071	output = &DeleteQueuedReservedInstancesOutput{}
11072	req = c.newRequest(op, input, output)
11073	return
11074}
11075
11076// DeleteQueuedReservedInstances API operation for Amazon Elastic Compute Cloud.
11077//
11078// Deletes the queued purchases for the specified Reserved Instances.
11079//
11080// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11081// with awserr.Error's Code and Message methods to get detailed information about
11082// the error.
11083//
11084// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11085// API operation DeleteQueuedReservedInstances for usage and error information.
11086// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteQueuedReservedInstances
11087func (c *EC2) DeleteQueuedReservedInstances(input *DeleteQueuedReservedInstancesInput) (*DeleteQueuedReservedInstancesOutput, error) {
11088	req, out := c.DeleteQueuedReservedInstancesRequest(input)
11089	return out, req.Send()
11090}
11091
11092// DeleteQueuedReservedInstancesWithContext is the same as DeleteQueuedReservedInstances with the addition of
11093// the ability to pass a context and additional request options.
11094//
11095// See DeleteQueuedReservedInstances for details on how to use this API operation.
11096//
11097// The context must be non-nil and will be used for request cancellation. If
11098// the context is nil a panic will occur. In the future the SDK may create
11099// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11100// for more information on using Contexts.
11101func (c *EC2) DeleteQueuedReservedInstancesWithContext(ctx aws.Context, input *DeleteQueuedReservedInstancesInput, opts ...request.Option) (*DeleteQueuedReservedInstancesOutput, error) {
11102	req, out := c.DeleteQueuedReservedInstancesRequest(input)
11103	req.SetContext(ctx)
11104	req.ApplyOptions(opts...)
11105	return out, req.Send()
11106}
11107
11108const opDeleteRoute = "DeleteRoute"
11109
11110// DeleteRouteRequest generates a "aws/request.Request" representing the
11111// client's request for the DeleteRoute operation. The "output" return
11112// value will be populated with the request's response once the request completes
11113// successfully.
11114//
11115// Use "Send" method on the returned Request to send the API call to the service.
11116// the "output" return value is not valid until after Send returns without error.
11117//
11118// See DeleteRoute for more information on using the DeleteRoute
11119// API call, and error handling.
11120//
11121// This method is useful when you want to inject custom logic or configuration
11122// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11123//
11124//
11125//    // Example sending a request using the DeleteRouteRequest method.
11126//    req, resp := client.DeleteRouteRequest(params)
11127//
11128//    err := req.Send()
11129//    if err == nil { // resp is now filled
11130//        fmt.Println(resp)
11131//    }
11132//
11133// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
11134func (c *EC2) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput) {
11135	op := &request.Operation{
11136		Name:       opDeleteRoute,
11137		HTTPMethod: "POST",
11138		HTTPPath:   "/",
11139	}
11140
11141	if input == nil {
11142		input = &DeleteRouteInput{}
11143	}
11144
11145	output = &DeleteRouteOutput{}
11146	req = c.newRequest(op, input, output)
11147	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11148	return
11149}
11150
11151// DeleteRoute API operation for Amazon Elastic Compute Cloud.
11152//
11153// Deletes the specified route from the specified route table.
11154//
11155// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11156// with awserr.Error's Code and Message methods to get detailed information about
11157// the error.
11158//
11159// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11160// API operation DeleteRoute for usage and error information.
11161// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
11162func (c *EC2) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) {
11163	req, out := c.DeleteRouteRequest(input)
11164	return out, req.Send()
11165}
11166
11167// DeleteRouteWithContext is the same as DeleteRoute with the addition of
11168// the ability to pass a context and additional request options.
11169//
11170// See DeleteRoute for details on how to use this API operation.
11171//
11172// The context must be non-nil and will be used for request cancellation. If
11173// the context is nil a panic will occur. In the future the SDK may create
11174// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11175// for more information on using Contexts.
11176func (c *EC2) DeleteRouteWithContext(ctx aws.Context, input *DeleteRouteInput, opts ...request.Option) (*DeleteRouteOutput, error) {
11177	req, out := c.DeleteRouteRequest(input)
11178	req.SetContext(ctx)
11179	req.ApplyOptions(opts...)
11180	return out, req.Send()
11181}
11182
11183const opDeleteRouteTable = "DeleteRouteTable"
11184
11185// DeleteRouteTableRequest generates a "aws/request.Request" representing the
11186// client's request for the DeleteRouteTable operation. The "output" return
11187// value will be populated with the request's response once the request completes
11188// successfully.
11189//
11190// Use "Send" method on the returned Request to send the API call to the service.
11191// the "output" return value is not valid until after Send returns without error.
11192//
11193// See DeleteRouteTable for more information on using the DeleteRouteTable
11194// API call, and error handling.
11195//
11196// This method is useful when you want to inject custom logic or configuration
11197// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11198//
11199//
11200//    // Example sending a request using the DeleteRouteTableRequest method.
11201//    req, resp := client.DeleteRouteTableRequest(params)
11202//
11203//    err := req.Send()
11204//    if err == nil { // resp is now filled
11205//        fmt.Println(resp)
11206//    }
11207//
11208// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
11209func (c *EC2) DeleteRouteTableRequest(input *DeleteRouteTableInput) (req *request.Request, output *DeleteRouteTableOutput) {
11210	op := &request.Operation{
11211		Name:       opDeleteRouteTable,
11212		HTTPMethod: "POST",
11213		HTTPPath:   "/",
11214	}
11215
11216	if input == nil {
11217		input = &DeleteRouteTableInput{}
11218	}
11219
11220	output = &DeleteRouteTableOutput{}
11221	req = c.newRequest(op, input, output)
11222	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11223	return
11224}
11225
11226// DeleteRouteTable API operation for Amazon Elastic Compute Cloud.
11227//
11228// Deletes the specified route table. You must disassociate the route table
11229// from any subnets before you can delete it. You can't delete the main route
11230// table.
11231//
11232// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11233// with awserr.Error's Code and Message methods to get detailed information about
11234// the error.
11235//
11236// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11237// API operation DeleteRouteTable for usage and error information.
11238// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
11239func (c *EC2) DeleteRouteTable(input *DeleteRouteTableInput) (*DeleteRouteTableOutput, error) {
11240	req, out := c.DeleteRouteTableRequest(input)
11241	return out, req.Send()
11242}
11243
11244// DeleteRouteTableWithContext is the same as DeleteRouteTable with the addition of
11245// the ability to pass a context and additional request options.
11246//
11247// See DeleteRouteTable for details on how to use this API operation.
11248//
11249// The context must be non-nil and will be used for request cancellation. If
11250// the context is nil a panic will occur. In the future the SDK may create
11251// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11252// for more information on using Contexts.
11253func (c *EC2) DeleteRouteTableWithContext(ctx aws.Context, input *DeleteRouteTableInput, opts ...request.Option) (*DeleteRouteTableOutput, error) {
11254	req, out := c.DeleteRouteTableRequest(input)
11255	req.SetContext(ctx)
11256	req.ApplyOptions(opts...)
11257	return out, req.Send()
11258}
11259
11260const opDeleteSecurityGroup = "DeleteSecurityGroup"
11261
11262// DeleteSecurityGroupRequest generates a "aws/request.Request" representing the
11263// client's request for the DeleteSecurityGroup operation. The "output" return
11264// value will be populated with the request's response once the request completes
11265// successfully.
11266//
11267// Use "Send" method on the returned Request to send the API call to the service.
11268// the "output" return value is not valid until after Send returns without error.
11269//
11270// See DeleteSecurityGroup for more information on using the DeleteSecurityGroup
11271// API call, and error handling.
11272//
11273// This method is useful when you want to inject custom logic or configuration
11274// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11275//
11276//
11277//    // Example sending a request using the DeleteSecurityGroupRequest method.
11278//    req, resp := client.DeleteSecurityGroupRequest(params)
11279//
11280//    err := req.Send()
11281//    if err == nil { // resp is now filled
11282//        fmt.Println(resp)
11283//    }
11284//
11285// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
11286func (c *EC2) DeleteSecurityGroupRequest(input *DeleteSecurityGroupInput) (req *request.Request, output *DeleteSecurityGroupOutput) {
11287	op := &request.Operation{
11288		Name:       opDeleteSecurityGroup,
11289		HTTPMethod: "POST",
11290		HTTPPath:   "/",
11291	}
11292
11293	if input == nil {
11294		input = &DeleteSecurityGroupInput{}
11295	}
11296
11297	output = &DeleteSecurityGroupOutput{}
11298	req = c.newRequest(op, input, output)
11299	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11300	return
11301}
11302
11303// DeleteSecurityGroup API operation for Amazon Elastic Compute Cloud.
11304//
11305// Deletes a security group.
11306//
11307// If you attempt to delete a security group that is associated with an instance,
11308// or is referenced by another security group, the operation fails with InvalidGroup.InUse
11309// in EC2-Classic or DependencyViolation in EC2-VPC.
11310//
11311// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11312// with awserr.Error's Code and Message methods to get detailed information about
11313// the error.
11314//
11315// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11316// API operation DeleteSecurityGroup for usage and error information.
11317// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
11318func (c *EC2) DeleteSecurityGroup(input *DeleteSecurityGroupInput) (*DeleteSecurityGroupOutput, error) {
11319	req, out := c.DeleteSecurityGroupRequest(input)
11320	return out, req.Send()
11321}
11322
11323// DeleteSecurityGroupWithContext is the same as DeleteSecurityGroup with the addition of
11324// the ability to pass a context and additional request options.
11325//
11326// See DeleteSecurityGroup for details on how to use this API operation.
11327//
11328// The context must be non-nil and will be used for request cancellation. If
11329// the context is nil a panic will occur. In the future the SDK may create
11330// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11331// for more information on using Contexts.
11332func (c *EC2) DeleteSecurityGroupWithContext(ctx aws.Context, input *DeleteSecurityGroupInput, opts ...request.Option) (*DeleteSecurityGroupOutput, error) {
11333	req, out := c.DeleteSecurityGroupRequest(input)
11334	req.SetContext(ctx)
11335	req.ApplyOptions(opts...)
11336	return out, req.Send()
11337}
11338
11339const opDeleteSnapshot = "DeleteSnapshot"
11340
11341// DeleteSnapshotRequest generates a "aws/request.Request" representing the
11342// client's request for the DeleteSnapshot operation. The "output" return
11343// value will be populated with the request's response once the request completes
11344// successfully.
11345//
11346// Use "Send" method on the returned Request to send the API call to the service.
11347// the "output" return value is not valid until after Send returns without error.
11348//
11349// See DeleteSnapshot for more information on using the DeleteSnapshot
11350// API call, and error handling.
11351//
11352// This method is useful when you want to inject custom logic or configuration
11353// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11354//
11355//
11356//    // Example sending a request using the DeleteSnapshotRequest method.
11357//    req, resp := client.DeleteSnapshotRequest(params)
11358//
11359//    err := req.Send()
11360//    if err == nil { // resp is now filled
11361//        fmt.Println(resp)
11362//    }
11363//
11364// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
11365func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) {
11366	op := &request.Operation{
11367		Name:       opDeleteSnapshot,
11368		HTTPMethod: "POST",
11369		HTTPPath:   "/",
11370	}
11371
11372	if input == nil {
11373		input = &DeleteSnapshotInput{}
11374	}
11375
11376	output = &DeleteSnapshotOutput{}
11377	req = c.newRequest(op, input, output)
11378	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11379	return
11380}
11381
11382// DeleteSnapshot API operation for Amazon Elastic Compute Cloud.
11383//
11384// Deletes the specified snapshot.
11385//
11386// When you make periodic snapshots of a volume, the snapshots are incremental,
11387// and only the blocks on the device that have changed since your last snapshot
11388// are saved in the new snapshot. When you delete a snapshot, only the data
11389// not needed for any other snapshot is removed. So regardless of which prior
11390// snapshots have been deleted, all active snapshots will have access to all
11391// the information needed to restore the volume.
11392//
11393// You cannot delete a snapshot of the root device of an EBS volume used by
11394// a registered AMI. You must first de-register the AMI before you can delete
11395// the snapshot.
11396//
11397// For more information, see Delete an Amazon EBS snapshot (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html)
11398// in the Amazon Elastic Compute Cloud User Guide.
11399//
11400// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11401// with awserr.Error's Code and Message methods to get detailed information about
11402// the error.
11403//
11404// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11405// API operation DeleteSnapshot for usage and error information.
11406// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
11407func (c *EC2) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
11408	req, out := c.DeleteSnapshotRequest(input)
11409	return out, req.Send()
11410}
11411
11412// DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of
11413// the ability to pass a context and additional request options.
11414//
11415// See DeleteSnapshot for details on how to use this API operation.
11416//
11417// The context must be non-nil and will be used for request cancellation. If
11418// the context is nil a panic will occur. In the future the SDK may create
11419// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11420// for more information on using Contexts.
11421func (c *EC2) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) {
11422	req, out := c.DeleteSnapshotRequest(input)
11423	req.SetContext(ctx)
11424	req.ApplyOptions(opts...)
11425	return out, req.Send()
11426}
11427
11428const opDeleteSpotDatafeedSubscription = "DeleteSpotDatafeedSubscription"
11429
11430// DeleteSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
11431// client's request for the DeleteSpotDatafeedSubscription operation. The "output" return
11432// value will be populated with the request's response once the request completes
11433// successfully.
11434//
11435// Use "Send" method on the returned Request to send the API call to the service.
11436// the "output" return value is not valid until after Send returns without error.
11437//
11438// See DeleteSpotDatafeedSubscription for more information on using the DeleteSpotDatafeedSubscription
11439// API call, and error handling.
11440//
11441// This method is useful when you want to inject custom logic or configuration
11442// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11443//
11444//
11445//    // Example sending a request using the DeleteSpotDatafeedSubscriptionRequest method.
11446//    req, resp := client.DeleteSpotDatafeedSubscriptionRequest(params)
11447//
11448//    err := req.Send()
11449//    if err == nil { // resp is now filled
11450//        fmt.Println(resp)
11451//    }
11452//
11453// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
11454func (c *EC2) DeleteSpotDatafeedSubscriptionRequest(input *DeleteSpotDatafeedSubscriptionInput) (req *request.Request, output *DeleteSpotDatafeedSubscriptionOutput) {
11455	op := &request.Operation{
11456		Name:       opDeleteSpotDatafeedSubscription,
11457		HTTPMethod: "POST",
11458		HTTPPath:   "/",
11459	}
11460
11461	if input == nil {
11462		input = &DeleteSpotDatafeedSubscriptionInput{}
11463	}
11464
11465	output = &DeleteSpotDatafeedSubscriptionOutput{}
11466	req = c.newRequest(op, input, output)
11467	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11468	return
11469}
11470
11471// DeleteSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
11472//
11473// Deletes the data feed for Spot Instances.
11474//
11475// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11476// with awserr.Error's Code and Message methods to get detailed information about
11477// the error.
11478//
11479// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11480// API operation DeleteSpotDatafeedSubscription for usage and error information.
11481// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
11482func (c *EC2) DeleteSpotDatafeedSubscription(input *DeleteSpotDatafeedSubscriptionInput) (*DeleteSpotDatafeedSubscriptionOutput, error) {
11483	req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
11484	return out, req.Send()
11485}
11486
11487// DeleteSpotDatafeedSubscriptionWithContext is the same as DeleteSpotDatafeedSubscription with the addition of
11488// the ability to pass a context and additional request options.
11489//
11490// See DeleteSpotDatafeedSubscription for details on how to use this API operation.
11491//
11492// The context must be non-nil and will be used for request cancellation. If
11493// the context is nil a panic will occur. In the future the SDK may create
11494// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11495// for more information on using Contexts.
11496func (c *EC2) DeleteSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DeleteSpotDatafeedSubscriptionInput, opts ...request.Option) (*DeleteSpotDatafeedSubscriptionOutput, error) {
11497	req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
11498	req.SetContext(ctx)
11499	req.ApplyOptions(opts...)
11500	return out, req.Send()
11501}
11502
11503const opDeleteSubnet = "DeleteSubnet"
11504
11505// DeleteSubnetRequest generates a "aws/request.Request" representing the
11506// client's request for the DeleteSubnet operation. The "output" return
11507// value will be populated with the request's response once the request completes
11508// successfully.
11509//
11510// Use "Send" method on the returned Request to send the API call to the service.
11511// the "output" return value is not valid until after Send returns without error.
11512//
11513// See DeleteSubnet for more information on using the DeleteSubnet
11514// API call, and error handling.
11515//
11516// This method is useful when you want to inject custom logic or configuration
11517// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11518//
11519//
11520//    // Example sending a request using the DeleteSubnetRequest method.
11521//    req, resp := client.DeleteSubnetRequest(params)
11522//
11523//    err := req.Send()
11524//    if err == nil { // resp is now filled
11525//        fmt.Println(resp)
11526//    }
11527//
11528// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
11529func (c *EC2) DeleteSubnetRequest(input *DeleteSubnetInput) (req *request.Request, output *DeleteSubnetOutput) {
11530	op := &request.Operation{
11531		Name:       opDeleteSubnet,
11532		HTTPMethod: "POST",
11533		HTTPPath:   "/",
11534	}
11535
11536	if input == nil {
11537		input = &DeleteSubnetInput{}
11538	}
11539
11540	output = &DeleteSubnetOutput{}
11541	req = c.newRequest(op, input, output)
11542	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11543	return
11544}
11545
11546// DeleteSubnet API operation for Amazon Elastic Compute Cloud.
11547//
11548// Deletes the specified subnet. You must terminate all running instances in
11549// the subnet before you can delete the subnet.
11550//
11551// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11552// with awserr.Error's Code and Message methods to get detailed information about
11553// the error.
11554//
11555// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11556// API operation DeleteSubnet for usage and error information.
11557// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
11558func (c *EC2) DeleteSubnet(input *DeleteSubnetInput) (*DeleteSubnetOutput, error) {
11559	req, out := c.DeleteSubnetRequest(input)
11560	return out, req.Send()
11561}
11562
11563// DeleteSubnetWithContext is the same as DeleteSubnet with the addition of
11564// the ability to pass a context and additional request options.
11565//
11566// See DeleteSubnet for details on how to use this API operation.
11567//
11568// The context must be non-nil and will be used for request cancellation. If
11569// the context is nil a panic will occur. In the future the SDK may create
11570// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11571// for more information on using Contexts.
11572func (c *EC2) DeleteSubnetWithContext(ctx aws.Context, input *DeleteSubnetInput, opts ...request.Option) (*DeleteSubnetOutput, error) {
11573	req, out := c.DeleteSubnetRequest(input)
11574	req.SetContext(ctx)
11575	req.ApplyOptions(opts...)
11576	return out, req.Send()
11577}
11578
11579const opDeleteSubnetCidrReservation = "DeleteSubnetCidrReservation"
11580
11581// DeleteSubnetCidrReservationRequest generates a "aws/request.Request" representing the
11582// client's request for the DeleteSubnetCidrReservation operation. The "output" return
11583// value will be populated with the request's response once the request completes
11584// successfully.
11585//
11586// Use "Send" method on the returned Request to send the API call to the service.
11587// the "output" return value is not valid until after Send returns without error.
11588//
11589// See DeleteSubnetCidrReservation for more information on using the DeleteSubnetCidrReservation
11590// API call, and error handling.
11591//
11592// This method is useful when you want to inject custom logic or configuration
11593// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11594//
11595//
11596//    // Example sending a request using the DeleteSubnetCidrReservationRequest method.
11597//    req, resp := client.DeleteSubnetCidrReservationRequest(params)
11598//
11599//    err := req.Send()
11600//    if err == nil { // resp is now filled
11601//        fmt.Println(resp)
11602//    }
11603//
11604// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnetCidrReservation
11605func (c *EC2) DeleteSubnetCidrReservationRequest(input *DeleteSubnetCidrReservationInput) (req *request.Request, output *DeleteSubnetCidrReservationOutput) {
11606	op := &request.Operation{
11607		Name:       opDeleteSubnetCidrReservation,
11608		HTTPMethod: "POST",
11609		HTTPPath:   "/",
11610	}
11611
11612	if input == nil {
11613		input = &DeleteSubnetCidrReservationInput{}
11614	}
11615
11616	output = &DeleteSubnetCidrReservationOutput{}
11617	req = c.newRequest(op, input, output)
11618	return
11619}
11620
11621// DeleteSubnetCidrReservation API operation for Amazon Elastic Compute Cloud.
11622//
11623// Deletes a subnet CIDR reservation.
11624//
11625// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11626// with awserr.Error's Code and Message methods to get detailed information about
11627// the error.
11628//
11629// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11630// API operation DeleteSubnetCidrReservation for usage and error information.
11631// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnetCidrReservation
11632func (c *EC2) DeleteSubnetCidrReservation(input *DeleteSubnetCidrReservationInput) (*DeleteSubnetCidrReservationOutput, error) {
11633	req, out := c.DeleteSubnetCidrReservationRequest(input)
11634	return out, req.Send()
11635}
11636
11637// DeleteSubnetCidrReservationWithContext is the same as DeleteSubnetCidrReservation with the addition of
11638// the ability to pass a context and additional request options.
11639//
11640// See DeleteSubnetCidrReservation for details on how to use this API operation.
11641//
11642// The context must be non-nil and will be used for request cancellation. If
11643// the context is nil a panic will occur. In the future the SDK may create
11644// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11645// for more information on using Contexts.
11646func (c *EC2) DeleteSubnetCidrReservationWithContext(ctx aws.Context, input *DeleteSubnetCidrReservationInput, opts ...request.Option) (*DeleteSubnetCidrReservationOutput, error) {
11647	req, out := c.DeleteSubnetCidrReservationRequest(input)
11648	req.SetContext(ctx)
11649	req.ApplyOptions(opts...)
11650	return out, req.Send()
11651}
11652
11653const opDeleteTags = "DeleteTags"
11654
11655// DeleteTagsRequest generates a "aws/request.Request" representing the
11656// client's request for the DeleteTags operation. The "output" return
11657// value will be populated with the request's response once the request completes
11658// successfully.
11659//
11660// Use "Send" method on the returned Request to send the API call to the service.
11661// the "output" return value is not valid until after Send returns without error.
11662//
11663// See DeleteTags for more information on using the DeleteTags
11664// API call, and error handling.
11665//
11666// This method is useful when you want to inject custom logic or configuration
11667// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11668//
11669//
11670//    // Example sending a request using the DeleteTagsRequest method.
11671//    req, resp := client.DeleteTagsRequest(params)
11672//
11673//    err := req.Send()
11674//    if err == nil { // resp is now filled
11675//        fmt.Println(resp)
11676//    }
11677//
11678// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
11679func (c *EC2) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
11680	op := &request.Operation{
11681		Name:       opDeleteTags,
11682		HTTPMethod: "POST",
11683		HTTPPath:   "/",
11684	}
11685
11686	if input == nil {
11687		input = &DeleteTagsInput{}
11688	}
11689
11690	output = &DeleteTagsOutput{}
11691	req = c.newRequest(op, input, output)
11692	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11693	return
11694}
11695
11696// DeleteTags API operation for Amazon Elastic Compute Cloud.
11697//
11698// Deletes the specified set of tags from the specified set of resources.
11699//
11700// To list the current tags, use DescribeTags. For more information about tags,
11701// see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
11702// in the Amazon Elastic Compute Cloud User Guide.
11703//
11704// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11705// with awserr.Error's Code and Message methods to get detailed information about
11706// the error.
11707//
11708// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11709// API operation DeleteTags for usage and error information.
11710// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
11711func (c *EC2) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
11712	req, out := c.DeleteTagsRequest(input)
11713	return out, req.Send()
11714}
11715
11716// DeleteTagsWithContext is the same as DeleteTags with the addition of
11717// the ability to pass a context and additional request options.
11718//
11719// See DeleteTags for details on how to use this API operation.
11720//
11721// The context must be non-nil and will be used for request cancellation. If
11722// the context is nil a panic will occur. In the future the SDK may create
11723// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11724// for more information on using Contexts.
11725func (c *EC2) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) {
11726	req, out := c.DeleteTagsRequest(input)
11727	req.SetContext(ctx)
11728	req.ApplyOptions(opts...)
11729	return out, req.Send()
11730}
11731
11732const opDeleteTrafficMirrorFilter = "DeleteTrafficMirrorFilter"
11733
11734// DeleteTrafficMirrorFilterRequest generates a "aws/request.Request" representing the
11735// client's request for the DeleteTrafficMirrorFilter operation. The "output" return
11736// value will be populated with the request's response once the request completes
11737// successfully.
11738//
11739// Use "Send" method on the returned Request to send the API call to the service.
11740// the "output" return value is not valid until after Send returns without error.
11741//
11742// See DeleteTrafficMirrorFilter for more information on using the DeleteTrafficMirrorFilter
11743// API call, and error handling.
11744//
11745// This method is useful when you want to inject custom logic or configuration
11746// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11747//
11748//
11749//    // Example sending a request using the DeleteTrafficMirrorFilterRequest method.
11750//    req, resp := client.DeleteTrafficMirrorFilterRequest(params)
11751//
11752//    err := req.Send()
11753//    if err == nil { // resp is now filled
11754//        fmt.Println(resp)
11755//    }
11756//
11757// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilter
11758func (c *EC2) DeleteTrafficMirrorFilterRequest(input *DeleteTrafficMirrorFilterInput) (req *request.Request, output *DeleteTrafficMirrorFilterOutput) {
11759	op := &request.Operation{
11760		Name:       opDeleteTrafficMirrorFilter,
11761		HTTPMethod: "POST",
11762		HTTPPath:   "/",
11763	}
11764
11765	if input == nil {
11766		input = &DeleteTrafficMirrorFilterInput{}
11767	}
11768
11769	output = &DeleteTrafficMirrorFilterOutput{}
11770	req = c.newRequest(op, input, output)
11771	return
11772}
11773
11774// DeleteTrafficMirrorFilter API operation for Amazon Elastic Compute Cloud.
11775//
11776// Deletes the specified Traffic Mirror filter.
11777//
11778// You cannot delete a Traffic Mirror filter that is in use by a Traffic Mirror
11779// session.
11780//
11781// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11782// with awserr.Error's Code and Message methods to get detailed information about
11783// the error.
11784//
11785// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11786// API operation DeleteTrafficMirrorFilter for usage and error information.
11787// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilter
11788func (c *EC2) DeleteTrafficMirrorFilter(input *DeleteTrafficMirrorFilterInput) (*DeleteTrafficMirrorFilterOutput, error) {
11789	req, out := c.DeleteTrafficMirrorFilterRequest(input)
11790	return out, req.Send()
11791}
11792
11793// DeleteTrafficMirrorFilterWithContext is the same as DeleteTrafficMirrorFilter with the addition of
11794// the ability to pass a context and additional request options.
11795//
11796// See DeleteTrafficMirrorFilter for details on how to use this API operation.
11797//
11798// The context must be non-nil and will be used for request cancellation. If
11799// the context is nil a panic will occur. In the future the SDK may create
11800// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11801// for more information on using Contexts.
11802func (c *EC2) DeleteTrafficMirrorFilterWithContext(ctx aws.Context, input *DeleteTrafficMirrorFilterInput, opts ...request.Option) (*DeleteTrafficMirrorFilterOutput, error) {
11803	req, out := c.DeleteTrafficMirrorFilterRequest(input)
11804	req.SetContext(ctx)
11805	req.ApplyOptions(opts...)
11806	return out, req.Send()
11807}
11808
11809const opDeleteTrafficMirrorFilterRule = "DeleteTrafficMirrorFilterRule"
11810
11811// DeleteTrafficMirrorFilterRuleRequest generates a "aws/request.Request" representing the
11812// client's request for the DeleteTrafficMirrorFilterRule operation. The "output" return
11813// value will be populated with the request's response once the request completes
11814// successfully.
11815//
11816// Use "Send" method on the returned Request to send the API call to the service.
11817// the "output" return value is not valid until after Send returns without error.
11818//
11819// See DeleteTrafficMirrorFilterRule for more information on using the DeleteTrafficMirrorFilterRule
11820// API call, and error handling.
11821//
11822// This method is useful when you want to inject custom logic or configuration
11823// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11824//
11825//
11826//    // Example sending a request using the DeleteTrafficMirrorFilterRuleRequest method.
11827//    req, resp := client.DeleteTrafficMirrorFilterRuleRequest(params)
11828//
11829//    err := req.Send()
11830//    if err == nil { // resp is now filled
11831//        fmt.Println(resp)
11832//    }
11833//
11834// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilterRule
11835func (c *EC2) DeleteTrafficMirrorFilterRuleRequest(input *DeleteTrafficMirrorFilterRuleInput) (req *request.Request, output *DeleteTrafficMirrorFilterRuleOutput) {
11836	op := &request.Operation{
11837		Name:       opDeleteTrafficMirrorFilterRule,
11838		HTTPMethod: "POST",
11839		HTTPPath:   "/",
11840	}
11841
11842	if input == nil {
11843		input = &DeleteTrafficMirrorFilterRuleInput{}
11844	}
11845
11846	output = &DeleteTrafficMirrorFilterRuleOutput{}
11847	req = c.newRequest(op, input, output)
11848	return
11849}
11850
11851// DeleteTrafficMirrorFilterRule API operation for Amazon Elastic Compute Cloud.
11852//
11853// Deletes the specified Traffic Mirror rule.
11854//
11855// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11856// with awserr.Error's Code and Message methods to get detailed information about
11857// the error.
11858//
11859// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11860// API operation DeleteTrafficMirrorFilterRule for usage and error information.
11861// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilterRule
11862func (c *EC2) DeleteTrafficMirrorFilterRule(input *DeleteTrafficMirrorFilterRuleInput) (*DeleteTrafficMirrorFilterRuleOutput, error) {
11863	req, out := c.DeleteTrafficMirrorFilterRuleRequest(input)
11864	return out, req.Send()
11865}
11866
11867// DeleteTrafficMirrorFilterRuleWithContext is the same as DeleteTrafficMirrorFilterRule with the addition of
11868// the ability to pass a context and additional request options.
11869//
11870// See DeleteTrafficMirrorFilterRule for details on how to use this API operation.
11871//
11872// The context must be non-nil and will be used for request cancellation. If
11873// the context is nil a panic will occur. In the future the SDK may create
11874// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11875// for more information on using Contexts.
11876func (c *EC2) DeleteTrafficMirrorFilterRuleWithContext(ctx aws.Context, input *DeleteTrafficMirrorFilterRuleInput, opts ...request.Option) (*DeleteTrafficMirrorFilterRuleOutput, error) {
11877	req, out := c.DeleteTrafficMirrorFilterRuleRequest(input)
11878	req.SetContext(ctx)
11879	req.ApplyOptions(opts...)
11880	return out, req.Send()
11881}
11882
11883const opDeleteTrafficMirrorSession = "DeleteTrafficMirrorSession"
11884
11885// DeleteTrafficMirrorSessionRequest generates a "aws/request.Request" representing the
11886// client's request for the DeleteTrafficMirrorSession operation. The "output" return
11887// value will be populated with the request's response once the request completes
11888// successfully.
11889//
11890// Use "Send" method on the returned Request to send the API call to the service.
11891// the "output" return value is not valid until after Send returns without error.
11892//
11893// See DeleteTrafficMirrorSession for more information on using the DeleteTrafficMirrorSession
11894// API call, and error handling.
11895//
11896// This method is useful when you want to inject custom logic or configuration
11897// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11898//
11899//
11900//    // Example sending a request using the DeleteTrafficMirrorSessionRequest method.
11901//    req, resp := client.DeleteTrafficMirrorSessionRequest(params)
11902//
11903//    err := req.Send()
11904//    if err == nil { // resp is now filled
11905//        fmt.Println(resp)
11906//    }
11907//
11908// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorSession
11909func (c *EC2) DeleteTrafficMirrorSessionRequest(input *DeleteTrafficMirrorSessionInput) (req *request.Request, output *DeleteTrafficMirrorSessionOutput) {
11910	op := &request.Operation{
11911		Name:       opDeleteTrafficMirrorSession,
11912		HTTPMethod: "POST",
11913		HTTPPath:   "/",
11914	}
11915
11916	if input == nil {
11917		input = &DeleteTrafficMirrorSessionInput{}
11918	}
11919
11920	output = &DeleteTrafficMirrorSessionOutput{}
11921	req = c.newRequest(op, input, output)
11922	return
11923}
11924
11925// DeleteTrafficMirrorSession API operation for Amazon Elastic Compute Cloud.
11926//
11927// Deletes the specified Traffic Mirror session.
11928//
11929// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11930// with awserr.Error's Code and Message methods to get detailed information about
11931// the error.
11932//
11933// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11934// API operation DeleteTrafficMirrorSession for usage and error information.
11935// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorSession
11936func (c *EC2) DeleteTrafficMirrorSession(input *DeleteTrafficMirrorSessionInput) (*DeleteTrafficMirrorSessionOutput, error) {
11937	req, out := c.DeleteTrafficMirrorSessionRequest(input)
11938	return out, req.Send()
11939}
11940
11941// DeleteTrafficMirrorSessionWithContext is the same as DeleteTrafficMirrorSession with the addition of
11942// the ability to pass a context and additional request options.
11943//
11944// See DeleteTrafficMirrorSession for details on how to use this API operation.
11945//
11946// The context must be non-nil and will be used for request cancellation. If
11947// the context is nil a panic will occur. In the future the SDK may create
11948// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11949// for more information on using Contexts.
11950func (c *EC2) DeleteTrafficMirrorSessionWithContext(ctx aws.Context, input *DeleteTrafficMirrorSessionInput, opts ...request.Option) (*DeleteTrafficMirrorSessionOutput, error) {
11951	req, out := c.DeleteTrafficMirrorSessionRequest(input)
11952	req.SetContext(ctx)
11953	req.ApplyOptions(opts...)
11954	return out, req.Send()
11955}
11956
11957const opDeleteTrafficMirrorTarget = "DeleteTrafficMirrorTarget"
11958
11959// DeleteTrafficMirrorTargetRequest generates a "aws/request.Request" representing the
11960// client's request for the DeleteTrafficMirrorTarget operation. The "output" return
11961// value will be populated with the request's response once the request completes
11962// successfully.
11963//
11964// Use "Send" method on the returned Request to send the API call to the service.
11965// the "output" return value is not valid until after Send returns without error.
11966//
11967// See DeleteTrafficMirrorTarget for more information on using the DeleteTrafficMirrorTarget
11968// API call, and error handling.
11969//
11970// This method is useful when you want to inject custom logic or configuration
11971// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11972//
11973//
11974//    // Example sending a request using the DeleteTrafficMirrorTargetRequest method.
11975//    req, resp := client.DeleteTrafficMirrorTargetRequest(params)
11976//
11977//    err := req.Send()
11978//    if err == nil { // resp is now filled
11979//        fmt.Println(resp)
11980//    }
11981//
11982// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorTarget
11983func (c *EC2) DeleteTrafficMirrorTargetRequest(input *DeleteTrafficMirrorTargetInput) (req *request.Request, output *DeleteTrafficMirrorTargetOutput) {
11984	op := &request.Operation{
11985		Name:       opDeleteTrafficMirrorTarget,
11986		HTTPMethod: "POST",
11987		HTTPPath:   "/",
11988	}
11989
11990	if input == nil {
11991		input = &DeleteTrafficMirrorTargetInput{}
11992	}
11993
11994	output = &DeleteTrafficMirrorTargetOutput{}
11995	req = c.newRequest(op, input, output)
11996	return
11997}
11998
11999// DeleteTrafficMirrorTarget API operation for Amazon Elastic Compute Cloud.
12000//
12001// Deletes the specified Traffic Mirror target.
12002//
12003// You cannot delete a Traffic Mirror target that is in use by a Traffic Mirror
12004// session.
12005//
12006// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12007// with awserr.Error's Code and Message methods to get detailed information about
12008// the error.
12009//
12010// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12011// API operation DeleteTrafficMirrorTarget for usage and error information.
12012// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorTarget
12013func (c *EC2) DeleteTrafficMirrorTarget(input *DeleteTrafficMirrorTargetInput) (*DeleteTrafficMirrorTargetOutput, error) {
12014	req, out := c.DeleteTrafficMirrorTargetRequest(input)
12015	return out, req.Send()
12016}
12017
12018// DeleteTrafficMirrorTargetWithContext is the same as DeleteTrafficMirrorTarget with the addition of
12019// the ability to pass a context and additional request options.
12020//
12021// See DeleteTrafficMirrorTarget for details on how to use this API operation.
12022//
12023// The context must be non-nil and will be used for request cancellation. If
12024// the context is nil a panic will occur. In the future the SDK may create
12025// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12026// for more information on using Contexts.
12027func (c *EC2) DeleteTrafficMirrorTargetWithContext(ctx aws.Context, input *DeleteTrafficMirrorTargetInput, opts ...request.Option) (*DeleteTrafficMirrorTargetOutput, error) {
12028	req, out := c.DeleteTrafficMirrorTargetRequest(input)
12029	req.SetContext(ctx)
12030	req.ApplyOptions(opts...)
12031	return out, req.Send()
12032}
12033
12034const opDeleteTransitGateway = "DeleteTransitGateway"
12035
12036// DeleteTransitGatewayRequest generates a "aws/request.Request" representing the
12037// client's request for the DeleteTransitGateway operation. The "output" return
12038// value will be populated with the request's response once the request completes
12039// successfully.
12040//
12041// Use "Send" method on the returned Request to send the API call to the service.
12042// the "output" return value is not valid until after Send returns without error.
12043//
12044// See DeleteTransitGateway for more information on using the DeleteTransitGateway
12045// API call, and error handling.
12046//
12047// This method is useful when you want to inject custom logic or configuration
12048// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12049//
12050//
12051//    // Example sending a request using the DeleteTransitGatewayRequest method.
12052//    req, resp := client.DeleteTransitGatewayRequest(params)
12053//
12054//    err := req.Send()
12055//    if err == nil { // resp is now filled
12056//        fmt.Println(resp)
12057//    }
12058//
12059// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGateway
12060func (c *EC2) DeleteTransitGatewayRequest(input *DeleteTransitGatewayInput) (req *request.Request, output *DeleteTransitGatewayOutput) {
12061	op := &request.Operation{
12062		Name:       opDeleteTransitGateway,
12063		HTTPMethod: "POST",
12064		HTTPPath:   "/",
12065	}
12066
12067	if input == nil {
12068		input = &DeleteTransitGatewayInput{}
12069	}
12070
12071	output = &DeleteTransitGatewayOutput{}
12072	req = c.newRequest(op, input, output)
12073	return
12074}
12075
12076// DeleteTransitGateway API operation for Amazon Elastic Compute Cloud.
12077//
12078// Deletes the specified transit gateway.
12079//
12080// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12081// with awserr.Error's Code and Message methods to get detailed information about
12082// the error.
12083//
12084// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12085// API operation DeleteTransitGateway for usage and error information.
12086// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGateway
12087func (c *EC2) DeleteTransitGateway(input *DeleteTransitGatewayInput) (*DeleteTransitGatewayOutput, error) {
12088	req, out := c.DeleteTransitGatewayRequest(input)
12089	return out, req.Send()
12090}
12091
12092// DeleteTransitGatewayWithContext is the same as DeleteTransitGateway with the addition of
12093// the ability to pass a context and additional request options.
12094//
12095// See DeleteTransitGateway for details on how to use this API operation.
12096//
12097// The context must be non-nil and will be used for request cancellation. If
12098// the context is nil a panic will occur. In the future the SDK may create
12099// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12100// for more information on using Contexts.
12101func (c *EC2) DeleteTransitGatewayWithContext(ctx aws.Context, input *DeleteTransitGatewayInput, opts ...request.Option) (*DeleteTransitGatewayOutput, error) {
12102	req, out := c.DeleteTransitGatewayRequest(input)
12103	req.SetContext(ctx)
12104	req.ApplyOptions(opts...)
12105	return out, req.Send()
12106}
12107
12108const opDeleteTransitGatewayConnect = "DeleteTransitGatewayConnect"
12109
12110// DeleteTransitGatewayConnectRequest generates a "aws/request.Request" representing the
12111// client's request for the DeleteTransitGatewayConnect operation. The "output" return
12112// value will be populated with the request's response once the request completes
12113// successfully.
12114//
12115// Use "Send" method on the returned Request to send the API call to the service.
12116// the "output" return value is not valid until after Send returns without error.
12117//
12118// See DeleteTransitGatewayConnect for more information on using the DeleteTransitGatewayConnect
12119// API call, and error handling.
12120//
12121// This method is useful when you want to inject custom logic or configuration
12122// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12123//
12124//
12125//    // Example sending a request using the DeleteTransitGatewayConnectRequest method.
12126//    req, resp := client.DeleteTransitGatewayConnectRequest(params)
12127//
12128//    err := req.Send()
12129//    if err == nil { // resp is now filled
12130//        fmt.Println(resp)
12131//    }
12132//
12133// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayConnect
12134func (c *EC2) DeleteTransitGatewayConnectRequest(input *DeleteTransitGatewayConnectInput) (req *request.Request, output *DeleteTransitGatewayConnectOutput) {
12135	op := &request.Operation{
12136		Name:       opDeleteTransitGatewayConnect,
12137		HTTPMethod: "POST",
12138		HTTPPath:   "/",
12139	}
12140
12141	if input == nil {
12142		input = &DeleteTransitGatewayConnectInput{}
12143	}
12144
12145	output = &DeleteTransitGatewayConnectOutput{}
12146	req = c.newRequest(op, input, output)
12147	return
12148}
12149
12150// DeleteTransitGatewayConnect API operation for Amazon Elastic Compute Cloud.
12151//
12152// Deletes the specified Connect attachment. You must first delete any Connect
12153// peers for the attachment.
12154//
12155// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12156// with awserr.Error's Code and Message methods to get detailed information about
12157// the error.
12158//
12159// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12160// API operation DeleteTransitGatewayConnect for usage and error information.
12161// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayConnect
12162func (c *EC2) DeleteTransitGatewayConnect(input *DeleteTransitGatewayConnectInput) (*DeleteTransitGatewayConnectOutput, error) {
12163	req, out := c.DeleteTransitGatewayConnectRequest(input)
12164	return out, req.Send()
12165}
12166
12167// DeleteTransitGatewayConnectWithContext is the same as DeleteTransitGatewayConnect with the addition of
12168// the ability to pass a context and additional request options.
12169//
12170// See DeleteTransitGatewayConnect for details on how to use this API operation.
12171//
12172// The context must be non-nil and will be used for request cancellation. If
12173// the context is nil a panic will occur. In the future the SDK may create
12174// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12175// for more information on using Contexts.
12176func (c *EC2) DeleteTransitGatewayConnectWithContext(ctx aws.Context, input *DeleteTransitGatewayConnectInput, opts ...request.Option) (*DeleteTransitGatewayConnectOutput, error) {
12177	req, out := c.DeleteTransitGatewayConnectRequest(input)
12178	req.SetContext(ctx)
12179	req.ApplyOptions(opts...)
12180	return out, req.Send()
12181}
12182
12183const opDeleteTransitGatewayConnectPeer = "DeleteTransitGatewayConnectPeer"
12184
12185// DeleteTransitGatewayConnectPeerRequest generates a "aws/request.Request" representing the
12186// client's request for the DeleteTransitGatewayConnectPeer operation. The "output" return
12187// value will be populated with the request's response once the request completes
12188// successfully.
12189//
12190// Use "Send" method on the returned Request to send the API call to the service.
12191// the "output" return value is not valid until after Send returns without error.
12192//
12193// See DeleteTransitGatewayConnectPeer for more information on using the DeleteTransitGatewayConnectPeer
12194// API call, and error handling.
12195//
12196// This method is useful when you want to inject custom logic or configuration
12197// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12198//
12199//
12200//    // Example sending a request using the DeleteTransitGatewayConnectPeerRequest method.
12201//    req, resp := client.DeleteTransitGatewayConnectPeerRequest(params)
12202//
12203//    err := req.Send()
12204//    if err == nil { // resp is now filled
12205//        fmt.Println(resp)
12206//    }
12207//
12208// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayConnectPeer
12209func (c *EC2) DeleteTransitGatewayConnectPeerRequest(input *DeleteTransitGatewayConnectPeerInput) (req *request.Request, output *DeleteTransitGatewayConnectPeerOutput) {
12210	op := &request.Operation{
12211		Name:       opDeleteTransitGatewayConnectPeer,
12212		HTTPMethod: "POST",
12213		HTTPPath:   "/",
12214	}
12215
12216	if input == nil {
12217		input = &DeleteTransitGatewayConnectPeerInput{}
12218	}
12219
12220	output = &DeleteTransitGatewayConnectPeerOutput{}
12221	req = c.newRequest(op, input, output)
12222	return
12223}
12224
12225// DeleteTransitGatewayConnectPeer API operation for Amazon Elastic Compute Cloud.
12226//
12227// Deletes the specified Connect peer.
12228//
12229// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12230// with awserr.Error's Code and Message methods to get detailed information about
12231// the error.
12232//
12233// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12234// API operation DeleteTransitGatewayConnectPeer for usage and error information.
12235// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayConnectPeer
12236func (c *EC2) DeleteTransitGatewayConnectPeer(input *DeleteTransitGatewayConnectPeerInput) (*DeleteTransitGatewayConnectPeerOutput, error) {
12237	req, out := c.DeleteTransitGatewayConnectPeerRequest(input)
12238	return out, req.Send()
12239}
12240
12241// DeleteTransitGatewayConnectPeerWithContext is the same as DeleteTransitGatewayConnectPeer with the addition of
12242// the ability to pass a context and additional request options.
12243//
12244// See DeleteTransitGatewayConnectPeer for details on how to use this API operation.
12245//
12246// The context must be non-nil and will be used for request cancellation. If
12247// the context is nil a panic will occur. In the future the SDK may create
12248// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12249// for more information on using Contexts.
12250func (c *EC2) DeleteTransitGatewayConnectPeerWithContext(ctx aws.Context, input *DeleteTransitGatewayConnectPeerInput, opts ...request.Option) (*DeleteTransitGatewayConnectPeerOutput, error) {
12251	req, out := c.DeleteTransitGatewayConnectPeerRequest(input)
12252	req.SetContext(ctx)
12253	req.ApplyOptions(opts...)
12254	return out, req.Send()
12255}
12256
12257const opDeleteTransitGatewayMulticastDomain = "DeleteTransitGatewayMulticastDomain"
12258
12259// DeleteTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
12260// client's request for the DeleteTransitGatewayMulticastDomain operation. The "output" return
12261// value will be populated with the request's response once the request completes
12262// successfully.
12263//
12264// Use "Send" method on the returned Request to send the API call to the service.
12265// the "output" return value is not valid until after Send returns without error.
12266//
12267// See DeleteTransitGatewayMulticastDomain for more information on using the DeleteTransitGatewayMulticastDomain
12268// API call, and error handling.
12269//
12270// This method is useful when you want to inject custom logic or configuration
12271// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12272//
12273//
12274//    // Example sending a request using the DeleteTransitGatewayMulticastDomainRequest method.
12275//    req, resp := client.DeleteTransitGatewayMulticastDomainRequest(params)
12276//
12277//    err := req.Send()
12278//    if err == nil { // resp is now filled
12279//        fmt.Println(resp)
12280//    }
12281//
12282// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayMulticastDomain
12283func (c *EC2) DeleteTransitGatewayMulticastDomainRequest(input *DeleteTransitGatewayMulticastDomainInput) (req *request.Request, output *DeleteTransitGatewayMulticastDomainOutput) {
12284	op := &request.Operation{
12285		Name:       opDeleteTransitGatewayMulticastDomain,
12286		HTTPMethod: "POST",
12287		HTTPPath:   "/",
12288	}
12289
12290	if input == nil {
12291		input = &DeleteTransitGatewayMulticastDomainInput{}
12292	}
12293
12294	output = &DeleteTransitGatewayMulticastDomainOutput{}
12295	req = c.newRequest(op, input, output)
12296	return
12297}
12298
12299// DeleteTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
12300//
12301// Deletes the specified transit gateway multicast domain.
12302//
12303// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12304// with awserr.Error's Code and Message methods to get detailed information about
12305// the error.
12306//
12307// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12308// API operation DeleteTransitGatewayMulticastDomain for usage and error information.
12309// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayMulticastDomain
12310func (c *EC2) DeleteTransitGatewayMulticastDomain(input *DeleteTransitGatewayMulticastDomainInput) (*DeleteTransitGatewayMulticastDomainOutput, error) {
12311	req, out := c.DeleteTransitGatewayMulticastDomainRequest(input)
12312	return out, req.Send()
12313}
12314
12315// DeleteTransitGatewayMulticastDomainWithContext is the same as DeleteTransitGatewayMulticastDomain with the addition of
12316// the ability to pass a context and additional request options.
12317//
12318// See DeleteTransitGatewayMulticastDomain for details on how to use this API operation.
12319//
12320// The context must be non-nil and will be used for request cancellation. If
12321// the context is nil a panic will occur. In the future the SDK may create
12322// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12323// for more information on using Contexts.
12324func (c *EC2) DeleteTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *DeleteTransitGatewayMulticastDomainInput, opts ...request.Option) (*DeleteTransitGatewayMulticastDomainOutput, error) {
12325	req, out := c.DeleteTransitGatewayMulticastDomainRequest(input)
12326	req.SetContext(ctx)
12327	req.ApplyOptions(opts...)
12328	return out, req.Send()
12329}
12330
12331const opDeleteTransitGatewayPeeringAttachment = "DeleteTransitGatewayPeeringAttachment"
12332
12333// DeleteTransitGatewayPeeringAttachmentRequest generates a "aws/request.Request" representing the
12334// client's request for the DeleteTransitGatewayPeeringAttachment operation. The "output" return
12335// value will be populated with the request's response once the request completes
12336// successfully.
12337//
12338// Use "Send" method on the returned Request to send the API call to the service.
12339// the "output" return value is not valid until after Send returns without error.
12340//
12341// See DeleteTransitGatewayPeeringAttachment for more information on using the DeleteTransitGatewayPeeringAttachment
12342// API call, and error handling.
12343//
12344// This method is useful when you want to inject custom logic or configuration
12345// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12346//
12347//
12348//    // Example sending a request using the DeleteTransitGatewayPeeringAttachmentRequest method.
12349//    req, resp := client.DeleteTransitGatewayPeeringAttachmentRequest(params)
12350//
12351//    err := req.Send()
12352//    if err == nil { // resp is now filled
12353//        fmt.Println(resp)
12354//    }
12355//
12356// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPeeringAttachment
12357func (c *EC2) DeleteTransitGatewayPeeringAttachmentRequest(input *DeleteTransitGatewayPeeringAttachmentInput) (req *request.Request, output *DeleteTransitGatewayPeeringAttachmentOutput) {
12358	op := &request.Operation{
12359		Name:       opDeleteTransitGatewayPeeringAttachment,
12360		HTTPMethod: "POST",
12361		HTTPPath:   "/",
12362	}
12363
12364	if input == nil {
12365		input = &DeleteTransitGatewayPeeringAttachmentInput{}
12366	}
12367
12368	output = &DeleteTransitGatewayPeeringAttachmentOutput{}
12369	req = c.newRequest(op, input, output)
12370	return
12371}
12372
12373// DeleteTransitGatewayPeeringAttachment API operation for Amazon Elastic Compute Cloud.
12374//
12375// Deletes a transit gateway peering attachment.
12376//
12377// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12378// with awserr.Error's Code and Message methods to get detailed information about
12379// the error.
12380//
12381// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12382// API operation DeleteTransitGatewayPeeringAttachment for usage and error information.
12383// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPeeringAttachment
12384func (c *EC2) DeleteTransitGatewayPeeringAttachment(input *DeleteTransitGatewayPeeringAttachmentInput) (*DeleteTransitGatewayPeeringAttachmentOutput, error) {
12385	req, out := c.DeleteTransitGatewayPeeringAttachmentRequest(input)
12386	return out, req.Send()
12387}
12388
12389// DeleteTransitGatewayPeeringAttachmentWithContext is the same as DeleteTransitGatewayPeeringAttachment with the addition of
12390// the ability to pass a context and additional request options.
12391//
12392// See DeleteTransitGatewayPeeringAttachment for details on how to use this API operation.
12393//
12394// The context must be non-nil and will be used for request cancellation. If
12395// the context is nil a panic will occur. In the future the SDK may create
12396// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12397// for more information on using Contexts.
12398func (c *EC2) DeleteTransitGatewayPeeringAttachmentWithContext(ctx aws.Context, input *DeleteTransitGatewayPeeringAttachmentInput, opts ...request.Option) (*DeleteTransitGatewayPeeringAttachmentOutput, error) {
12399	req, out := c.DeleteTransitGatewayPeeringAttachmentRequest(input)
12400	req.SetContext(ctx)
12401	req.ApplyOptions(opts...)
12402	return out, req.Send()
12403}
12404
12405const opDeleteTransitGatewayPrefixListReference = "DeleteTransitGatewayPrefixListReference"
12406
12407// DeleteTransitGatewayPrefixListReferenceRequest generates a "aws/request.Request" representing the
12408// client's request for the DeleteTransitGatewayPrefixListReference operation. The "output" return
12409// value will be populated with the request's response once the request completes
12410// successfully.
12411//
12412// Use "Send" method on the returned Request to send the API call to the service.
12413// the "output" return value is not valid until after Send returns without error.
12414//
12415// See DeleteTransitGatewayPrefixListReference for more information on using the DeleteTransitGatewayPrefixListReference
12416// API call, and error handling.
12417//
12418// This method is useful when you want to inject custom logic or configuration
12419// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12420//
12421//
12422//    // Example sending a request using the DeleteTransitGatewayPrefixListReferenceRequest method.
12423//    req, resp := client.DeleteTransitGatewayPrefixListReferenceRequest(params)
12424//
12425//    err := req.Send()
12426//    if err == nil { // resp is now filled
12427//        fmt.Println(resp)
12428//    }
12429//
12430// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPrefixListReference
12431func (c *EC2) DeleteTransitGatewayPrefixListReferenceRequest(input *DeleteTransitGatewayPrefixListReferenceInput) (req *request.Request, output *DeleteTransitGatewayPrefixListReferenceOutput) {
12432	op := &request.Operation{
12433		Name:       opDeleteTransitGatewayPrefixListReference,
12434		HTTPMethod: "POST",
12435		HTTPPath:   "/",
12436	}
12437
12438	if input == nil {
12439		input = &DeleteTransitGatewayPrefixListReferenceInput{}
12440	}
12441
12442	output = &DeleteTransitGatewayPrefixListReferenceOutput{}
12443	req = c.newRequest(op, input, output)
12444	return
12445}
12446
12447// DeleteTransitGatewayPrefixListReference API operation for Amazon Elastic Compute Cloud.
12448//
12449// Deletes a reference (route) to a prefix list in a specified transit gateway
12450// route table.
12451//
12452// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12453// with awserr.Error's Code and Message methods to get detailed information about
12454// the error.
12455//
12456// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12457// API operation DeleteTransitGatewayPrefixListReference for usage and error information.
12458// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPrefixListReference
12459func (c *EC2) DeleteTransitGatewayPrefixListReference(input *DeleteTransitGatewayPrefixListReferenceInput) (*DeleteTransitGatewayPrefixListReferenceOutput, error) {
12460	req, out := c.DeleteTransitGatewayPrefixListReferenceRequest(input)
12461	return out, req.Send()
12462}
12463
12464// DeleteTransitGatewayPrefixListReferenceWithContext is the same as DeleteTransitGatewayPrefixListReference with the addition of
12465// the ability to pass a context and additional request options.
12466//
12467// See DeleteTransitGatewayPrefixListReference for details on how to use this API operation.
12468//
12469// The context must be non-nil and will be used for request cancellation. If
12470// the context is nil a panic will occur. In the future the SDK may create
12471// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12472// for more information on using Contexts.
12473func (c *EC2) DeleteTransitGatewayPrefixListReferenceWithContext(ctx aws.Context, input *DeleteTransitGatewayPrefixListReferenceInput, opts ...request.Option) (*DeleteTransitGatewayPrefixListReferenceOutput, error) {
12474	req, out := c.DeleteTransitGatewayPrefixListReferenceRequest(input)
12475	req.SetContext(ctx)
12476	req.ApplyOptions(opts...)
12477	return out, req.Send()
12478}
12479
12480const opDeleteTransitGatewayRoute = "DeleteTransitGatewayRoute"
12481
12482// DeleteTransitGatewayRouteRequest generates a "aws/request.Request" representing the
12483// client's request for the DeleteTransitGatewayRoute operation. The "output" return
12484// value will be populated with the request's response once the request completes
12485// successfully.
12486//
12487// Use "Send" method on the returned Request to send the API call to the service.
12488// the "output" return value is not valid until after Send returns without error.
12489//
12490// See DeleteTransitGatewayRoute for more information on using the DeleteTransitGatewayRoute
12491// API call, and error handling.
12492//
12493// This method is useful when you want to inject custom logic or configuration
12494// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12495//
12496//
12497//    // Example sending a request using the DeleteTransitGatewayRouteRequest method.
12498//    req, resp := client.DeleteTransitGatewayRouteRequest(params)
12499//
12500//    err := req.Send()
12501//    if err == nil { // resp is now filled
12502//        fmt.Println(resp)
12503//    }
12504//
12505// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRoute
12506func (c *EC2) DeleteTransitGatewayRouteRequest(input *DeleteTransitGatewayRouteInput) (req *request.Request, output *DeleteTransitGatewayRouteOutput) {
12507	op := &request.Operation{
12508		Name:       opDeleteTransitGatewayRoute,
12509		HTTPMethod: "POST",
12510		HTTPPath:   "/",
12511	}
12512
12513	if input == nil {
12514		input = &DeleteTransitGatewayRouteInput{}
12515	}
12516
12517	output = &DeleteTransitGatewayRouteOutput{}
12518	req = c.newRequest(op, input, output)
12519	return
12520}
12521
12522// DeleteTransitGatewayRoute API operation for Amazon Elastic Compute Cloud.
12523//
12524// Deletes the specified route from the specified transit gateway route table.
12525//
12526// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12527// with awserr.Error's Code and Message methods to get detailed information about
12528// the error.
12529//
12530// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12531// API operation DeleteTransitGatewayRoute for usage and error information.
12532// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRoute
12533func (c *EC2) DeleteTransitGatewayRoute(input *DeleteTransitGatewayRouteInput) (*DeleteTransitGatewayRouteOutput, error) {
12534	req, out := c.DeleteTransitGatewayRouteRequest(input)
12535	return out, req.Send()
12536}
12537
12538// DeleteTransitGatewayRouteWithContext is the same as DeleteTransitGatewayRoute with the addition of
12539// the ability to pass a context and additional request options.
12540//
12541// See DeleteTransitGatewayRoute for details on how to use this API operation.
12542//
12543// The context must be non-nil and will be used for request cancellation. If
12544// the context is nil a panic will occur. In the future the SDK may create
12545// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12546// for more information on using Contexts.
12547func (c *EC2) DeleteTransitGatewayRouteWithContext(ctx aws.Context, input *DeleteTransitGatewayRouteInput, opts ...request.Option) (*DeleteTransitGatewayRouteOutput, error) {
12548	req, out := c.DeleteTransitGatewayRouteRequest(input)
12549	req.SetContext(ctx)
12550	req.ApplyOptions(opts...)
12551	return out, req.Send()
12552}
12553
12554const opDeleteTransitGatewayRouteTable = "DeleteTransitGatewayRouteTable"
12555
12556// DeleteTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
12557// client's request for the DeleteTransitGatewayRouteTable operation. The "output" return
12558// value will be populated with the request's response once the request completes
12559// successfully.
12560//
12561// Use "Send" method on the returned Request to send the API call to the service.
12562// the "output" return value is not valid until after Send returns without error.
12563//
12564// See DeleteTransitGatewayRouteTable for more information on using the DeleteTransitGatewayRouteTable
12565// API call, and error handling.
12566//
12567// This method is useful when you want to inject custom logic or configuration
12568// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12569//
12570//
12571//    // Example sending a request using the DeleteTransitGatewayRouteTableRequest method.
12572//    req, resp := client.DeleteTransitGatewayRouteTableRequest(params)
12573//
12574//    err := req.Send()
12575//    if err == nil { // resp is now filled
12576//        fmt.Println(resp)
12577//    }
12578//
12579// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRouteTable
12580func (c *EC2) DeleteTransitGatewayRouteTableRequest(input *DeleteTransitGatewayRouteTableInput) (req *request.Request, output *DeleteTransitGatewayRouteTableOutput) {
12581	op := &request.Operation{
12582		Name:       opDeleteTransitGatewayRouteTable,
12583		HTTPMethod: "POST",
12584		HTTPPath:   "/",
12585	}
12586
12587	if input == nil {
12588		input = &DeleteTransitGatewayRouteTableInput{}
12589	}
12590
12591	output = &DeleteTransitGatewayRouteTableOutput{}
12592	req = c.newRequest(op, input, output)
12593	return
12594}
12595
12596// DeleteTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
12597//
12598// Deletes the specified transit gateway route table. You must disassociate
12599// the route table from any transit gateway route tables before you can delete
12600// it.
12601//
12602// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12603// with awserr.Error's Code and Message methods to get detailed information about
12604// the error.
12605//
12606// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12607// API operation DeleteTransitGatewayRouteTable for usage and error information.
12608// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRouteTable
12609func (c *EC2) DeleteTransitGatewayRouteTable(input *DeleteTransitGatewayRouteTableInput) (*DeleteTransitGatewayRouteTableOutput, error) {
12610	req, out := c.DeleteTransitGatewayRouteTableRequest(input)
12611	return out, req.Send()
12612}
12613
12614// DeleteTransitGatewayRouteTableWithContext is the same as DeleteTransitGatewayRouteTable with the addition of
12615// the ability to pass a context and additional request options.
12616//
12617// See DeleteTransitGatewayRouteTable for details on how to use this API operation.
12618//
12619// The context must be non-nil and will be used for request cancellation. If
12620// the context is nil a panic will occur. In the future the SDK may create
12621// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12622// for more information on using Contexts.
12623func (c *EC2) DeleteTransitGatewayRouteTableWithContext(ctx aws.Context, input *DeleteTransitGatewayRouteTableInput, opts ...request.Option) (*DeleteTransitGatewayRouteTableOutput, error) {
12624	req, out := c.DeleteTransitGatewayRouteTableRequest(input)
12625	req.SetContext(ctx)
12626	req.ApplyOptions(opts...)
12627	return out, req.Send()
12628}
12629
12630const opDeleteTransitGatewayVpcAttachment = "DeleteTransitGatewayVpcAttachment"
12631
12632// DeleteTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
12633// client's request for the DeleteTransitGatewayVpcAttachment operation. The "output" return
12634// value will be populated with the request's response once the request completes
12635// successfully.
12636//
12637// Use "Send" method on the returned Request to send the API call to the service.
12638// the "output" return value is not valid until after Send returns without error.
12639//
12640// See DeleteTransitGatewayVpcAttachment for more information on using the DeleteTransitGatewayVpcAttachment
12641// API call, and error handling.
12642//
12643// This method is useful when you want to inject custom logic or configuration
12644// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12645//
12646//
12647//    // Example sending a request using the DeleteTransitGatewayVpcAttachmentRequest method.
12648//    req, resp := client.DeleteTransitGatewayVpcAttachmentRequest(params)
12649//
12650//    err := req.Send()
12651//    if err == nil { // resp is now filled
12652//        fmt.Println(resp)
12653//    }
12654//
12655// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayVpcAttachment
12656func (c *EC2) DeleteTransitGatewayVpcAttachmentRequest(input *DeleteTransitGatewayVpcAttachmentInput) (req *request.Request, output *DeleteTransitGatewayVpcAttachmentOutput) {
12657	op := &request.Operation{
12658		Name:       opDeleteTransitGatewayVpcAttachment,
12659		HTTPMethod: "POST",
12660		HTTPPath:   "/",
12661	}
12662
12663	if input == nil {
12664		input = &DeleteTransitGatewayVpcAttachmentInput{}
12665	}
12666
12667	output = &DeleteTransitGatewayVpcAttachmentOutput{}
12668	req = c.newRequest(op, input, output)
12669	return
12670}
12671
12672// DeleteTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
12673//
12674// Deletes the specified VPC attachment.
12675//
12676// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12677// with awserr.Error's Code and Message methods to get detailed information about
12678// the error.
12679//
12680// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12681// API operation DeleteTransitGatewayVpcAttachment for usage and error information.
12682// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayVpcAttachment
12683func (c *EC2) DeleteTransitGatewayVpcAttachment(input *DeleteTransitGatewayVpcAttachmentInput) (*DeleteTransitGatewayVpcAttachmentOutput, error) {
12684	req, out := c.DeleteTransitGatewayVpcAttachmentRequest(input)
12685	return out, req.Send()
12686}
12687
12688// DeleteTransitGatewayVpcAttachmentWithContext is the same as DeleteTransitGatewayVpcAttachment with the addition of
12689// the ability to pass a context and additional request options.
12690//
12691// See DeleteTransitGatewayVpcAttachment for details on how to use this API operation.
12692//
12693// The context must be non-nil and will be used for request cancellation. If
12694// the context is nil a panic will occur. In the future the SDK may create
12695// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12696// for more information on using Contexts.
12697func (c *EC2) DeleteTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *DeleteTransitGatewayVpcAttachmentInput, opts ...request.Option) (*DeleteTransitGatewayVpcAttachmentOutput, error) {
12698	req, out := c.DeleteTransitGatewayVpcAttachmentRequest(input)
12699	req.SetContext(ctx)
12700	req.ApplyOptions(opts...)
12701	return out, req.Send()
12702}
12703
12704const opDeleteVolume = "DeleteVolume"
12705
12706// DeleteVolumeRequest generates a "aws/request.Request" representing the
12707// client's request for the DeleteVolume operation. The "output" return
12708// value will be populated with the request's response once the request completes
12709// successfully.
12710//
12711// Use "Send" method on the returned Request to send the API call to the service.
12712// the "output" return value is not valid until after Send returns without error.
12713//
12714// See DeleteVolume for more information on using the DeleteVolume
12715// API call, and error handling.
12716//
12717// This method is useful when you want to inject custom logic or configuration
12718// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12719//
12720//
12721//    // Example sending a request using the DeleteVolumeRequest method.
12722//    req, resp := client.DeleteVolumeRequest(params)
12723//
12724//    err := req.Send()
12725//    if err == nil { // resp is now filled
12726//        fmt.Println(resp)
12727//    }
12728//
12729// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
12730func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Request, output *DeleteVolumeOutput) {
12731	op := &request.Operation{
12732		Name:       opDeleteVolume,
12733		HTTPMethod: "POST",
12734		HTTPPath:   "/",
12735	}
12736
12737	if input == nil {
12738		input = &DeleteVolumeInput{}
12739	}
12740
12741	output = &DeleteVolumeOutput{}
12742	req = c.newRequest(op, input, output)
12743	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
12744	return
12745}
12746
12747// DeleteVolume API operation for Amazon Elastic Compute Cloud.
12748//
12749// Deletes the specified EBS volume. The volume must be in the available state
12750// (not attached to an instance).
12751//
12752// The volume can remain in the deleting state for several minutes.
12753//
12754// For more information, see Delete an Amazon EBS volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html)
12755// in the Amazon Elastic Compute Cloud User Guide.
12756//
12757// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12758// with awserr.Error's Code and Message methods to get detailed information about
12759// the error.
12760//
12761// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12762// API operation DeleteVolume for usage and error information.
12763// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
12764func (c *EC2) DeleteVolume(input *DeleteVolumeInput) (*DeleteVolumeOutput, error) {
12765	req, out := c.DeleteVolumeRequest(input)
12766	return out, req.Send()
12767}
12768
12769// DeleteVolumeWithContext is the same as DeleteVolume with the addition of
12770// the ability to pass a context and additional request options.
12771//
12772// See DeleteVolume for details on how to use this API operation.
12773//
12774// The context must be non-nil and will be used for request cancellation. If
12775// the context is nil a panic will occur. In the future the SDK may create
12776// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12777// for more information on using Contexts.
12778func (c *EC2) DeleteVolumeWithContext(ctx aws.Context, input *DeleteVolumeInput, opts ...request.Option) (*DeleteVolumeOutput, error) {
12779	req, out := c.DeleteVolumeRequest(input)
12780	req.SetContext(ctx)
12781	req.ApplyOptions(opts...)
12782	return out, req.Send()
12783}
12784
12785const opDeleteVpc = "DeleteVpc"
12786
12787// DeleteVpcRequest generates a "aws/request.Request" representing the
12788// client's request for the DeleteVpc operation. The "output" return
12789// value will be populated with the request's response once the request completes
12790// successfully.
12791//
12792// Use "Send" method on the returned Request to send the API call to the service.
12793// the "output" return value is not valid until after Send returns without error.
12794//
12795// See DeleteVpc for more information on using the DeleteVpc
12796// API call, and error handling.
12797//
12798// This method is useful when you want to inject custom logic or configuration
12799// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12800//
12801//
12802//    // Example sending a request using the DeleteVpcRequest method.
12803//    req, resp := client.DeleteVpcRequest(params)
12804//
12805//    err := req.Send()
12806//    if err == nil { // resp is now filled
12807//        fmt.Println(resp)
12808//    }
12809//
12810// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
12811func (c *EC2) DeleteVpcRequest(input *DeleteVpcInput) (req *request.Request, output *DeleteVpcOutput) {
12812	op := &request.Operation{
12813		Name:       opDeleteVpc,
12814		HTTPMethod: "POST",
12815		HTTPPath:   "/",
12816	}
12817
12818	if input == nil {
12819		input = &DeleteVpcInput{}
12820	}
12821
12822	output = &DeleteVpcOutput{}
12823	req = c.newRequest(op, input, output)
12824	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
12825	return
12826}
12827
12828// DeleteVpc API operation for Amazon Elastic Compute Cloud.
12829//
12830// Deletes the specified VPC. You must detach or delete all gateways and resources
12831// that are associated with the VPC before you can delete it. For example, you
12832// must terminate all instances running in the VPC, delete all security groups
12833// associated with the VPC (except the default one), delete all route tables
12834// associated with the VPC (except the default one), and so on.
12835//
12836// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12837// with awserr.Error's Code and Message methods to get detailed information about
12838// the error.
12839//
12840// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12841// API operation DeleteVpc for usage and error information.
12842// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
12843func (c *EC2) DeleteVpc(input *DeleteVpcInput) (*DeleteVpcOutput, error) {
12844	req, out := c.DeleteVpcRequest(input)
12845	return out, req.Send()
12846}
12847
12848// DeleteVpcWithContext is the same as DeleteVpc with the addition of
12849// the ability to pass a context and additional request options.
12850//
12851// See DeleteVpc for details on how to use this API operation.
12852//
12853// The context must be non-nil and will be used for request cancellation. If
12854// the context is nil a panic will occur. In the future the SDK may create
12855// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12856// for more information on using Contexts.
12857func (c *EC2) DeleteVpcWithContext(ctx aws.Context, input *DeleteVpcInput, opts ...request.Option) (*DeleteVpcOutput, error) {
12858	req, out := c.DeleteVpcRequest(input)
12859	req.SetContext(ctx)
12860	req.ApplyOptions(opts...)
12861	return out, req.Send()
12862}
12863
12864const opDeleteVpcEndpointConnectionNotifications = "DeleteVpcEndpointConnectionNotifications"
12865
12866// DeleteVpcEndpointConnectionNotificationsRequest generates a "aws/request.Request" representing the
12867// client's request for the DeleteVpcEndpointConnectionNotifications operation. The "output" return
12868// value will be populated with the request's response once the request completes
12869// successfully.
12870//
12871// Use "Send" method on the returned Request to send the API call to the service.
12872// the "output" return value is not valid until after Send returns without error.
12873//
12874// See DeleteVpcEndpointConnectionNotifications for more information on using the DeleteVpcEndpointConnectionNotifications
12875// API call, and error handling.
12876//
12877// This method is useful when you want to inject custom logic or configuration
12878// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12879//
12880//
12881//    // Example sending a request using the DeleteVpcEndpointConnectionNotificationsRequest method.
12882//    req, resp := client.DeleteVpcEndpointConnectionNotificationsRequest(params)
12883//
12884//    err := req.Send()
12885//    if err == nil { // resp is now filled
12886//        fmt.Println(resp)
12887//    }
12888//
12889// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotifications
12890func (c *EC2) DeleteVpcEndpointConnectionNotificationsRequest(input *DeleteVpcEndpointConnectionNotificationsInput) (req *request.Request, output *DeleteVpcEndpointConnectionNotificationsOutput) {
12891	op := &request.Operation{
12892		Name:       opDeleteVpcEndpointConnectionNotifications,
12893		HTTPMethod: "POST",
12894		HTTPPath:   "/",
12895	}
12896
12897	if input == nil {
12898		input = &DeleteVpcEndpointConnectionNotificationsInput{}
12899	}
12900
12901	output = &DeleteVpcEndpointConnectionNotificationsOutput{}
12902	req = c.newRequest(op, input, output)
12903	return
12904}
12905
12906// DeleteVpcEndpointConnectionNotifications API operation for Amazon Elastic Compute Cloud.
12907//
12908// Deletes one or more VPC endpoint connection notifications.
12909//
12910// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12911// with awserr.Error's Code and Message methods to get detailed information about
12912// the error.
12913//
12914// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12915// API operation DeleteVpcEndpointConnectionNotifications for usage and error information.
12916// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotifications
12917func (c *EC2) DeleteVpcEndpointConnectionNotifications(input *DeleteVpcEndpointConnectionNotificationsInput) (*DeleteVpcEndpointConnectionNotificationsOutput, error) {
12918	req, out := c.DeleteVpcEndpointConnectionNotificationsRequest(input)
12919	return out, req.Send()
12920}
12921
12922// DeleteVpcEndpointConnectionNotificationsWithContext is the same as DeleteVpcEndpointConnectionNotifications with the addition of
12923// the ability to pass a context and additional request options.
12924//
12925// See DeleteVpcEndpointConnectionNotifications for details on how to use this API operation.
12926//
12927// The context must be non-nil and will be used for request cancellation. If
12928// the context is nil a panic will occur. In the future the SDK may create
12929// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12930// for more information on using Contexts.
12931func (c *EC2) DeleteVpcEndpointConnectionNotificationsWithContext(ctx aws.Context, input *DeleteVpcEndpointConnectionNotificationsInput, opts ...request.Option) (*DeleteVpcEndpointConnectionNotificationsOutput, error) {
12932	req, out := c.DeleteVpcEndpointConnectionNotificationsRequest(input)
12933	req.SetContext(ctx)
12934	req.ApplyOptions(opts...)
12935	return out, req.Send()
12936}
12937
12938const opDeleteVpcEndpointServiceConfigurations = "DeleteVpcEndpointServiceConfigurations"
12939
12940// DeleteVpcEndpointServiceConfigurationsRequest generates a "aws/request.Request" representing the
12941// client's request for the DeleteVpcEndpointServiceConfigurations operation. The "output" return
12942// value will be populated with the request's response once the request completes
12943// successfully.
12944//
12945// Use "Send" method on the returned Request to send the API call to the service.
12946// the "output" return value is not valid until after Send returns without error.
12947//
12948// See DeleteVpcEndpointServiceConfigurations for more information on using the DeleteVpcEndpointServiceConfigurations
12949// API call, and error handling.
12950//
12951// This method is useful when you want to inject custom logic or configuration
12952// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12953//
12954//
12955//    // Example sending a request using the DeleteVpcEndpointServiceConfigurationsRequest method.
12956//    req, resp := client.DeleteVpcEndpointServiceConfigurationsRequest(params)
12957//
12958//    err := req.Send()
12959//    if err == nil { // resp is now filled
12960//        fmt.Println(resp)
12961//    }
12962//
12963// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurations
12964func (c *EC2) DeleteVpcEndpointServiceConfigurationsRequest(input *DeleteVpcEndpointServiceConfigurationsInput) (req *request.Request, output *DeleteVpcEndpointServiceConfigurationsOutput) {
12965	op := &request.Operation{
12966		Name:       opDeleteVpcEndpointServiceConfigurations,
12967		HTTPMethod: "POST",
12968		HTTPPath:   "/",
12969	}
12970
12971	if input == nil {
12972		input = &DeleteVpcEndpointServiceConfigurationsInput{}
12973	}
12974
12975	output = &DeleteVpcEndpointServiceConfigurationsOutput{}
12976	req = c.newRequest(op, input, output)
12977	return
12978}
12979
12980// DeleteVpcEndpointServiceConfigurations API operation for Amazon Elastic Compute Cloud.
12981//
12982// Deletes one or more VPC endpoint service configurations in your account.
12983// Before you delete the endpoint service configuration, you must reject any
12984// Available or PendingAcceptance interface endpoint connections that are attached
12985// to the service.
12986//
12987// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12988// with awserr.Error's Code and Message methods to get detailed information about
12989// the error.
12990//
12991// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12992// API operation DeleteVpcEndpointServiceConfigurations for usage and error information.
12993// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurations
12994func (c *EC2) DeleteVpcEndpointServiceConfigurations(input *DeleteVpcEndpointServiceConfigurationsInput) (*DeleteVpcEndpointServiceConfigurationsOutput, error) {
12995	req, out := c.DeleteVpcEndpointServiceConfigurationsRequest(input)
12996	return out, req.Send()
12997}
12998
12999// DeleteVpcEndpointServiceConfigurationsWithContext is the same as DeleteVpcEndpointServiceConfigurations with the addition of
13000// the ability to pass a context and additional request options.
13001//
13002// See DeleteVpcEndpointServiceConfigurations for details on how to use this API operation.
13003//
13004// The context must be non-nil and will be used for request cancellation. If
13005// the context is nil a panic will occur. In the future the SDK may create
13006// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13007// for more information on using Contexts.
13008func (c *EC2) DeleteVpcEndpointServiceConfigurationsWithContext(ctx aws.Context, input *DeleteVpcEndpointServiceConfigurationsInput, opts ...request.Option) (*DeleteVpcEndpointServiceConfigurationsOutput, error) {
13009	req, out := c.DeleteVpcEndpointServiceConfigurationsRequest(input)
13010	req.SetContext(ctx)
13011	req.ApplyOptions(opts...)
13012	return out, req.Send()
13013}
13014
13015const opDeleteVpcEndpoints = "DeleteVpcEndpoints"
13016
13017// DeleteVpcEndpointsRequest generates a "aws/request.Request" representing the
13018// client's request for the DeleteVpcEndpoints operation. The "output" return
13019// value will be populated with the request's response once the request completes
13020// successfully.
13021//
13022// Use "Send" method on the returned Request to send the API call to the service.
13023// the "output" return value is not valid until after Send returns without error.
13024//
13025// See DeleteVpcEndpoints for more information on using the DeleteVpcEndpoints
13026// API call, and error handling.
13027//
13028// This method is useful when you want to inject custom logic or configuration
13029// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13030//
13031//
13032//    // Example sending a request using the DeleteVpcEndpointsRequest method.
13033//    req, resp := client.DeleteVpcEndpointsRequest(params)
13034//
13035//    err := req.Send()
13036//    if err == nil { // resp is now filled
13037//        fmt.Println(resp)
13038//    }
13039//
13040// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
13041func (c *EC2) DeleteVpcEndpointsRequest(input *DeleteVpcEndpointsInput) (req *request.Request, output *DeleteVpcEndpointsOutput) {
13042	op := &request.Operation{
13043		Name:       opDeleteVpcEndpoints,
13044		HTTPMethod: "POST",
13045		HTTPPath:   "/",
13046	}
13047
13048	if input == nil {
13049		input = &DeleteVpcEndpointsInput{}
13050	}
13051
13052	output = &DeleteVpcEndpointsOutput{}
13053	req = c.newRequest(op, input, output)
13054	return
13055}
13056
13057// DeleteVpcEndpoints API operation for Amazon Elastic Compute Cloud.
13058//
13059// Deletes one or more specified VPC endpoints. You can delete any of the following
13060// types of VPC endpoints.
13061//
13062//    * Gateway endpoint,
13063//
13064//    * Gateway Load Balancer endpoint,
13065//
13066//    * Interface endpoint
13067//
13068// The following rules apply when you delete a VPC endpoint:
13069//
13070//    * When you delete a gateway endpoint, we delete the endpoint routes in
13071//    the route tables that are associated with the endpoint.
13072//
13073//    * When you delete a Gateway Load Balancer endpoint, we delete the endpoint
13074//    network interfaces. You can only delete Gateway Load Balancer endpoints
13075//    when the routes that are associated with the endpoint are deleted.
13076//
13077//    * When you delete an interface endpoint, we delete the endpoint network
13078//    interfaces.
13079//
13080// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13081// with awserr.Error's Code and Message methods to get detailed information about
13082// the error.
13083//
13084// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13085// API operation DeleteVpcEndpoints for usage and error information.
13086// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
13087func (c *EC2) DeleteVpcEndpoints(input *DeleteVpcEndpointsInput) (*DeleteVpcEndpointsOutput, error) {
13088	req, out := c.DeleteVpcEndpointsRequest(input)
13089	return out, req.Send()
13090}
13091
13092// DeleteVpcEndpointsWithContext is the same as DeleteVpcEndpoints with the addition of
13093// the ability to pass a context and additional request options.
13094//
13095// See DeleteVpcEndpoints for details on how to use this API operation.
13096//
13097// The context must be non-nil and will be used for request cancellation. If
13098// the context is nil a panic will occur. In the future the SDK may create
13099// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13100// for more information on using Contexts.
13101func (c *EC2) DeleteVpcEndpointsWithContext(ctx aws.Context, input *DeleteVpcEndpointsInput, opts ...request.Option) (*DeleteVpcEndpointsOutput, error) {
13102	req, out := c.DeleteVpcEndpointsRequest(input)
13103	req.SetContext(ctx)
13104	req.ApplyOptions(opts...)
13105	return out, req.Send()
13106}
13107
13108const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection"
13109
13110// DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
13111// client's request for the DeleteVpcPeeringConnection operation. The "output" return
13112// value will be populated with the request's response once the request completes
13113// successfully.
13114//
13115// Use "Send" method on the returned Request to send the API call to the service.
13116// the "output" return value is not valid until after Send returns without error.
13117//
13118// See DeleteVpcPeeringConnection for more information on using the DeleteVpcPeeringConnection
13119// API call, and error handling.
13120//
13121// This method is useful when you want to inject custom logic or configuration
13122// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13123//
13124//
13125//    // Example sending a request using the DeleteVpcPeeringConnectionRequest method.
13126//    req, resp := client.DeleteVpcPeeringConnectionRequest(params)
13127//
13128//    err := req.Send()
13129//    if err == nil { // resp is now filled
13130//        fmt.Println(resp)
13131//    }
13132//
13133// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
13134func (c *EC2) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectionInput) (req *request.Request, output *DeleteVpcPeeringConnectionOutput) {
13135	op := &request.Operation{
13136		Name:       opDeleteVpcPeeringConnection,
13137		HTTPMethod: "POST",
13138		HTTPPath:   "/",
13139	}
13140
13141	if input == nil {
13142		input = &DeleteVpcPeeringConnectionInput{}
13143	}
13144
13145	output = &DeleteVpcPeeringConnectionOutput{}
13146	req = c.newRequest(op, input, output)
13147	return
13148}
13149
13150// DeleteVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
13151//
13152// Deletes a VPC peering connection. Either the owner of the requester VPC or
13153// the owner of the accepter VPC can delete the VPC peering connection if it's
13154// in the active state. The owner of the requester VPC can delete a VPC peering
13155// connection in the pending-acceptance state. You cannot delete a VPC peering
13156// connection that's in the failed state.
13157//
13158// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13159// with awserr.Error's Code and Message methods to get detailed information about
13160// the error.
13161//
13162// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13163// API operation DeleteVpcPeeringConnection for usage and error information.
13164// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
13165func (c *EC2) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) {
13166	req, out := c.DeleteVpcPeeringConnectionRequest(input)
13167	return out, req.Send()
13168}
13169
13170// DeleteVpcPeeringConnectionWithContext is the same as DeleteVpcPeeringConnection with the addition of
13171// the ability to pass a context and additional request options.
13172//
13173// See DeleteVpcPeeringConnection for details on how to use this API operation.
13174//
13175// The context must be non-nil and will be used for request cancellation. If
13176// the context is nil a panic will occur. In the future the SDK may create
13177// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13178// for more information on using Contexts.
13179func (c *EC2) DeleteVpcPeeringConnectionWithContext(ctx aws.Context, input *DeleteVpcPeeringConnectionInput, opts ...request.Option) (*DeleteVpcPeeringConnectionOutput, error) {
13180	req, out := c.DeleteVpcPeeringConnectionRequest(input)
13181	req.SetContext(ctx)
13182	req.ApplyOptions(opts...)
13183	return out, req.Send()
13184}
13185
13186const opDeleteVpnConnection = "DeleteVpnConnection"
13187
13188// DeleteVpnConnectionRequest generates a "aws/request.Request" representing the
13189// client's request for the DeleteVpnConnection operation. The "output" return
13190// value will be populated with the request's response once the request completes
13191// successfully.
13192//
13193// Use "Send" method on the returned Request to send the API call to the service.
13194// the "output" return value is not valid until after Send returns without error.
13195//
13196// See DeleteVpnConnection for more information on using the DeleteVpnConnection
13197// API call, and error handling.
13198//
13199// This method is useful when you want to inject custom logic or configuration
13200// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13201//
13202//
13203//    // Example sending a request using the DeleteVpnConnectionRequest method.
13204//    req, resp := client.DeleteVpnConnectionRequest(params)
13205//
13206//    err := req.Send()
13207//    if err == nil { // resp is now filled
13208//        fmt.Println(resp)
13209//    }
13210//
13211// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
13212func (c *EC2) DeleteVpnConnectionRequest(input *DeleteVpnConnectionInput) (req *request.Request, output *DeleteVpnConnectionOutput) {
13213	op := &request.Operation{
13214		Name:       opDeleteVpnConnection,
13215		HTTPMethod: "POST",
13216		HTTPPath:   "/",
13217	}
13218
13219	if input == nil {
13220		input = &DeleteVpnConnectionInput{}
13221	}
13222
13223	output = &DeleteVpnConnectionOutput{}
13224	req = c.newRequest(op, input, output)
13225	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
13226	return
13227}
13228
13229// DeleteVpnConnection API operation for Amazon Elastic Compute Cloud.
13230//
13231// Deletes the specified VPN connection.
13232//
13233// If you're deleting the VPC and its associated components, we recommend that
13234// you detach the virtual private gateway from the VPC and delete the VPC before
13235// deleting the VPN connection. If you believe that the tunnel credentials for
13236// your VPN connection have been compromised, you can delete the VPN connection
13237// and create a new one that has new keys, without needing to delete the VPC
13238// or virtual private gateway. If you create a new VPN connection, you must
13239// reconfigure the customer gateway device using the new configuration information
13240// returned with the new VPN connection ID.
13241//
13242// For certificate-based authentication, delete all AWS Certificate Manager
13243// (ACM) private certificates used for the AWS-side tunnel endpoints for the
13244// VPN connection before deleting the VPN connection.
13245//
13246// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13247// with awserr.Error's Code and Message methods to get detailed information about
13248// the error.
13249//
13250// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13251// API operation DeleteVpnConnection for usage and error information.
13252// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
13253func (c *EC2) DeleteVpnConnection(input *DeleteVpnConnectionInput) (*DeleteVpnConnectionOutput, error) {
13254	req, out := c.DeleteVpnConnectionRequest(input)
13255	return out, req.Send()
13256}
13257
13258// DeleteVpnConnectionWithContext is the same as DeleteVpnConnection with the addition of
13259// the ability to pass a context and additional request options.
13260//
13261// See DeleteVpnConnection for details on how to use this API operation.
13262//
13263// The context must be non-nil and will be used for request cancellation. If
13264// the context is nil a panic will occur. In the future the SDK may create
13265// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13266// for more information on using Contexts.
13267func (c *EC2) DeleteVpnConnectionWithContext(ctx aws.Context, input *DeleteVpnConnectionInput, opts ...request.Option) (*DeleteVpnConnectionOutput, error) {
13268	req, out := c.DeleteVpnConnectionRequest(input)
13269	req.SetContext(ctx)
13270	req.ApplyOptions(opts...)
13271	return out, req.Send()
13272}
13273
13274const opDeleteVpnConnectionRoute = "DeleteVpnConnectionRoute"
13275
13276// DeleteVpnConnectionRouteRequest generates a "aws/request.Request" representing the
13277// client's request for the DeleteVpnConnectionRoute operation. The "output" return
13278// value will be populated with the request's response once the request completes
13279// successfully.
13280//
13281// Use "Send" method on the returned Request to send the API call to the service.
13282// the "output" return value is not valid until after Send returns without error.
13283//
13284// See DeleteVpnConnectionRoute for more information on using the DeleteVpnConnectionRoute
13285// API call, and error handling.
13286//
13287// This method is useful when you want to inject custom logic or configuration
13288// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13289//
13290//
13291//    // Example sending a request using the DeleteVpnConnectionRouteRequest method.
13292//    req, resp := client.DeleteVpnConnectionRouteRequest(params)
13293//
13294//    err := req.Send()
13295//    if err == nil { // resp is now filled
13296//        fmt.Println(resp)
13297//    }
13298//
13299// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
13300func (c *EC2) DeleteVpnConnectionRouteRequest(input *DeleteVpnConnectionRouteInput) (req *request.Request, output *DeleteVpnConnectionRouteOutput) {
13301	op := &request.Operation{
13302		Name:       opDeleteVpnConnectionRoute,
13303		HTTPMethod: "POST",
13304		HTTPPath:   "/",
13305	}
13306
13307	if input == nil {
13308		input = &DeleteVpnConnectionRouteInput{}
13309	}
13310
13311	output = &DeleteVpnConnectionRouteOutput{}
13312	req = c.newRequest(op, input, output)
13313	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
13314	return
13315}
13316
13317// DeleteVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
13318//
13319// Deletes the specified static route associated with a VPN connection between
13320// an existing virtual private gateway and a VPN customer gateway. The static
13321// route allows traffic to be routed from the virtual private gateway to the
13322// VPN customer gateway.
13323//
13324// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13325// with awserr.Error's Code and Message methods to get detailed information about
13326// the error.
13327//
13328// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13329// API operation DeleteVpnConnectionRoute for usage and error information.
13330// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
13331func (c *EC2) DeleteVpnConnectionRoute(input *DeleteVpnConnectionRouteInput) (*DeleteVpnConnectionRouteOutput, error) {
13332	req, out := c.DeleteVpnConnectionRouteRequest(input)
13333	return out, req.Send()
13334}
13335
13336// DeleteVpnConnectionRouteWithContext is the same as DeleteVpnConnectionRoute with the addition of
13337// the ability to pass a context and additional request options.
13338//
13339// See DeleteVpnConnectionRoute for details on how to use this API operation.
13340//
13341// The context must be non-nil and will be used for request cancellation. If
13342// the context is nil a panic will occur. In the future the SDK may create
13343// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13344// for more information on using Contexts.
13345func (c *EC2) DeleteVpnConnectionRouteWithContext(ctx aws.Context, input *DeleteVpnConnectionRouteInput, opts ...request.Option) (*DeleteVpnConnectionRouteOutput, error) {
13346	req, out := c.DeleteVpnConnectionRouteRequest(input)
13347	req.SetContext(ctx)
13348	req.ApplyOptions(opts...)
13349	return out, req.Send()
13350}
13351
13352const opDeleteVpnGateway = "DeleteVpnGateway"
13353
13354// DeleteVpnGatewayRequest generates a "aws/request.Request" representing the
13355// client's request for the DeleteVpnGateway operation. The "output" return
13356// value will be populated with the request's response once the request completes
13357// successfully.
13358//
13359// Use "Send" method on the returned Request to send the API call to the service.
13360// the "output" return value is not valid until after Send returns without error.
13361//
13362// See DeleteVpnGateway for more information on using the DeleteVpnGateway
13363// API call, and error handling.
13364//
13365// This method is useful when you want to inject custom logic or configuration
13366// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13367//
13368//
13369//    // Example sending a request using the DeleteVpnGatewayRequest method.
13370//    req, resp := client.DeleteVpnGatewayRequest(params)
13371//
13372//    err := req.Send()
13373//    if err == nil { // resp is now filled
13374//        fmt.Println(resp)
13375//    }
13376//
13377// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
13378func (c *EC2) DeleteVpnGatewayRequest(input *DeleteVpnGatewayInput) (req *request.Request, output *DeleteVpnGatewayOutput) {
13379	op := &request.Operation{
13380		Name:       opDeleteVpnGateway,
13381		HTTPMethod: "POST",
13382		HTTPPath:   "/",
13383	}
13384
13385	if input == nil {
13386		input = &DeleteVpnGatewayInput{}
13387	}
13388
13389	output = &DeleteVpnGatewayOutput{}
13390	req = c.newRequest(op, input, output)
13391	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
13392	return
13393}
13394
13395// DeleteVpnGateway API operation for Amazon Elastic Compute Cloud.
13396//
13397// Deletes the specified virtual private gateway. You must first detach the
13398// virtual private gateway from the VPC. Note that you don't need to delete
13399// the virtual private gateway if you plan to delete and recreate the VPN connection
13400// between your VPC and your network.
13401//
13402// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13403// with awserr.Error's Code and Message methods to get detailed information about
13404// the error.
13405//
13406// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13407// API operation DeleteVpnGateway for usage and error information.
13408// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
13409func (c *EC2) DeleteVpnGateway(input *DeleteVpnGatewayInput) (*DeleteVpnGatewayOutput, error) {
13410	req, out := c.DeleteVpnGatewayRequest(input)
13411	return out, req.Send()
13412}
13413
13414// DeleteVpnGatewayWithContext is the same as DeleteVpnGateway with the addition of
13415// the ability to pass a context and additional request options.
13416//
13417// See DeleteVpnGateway for details on how to use this API operation.
13418//
13419// The context must be non-nil and will be used for request cancellation. If
13420// the context is nil a panic will occur. In the future the SDK may create
13421// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13422// for more information on using Contexts.
13423func (c *EC2) DeleteVpnGatewayWithContext(ctx aws.Context, input *DeleteVpnGatewayInput, opts ...request.Option) (*DeleteVpnGatewayOutput, error) {
13424	req, out := c.DeleteVpnGatewayRequest(input)
13425	req.SetContext(ctx)
13426	req.ApplyOptions(opts...)
13427	return out, req.Send()
13428}
13429
13430const opDeprovisionByoipCidr = "DeprovisionByoipCidr"
13431
13432// DeprovisionByoipCidrRequest generates a "aws/request.Request" representing the
13433// client's request for the DeprovisionByoipCidr operation. The "output" return
13434// value will be populated with the request's response once the request completes
13435// successfully.
13436//
13437// Use "Send" method on the returned Request to send the API call to the service.
13438// the "output" return value is not valid until after Send returns without error.
13439//
13440// See DeprovisionByoipCidr for more information on using the DeprovisionByoipCidr
13441// API call, and error handling.
13442//
13443// This method is useful when you want to inject custom logic or configuration
13444// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13445//
13446//
13447//    // Example sending a request using the DeprovisionByoipCidrRequest method.
13448//    req, resp := client.DeprovisionByoipCidrRequest(params)
13449//
13450//    err := req.Send()
13451//    if err == nil { // resp is now filled
13452//        fmt.Println(resp)
13453//    }
13454//
13455// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprovisionByoipCidr
13456func (c *EC2) DeprovisionByoipCidrRequest(input *DeprovisionByoipCidrInput) (req *request.Request, output *DeprovisionByoipCidrOutput) {
13457	op := &request.Operation{
13458		Name:       opDeprovisionByoipCidr,
13459		HTTPMethod: "POST",
13460		HTTPPath:   "/",
13461	}
13462
13463	if input == nil {
13464		input = &DeprovisionByoipCidrInput{}
13465	}
13466
13467	output = &DeprovisionByoipCidrOutput{}
13468	req = c.newRequest(op, input, output)
13469	return
13470}
13471
13472// DeprovisionByoipCidr API operation for Amazon Elastic Compute Cloud.
13473//
13474// Releases the specified address range that you provisioned for use with your
13475// Amazon Web Services resources through bring your own IP addresses (BYOIP)
13476// and deletes the corresponding address pool.
13477//
13478// Before you can release an address range, you must stop advertising it using
13479// WithdrawByoipCidr and you must not have any IP addresses allocated from its
13480// address range.
13481//
13482// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13483// with awserr.Error's Code and Message methods to get detailed information about
13484// the error.
13485//
13486// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13487// API operation DeprovisionByoipCidr for usage and error information.
13488// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprovisionByoipCidr
13489func (c *EC2) DeprovisionByoipCidr(input *DeprovisionByoipCidrInput) (*DeprovisionByoipCidrOutput, error) {
13490	req, out := c.DeprovisionByoipCidrRequest(input)
13491	return out, req.Send()
13492}
13493
13494// DeprovisionByoipCidrWithContext is the same as DeprovisionByoipCidr with the addition of
13495// the ability to pass a context and additional request options.
13496//
13497// See DeprovisionByoipCidr for details on how to use this API operation.
13498//
13499// The context must be non-nil and will be used for request cancellation. If
13500// the context is nil a panic will occur. In the future the SDK may create
13501// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13502// for more information on using Contexts.
13503func (c *EC2) DeprovisionByoipCidrWithContext(ctx aws.Context, input *DeprovisionByoipCidrInput, opts ...request.Option) (*DeprovisionByoipCidrOutput, error) {
13504	req, out := c.DeprovisionByoipCidrRequest(input)
13505	req.SetContext(ctx)
13506	req.ApplyOptions(opts...)
13507	return out, req.Send()
13508}
13509
13510const opDeregisterImage = "DeregisterImage"
13511
13512// DeregisterImageRequest generates a "aws/request.Request" representing the
13513// client's request for the DeregisterImage operation. The "output" return
13514// value will be populated with the request's response once the request completes
13515// successfully.
13516//
13517// Use "Send" method on the returned Request to send the API call to the service.
13518// the "output" return value is not valid until after Send returns without error.
13519//
13520// See DeregisterImage for more information on using the DeregisterImage
13521// API call, and error handling.
13522//
13523// This method is useful when you want to inject custom logic or configuration
13524// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13525//
13526//
13527//    // Example sending a request using the DeregisterImageRequest method.
13528//    req, resp := client.DeregisterImageRequest(params)
13529//
13530//    err := req.Send()
13531//    if err == nil { // resp is now filled
13532//        fmt.Println(resp)
13533//    }
13534//
13535// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
13536func (c *EC2) DeregisterImageRequest(input *DeregisterImageInput) (req *request.Request, output *DeregisterImageOutput) {
13537	op := &request.Operation{
13538		Name:       opDeregisterImage,
13539		HTTPMethod: "POST",
13540		HTTPPath:   "/",
13541	}
13542
13543	if input == nil {
13544		input = &DeregisterImageInput{}
13545	}
13546
13547	output = &DeregisterImageOutput{}
13548	req = c.newRequest(op, input, output)
13549	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
13550	return
13551}
13552
13553// DeregisterImage API operation for Amazon Elastic Compute Cloud.
13554//
13555// Deregisters the specified AMI. After you deregister an AMI, it can't be used
13556// to launch new instances; however, it doesn't affect any instances that you've
13557// already launched from the AMI. You'll continue to incur usage costs for those
13558// instances until you terminate them.
13559//
13560// When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot
13561// that was created for the root volume of the instance during the AMI creation
13562// process. When you deregister an instance store-backed AMI, it doesn't affect
13563// the files that you uploaded to Amazon S3 when you created the AMI.
13564//
13565// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13566// with awserr.Error's Code and Message methods to get detailed information about
13567// the error.
13568//
13569// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13570// API operation DeregisterImage for usage and error information.
13571// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
13572func (c *EC2) DeregisterImage(input *DeregisterImageInput) (*DeregisterImageOutput, error) {
13573	req, out := c.DeregisterImageRequest(input)
13574	return out, req.Send()
13575}
13576
13577// DeregisterImageWithContext is the same as DeregisterImage with the addition of
13578// the ability to pass a context and additional request options.
13579//
13580// See DeregisterImage for details on how to use this API operation.
13581//
13582// The context must be non-nil and will be used for request cancellation. If
13583// the context is nil a panic will occur. In the future the SDK may create
13584// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13585// for more information on using Contexts.
13586func (c *EC2) DeregisterImageWithContext(ctx aws.Context, input *DeregisterImageInput, opts ...request.Option) (*DeregisterImageOutput, error) {
13587	req, out := c.DeregisterImageRequest(input)
13588	req.SetContext(ctx)
13589	req.ApplyOptions(opts...)
13590	return out, req.Send()
13591}
13592
13593const opDeregisterInstanceEventNotificationAttributes = "DeregisterInstanceEventNotificationAttributes"
13594
13595// DeregisterInstanceEventNotificationAttributesRequest generates a "aws/request.Request" representing the
13596// client's request for the DeregisterInstanceEventNotificationAttributes operation. The "output" return
13597// value will be populated with the request's response once the request completes
13598// successfully.
13599//
13600// Use "Send" method on the returned Request to send the API call to the service.
13601// the "output" return value is not valid until after Send returns without error.
13602//
13603// See DeregisterInstanceEventNotificationAttributes for more information on using the DeregisterInstanceEventNotificationAttributes
13604// API call, and error handling.
13605//
13606// This method is useful when you want to inject custom logic or configuration
13607// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13608//
13609//
13610//    // Example sending a request using the DeregisterInstanceEventNotificationAttributesRequest method.
13611//    req, resp := client.DeregisterInstanceEventNotificationAttributesRequest(params)
13612//
13613//    err := req.Send()
13614//    if err == nil { // resp is now filled
13615//        fmt.Println(resp)
13616//    }
13617//
13618// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterInstanceEventNotificationAttributes
13619func (c *EC2) DeregisterInstanceEventNotificationAttributesRequest(input *DeregisterInstanceEventNotificationAttributesInput) (req *request.Request, output *DeregisterInstanceEventNotificationAttributesOutput) {
13620	op := &request.Operation{
13621		Name:       opDeregisterInstanceEventNotificationAttributes,
13622		HTTPMethod: "POST",
13623		HTTPPath:   "/",
13624	}
13625
13626	if input == nil {
13627		input = &DeregisterInstanceEventNotificationAttributesInput{}
13628	}
13629
13630	output = &DeregisterInstanceEventNotificationAttributesOutput{}
13631	req = c.newRequest(op, input, output)
13632	return
13633}
13634
13635// DeregisterInstanceEventNotificationAttributes API operation for Amazon Elastic Compute Cloud.
13636//
13637// c
13638//
13639// Deregisters tag keys to prevent tags that have the specified tag keys from
13640// being included in scheduled event notifications for resources in the Region.
13641//
13642// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13643// with awserr.Error's Code and Message methods to get detailed information about
13644// the error.
13645//
13646// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13647// API operation DeregisterInstanceEventNotificationAttributes for usage and error information.
13648// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterInstanceEventNotificationAttributes
13649func (c *EC2) DeregisterInstanceEventNotificationAttributes(input *DeregisterInstanceEventNotificationAttributesInput) (*DeregisterInstanceEventNotificationAttributesOutput, error) {
13650	req, out := c.DeregisterInstanceEventNotificationAttributesRequest(input)
13651	return out, req.Send()
13652}
13653
13654// DeregisterInstanceEventNotificationAttributesWithContext is the same as DeregisterInstanceEventNotificationAttributes with the addition of
13655// the ability to pass a context and additional request options.
13656//
13657// See DeregisterInstanceEventNotificationAttributes for details on how to use this API operation.
13658//
13659// The context must be non-nil and will be used for request cancellation. If
13660// the context is nil a panic will occur. In the future the SDK may create
13661// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13662// for more information on using Contexts.
13663func (c *EC2) DeregisterInstanceEventNotificationAttributesWithContext(ctx aws.Context, input *DeregisterInstanceEventNotificationAttributesInput, opts ...request.Option) (*DeregisterInstanceEventNotificationAttributesOutput, error) {
13664	req, out := c.DeregisterInstanceEventNotificationAttributesRequest(input)
13665	req.SetContext(ctx)
13666	req.ApplyOptions(opts...)
13667	return out, req.Send()
13668}
13669
13670const opDeregisterTransitGatewayMulticastGroupMembers = "DeregisterTransitGatewayMulticastGroupMembers"
13671
13672// DeregisterTransitGatewayMulticastGroupMembersRequest generates a "aws/request.Request" representing the
13673// client's request for the DeregisterTransitGatewayMulticastGroupMembers operation. The "output" return
13674// value will be populated with the request's response once the request completes
13675// successfully.
13676//
13677// Use "Send" method on the returned Request to send the API call to the service.
13678// the "output" return value is not valid until after Send returns without error.
13679//
13680// See DeregisterTransitGatewayMulticastGroupMembers for more information on using the DeregisterTransitGatewayMulticastGroupMembers
13681// API call, and error handling.
13682//
13683// This method is useful when you want to inject custom logic or configuration
13684// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13685//
13686//
13687//    // Example sending a request using the DeregisterTransitGatewayMulticastGroupMembersRequest method.
13688//    req, resp := client.DeregisterTransitGatewayMulticastGroupMembersRequest(params)
13689//
13690//    err := req.Send()
13691//    if err == nil { // resp is now filled
13692//        fmt.Println(resp)
13693//    }
13694//
13695// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupMembers
13696func (c *EC2) DeregisterTransitGatewayMulticastGroupMembersRequest(input *DeregisterTransitGatewayMulticastGroupMembersInput) (req *request.Request, output *DeregisterTransitGatewayMulticastGroupMembersOutput) {
13697	op := &request.Operation{
13698		Name:       opDeregisterTransitGatewayMulticastGroupMembers,
13699		HTTPMethod: "POST",
13700		HTTPPath:   "/",
13701	}
13702
13703	if input == nil {
13704		input = &DeregisterTransitGatewayMulticastGroupMembersInput{}
13705	}
13706
13707	output = &DeregisterTransitGatewayMulticastGroupMembersOutput{}
13708	req = c.newRequest(op, input, output)
13709	return
13710}
13711
13712// DeregisterTransitGatewayMulticastGroupMembers API operation for Amazon Elastic Compute Cloud.
13713//
13714// Deregisters the specified members (network interfaces) from the transit gateway
13715// multicast group.
13716//
13717// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13718// with awserr.Error's Code and Message methods to get detailed information about
13719// the error.
13720//
13721// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13722// API operation DeregisterTransitGatewayMulticastGroupMembers for usage and error information.
13723// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupMembers
13724func (c *EC2) DeregisterTransitGatewayMulticastGroupMembers(input *DeregisterTransitGatewayMulticastGroupMembersInput) (*DeregisterTransitGatewayMulticastGroupMembersOutput, error) {
13725	req, out := c.DeregisterTransitGatewayMulticastGroupMembersRequest(input)
13726	return out, req.Send()
13727}
13728
13729// DeregisterTransitGatewayMulticastGroupMembersWithContext is the same as DeregisterTransitGatewayMulticastGroupMembers with the addition of
13730// the ability to pass a context and additional request options.
13731//
13732// See DeregisterTransitGatewayMulticastGroupMembers for details on how to use this API operation.
13733//
13734// The context must be non-nil and will be used for request cancellation. If
13735// the context is nil a panic will occur. In the future the SDK may create
13736// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13737// for more information on using Contexts.
13738func (c *EC2) DeregisterTransitGatewayMulticastGroupMembersWithContext(ctx aws.Context, input *DeregisterTransitGatewayMulticastGroupMembersInput, opts ...request.Option) (*DeregisterTransitGatewayMulticastGroupMembersOutput, error) {
13739	req, out := c.DeregisterTransitGatewayMulticastGroupMembersRequest(input)
13740	req.SetContext(ctx)
13741	req.ApplyOptions(opts...)
13742	return out, req.Send()
13743}
13744
13745const opDeregisterTransitGatewayMulticastGroupSources = "DeregisterTransitGatewayMulticastGroupSources"
13746
13747// DeregisterTransitGatewayMulticastGroupSourcesRequest generates a "aws/request.Request" representing the
13748// client's request for the DeregisterTransitGatewayMulticastGroupSources operation. The "output" return
13749// value will be populated with the request's response once the request completes
13750// successfully.
13751//
13752// Use "Send" method on the returned Request to send the API call to the service.
13753// the "output" return value is not valid until after Send returns without error.
13754//
13755// See DeregisterTransitGatewayMulticastGroupSources for more information on using the DeregisterTransitGatewayMulticastGroupSources
13756// API call, and error handling.
13757//
13758// This method is useful when you want to inject custom logic or configuration
13759// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13760//
13761//
13762//    // Example sending a request using the DeregisterTransitGatewayMulticastGroupSourcesRequest method.
13763//    req, resp := client.DeregisterTransitGatewayMulticastGroupSourcesRequest(params)
13764//
13765//    err := req.Send()
13766//    if err == nil { // resp is now filled
13767//        fmt.Println(resp)
13768//    }
13769//
13770// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupSources
13771func (c *EC2) DeregisterTransitGatewayMulticastGroupSourcesRequest(input *DeregisterTransitGatewayMulticastGroupSourcesInput) (req *request.Request, output *DeregisterTransitGatewayMulticastGroupSourcesOutput) {
13772	op := &request.Operation{
13773		Name:       opDeregisterTransitGatewayMulticastGroupSources,
13774		HTTPMethod: "POST",
13775		HTTPPath:   "/",
13776	}
13777
13778	if input == nil {
13779		input = &DeregisterTransitGatewayMulticastGroupSourcesInput{}
13780	}
13781
13782	output = &DeregisterTransitGatewayMulticastGroupSourcesOutput{}
13783	req = c.newRequest(op, input, output)
13784	return
13785}
13786
13787// DeregisterTransitGatewayMulticastGroupSources API operation for Amazon Elastic Compute Cloud.
13788//
13789// Deregisters the specified sources (network interfaces) from the transit gateway
13790// multicast group.
13791//
13792// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13793// with awserr.Error's Code and Message methods to get detailed information about
13794// the error.
13795//
13796// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13797// API operation DeregisterTransitGatewayMulticastGroupSources for usage and error information.
13798// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupSources
13799func (c *EC2) DeregisterTransitGatewayMulticastGroupSources(input *DeregisterTransitGatewayMulticastGroupSourcesInput) (*DeregisterTransitGatewayMulticastGroupSourcesOutput, error) {
13800	req, out := c.DeregisterTransitGatewayMulticastGroupSourcesRequest(input)
13801	return out, req.Send()
13802}
13803
13804// DeregisterTransitGatewayMulticastGroupSourcesWithContext is the same as DeregisterTransitGatewayMulticastGroupSources with the addition of
13805// the ability to pass a context and additional request options.
13806//
13807// See DeregisterTransitGatewayMulticastGroupSources for details on how to use this API operation.
13808//
13809// The context must be non-nil and will be used for request cancellation. If
13810// the context is nil a panic will occur. In the future the SDK may create
13811// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13812// for more information on using Contexts.
13813func (c *EC2) DeregisterTransitGatewayMulticastGroupSourcesWithContext(ctx aws.Context, input *DeregisterTransitGatewayMulticastGroupSourcesInput, opts ...request.Option) (*DeregisterTransitGatewayMulticastGroupSourcesOutput, error) {
13814	req, out := c.DeregisterTransitGatewayMulticastGroupSourcesRequest(input)
13815	req.SetContext(ctx)
13816	req.ApplyOptions(opts...)
13817	return out, req.Send()
13818}
13819
13820const opDescribeAccountAttributes = "DescribeAccountAttributes"
13821
13822// DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
13823// client's request for the DescribeAccountAttributes operation. The "output" return
13824// value will be populated with the request's response once the request completes
13825// successfully.
13826//
13827// Use "Send" method on the returned Request to send the API call to the service.
13828// the "output" return value is not valid until after Send returns without error.
13829//
13830// See DescribeAccountAttributes for more information on using the DescribeAccountAttributes
13831// API call, and error handling.
13832//
13833// This method is useful when you want to inject custom logic or configuration
13834// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13835//
13836//
13837//    // Example sending a request using the DescribeAccountAttributesRequest method.
13838//    req, resp := client.DescribeAccountAttributesRequest(params)
13839//
13840//    err := req.Send()
13841//    if err == nil { // resp is now filled
13842//        fmt.Println(resp)
13843//    }
13844//
13845// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
13846func (c *EC2) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
13847	op := &request.Operation{
13848		Name:       opDescribeAccountAttributes,
13849		HTTPMethod: "POST",
13850		HTTPPath:   "/",
13851	}
13852
13853	if input == nil {
13854		input = &DescribeAccountAttributesInput{}
13855	}
13856
13857	output = &DescribeAccountAttributesOutput{}
13858	req = c.newRequest(op, input, output)
13859	return
13860}
13861
13862// DescribeAccountAttributes API operation for Amazon Elastic Compute Cloud.
13863//
13864// Describes attributes of your AWS account. The following are the supported
13865// account attributes:
13866//
13867//    * supported-platforms: Indicates whether your account can launch instances
13868//    into EC2-Classic and EC2-VPC, or only into EC2-VPC.
13869//
13870//    * default-vpc: The ID of the default VPC for your account, or none.
13871//
13872//    * max-instances: This attribute is no longer supported. The returned value
13873//    does not reflect your actual vCPU limit for running On-Demand Instances.
13874//    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)
13875//    in the Amazon Elastic Compute Cloud User Guide.
13876//
13877//    * vpc-max-security-groups-per-interface: The maximum number of security
13878//    groups that you can assign to a network interface.
13879//
13880//    * max-elastic-ips: The maximum number of Elastic IP addresses that you
13881//    can allocate for use with EC2-Classic.
13882//
13883//    * vpc-max-elastic-ips: The maximum number of Elastic IP addresses that
13884//    you can allocate for use with EC2-VPC.
13885//
13886// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13887// with awserr.Error's Code and Message methods to get detailed information about
13888// the error.
13889//
13890// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13891// API operation DescribeAccountAttributes for usage and error information.
13892// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
13893func (c *EC2) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
13894	req, out := c.DescribeAccountAttributesRequest(input)
13895	return out, req.Send()
13896}
13897
13898// DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
13899// the ability to pass a context and additional request options.
13900//
13901// See DescribeAccountAttributes for details on how to use this API operation.
13902//
13903// The context must be non-nil and will be used for request cancellation. If
13904// the context is nil a panic will occur. In the future the SDK may create
13905// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13906// for more information on using Contexts.
13907func (c *EC2) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
13908	req, out := c.DescribeAccountAttributesRequest(input)
13909	req.SetContext(ctx)
13910	req.ApplyOptions(opts...)
13911	return out, req.Send()
13912}
13913
13914const opDescribeAddresses = "DescribeAddresses"
13915
13916// DescribeAddressesRequest generates a "aws/request.Request" representing the
13917// client's request for the DescribeAddresses operation. The "output" return
13918// value will be populated with the request's response once the request completes
13919// successfully.
13920//
13921// Use "Send" method on the returned Request to send the API call to the service.
13922// the "output" return value is not valid until after Send returns without error.
13923//
13924// See DescribeAddresses for more information on using the DescribeAddresses
13925// API call, and error handling.
13926//
13927// This method is useful when you want to inject custom logic or configuration
13928// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13929//
13930//
13931//    // Example sending a request using the DescribeAddressesRequest method.
13932//    req, resp := client.DescribeAddressesRequest(params)
13933//
13934//    err := req.Send()
13935//    if err == nil { // resp is now filled
13936//        fmt.Println(resp)
13937//    }
13938//
13939// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
13940func (c *EC2) DescribeAddressesRequest(input *DescribeAddressesInput) (req *request.Request, output *DescribeAddressesOutput) {
13941	op := &request.Operation{
13942		Name:       opDescribeAddresses,
13943		HTTPMethod: "POST",
13944		HTTPPath:   "/",
13945	}
13946
13947	if input == nil {
13948		input = &DescribeAddressesInput{}
13949	}
13950
13951	output = &DescribeAddressesOutput{}
13952	req = c.newRequest(op, input, output)
13953	return
13954}
13955
13956// DescribeAddresses API operation for Amazon Elastic Compute Cloud.
13957//
13958// Describes the specified Elastic IP addresses or all of your Elastic IP addresses.
13959//
13960// An Elastic IP address is for use in either the EC2-Classic platform or in
13961// a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
13962// in the Amazon Elastic Compute Cloud User Guide.
13963//
13964// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13965// with awserr.Error's Code and Message methods to get detailed information about
13966// the error.
13967//
13968// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13969// API operation DescribeAddresses for usage and error information.
13970// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
13971func (c *EC2) DescribeAddresses(input *DescribeAddressesInput) (*DescribeAddressesOutput, error) {
13972	req, out := c.DescribeAddressesRequest(input)
13973	return out, req.Send()
13974}
13975
13976// DescribeAddressesWithContext is the same as DescribeAddresses with the addition of
13977// the ability to pass a context and additional request options.
13978//
13979// See DescribeAddresses for details on how to use this API operation.
13980//
13981// The context must be non-nil and will be used for request cancellation. If
13982// the context is nil a panic will occur. In the future the SDK may create
13983// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13984// for more information on using Contexts.
13985func (c *EC2) DescribeAddressesWithContext(ctx aws.Context, input *DescribeAddressesInput, opts ...request.Option) (*DescribeAddressesOutput, error) {
13986	req, out := c.DescribeAddressesRequest(input)
13987	req.SetContext(ctx)
13988	req.ApplyOptions(opts...)
13989	return out, req.Send()
13990}
13991
13992const opDescribeAddressesAttribute = "DescribeAddressesAttribute"
13993
13994// DescribeAddressesAttributeRequest generates a "aws/request.Request" representing the
13995// client's request for the DescribeAddressesAttribute operation. The "output" return
13996// value will be populated with the request's response once the request completes
13997// successfully.
13998//
13999// Use "Send" method on the returned Request to send the API call to the service.
14000// the "output" return value is not valid until after Send returns without error.
14001//
14002// See DescribeAddressesAttribute for more information on using the DescribeAddressesAttribute
14003// API call, and error handling.
14004//
14005// This method is useful when you want to inject custom logic or configuration
14006// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14007//
14008//
14009//    // Example sending a request using the DescribeAddressesAttributeRequest method.
14010//    req, resp := client.DescribeAddressesAttributeRequest(params)
14011//
14012//    err := req.Send()
14013//    if err == nil { // resp is now filled
14014//        fmt.Println(resp)
14015//    }
14016//
14017// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddressesAttribute
14018func (c *EC2) DescribeAddressesAttributeRequest(input *DescribeAddressesAttributeInput) (req *request.Request, output *DescribeAddressesAttributeOutput) {
14019	op := &request.Operation{
14020		Name:       opDescribeAddressesAttribute,
14021		HTTPMethod: "POST",
14022		HTTPPath:   "/",
14023		Paginator: &request.Paginator{
14024			InputTokens:     []string{"NextToken"},
14025			OutputTokens:    []string{"NextToken"},
14026			LimitToken:      "MaxResults",
14027			TruncationToken: "",
14028		},
14029	}
14030
14031	if input == nil {
14032		input = &DescribeAddressesAttributeInput{}
14033	}
14034
14035	output = &DescribeAddressesAttributeOutput{}
14036	req = c.newRequest(op, input, output)
14037	return
14038}
14039
14040// DescribeAddressesAttribute API operation for Amazon Elastic Compute Cloud.
14041//
14042// Describes the attributes of the specified Elastic IP addresses. For requirements,
14043// 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).
14044//
14045// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14046// with awserr.Error's Code and Message methods to get detailed information about
14047// the error.
14048//
14049// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14050// API operation DescribeAddressesAttribute for usage and error information.
14051// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddressesAttribute
14052func (c *EC2) DescribeAddressesAttribute(input *DescribeAddressesAttributeInput) (*DescribeAddressesAttributeOutput, error) {
14053	req, out := c.DescribeAddressesAttributeRequest(input)
14054	return out, req.Send()
14055}
14056
14057// DescribeAddressesAttributeWithContext is the same as DescribeAddressesAttribute with the addition of
14058// the ability to pass a context and additional request options.
14059//
14060// See DescribeAddressesAttribute for details on how to use this API operation.
14061//
14062// The context must be non-nil and will be used for request cancellation. If
14063// the context is nil a panic will occur. In the future the SDK may create
14064// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14065// for more information on using Contexts.
14066func (c *EC2) DescribeAddressesAttributeWithContext(ctx aws.Context, input *DescribeAddressesAttributeInput, opts ...request.Option) (*DescribeAddressesAttributeOutput, error) {
14067	req, out := c.DescribeAddressesAttributeRequest(input)
14068	req.SetContext(ctx)
14069	req.ApplyOptions(opts...)
14070	return out, req.Send()
14071}
14072
14073// DescribeAddressesAttributePages iterates over the pages of a DescribeAddressesAttribute operation,
14074// calling the "fn" function with the response data for each page. To stop
14075// iterating, return false from the fn function.
14076//
14077// See DescribeAddressesAttribute method for more information on how to use this operation.
14078//
14079// Note: This operation can generate multiple requests to a service.
14080//
14081//    // Example iterating over at most 3 pages of a DescribeAddressesAttribute operation.
14082//    pageNum := 0
14083//    err := client.DescribeAddressesAttributePages(params,
14084//        func(page *ec2.DescribeAddressesAttributeOutput, lastPage bool) bool {
14085//            pageNum++
14086//            fmt.Println(page)
14087//            return pageNum <= 3
14088//        })
14089//
14090func (c *EC2) DescribeAddressesAttributePages(input *DescribeAddressesAttributeInput, fn func(*DescribeAddressesAttributeOutput, bool) bool) error {
14091	return c.DescribeAddressesAttributePagesWithContext(aws.BackgroundContext(), input, fn)
14092}
14093
14094// DescribeAddressesAttributePagesWithContext same as DescribeAddressesAttributePages except
14095// it takes a Context and allows setting request options on the pages.
14096//
14097// The context must be non-nil and will be used for request cancellation. If
14098// the context is nil a panic will occur. In the future the SDK may create
14099// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14100// for more information on using Contexts.
14101func (c *EC2) DescribeAddressesAttributePagesWithContext(ctx aws.Context, input *DescribeAddressesAttributeInput, fn func(*DescribeAddressesAttributeOutput, bool) bool, opts ...request.Option) error {
14102	p := request.Pagination{
14103		NewRequest: func() (*request.Request, error) {
14104			var inCpy *DescribeAddressesAttributeInput
14105			if input != nil {
14106				tmp := *input
14107				inCpy = &tmp
14108			}
14109			req, _ := c.DescribeAddressesAttributeRequest(inCpy)
14110			req.SetContext(ctx)
14111			req.ApplyOptions(opts...)
14112			return req, nil
14113		},
14114	}
14115
14116	for p.Next() {
14117		if !fn(p.Page().(*DescribeAddressesAttributeOutput), !p.HasNextPage()) {
14118			break
14119		}
14120	}
14121
14122	return p.Err()
14123}
14124
14125const opDescribeAggregateIdFormat = "DescribeAggregateIdFormat"
14126
14127// DescribeAggregateIdFormatRequest generates a "aws/request.Request" representing the
14128// client's request for the DescribeAggregateIdFormat operation. The "output" return
14129// value will be populated with the request's response once the request completes
14130// successfully.
14131//
14132// Use "Send" method on the returned Request to send the API call to the service.
14133// the "output" return value is not valid until after Send returns without error.
14134//
14135// See DescribeAggregateIdFormat for more information on using the DescribeAggregateIdFormat
14136// API call, and error handling.
14137//
14138// This method is useful when you want to inject custom logic or configuration
14139// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14140//
14141//
14142//    // Example sending a request using the DescribeAggregateIdFormatRequest method.
14143//    req, resp := client.DescribeAggregateIdFormatRequest(params)
14144//
14145//    err := req.Send()
14146//    if err == nil { // resp is now filled
14147//        fmt.Println(resp)
14148//    }
14149//
14150// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAggregateIdFormat
14151func (c *EC2) DescribeAggregateIdFormatRequest(input *DescribeAggregateIdFormatInput) (req *request.Request, output *DescribeAggregateIdFormatOutput) {
14152	op := &request.Operation{
14153		Name:       opDescribeAggregateIdFormat,
14154		HTTPMethod: "POST",
14155		HTTPPath:   "/",
14156	}
14157
14158	if input == nil {
14159		input = &DescribeAggregateIdFormatInput{}
14160	}
14161
14162	output = &DescribeAggregateIdFormatOutput{}
14163	req = c.newRequest(op, input, output)
14164	return
14165}
14166
14167// DescribeAggregateIdFormat API operation for Amazon Elastic Compute Cloud.
14168//
14169// Describes the longer ID format settings for all resource types in a specific
14170// Region. This request is useful for performing a quick audit to determine
14171// whether a specific Region is fully opted in for longer IDs (17-character
14172// IDs).
14173//
14174// This request only returns information about resource types that support longer
14175// IDs.
14176//
14177// The following resource types support longer IDs: bundle | conversion-task
14178// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
14179// | export-task | flow-log | image | import-task | instance | internet-gateway
14180// | network-acl | network-acl-association | network-interface | network-interface-attachment
14181// | prefix-list | reservation | route-table | route-table-association | security-group
14182// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
14183// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
14184//
14185// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14186// with awserr.Error's Code and Message methods to get detailed information about
14187// the error.
14188//
14189// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14190// API operation DescribeAggregateIdFormat for usage and error information.
14191// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAggregateIdFormat
14192func (c *EC2) DescribeAggregateIdFormat(input *DescribeAggregateIdFormatInput) (*DescribeAggregateIdFormatOutput, error) {
14193	req, out := c.DescribeAggregateIdFormatRequest(input)
14194	return out, req.Send()
14195}
14196
14197// DescribeAggregateIdFormatWithContext is the same as DescribeAggregateIdFormat with the addition of
14198// the ability to pass a context and additional request options.
14199//
14200// See DescribeAggregateIdFormat for details on how to use this API operation.
14201//
14202// The context must be non-nil and will be used for request cancellation. If
14203// the context is nil a panic will occur. In the future the SDK may create
14204// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14205// for more information on using Contexts.
14206func (c *EC2) DescribeAggregateIdFormatWithContext(ctx aws.Context, input *DescribeAggregateIdFormatInput, opts ...request.Option) (*DescribeAggregateIdFormatOutput, error) {
14207	req, out := c.DescribeAggregateIdFormatRequest(input)
14208	req.SetContext(ctx)
14209	req.ApplyOptions(opts...)
14210	return out, req.Send()
14211}
14212
14213const opDescribeAvailabilityZones = "DescribeAvailabilityZones"
14214
14215// DescribeAvailabilityZonesRequest generates a "aws/request.Request" representing the
14216// client's request for the DescribeAvailabilityZones operation. The "output" return
14217// value will be populated with the request's response once the request completes
14218// successfully.
14219//
14220// Use "Send" method on the returned Request to send the API call to the service.
14221// the "output" return value is not valid until after Send returns without error.
14222//
14223// See DescribeAvailabilityZones for more information on using the DescribeAvailabilityZones
14224// API call, and error handling.
14225//
14226// This method is useful when you want to inject custom logic or configuration
14227// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14228//
14229//
14230//    // Example sending a request using the DescribeAvailabilityZonesRequest method.
14231//    req, resp := client.DescribeAvailabilityZonesRequest(params)
14232//
14233//    err := req.Send()
14234//    if err == nil { // resp is now filled
14235//        fmt.Println(resp)
14236//    }
14237//
14238// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
14239func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesInput) (req *request.Request, output *DescribeAvailabilityZonesOutput) {
14240	op := &request.Operation{
14241		Name:       opDescribeAvailabilityZones,
14242		HTTPMethod: "POST",
14243		HTTPPath:   "/",
14244	}
14245
14246	if input == nil {
14247		input = &DescribeAvailabilityZonesInput{}
14248	}
14249
14250	output = &DescribeAvailabilityZonesOutput{}
14251	req = c.newRequest(op, input, output)
14252	return
14253}
14254
14255// DescribeAvailabilityZones API operation for Amazon Elastic Compute Cloud.
14256//
14257// Describes the Availability Zones, Local Zones, and Wavelength Zones that
14258// are available to you. If there is an event impacting a zone, you can use
14259// this request to view the state and any provided messages for that zone.
14260//
14261// For more information about Availability Zones, Local Zones, and Wavelength
14262// Zones, see Regions, Zones and Outposts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)
14263// in the Amazon Elastic Compute Cloud User Guide.
14264//
14265// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14266// with awserr.Error's Code and Message methods to get detailed information about
14267// the error.
14268//
14269// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14270// API operation DescribeAvailabilityZones for usage and error information.
14271// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
14272func (c *EC2) DescribeAvailabilityZones(input *DescribeAvailabilityZonesInput) (*DescribeAvailabilityZonesOutput, error) {
14273	req, out := c.DescribeAvailabilityZonesRequest(input)
14274	return out, req.Send()
14275}
14276
14277// DescribeAvailabilityZonesWithContext is the same as DescribeAvailabilityZones with the addition of
14278// the ability to pass a context and additional request options.
14279//
14280// See DescribeAvailabilityZones for details on how to use this API operation.
14281//
14282// The context must be non-nil and will be used for request cancellation. If
14283// the context is nil a panic will occur. In the future the SDK may create
14284// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14285// for more information on using Contexts.
14286func (c *EC2) DescribeAvailabilityZonesWithContext(ctx aws.Context, input *DescribeAvailabilityZonesInput, opts ...request.Option) (*DescribeAvailabilityZonesOutput, error) {
14287	req, out := c.DescribeAvailabilityZonesRequest(input)
14288	req.SetContext(ctx)
14289	req.ApplyOptions(opts...)
14290	return out, req.Send()
14291}
14292
14293const opDescribeBundleTasks = "DescribeBundleTasks"
14294
14295// DescribeBundleTasksRequest generates a "aws/request.Request" representing the
14296// client's request for the DescribeBundleTasks operation. The "output" return
14297// value will be populated with the request's response once the request completes
14298// successfully.
14299//
14300// Use "Send" method on the returned Request to send the API call to the service.
14301// the "output" return value is not valid until after Send returns without error.
14302//
14303// See DescribeBundleTasks for more information on using the DescribeBundleTasks
14304// API call, and error handling.
14305//
14306// This method is useful when you want to inject custom logic or configuration
14307// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14308//
14309//
14310//    // Example sending a request using the DescribeBundleTasksRequest method.
14311//    req, resp := client.DescribeBundleTasksRequest(params)
14312//
14313//    err := req.Send()
14314//    if err == nil { // resp is now filled
14315//        fmt.Println(resp)
14316//    }
14317//
14318// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
14319func (c *EC2) DescribeBundleTasksRequest(input *DescribeBundleTasksInput) (req *request.Request, output *DescribeBundleTasksOutput) {
14320	op := &request.Operation{
14321		Name:       opDescribeBundleTasks,
14322		HTTPMethod: "POST",
14323		HTTPPath:   "/",
14324	}
14325
14326	if input == nil {
14327		input = &DescribeBundleTasksInput{}
14328	}
14329
14330	output = &DescribeBundleTasksOutput{}
14331	req = c.newRequest(op, input, output)
14332	return
14333}
14334
14335// DescribeBundleTasks API operation for Amazon Elastic Compute Cloud.
14336//
14337// Describes the specified bundle tasks or all of your bundle tasks.
14338//
14339// Completed bundle tasks are listed for only a limited time. If your bundle
14340// task is no longer in the list, you can still register an AMI from it. Just
14341// use RegisterImage with the Amazon S3 bucket name and image manifest name
14342// you provided to the bundle task.
14343//
14344// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14345// with awserr.Error's Code and Message methods to get detailed information about
14346// the error.
14347//
14348// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14349// API operation DescribeBundleTasks for usage and error information.
14350// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
14351func (c *EC2) DescribeBundleTasks(input *DescribeBundleTasksInput) (*DescribeBundleTasksOutput, error) {
14352	req, out := c.DescribeBundleTasksRequest(input)
14353	return out, req.Send()
14354}
14355
14356// DescribeBundleTasksWithContext is the same as DescribeBundleTasks with the addition of
14357// the ability to pass a context and additional request options.
14358//
14359// See DescribeBundleTasks for details on how to use this API operation.
14360//
14361// The context must be non-nil and will be used for request cancellation. If
14362// the context is nil a panic will occur. In the future the SDK may create
14363// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14364// for more information on using Contexts.
14365func (c *EC2) DescribeBundleTasksWithContext(ctx aws.Context, input *DescribeBundleTasksInput, opts ...request.Option) (*DescribeBundleTasksOutput, error) {
14366	req, out := c.DescribeBundleTasksRequest(input)
14367	req.SetContext(ctx)
14368	req.ApplyOptions(opts...)
14369	return out, req.Send()
14370}
14371
14372const opDescribeByoipCidrs = "DescribeByoipCidrs"
14373
14374// DescribeByoipCidrsRequest generates a "aws/request.Request" representing the
14375// client's request for the DescribeByoipCidrs operation. The "output" return
14376// value will be populated with the request's response once the request completes
14377// successfully.
14378//
14379// Use "Send" method on the returned Request to send the API call to the service.
14380// the "output" return value is not valid until after Send returns without error.
14381//
14382// See DescribeByoipCidrs for more information on using the DescribeByoipCidrs
14383// API call, and error handling.
14384//
14385// This method is useful when you want to inject custom logic or configuration
14386// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14387//
14388//
14389//    // Example sending a request using the DescribeByoipCidrsRequest method.
14390//    req, resp := client.DescribeByoipCidrsRequest(params)
14391//
14392//    err := req.Send()
14393//    if err == nil { // resp is now filled
14394//        fmt.Println(resp)
14395//    }
14396//
14397// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeByoipCidrs
14398func (c *EC2) DescribeByoipCidrsRequest(input *DescribeByoipCidrsInput) (req *request.Request, output *DescribeByoipCidrsOutput) {
14399	op := &request.Operation{
14400		Name:       opDescribeByoipCidrs,
14401		HTTPMethod: "POST",
14402		HTTPPath:   "/",
14403		Paginator: &request.Paginator{
14404			InputTokens:     []string{"NextToken"},
14405			OutputTokens:    []string{"NextToken"},
14406			LimitToken:      "MaxResults",
14407			TruncationToken: "",
14408		},
14409	}
14410
14411	if input == nil {
14412		input = &DescribeByoipCidrsInput{}
14413	}
14414
14415	output = &DescribeByoipCidrsOutput{}
14416	req = c.newRequest(op, input, output)
14417	return
14418}
14419
14420// DescribeByoipCidrs API operation for Amazon Elastic Compute Cloud.
14421//
14422// Describes the IP address ranges that were specified in calls to ProvisionByoipCidr.
14423//
14424// To describe the address pools that were created when you provisioned the
14425// address ranges, use DescribePublicIpv4Pools or DescribeIpv6Pools.
14426//
14427// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14428// with awserr.Error's Code and Message methods to get detailed information about
14429// the error.
14430//
14431// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14432// API operation DescribeByoipCidrs for usage and error information.
14433// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeByoipCidrs
14434func (c *EC2) DescribeByoipCidrs(input *DescribeByoipCidrsInput) (*DescribeByoipCidrsOutput, error) {
14435	req, out := c.DescribeByoipCidrsRequest(input)
14436	return out, req.Send()
14437}
14438
14439// DescribeByoipCidrsWithContext is the same as DescribeByoipCidrs with the addition of
14440// the ability to pass a context and additional request options.
14441//
14442// See DescribeByoipCidrs for details on how to use this API operation.
14443//
14444// The context must be non-nil and will be used for request cancellation. If
14445// the context is nil a panic will occur. In the future the SDK may create
14446// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14447// for more information on using Contexts.
14448func (c *EC2) DescribeByoipCidrsWithContext(ctx aws.Context, input *DescribeByoipCidrsInput, opts ...request.Option) (*DescribeByoipCidrsOutput, error) {
14449	req, out := c.DescribeByoipCidrsRequest(input)
14450	req.SetContext(ctx)
14451	req.ApplyOptions(opts...)
14452	return out, req.Send()
14453}
14454
14455// DescribeByoipCidrsPages iterates over the pages of a DescribeByoipCidrs operation,
14456// calling the "fn" function with the response data for each page. To stop
14457// iterating, return false from the fn function.
14458//
14459// See DescribeByoipCidrs method for more information on how to use this operation.
14460//
14461// Note: This operation can generate multiple requests to a service.
14462//
14463//    // Example iterating over at most 3 pages of a DescribeByoipCidrs operation.
14464//    pageNum := 0
14465//    err := client.DescribeByoipCidrsPages(params,
14466//        func(page *ec2.DescribeByoipCidrsOutput, lastPage bool) bool {
14467//            pageNum++
14468//            fmt.Println(page)
14469//            return pageNum <= 3
14470//        })
14471//
14472func (c *EC2) DescribeByoipCidrsPages(input *DescribeByoipCidrsInput, fn func(*DescribeByoipCidrsOutput, bool) bool) error {
14473	return c.DescribeByoipCidrsPagesWithContext(aws.BackgroundContext(), input, fn)
14474}
14475
14476// DescribeByoipCidrsPagesWithContext same as DescribeByoipCidrsPages except
14477// it takes a Context and allows setting request options on the pages.
14478//
14479// The context must be non-nil and will be used for request cancellation. If
14480// the context is nil a panic will occur. In the future the SDK may create
14481// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14482// for more information on using Contexts.
14483func (c *EC2) DescribeByoipCidrsPagesWithContext(ctx aws.Context, input *DescribeByoipCidrsInput, fn func(*DescribeByoipCidrsOutput, bool) bool, opts ...request.Option) error {
14484	p := request.Pagination{
14485		NewRequest: func() (*request.Request, error) {
14486			var inCpy *DescribeByoipCidrsInput
14487			if input != nil {
14488				tmp := *input
14489				inCpy = &tmp
14490			}
14491			req, _ := c.DescribeByoipCidrsRequest(inCpy)
14492			req.SetContext(ctx)
14493			req.ApplyOptions(opts...)
14494			return req, nil
14495		},
14496	}
14497
14498	for p.Next() {
14499		if !fn(p.Page().(*DescribeByoipCidrsOutput), !p.HasNextPage()) {
14500			break
14501		}
14502	}
14503
14504	return p.Err()
14505}
14506
14507const opDescribeCapacityReservations = "DescribeCapacityReservations"
14508
14509// DescribeCapacityReservationsRequest generates a "aws/request.Request" representing the
14510// client's request for the DescribeCapacityReservations operation. The "output" return
14511// value will be populated with the request's response once the request completes
14512// successfully.
14513//
14514// Use "Send" method on the returned Request to send the API call to the service.
14515// the "output" return value is not valid until after Send returns without error.
14516//
14517// See DescribeCapacityReservations for more information on using the DescribeCapacityReservations
14518// API call, and error handling.
14519//
14520// This method is useful when you want to inject custom logic or configuration
14521// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14522//
14523//
14524//    // Example sending a request using the DescribeCapacityReservationsRequest method.
14525//    req, resp := client.DescribeCapacityReservationsRequest(params)
14526//
14527//    err := req.Send()
14528//    if err == nil { // resp is now filled
14529//        fmt.Println(resp)
14530//    }
14531//
14532// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityReservations
14533func (c *EC2) DescribeCapacityReservationsRequest(input *DescribeCapacityReservationsInput) (req *request.Request, output *DescribeCapacityReservationsOutput) {
14534	op := &request.Operation{
14535		Name:       opDescribeCapacityReservations,
14536		HTTPMethod: "POST",
14537		HTTPPath:   "/",
14538		Paginator: &request.Paginator{
14539			InputTokens:     []string{"NextToken"},
14540			OutputTokens:    []string{"NextToken"},
14541			LimitToken:      "MaxResults",
14542			TruncationToken: "",
14543		},
14544	}
14545
14546	if input == nil {
14547		input = &DescribeCapacityReservationsInput{}
14548	}
14549
14550	output = &DescribeCapacityReservationsOutput{}
14551	req = c.newRequest(op, input, output)
14552	return
14553}
14554
14555// DescribeCapacityReservations API operation for Amazon Elastic Compute Cloud.
14556//
14557// Describes one or more of your Capacity Reservations. The results describe
14558// only the Capacity Reservations in the Amazon Web Services Region that you're
14559// currently using.
14560//
14561// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14562// with awserr.Error's Code and Message methods to get detailed information about
14563// the error.
14564//
14565// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14566// API operation DescribeCapacityReservations for usage and error information.
14567// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityReservations
14568func (c *EC2) DescribeCapacityReservations(input *DescribeCapacityReservationsInput) (*DescribeCapacityReservationsOutput, error) {
14569	req, out := c.DescribeCapacityReservationsRequest(input)
14570	return out, req.Send()
14571}
14572
14573// DescribeCapacityReservationsWithContext is the same as DescribeCapacityReservations with the addition of
14574// the ability to pass a context and additional request options.
14575//
14576// See DescribeCapacityReservations for details on how to use this API operation.
14577//
14578// The context must be non-nil and will be used for request cancellation. If
14579// the context is nil a panic will occur. In the future the SDK may create
14580// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14581// for more information on using Contexts.
14582func (c *EC2) DescribeCapacityReservationsWithContext(ctx aws.Context, input *DescribeCapacityReservationsInput, opts ...request.Option) (*DescribeCapacityReservationsOutput, error) {
14583	req, out := c.DescribeCapacityReservationsRequest(input)
14584	req.SetContext(ctx)
14585	req.ApplyOptions(opts...)
14586	return out, req.Send()
14587}
14588
14589// DescribeCapacityReservationsPages iterates over the pages of a DescribeCapacityReservations operation,
14590// calling the "fn" function with the response data for each page. To stop
14591// iterating, return false from the fn function.
14592//
14593// See DescribeCapacityReservations method for more information on how to use this operation.
14594//
14595// Note: This operation can generate multiple requests to a service.
14596//
14597//    // Example iterating over at most 3 pages of a DescribeCapacityReservations operation.
14598//    pageNum := 0
14599//    err := client.DescribeCapacityReservationsPages(params,
14600//        func(page *ec2.DescribeCapacityReservationsOutput, lastPage bool) bool {
14601//            pageNum++
14602//            fmt.Println(page)
14603//            return pageNum <= 3
14604//        })
14605//
14606func (c *EC2) DescribeCapacityReservationsPages(input *DescribeCapacityReservationsInput, fn func(*DescribeCapacityReservationsOutput, bool) bool) error {
14607	return c.DescribeCapacityReservationsPagesWithContext(aws.BackgroundContext(), input, fn)
14608}
14609
14610// DescribeCapacityReservationsPagesWithContext same as DescribeCapacityReservationsPages except
14611// it takes a Context and allows setting request options on the pages.
14612//
14613// The context must be non-nil and will be used for request cancellation. If
14614// the context is nil a panic will occur. In the future the SDK may create
14615// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14616// for more information on using Contexts.
14617func (c *EC2) DescribeCapacityReservationsPagesWithContext(ctx aws.Context, input *DescribeCapacityReservationsInput, fn func(*DescribeCapacityReservationsOutput, bool) bool, opts ...request.Option) error {
14618	p := request.Pagination{
14619		NewRequest: func() (*request.Request, error) {
14620			var inCpy *DescribeCapacityReservationsInput
14621			if input != nil {
14622				tmp := *input
14623				inCpy = &tmp
14624			}
14625			req, _ := c.DescribeCapacityReservationsRequest(inCpy)
14626			req.SetContext(ctx)
14627			req.ApplyOptions(opts...)
14628			return req, nil
14629		},
14630	}
14631
14632	for p.Next() {
14633		if !fn(p.Page().(*DescribeCapacityReservationsOutput), !p.HasNextPage()) {
14634			break
14635		}
14636	}
14637
14638	return p.Err()
14639}
14640
14641const opDescribeCarrierGateways = "DescribeCarrierGateways"
14642
14643// DescribeCarrierGatewaysRequest generates a "aws/request.Request" representing the
14644// client's request for the DescribeCarrierGateways operation. The "output" return
14645// value will be populated with the request's response once the request completes
14646// successfully.
14647//
14648// Use "Send" method on the returned Request to send the API call to the service.
14649// the "output" return value is not valid until after Send returns without error.
14650//
14651// See DescribeCarrierGateways for more information on using the DescribeCarrierGateways
14652// API call, and error handling.
14653//
14654// This method is useful when you want to inject custom logic or configuration
14655// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14656//
14657//
14658//    // Example sending a request using the DescribeCarrierGatewaysRequest method.
14659//    req, resp := client.DescribeCarrierGatewaysRequest(params)
14660//
14661//    err := req.Send()
14662//    if err == nil { // resp is now filled
14663//        fmt.Println(resp)
14664//    }
14665//
14666// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCarrierGateways
14667func (c *EC2) DescribeCarrierGatewaysRequest(input *DescribeCarrierGatewaysInput) (req *request.Request, output *DescribeCarrierGatewaysOutput) {
14668	op := &request.Operation{
14669		Name:       opDescribeCarrierGateways,
14670		HTTPMethod: "POST",
14671		HTTPPath:   "/",
14672		Paginator: &request.Paginator{
14673			InputTokens:     []string{"NextToken"},
14674			OutputTokens:    []string{"NextToken"},
14675			LimitToken:      "MaxResults",
14676			TruncationToken: "",
14677		},
14678	}
14679
14680	if input == nil {
14681		input = &DescribeCarrierGatewaysInput{}
14682	}
14683
14684	output = &DescribeCarrierGatewaysOutput{}
14685	req = c.newRequest(op, input, output)
14686	return
14687}
14688
14689// DescribeCarrierGateways API operation for Amazon Elastic Compute Cloud.
14690//
14691// Describes one or more of your carrier gateways.
14692//
14693// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14694// with awserr.Error's Code and Message methods to get detailed information about
14695// the error.
14696//
14697// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14698// API operation DescribeCarrierGateways for usage and error information.
14699// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCarrierGateways
14700func (c *EC2) DescribeCarrierGateways(input *DescribeCarrierGatewaysInput) (*DescribeCarrierGatewaysOutput, error) {
14701	req, out := c.DescribeCarrierGatewaysRequest(input)
14702	return out, req.Send()
14703}
14704
14705// DescribeCarrierGatewaysWithContext is the same as DescribeCarrierGateways with the addition of
14706// the ability to pass a context and additional request options.
14707//
14708// See DescribeCarrierGateways for details on how to use this API operation.
14709//
14710// The context must be non-nil and will be used for request cancellation. If
14711// the context is nil a panic will occur. In the future the SDK may create
14712// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14713// for more information on using Contexts.
14714func (c *EC2) DescribeCarrierGatewaysWithContext(ctx aws.Context, input *DescribeCarrierGatewaysInput, opts ...request.Option) (*DescribeCarrierGatewaysOutput, error) {
14715	req, out := c.DescribeCarrierGatewaysRequest(input)
14716	req.SetContext(ctx)
14717	req.ApplyOptions(opts...)
14718	return out, req.Send()
14719}
14720
14721// DescribeCarrierGatewaysPages iterates over the pages of a DescribeCarrierGateways operation,
14722// calling the "fn" function with the response data for each page. To stop
14723// iterating, return false from the fn function.
14724//
14725// See DescribeCarrierGateways method for more information on how to use this operation.
14726//
14727// Note: This operation can generate multiple requests to a service.
14728//
14729//    // Example iterating over at most 3 pages of a DescribeCarrierGateways operation.
14730//    pageNum := 0
14731//    err := client.DescribeCarrierGatewaysPages(params,
14732//        func(page *ec2.DescribeCarrierGatewaysOutput, lastPage bool) bool {
14733//            pageNum++
14734//            fmt.Println(page)
14735//            return pageNum <= 3
14736//        })
14737//
14738func (c *EC2) DescribeCarrierGatewaysPages(input *DescribeCarrierGatewaysInput, fn func(*DescribeCarrierGatewaysOutput, bool) bool) error {
14739	return c.DescribeCarrierGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
14740}
14741
14742// DescribeCarrierGatewaysPagesWithContext same as DescribeCarrierGatewaysPages except
14743// it takes a Context and allows setting request options on the pages.
14744//
14745// The context must be non-nil and will be used for request cancellation. If
14746// the context is nil a panic will occur. In the future the SDK may create
14747// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14748// for more information on using Contexts.
14749func (c *EC2) DescribeCarrierGatewaysPagesWithContext(ctx aws.Context, input *DescribeCarrierGatewaysInput, fn func(*DescribeCarrierGatewaysOutput, bool) bool, opts ...request.Option) error {
14750	p := request.Pagination{
14751		NewRequest: func() (*request.Request, error) {
14752			var inCpy *DescribeCarrierGatewaysInput
14753			if input != nil {
14754				tmp := *input
14755				inCpy = &tmp
14756			}
14757			req, _ := c.DescribeCarrierGatewaysRequest(inCpy)
14758			req.SetContext(ctx)
14759			req.ApplyOptions(opts...)
14760			return req, nil
14761		},
14762	}
14763
14764	for p.Next() {
14765		if !fn(p.Page().(*DescribeCarrierGatewaysOutput), !p.HasNextPage()) {
14766			break
14767		}
14768	}
14769
14770	return p.Err()
14771}
14772
14773const opDescribeClassicLinkInstances = "DescribeClassicLinkInstances"
14774
14775// DescribeClassicLinkInstancesRequest generates a "aws/request.Request" representing the
14776// client's request for the DescribeClassicLinkInstances operation. The "output" return
14777// value will be populated with the request's response once the request completes
14778// successfully.
14779//
14780// Use "Send" method on the returned Request to send the API call to the service.
14781// the "output" return value is not valid until after Send returns without error.
14782//
14783// See DescribeClassicLinkInstances for more information on using the DescribeClassicLinkInstances
14784// API call, and error handling.
14785//
14786// This method is useful when you want to inject custom logic or configuration
14787// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14788//
14789//
14790//    // Example sending a request using the DescribeClassicLinkInstancesRequest method.
14791//    req, resp := client.DescribeClassicLinkInstancesRequest(params)
14792//
14793//    err := req.Send()
14794//    if err == nil { // resp is now filled
14795//        fmt.Println(resp)
14796//    }
14797//
14798// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
14799func (c *EC2) DescribeClassicLinkInstancesRequest(input *DescribeClassicLinkInstancesInput) (req *request.Request, output *DescribeClassicLinkInstancesOutput) {
14800	op := &request.Operation{
14801		Name:       opDescribeClassicLinkInstances,
14802		HTTPMethod: "POST",
14803		HTTPPath:   "/",
14804		Paginator: &request.Paginator{
14805			InputTokens:     []string{"NextToken"},
14806			OutputTokens:    []string{"NextToken"},
14807			LimitToken:      "MaxResults",
14808			TruncationToken: "",
14809		},
14810	}
14811
14812	if input == nil {
14813		input = &DescribeClassicLinkInstancesInput{}
14814	}
14815
14816	output = &DescribeClassicLinkInstancesOutput{}
14817	req = c.newRequest(op, input, output)
14818	return
14819}
14820
14821// DescribeClassicLinkInstances API operation for Amazon Elastic Compute Cloud.
14822//
14823// Describes one or more of your linked EC2-Classic instances. This request
14824// only returns information about EC2-Classic instances linked to a VPC through
14825// ClassicLink. You cannot use this request to return information about other
14826// instances.
14827//
14828// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14829// with awserr.Error's Code and Message methods to get detailed information about
14830// the error.
14831//
14832// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14833// API operation DescribeClassicLinkInstances for usage and error information.
14834// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
14835func (c *EC2) DescribeClassicLinkInstances(input *DescribeClassicLinkInstancesInput) (*DescribeClassicLinkInstancesOutput, error) {
14836	req, out := c.DescribeClassicLinkInstancesRequest(input)
14837	return out, req.Send()
14838}
14839
14840// DescribeClassicLinkInstancesWithContext is the same as DescribeClassicLinkInstances with the addition of
14841// the ability to pass a context and additional request options.
14842//
14843// See DescribeClassicLinkInstances for details on how to use this API operation.
14844//
14845// The context must be non-nil and will be used for request cancellation. If
14846// the context is nil a panic will occur. In the future the SDK may create
14847// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14848// for more information on using Contexts.
14849func (c *EC2) DescribeClassicLinkInstancesWithContext(ctx aws.Context, input *DescribeClassicLinkInstancesInput, opts ...request.Option) (*DescribeClassicLinkInstancesOutput, error) {
14850	req, out := c.DescribeClassicLinkInstancesRequest(input)
14851	req.SetContext(ctx)
14852	req.ApplyOptions(opts...)
14853	return out, req.Send()
14854}
14855
14856// DescribeClassicLinkInstancesPages iterates over the pages of a DescribeClassicLinkInstances operation,
14857// calling the "fn" function with the response data for each page. To stop
14858// iterating, return false from the fn function.
14859//
14860// See DescribeClassicLinkInstances method for more information on how to use this operation.
14861//
14862// Note: This operation can generate multiple requests to a service.
14863//
14864//    // Example iterating over at most 3 pages of a DescribeClassicLinkInstances operation.
14865//    pageNum := 0
14866//    err := client.DescribeClassicLinkInstancesPages(params,
14867//        func(page *ec2.DescribeClassicLinkInstancesOutput, lastPage bool) bool {
14868//            pageNum++
14869//            fmt.Println(page)
14870//            return pageNum <= 3
14871//        })
14872//
14873func (c *EC2) DescribeClassicLinkInstancesPages(input *DescribeClassicLinkInstancesInput, fn func(*DescribeClassicLinkInstancesOutput, bool) bool) error {
14874	return c.DescribeClassicLinkInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
14875}
14876
14877// DescribeClassicLinkInstancesPagesWithContext same as DescribeClassicLinkInstancesPages except
14878// it takes a Context and allows setting request options on the pages.
14879//
14880// The context must be non-nil and will be used for request cancellation. If
14881// the context is nil a panic will occur. In the future the SDK may create
14882// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14883// for more information on using Contexts.
14884func (c *EC2) DescribeClassicLinkInstancesPagesWithContext(ctx aws.Context, input *DescribeClassicLinkInstancesInput, fn func(*DescribeClassicLinkInstancesOutput, bool) bool, opts ...request.Option) error {
14885	p := request.Pagination{
14886		NewRequest: func() (*request.Request, error) {
14887			var inCpy *DescribeClassicLinkInstancesInput
14888			if input != nil {
14889				tmp := *input
14890				inCpy = &tmp
14891			}
14892			req, _ := c.DescribeClassicLinkInstancesRequest(inCpy)
14893			req.SetContext(ctx)
14894			req.ApplyOptions(opts...)
14895			return req, nil
14896		},
14897	}
14898
14899	for p.Next() {
14900		if !fn(p.Page().(*DescribeClassicLinkInstancesOutput), !p.HasNextPage()) {
14901			break
14902		}
14903	}
14904
14905	return p.Err()
14906}
14907
14908const opDescribeClientVpnAuthorizationRules = "DescribeClientVpnAuthorizationRules"
14909
14910// DescribeClientVpnAuthorizationRulesRequest generates a "aws/request.Request" representing the
14911// client's request for the DescribeClientVpnAuthorizationRules operation. The "output" return
14912// value will be populated with the request's response once the request completes
14913// successfully.
14914//
14915// Use "Send" method on the returned Request to send the API call to the service.
14916// the "output" return value is not valid until after Send returns without error.
14917//
14918// See DescribeClientVpnAuthorizationRules for more information on using the DescribeClientVpnAuthorizationRules
14919// API call, and error handling.
14920//
14921// This method is useful when you want to inject custom logic or configuration
14922// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14923//
14924//
14925//    // Example sending a request using the DescribeClientVpnAuthorizationRulesRequest method.
14926//    req, resp := client.DescribeClientVpnAuthorizationRulesRequest(params)
14927//
14928//    err := req.Send()
14929//    if err == nil { // resp is now filled
14930//        fmt.Println(resp)
14931//    }
14932//
14933// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnAuthorizationRules
14934func (c *EC2) DescribeClientVpnAuthorizationRulesRequest(input *DescribeClientVpnAuthorizationRulesInput) (req *request.Request, output *DescribeClientVpnAuthorizationRulesOutput) {
14935	op := &request.Operation{
14936		Name:       opDescribeClientVpnAuthorizationRules,
14937		HTTPMethod: "POST",
14938		HTTPPath:   "/",
14939		Paginator: &request.Paginator{
14940			InputTokens:     []string{"NextToken"},
14941			OutputTokens:    []string{"NextToken"},
14942			LimitToken:      "MaxResults",
14943			TruncationToken: "",
14944		},
14945	}
14946
14947	if input == nil {
14948		input = &DescribeClientVpnAuthorizationRulesInput{}
14949	}
14950
14951	output = &DescribeClientVpnAuthorizationRulesOutput{}
14952	req = c.newRequest(op, input, output)
14953	return
14954}
14955
14956// DescribeClientVpnAuthorizationRules API operation for Amazon Elastic Compute Cloud.
14957//
14958// Describes the authorization rules for a specified Client VPN endpoint.
14959//
14960// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14961// with awserr.Error's Code and Message methods to get detailed information about
14962// the error.
14963//
14964// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14965// API operation DescribeClientVpnAuthorizationRules for usage and error information.
14966// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnAuthorizationRules
14967func (c *EC2) DescribeClientVpnAuthorizationRules(input *DescribeClientVpnAuthorizationRulesInput) (*DescribeClientVpnAuthorizationRulesOutput, error) {
14968	req, out := c.DescribeClientVpnAuthorizationRulesRequest(input)
14969	return out, req.Send()
14970}
14971
14972// DescribeClientVpnAuthorizationRulesWithContext is the same as DescribeClientVpnAuthorizationRules with the addition of
14973// the ability to pass a context and additional request options.
14974//
14975// See DescribeClientVpnAuthorizationRules for details on how to use this API operation.
14976//
14977// The context must be non-nil and will be used for request cancellation. If
14978// the context is nil a panic will occur. In the future the SDK may create
14979// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14980// for more information on using Contexts.
14981func (c *EC2) DescribeClientVpnAuthorizationRulesWithContext(ctx aws.Context, input *DescribeClientVpnAuthorizationRulesInput, opts ...request.Option) (*DescribeClientVpnAuthorizationRulesOutput, error) {
14982	req, out := c.DescribeClientVpnAuthorizationRulesRequest(input)
14983	req.SetContext(ctx)
14984	req.ApplyOptions(opts...)
14985	return out, req.Send()
14986}
14987
14988// DescribeClientVpnAuthorizationRulesPages iterates over the pages of a DescribeClientVpnAuthorizationRules operation,
14989// calling the "fn" function with the response data for each page. To stop
14990// iterating, return false from the fn function.
14991//
14992// See DescribeClientVpnAuthorizationRules method for more information on how to use this operation.
14993//
14994// Note: This operation can generate multiple requests to a service.
14995//
14996//    // Example iterating over at most 3 pages of a DescribeClientVpnAuthorizationRules operation.
14997//    pageNum := 0
14998//    err := client.DescribeClientVpnAuthorizationRulesPages(params,
14999//        func(page *ec2.DescribeClientVpnAuthorizationRulesOutput, lastPage bool) bool {
15000//            pageNum++
15001//            fmt.Println(page)
15002//            return pageNum <= 3
15003//        })
15004//
15005func (c *EC2) DescribeClientVpnAuthorizationRulesPages(input *DescribeClientVpnAuthorizationRulesInput, fn func(*DescribeClientVpnAuthorizationRulesOutput, bool) bool) error {
15006	return c.DescribeClientVpnAuthorizationRulesPagesWithContext(aws.BackgroundContext(), input, fn)
15007}
15008
15009// DescribeClientVpnAuthorizationRulesPagesWithContext same as DescribeClientVpnAuthorizationRulesPages except
15010// it takes a Context and allows setting request options on the pages.
15011//
15012// The context must be non-nil and will be used for request cancellation. If
15013// the context is nil a panic will occur. In the future the SDK may create
15014// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15015// for more information on using Contexts.
15016func (c *EC2) DescribeClientVpnAuthorizationRulesPagesWithContext(ctx aws.Context, input *DescribeClientVpnAuthorizationRulesInput, fn func(*DescribeClientVpnAuthorizationRulesOutput, bool) bool, opts ...request.Option) error {
15017	p := request.Pagination{
15018		NewRequest: func() (*request.Request, error) {
15019			var inCpy *DescribeClientVpnAuthorizationRulesInput
15020			if input != nil {
15021				tmp := *input
15022				inCpy = &tmp
15023			}
15024			req, _ := c.DescribeClientVpnAuthorizationRulesRequest(inCpy)
15025			req.SetContext(ctx)
15026			req.ApplyOptions(opts...)
15027			return req, nil
15028		},
15029	}
15030
15031	for p.Next() {
15032		if !fn(p.Page().(*DescribeClientVpnAuthorizationRulesOutput), !p.HasNextPage()) {
15033			break
15034		}
15035	}
15036
15037	return p.Err()
15038}
15039
15040const opDescribeClientVpnConnections = "DescribeClientVpnConnections"
15041
15042// DescribeClientVpnConnectionsRequest generates a "aws/request.Request" representing the
15043// client's request for the DescribeClientVpnConnections operation. The "output" return
15044// value will be populated with the request's response once the request completes
15045// successfully.
15046//
15047// Use "Send" method on the returned Request to send the API call to the service.
15048// the "output" return value is not valid until after Send returns without error.
15049//
15050// See DescribeClientVpnConnections for more information on using the DescribeClientVpnConnections
15051// API call, and error handling.
15052//
15053// This method is useful when you want to inject custom logic or configuration
15054// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15055//
15056//
15057//    // Example sending a request using the DescribeClientVpnConnectionsRequest method.
15058//    req, resp := client.DescribeClientVpnConnectionsRequest(params)
15059//
15060//    err := req.Send()
15061//    if err == nil { // resp is now filled
15062//        fmt.Println(resp)
15063//    }
15064//
15065// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnConnections
15066func (c *EC2) DescribeClientVpnConnectionsRequest(input *DescribeClientVpnConnectionsInput) (req *request.Request, output *DescribeClientVpnConnectionsOutput) {
15067	op := &request.Operation{
15068		Name:       opDescribeClientVpnConnections,
15069		HTTPMethod: "POST",
15070		HTTPPath:   "/",
15071		Paginator: &request.Paginator{
15072			InputTokens:     []string{"NextToken"},
15073			OutputTokens:    []string{"NextToken"},
15074			LimitToken:      "MaxResults",
15075			TruncationToken: "",
15076		},
15077	}
15078
15079	if input == nil {
15080		input = &DescribeClientVpnConnectionsInput{}
15081	}
15082
15083	output = &DescribeClientVpnConnectionsOutput{}
15084	req = c.newRequest(op, input, output)
15085	return
15086}
15087
15088// DescribeClientVpnConnections API operation for Amazon Elastic Compute Cloud.
15089//
15090// Describes active client connections and connections that have been terminated
15091// within the last 60 minutes for the specified Client VPN endpoint.
15092//
15093// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15094// with awserr.Error's Code and Message methods to get detailed information about
15095// the error.
15096//
15097// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15098// API operation DescribeClientVpnConnections for usage and error information.
15099// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnConnections
15100func (c *EC2) DescribeClientVpnConnections(input *DescribeClientVpnConnectionsInput) (*DescribeClientVpnConnectionsOutput, error) {
15101	req, out := c.DescribeClientVpnConnectionsRequest(input)
15102	return out, req.Send()
15103}
15104
15105// DescribeClientVpnConnectionsWithContext is the same as DescribeClientVpnConnections with the addition of
15106// the ability to pass a context and additional request options.
15107//
15108// See DescribeClientVpnConnections for details on how to use this API operation.
15109//
15110// The context must be non-nil and will be used for request cancellation. If
15111// the context is nil a panic will occur. In the future the SDK may create
15112// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15113// for more information on using Contexts.
15114func (c *EC2) DescribeClientVpnConnectionsWithContext(ctx aws.Context, input *DescribeClientVpnConnectionsInput, opts ...request.Option) (*DescribeClientVpnConnectionsOutput, error) {
15115	req, out := c.DescribeClientVpnConnectionsRequest(input)
15116	req.SetContext(ctx)
15117	req.ApplyOptions(opts...)
15118	return out, req.Send()
15119}
15120
15121// DescribeClientVpnConnectionsPages iterates over the pages of a DescribeClientVpnConnections operation,
15122// calling the "fn" function with the response data for each page. To stop
15123// iterating, return false from the fn function.
15124//
15125// See DescribeClientVpnConnections method for more information on how to use this operation.
15126//
15127// Note: This operation can generate multiple requests to a service.
15128//
15129//    // Example iterating over at most 3 pages of a DescribeClientVpnConnections operation.
15130//    pageNum := 0
15131//    err := client.DescribeClientVpnConnectionsPages(params,
15132//        func(page *ec2.DescribeClientVpnConnectionsOutput, lastPage bool) bool {
15133//            pageNum++
15134//            fmt.Println(page)
15135//            return pageNum <= 3
15136//        })
15137//
15138func (c *EC2) DescribeClientVpnConnectionsPages(input *DescribeClientVpnConnectionsInput, fn func(*DescribeClientVpnConnectionsOutput, bool) bool) error {
15139	return c.DescribeClientVpnConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
15140}
15141
15142// DescribeClientVpnConnectionsPagesWithContext same as DescribeClientVpnConnectionsPages except
15143// it takes a Context and allows setting request options on the pages.
15144//
15145// The context must be non-nil and will be used for request cancellation. If
15146// the context is nil a panic will occur. In the future the SDK may create
15147// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15148// for more information on using Contexts.
15149func (c *EC2) DescribeClientVpnConnectionsPagesWithContext(ctx aws.Context, input *DescribeClientVpnConnectionsInput, fn func(*DescribeClientVpnConnectionsOutput, bool) bool, opts ...request.Option) error {
15150	p := request.Pagination{
15151		NewRequest: func() (*request.Request, error) {
15152			var inCpy *DescribeClientVpnConnectionsInput
15153			if input != nil {
15154				tmp := *input
15155				inCpy = &tmp
15156			}
15157			req, _ := c.DescribeClientVpnConnectionsRequest(inCpy)
15158			req.SetContext(ctx)
15159			req.ApplyOptions(opts...)
15160			return req, nil
15161		},
15162	}
15163
15164	for p.Next() {
15165		if !fn(p.Page().(*DescribeClientVpnConnectionsOutput), !p.HasNextPage()) {
15166			break
15167		}
15168	}
15169
15170	return p.Err()
15171}
15172
15173const opDescribeClientVpnEndpoints = "DescribeClientVpnEndpoints"
15174
15175// DescribeClientVpnEndpointsRequest generates a "aws/request.Request" representing the
15176// client's request for the DescribeClientVpnEndpoints operation. The "output" return
15177// value will be populated with the request's response once the request completes
15178// successfully.
15179//
15180// Use "Send" method on the returned Request to send the API call to the service.
15181// the "output" return value is not valid until after Send returns without error.
15182//
15183// See DescribeClientVpnEndpoints for more information on using the DescribeClientVpnEndpoints
15184// API call, and error handling.
15185//
15186// This method is useful when you want to inject custom logic or configuration
15187// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15188//
15189//
15190//    // Example sending a request using the DescribeClientVpnEndpointsRequest method.
15191//    req, resp := client.DescribeClientVpnEndpointsRequest(params)
15192//
15193//    err := req.Send()
15194//    if err == nil { // resp is now filled
15195//        fmt.Println(resp)
15196//    }
15197//
15198// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnEndpoints
15199func (c *EC2) DescribeClientVpnEndpointsRequest(input *DescribeClientVpnEndpointsInput) (req *request.Request, output *DescribeClientVpnEndpointsOutput) {
15200	op := &request.Operation{
15201		Name:       opDescribeClientVpnEndpoints,
15202		HTTPMethod: "POST",
15203		HTTPPath:   "/",
15204		Paginator: &request.Paginator{
15205			InputTokens:     []string{"NextToken"},
15206			OutputTokens:    []string{"NextToken"},
15207			LimitToken:      "MaxResults",
15208			TruncationToken: "",
15209		},
15210	}
15211
15212	if input == nil {
15213		input = &DescribeClientVpnEndpointsInput{}
15214	}
15215
15216	output = &DescribeClientVpnEndpointsOutput{}
15217	req = c.newRequest(op, input, output)
15218	return
15219}
15220
15221// DescribeClientVpnEndpoints API operation for Amazon Elastic Compute Cloud.
15222//
15223// Describes one or more Client VPN endpoints in the account.
15224//
15225// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15226// with awserr.Error's Code and Message methods to get detailed information about
15227// the error.
15228//
15229// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15230// API operation DescribeClientVpnEndpoints for usage and error information.
15231// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnEndpoints
15232func (c *EC2) DescribeClientVpnEndpoints(input *DescribeClientVpnEndpointsInput) (*DescribeClientVpnEndpointsOutput, error) {
15233	req, out := c.DescribeClientVpnEndpointsRequest(input)
15234	return out, req.Send()
15235}
15236
15237// DescribeClientVpnEndpointsWithContext is the same as DescribeClientVpnEndpoints with the addition of
15238// the ability to pass a context and additional request options.
15239//
15240// See DescribeClientVpnEndpoints for details on how to use this API operation.
15241//
15242// The context must be non-nil and will be used for request cancellation. If
15243// the context is nil a panic will occur. In the future the SDK may create
15244// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15245// for more information on using Contexts.
15246func (c *EC2) DescribeClientVpnEndpointsWithContext(ctx aws.Context, input *DescribeClientVpnEndpointsInput, opts ...request.Option) (*DescribeClientVpnEndpointsOutput, error) {
15247	req, out := c.DescribeClientVpnEndpointsRequest(input)
15248	req.SetContext(ctx)
15249	req.ApplyOptions(opts...)
15250	return out, req.Send()
15251}
15252
15253// DescribeClientVpnEndpointsPages iterates over the pages of a DescribeClientVpnEndpoints operation,
15254// calling the "fn" function with the response data for each page. To stop
15255// iterating, return false from the fn function.
15256//
15257// See DescribeClientVpnEndpoints method for more information on how to use this operation.
15258//
15259// Note: This operation can generate multiple requests to a service.
15260//
15261//    // Example iterating over at most 3 pages of a DescribeClientVpnEndpoints operation.
15262//    pageNum := 0
15263//    err := client.DescribeClientVpnEndpointsPages(params,
15264//        func(page *ec2.DescribeClientVpnEndpointsOutput, lastPage bool) bool {
15265//            pageNum++
15266//            fmt.Println(page)
15267//            return pageNum <= 3
15268//        })
15269//
15270func (c *EC2) DescribeClientVpnEndpointsPages(input *DescribeClientVpnEndpointsInput, fn func(*DescribeClientVpnEndpointsOutput, bool) bool) error {
15271	return c.DescribeClientVpnEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
15272}
15273
15274// DescribeClientVpnEndpointsPagesWithContext same as DescribeClientVpnEndpointsPages except
15275// it takes a Context and allows setting request options on the pages.
15276//
15277// The context must be non-nil and will be used for request cancellation. If
15278// the context is nil a panic will occur. In the future the SDK may create
15279// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15280// for more information on using Contexts.
15281func (c *EC2) DescribeClientVpnEndpointsPagesWithContext(ctx aws.Context, input *DescribeClientVpnEndpointsInput, fn func(*DescribeClientVpnEndpointsOutput, bool) bool, opts ...request.Option) error {
15282	p := request.Pagination{
15283		NewRequest: func() (*request.Request, error) {
15284			var inCpy *DescribeClientVpnEndpointsInput
15285			if input != nil {
15286				tmp := *input
15287				inCpy = &tmp
15288			}
15289			req, _ := c.DescribeClientVpnEndpointsRequest(inCpy)
15290			req.SetContext(ctx)
15291			req.ApplyOptions(opts...)
15292			return req, nil
15293		},
15294	}
15295
15296	for p.Next() {
15297		if !fn(p.Page().(*DescribeClientVpnEndpointsOutput), !p.HasNextPage()) {
15298			break
15299		}
15300	}
15301
15302	return p.Err()
15303}
15304
15305const opDescribeClientVpnRoutes = "DescribeClientVpnRoutes"
15306
15307// DescribeClientVpnRoutesRequest generates a "aws/request.Request" representing the
15308// client's request for the DescribeClientVpnRoutes operation. The "output" return
15309// value will be populated with the request's response once the request completes
15310// successfully.
15311//
15312// Use "Send" method on the returned Request to send the API call to the service.
15313// the "output" return value is not valid until after Send returns without error.
15314//
15315// See DescribeClientVpnRoutes for more information on using the DescribeClientVpnRoutes
15316// API call, and error handling.
15317//
15318// This method is useful when you want to inject custom logic or configuration
15319// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15320//
15321//
15322//    // Example sending a request using the DescribeClientVpnRoutesRequest method.
15323//    req, resp := client.DescribeClientVpnRoutesRequest(params)
15324//
15325//    err := req.Send()
15326//    if err == nil { // resp is now filled
15327//        fmt.Println(resp)
15328//    }
15329//
15330// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnRoutes
15331func (c *EC2) DescribeClientVpnRoutesRequest(input *DescribeClientVpnRoutesInput) (req *request.Request, output *DescribeClientVpnRoutesOutput) {
15332	op := &request.Operation{
15333		Name:       opDescribeClientVpnRoutes,
15334		HTTPMethod: "POST",
15335		HTTPPath:   "/",
15336		Paginator: &request.Paginator{
15337			InputTokens:     []string{"NextToken"},
15338			OutputTokens:    []string{"NextToken"},
15339			LimitToken:      "MaxResults",
15340			TruncationToken: "",
15341		},
15342	}
15343
15344	if input == nil {
15345		input = &DescribeClientVpnRoutesInput{}
15346	}
15347
15348	output = &DescribeClientVpnRoutesOutput{}
15349	req = c.newRequest(op, input, output)
15350	return
15351}
15352
15353// DescribeClientVpnRoutes API operation for Amazon Elastic Compute Cloud.
15354//
15355// Describes the routes for the specified Client VPN endpoint.
15356//
15357// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15358// with awserr.Error's Code and Message methods to get detailed information about
15359// the error.
15360//
15361// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15362// API operation DescribeClientVpnRoutes for usage and error information.
15363// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnRoutes
15364func (c *EC2) DescribeClientVpnRoutes(input *DescribeClientVpnRoutesInput) (*DescribeClientVpnRoutesOutput, error) {
15365	req, out := c.DescribeClientVpnRoutesRequest(input)
15366	return out, req.Send()
15367}
15368
15369// DescribeClientVpnRoutesWithContext is the same as DescribeClientVpnRoutes with the addition of
15370// the ability to pass a context and additional request options.
15371//
15372// See DescribeClientVpnRoutes for details on how to use this API operation.
15373//
15374// The context must be non-nil and will be used for request cancellation. If
15375// the context is nil a panic will occur. In the future the SDK may create
15376// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15377// for more information on using Contexts.
15378func (c *EC2) DescribeClientVpnRoutesWithContext(ctx aws.Context, input *DescribeClientVpnRoutesInput, opts ...request.Option) (*DescribeClientVpnRoutesOutput, error) {
15379	req, out := c.DescribeClientVpnRoutesRequest(input)
15380	req.SetContext(ctx)
15381	req.ApplyOptions(opts...)
15382	return out, req.Send()
15383}
15384
15385// DescribeClientVpnRoutesPages iterates over the pages of a DescribeClientVpnRoutes operation,
15386// calling the "fn" function with the response data for each page. To stop
15387// iterating, return false from the fn function.
15388//
15389// See DescribeClientVpnRoutes method for more information on how to use this operation.
15390//
15391// Note: This operation can generate multiple requests to a service.
15392//
15393//    // Example iterating over at most 3 pages of a DescribeClientVpnRoutes operation.
15394//    pageNum := 0
15395//    err := client.DescribeClientVpnRoutesPages(params,
15396//        func(page *ec2.DescribeClientVpnRoutesOutput, lastPage bool) bool {
15397//            pageNum++
15398//            fmt.Println(page)
15399//            return pageNum <= 3
15400//        })
15401//
15402func (c *EC2) DescribeClientVpnRoutesPages(input *DescribeClientVpnRoutesInput, fn func(*DescribeClientVpnRoutesOutput, bool) bool) error {
15403	return c.DescribeClientVpnRoutesPagesWithContext(aws.BackgroundContext(), input, fn)
15404}
15405
15406// DescribeClientVpnRoutesPagesWithContext same as DescribeClientVpnRoutesPages except
15407// it takes a Context and allows setting request options on the pages.
15408//
15409// The context must be non-nil and will be used for request cancellation. If
15410// the context is nil a panic will occur. In the future the SDK may create
15411// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15412// for more information on using Contexts.
15413func (c *EC2) DescribeClientVpnRoutesPagesWithContext(ctx aws.Context, input *DescribeClientVpnRoutesInput, fn func(*DescribeClientVpnRoutesOutput, bool) bool, opts ...request.Option) error {
15414	p := request.Pagination{
15415		NewRequest: func() (*request.Request, error) {
15416			var inCpy *DescribeClientVpnRoutesInput
15417			if input != nil {
15418				tmp := *input
15419				inCpy = &tmp
15420			}
15421			req, _ := c.DescribeClientVpnRoutesRequest(inCpy)
15422			req.SetContext(ctx)
15423			req.ApplyOptions(opts...)
15424			return req, nil
15425		},
15426	}
15427
15428	for p.Next() {
15429		if !fn(p.Page().(*DescribeClientVpnRoutesOutput), !p.HasNextPage()) {
15430			break
15431		}
15432	}
15433
15434	return p.Err()
15435}
15436
15437const opDescribeClientVpnTargetNetworks = "DescribeClientVpnTargetNetworks"
15438
15439// DescribeClientVpnTargetNetworksRequest generates a "aws/request.Request" representing the
15440// client's request for the DescribeClientVpnTargetNetworks operation. The "output" return
15441// value will be populated with the request's response once the request completes
15442// successfully.
15443//
15444// Use "Send" method on the returned Request to send the API call to the service.
15445// the "output" return value is not valid until after Send returns without error.
15446//
15447// See DescribeClientVpnTargetNetworks for more information on using the DescribeClientVpnTargetNetworks
15448// API call, and error handling.
15449//
15450// This method is useful when you want to inject custom logic or configuration
15451// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15452//
15453//
15454//    // Example sending a request using the DescribeClientVpnTargetNetworksRequest method.
15455//    req, resp := client.DescribeClientVpnTargetNetworksRequest(params)
15456//
15457//    err := req.Send()
15458//    if err == nil { // resp is now filled
15459//        fmt.Println(resp)
15460//    }
15461//
15462// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnTargetNetworks
15463func (c *EC2) DescribeClientVpnTargetNetworksRequest(input *DescribeClientVpnTargetNetworksInput) (req *request.Request, output *DescribeClientVpnTargetNetworksOutput) {
15464	op := &request.Operation{
15465		Name:       opDescribeClientVpnTargetNetworks,
15466		HTTPMethod: "POST",
15467		HTTPPath:   "/",
15468		Paginator: &request.Paginator{
15469			InputTokens:     []string{"NextToken"},
15470			OutputTokens:    []string{"NextToken"},
15471			LimitToken:      "MaxResults",
15472			TruncationToken: "",
15473		},
15474	}
15475
15476	if input == nil {
15477		input = &DescribeClientVpnTargetNetworksInput{}
15478	}
15479
15480	output = &DescribeClientVpnTargetNetworksOutput{}
15481	req = c.newRequest(op, input, output)
15482	return
15483}
15484
15485// DescribeClientVpnTargetNetworks API operation for Amazon Elastic Compute Cloud.
15486//
15487// Describes the target networks associated with the specified Client VPN endpoint.
15488//
15489// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15490// with awserr.Error's Code and Message methods to get detailed information about
15491// the error.
15492//
15493// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15494// API operation DescribeClientVpnTargetNetworks for usage and error information.
15495// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnTargetNetworks
15496func (c *EC2) DescribeClientVpnTargetNetworks(input *DescribeClientVpnTargetNetworksInput) (*DescribeClientVpnTargetNetworksOutput, error) {
15497	req, out := c.DescribeClientVpnTargetNetworksRequest(input)
15498	return out, req.Send()
15499}
15500
15501// DescribeClientVpnTargetNetworksWithContext is the same as DescribeClientVpnTargetNetworks with the addition of
15502// the ability to pass a context and additional request options.
15503//
15504// See DescribeClientVpnTargetNetworks for details on how to use this API operation.
15505//
15506// The context must be non-nil and will be used for request cancellation. If
15507// the context is nil a panic will occur. In the future the SDK may create
15508// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15509// for more information on using Contexts.
15510func (c *EC2) DescribeClientVpnTargetNetworksWithContext(ctx aws.Context, input *DescribeClientVpnTargetNetworksInput, opts ...request.Option) (*DescribeClientVpnTargetNetworksOutput, error) {
15511	req, out := c.DescribeClientVpnTargetNetworksRequest(input)
15512	req.SetContext(ctx)
15513	req.ApplyOptions(opts...)
15514	return out, req.Send()
15515}
15516
15517// DescribeClientVpnTargetNetworksPages iterates over the pages of a DescribeClientVpnTargetNetworks operation,
15518// calling the "fn" function with the response data for each page. To stop
15519// iterating, return false from the fn function.
15520//
15521// See DescribeClientVpnTargetNetworks method for more information on how to use this operation.
15522//
15523// Note: This operation can generate multiple requests to a service.
15524//
15525//    // Example iterating over at most 3 pages of a DescribeClientVpnTargetNetworks operation.
15526//    pageNum := 0
15527//    err := client.DescribeClientVpnTargetNetworksPages(params,
15528//        func(page *ec2.DescribeClientVpnTargetNetworksOutput, lastPage bool) bool {
15529//            pageNum++
15530//            fmt.Println(page)
15531//            return pageNum <= 3
15532//        })
15533//
15534func (c *EC2) DescribeClientVpnTargetNetworksPages(input *DescribeClientVpnTargetNetworksInput, fn func(*DescribeClientVpnTargetNetworksOutput, bool) bool) error {
15535	return c.DescribeClientVpnTargetNetworksPagesWithContext(aws.BackgroundContext(), input, fn)
15536}
15537
15538// DescribeClientVpnTargetNetworksPagesWithContext same as DescribeClientVpnTargetNetworksPages except
15539// it takes a Context and allows setting request options on the pages.
15540//
15541// The context must be non-nil and will be used for request cancellation. If
15542// the context is nil a panic will occur. In the future the SDK may create
15543// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15544// for more information on using Contexts.
15545func (c *EC2) DescribeClientVpnTargetNetworksPagesWithContext(ctx aws.Context, input *DescribeClientVpnTargetNetworksInput, fn func(*DescribeClientVpnTargetNetworksOutput, bool) bool, opts ...request.Option) error {
15546	p := request.Pagination{
15547		NewRequest: func() (*request.Request, error) {
15548			var inCpy *DescribeClientVpnTargetNetworksInput
15549			if input != nil {
15550				tmp := *input
15551				inCpy = &tmp
15552			}
15553			req, _ := c.DescribeClientVpnTargetNetworksRequest(inCpy)
15554			req.SetContext(ctx)
15555			req.ApplyOptions(opts...)
15556			return req, nil
15557		},
15558	}
15559
15560	for p.Next() {
15561		if !fn(p.Page().(*DescribeClientVpnTargetNetworksOutput), !p.HasNextPage()) {
15562			break
15563		}
15564	}
15565
15566	return p.Err()
15567}
15568
15569const opDescribeCoipPools = "DescribeCoipPools"
15570
15571// DescribeCoipPoolsRequest generates a "aws/request.Request" representing the
15572// client's request for the DescribeCoipPools operation. The "output" return
15573// value will be populated with the request's response once the request completes
15574// successfully.
15575//
15576// Use "Send" method on the returned Request to send the API call to the service.
15577// the "output" return value is not valid until after Send returns without error.
15578//
15579// See DescribeCoipPools for more information on using the DescribeCoipPools
15580// API call, and error handling.
15581//
15582// This method is useful when you want to inject custom logic or configuration
15583// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15584//
15585//
15586//    // Example sending a request using the DescribeCoipPoolsRequest method.
15587//    req, resp := client.DescribeCoipPoolsRequest(params)
15588//
15589//    err := req.Send()
15590//    if err == nil { // resp is now filled
15591//        fmt.Println(resp)
15592//    }
15593//
15594// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCoipPools
15595func (c *EC2) DescribeCoipPoolsRequest(input *DescribeCoipPoolsInput) (req *request.Request, output *DescribeCoipPoolsOutput) {
15596	op := &request.Operation{
15597		Name:       opDescribeCoipPools,
15598		HTTPMethod: "POST",
15599		HTTPPath:   "/",
15600		Paginator: &request.Paginator{
15601			InputTokens:     []string{"NextToken"},
15602			OutputTokens:    []string{"NextToken"},
15603			LimitToken:      "MaxResults",
15604			TruncationToken: "",
15605		},
15606	}
15607
15608	if input == nil {
15609		input = &DescribeCoipPoolsInput{}
15610	}
15611
15612	output = &DescribeCoipPoolsOutput{}
15613	req = c.newRequest(op, input, output)
15614	return
15615}
15616
15617// DescribeCoipPools API operation for Amazon Elastic Compute Cloud.
15618//
15619// Describes the specified customer-owned address pools or all of your customer-owned
15620// address pools.
15621//
15622// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15623// with awserr.Error's Code and Message methods to get detailed information about
15624// the error.
15625//
15626// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15627// API operation DescribeCoipPools for usage and error information.
15628// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCoipPools
15629func (c *EC2) DescribeCoipPools(input *DescribeCoipPoolsInput) (*DescribeCoipPoolsOutput, error) {
15630	req, out := c.DescribeCoipPoolsRequest(input)
15631	return out, req.Send()
15632}
15633
15634// DescribeCoipPoolsWithContext is the same as DescribeCoipPools with the addition of
15635// the ability to pass a context and additional request options.
15636//
15637// See DescribeCoipPools for details on how to use this API operation.
15638//
15639// The context must be non-nil and will be used for request cancellation. If
15640// the context is nil a panic will occur. In the future the SDK may create
15641// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15642// for more information on using Contexts.
15643func (c *EC2) DescribeCoipPoolsWithContext(ctx aws.Context, input *DescribeCoipPoolsInput, opts ...request.Option) (*DescribeCoipPoolsOutput, error) {
15644	req, out := c.DescribeCoipPoolsRequest(input)
15645	req.SetContext(ctx)
15646	req.ApplyOptions(opts...)
15647	return out, req.Send()
15648}
15649
15650// DescribeCoipPoolsPages iterates over the pages of a DescribeCoipPools operation,
15651// calling the "fn" function with the response data for each page. To stop
15652// iterating, return false from the fn function.
15653//
15654// See DescribeCoipPools method for more information on how to use this operation.
15655//
15656// Note: This operation can generate multiple requests to a service.
15657//
15658//    // Example iterating over at most 3 pages of a DescribeCoipPools operation.
15659//    pageNum := 0
15660//    err := client.DescribeCoipPoolsPages(params,
15661//        func(page *ec2.DescribeCoipPoolsOutput, lastPage bool) bool {
15662//            pageNum++
15663//            fmt.Println(page)
15664//            return pageNum <= 3
15665//        })
15666//
15667func (c *EC2) DescribeCoipPoolsPages(input *DescribeCoipPoolsInput, fn func(*DescribeCoipPoolsOutput, bool) bool) error {
15668	return c.DescribeCoipPoolsPagesWithContext(aws.BackgroundContext(), input, fn)
15669}
15670
15671// DescribeCoipPoolsPagesWithContext same as DescribeCoipPoolsPages except
15672// it takes a Context and allows setting request options on the pages.
15673//
15674// The context must be non-nil and will be used for request cancellation. If
15675// the context is nil a panic will occur. In the future the SDK may create
15676// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15677// for more information on using Contexts.
15678func (c *EC2) DescribeCoipPoolsPagesWithContext(ctx aws.Context, input *DescribeCoipPoolsInput, fn func(*DescribeCoipPoolsOutput, bool) bool, opts ...request.Option) error {
15679	p := request.Pagination{
15680		NewRequest: func() (*request.Request, error) {
15681			var inCpy *DescribeCoipPoolsInput
15682			if input != nil {
15683				tmp := *input
15684				inCpy = &tmp
15685			}
15686			req, _ := c.DescribeCoipPoolsRequest(inCpy)
15687			req.SetContext(ctx)
15688			req.ApplyOptions(opts...)
15689			return req, nil
15690		},
15691	}
15692
15693	for p.Next() {
15694		if !fn(p.Page().(*DescribeCoipPoolsOutput), !p.HasNextPage()) {
15695			break
15696		}
15697	}
15698
15699	return p.Err()
15700}
15701
15702const opDescribeConversionTasks = "DescribeConversionTasks"
15703
15704// DescribeConversionTasksRequest generates a "aws/request.Request" representing the
15705// client's request for the DescribeConversionTasks operation. The "output" return
15706// value will be populated with the request's response once the request completes
15707// successfully.
15708//
15709// Use "Send" method on the returned Request to send the API call to the service.
15710// the "output" return value is not valid until after Send returns without error.
15711//
15712// See DescribeConversionTasks for more information on using the DescribeConversionTasks
15713// API call, and error handling.
15714//
15715// This method is useful when you want to inject custom logic or configuration
15716// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15717//
15718//
15719//    // Example sending a request using the DescribeConversionTasksRequest method.
15720//    req, resp := client.DescribeConversionTasksRequest(params)
15721//
15722//    err := req.Send()
15723//    if err == nil { // resp is now filled
15724//        fmt.Println(resp)
15725//    }
15726//
15727// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
15728func (c *EC2) DescribeConversionTasksRequest(input *DescribeConversionTasksInput) (req *request.Request, output *DescribeConversionTasksOutput) {
15729	op := &request.Operation{
15730		Name:       opDescribeConversionTasks,
15731		HTTPMethod: "POST",
15732		HTTPPath:   "/",
15733	}
15734
15735	if input == nil {
15736		input = &DescribeConversionTasksInput{}
15737	}
15738
15739	output = &DescribeConversionTasksOutput{}
15740	req = c.newRequest(op, input, output)
15741	return
15742}
15743
15744// DescribeConversionTasks API operation for Amazon Elastic Compute Cloud.
15745//
15746// Describes the specified conversion tasks or all your conversion tasks. For
15747// more information, see the VM Import/Export User Guide (https://docs.aws.amazon.com/vm-import/latest/userguide/).
15748//
15749// For information about the import manifest referenced by this API action,
15750// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
15751//
15752// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15753// with awserr.Error's Code and Message methods to get detailed information about
15754// the error.
15755//
15756// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15757// API operation DescribeConversionTasks for usage and error information.
15758// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
15759func (c *EC2) DescribeConversionTasks(input *DescribeConversionTasksInput) (*DescribeConversionTasksOutput, error) {
15760	req, out := c.DescribeConversionTasksRequest(input)
15761	return out, req.Send()
15762}
15763
15764// DescribeConversionTasksWithContext is the same as DescribeConversionTasks with the addition of
15765// the ability to pass a context and additional request options.
15766//
15767// See DescribeConversionTasks for details on how to use this API operation.
15768//
15769// The context must be non-nil and will be used for request cancellation. If
15770// the context is nil a panic will occur. In the future the SDK may create
15771// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15772// for more information on using Contexts.
15773func (c *EC2) DescribeConversionTasksWithContext(ctx aws.Context, input *DescribeConversionTasksInput, opts ...request.Option) (*DescribeConversionTasksOutput, error) {
15774	req, out := c.DescribeConversionTasksRequest(input)
15775	req.SetContext(ctx)
15776	req.ApplyOptions(opts...)
15777	return out, req.Send()
15778}
15779
15780const opDescribeCustomerGateways = "DescribeCustomerGateways"
15781
15782// DescribeCustomerGatewaysRequest generates a "aws/request.Request" representing the
15783// client's request for the DescribeCustomerGateways operation. The "output" return
15784// value will be populated with the request's response once the request completes
15785// successfully.
15786//
15787// Use "Send" method on the returned Request to send the API call to the service.
15788// the "output" return value is not valid until after Send returns without error.
15789//
15790// See DescribeCustomerGateways for more information on using the DescribeCustomerGateways
15791// API call, and error handling.
15792//
15793// This method is useful when you want to inject custom logic or configuration
15794// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15795//
15796//
15797//    // Example sending a request using the DescribeCustomerGatewaysRequest method.
15798//    req, resp := client.DescribeCustomerGatewaysRequest(params)
15799//
15800//    err := req.Send()
15801//    if err == nil { // resp is now filled
15802//        fmt.Println(resp)
15803//    }
15804//
15805// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
15806func (c *EC2) DescribeCustomerGatewaysRequest(input *DescribeCustomerGatewaysInput) (req *request.Request, output *DescribeCustomerGatewaysOutput) {
15807	op := &request.Operation{
15808		Name:       opDescribeCustomerGateways,
15809		HTTPMethod: "POST",
15810		HTTPPath:   "/",
15811	}
15812
15813	if input == nil {
15814		input = &DescribeCustomerGatewaysInput{}
15815	}
15816
15817	output = &DescribeCustomerGatewaysOutput{}
15818	req = c.newRequest(op, input, output)
15819	return
15820}
15821
15822// DescribeCustomerGateways API operation for Amazon Elastic Compute Cloud.
15823//
15824// Describes one or more of your VPN customer gateways.
15825//
15826// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
15827// in the AWS Site-to-Site VPN User Guide.
15828//
15829// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15830// with awserr.Error's Code and Message methods to get detailed information about
15831// the error.
15832//
15833// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15834// API operation DescribeCustomerGateways for usage and error information.
15835// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
15836func (c *EC2) DescribeCustomerGateways(input *DescribeCustomerGatewaysInput) (*DescribeCustomerGatewaysOutput, error) {
15837	req, out := c.DescribeCustomerGatewaysRequest(input)
15838	return out, req.Send()
15839}
15840
15841// DescribeCustomerGatewaysWithContext is the same as DescribeCustomerGateways with the addition of
15842// the ability to pass a context and additional request options.
15843//
15844// See DescribeCustomerGateways for details on how to use this API operation.
15845//
15846// The context must be non-nil and will be used for request cancellation. If
15847// the context is nil a panic will occur. In the future the SDK may create
15848// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15849// for more information on using Contexts.
15850func (c *EC2) DescribeCustomerGatewaysWithContext(ctx aws.Context, input *DescribeCustomerGatewaysInput, opts ...request.Option) (*DescribeCustomerGatewaysOutput, error) {
15851	req, out := c.DescribeCustomerGatewaysRequest(input)
15852	req.SetContext(ctx)
15853	req.ApplyOptions(opts...)
15854	return out, req.Send()
15855}
15856
15857const opDescribeDhcpOptions = "DescribeDhcpOptions"
15858
15859// DescribeDhcpOptionsRequest generates a "aws/request.Request" representing the
15860// client's request for the DescribeDhcpOptions operation. The "output" return
15861// value will be populated with the request's response once the request completes
15862// successfully.
15863//
15864// Use "Send" method on the returned Request to send the API call to the service.
15865// the "output" return value is not valid until after Send returns without error.
15866//
15867// See DescribeDhcpOptions for more information on using the DescribeDhcpOptions
15868// API call, and error handling.
15869//
15870// This method is useful when you want to inject custom logic or configuration
15871// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15872//
15873//
15874//    // Example sending a request using the DescribeDhcpOptionsRequest method.
15875//    req, resp := client.DescribeDhcpOptionsRequest(params)
15876//
15877//    err := req.Send()
15878//    if err == nil { // resp is now filled
15879//        fmt.Println(resp)
15880//    }
15881//
15882// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
15883func (c *EC2) DescribeDhcpOptionsRequest(input *DescribeDhcpOptionsInput) (req *request.Request, output *DescribeDhcpOptionsOutput) {
15884	op := &request.Operation{
15885		Name:       opDescribeDhcpOptions,
15886		HTTPMethod: "POST",
15887		HTTPPath:   "/",
15888		Paginator: &request.Paginator{
15889			InputTokens:     []string{"NextToken"},
15890			OutputTokens:    []string{"NextToken"},
15891			LimitToken:      "MaxResults",
15892			TruncationToken: "",
15893		},
15894	}
15895
15896	if input == nil {
15897		input = &DescribeDhcpOptionsInput{}
15898	}
15899
15900	output = &DescribeDhcpOptionsOutput{}
15901	req = c.newRequest(op, input, output)
15902	return
15903}
15904
15905// DescribeDhcpOptions API operation for Amazon Elastic Compute Cloud.
15906//
15907// Describes one or more of your DHCP options sets.
15908//
15909// For more information, see DHCP options sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)
15910// in the Amazon Virtual Private Cloud User Guide.
15911//
15912// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15913// with awserr.Error's Code and Message methods to get detailed information about
15914// the error.
15915//
15916// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15917// API operation DescribeDhcpOptions for usage and error information.
15918// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
15919func (c *EC2) DescribeDhcpOptions(input *DescribeDhcpOptionsInput) (*DescribeDhcpOptionsOutput, error) {
15920	req, out := c.DescribeDhcpOptionsRequest(input)
15921	return out, req.Send()
15922}
15923
15924// DescribeDhcpOptionsWithContext is the same as DescribeDhcpOptions with the addition of
15925// the ability to pass a context and additional request options.
15926//
15927// See DescribeDhcpOptions for details on how to use this API operation.
15928//
15929// The context must be non-nil and will be used for request cancellation. If
15930// the context is nil a panic will occur. In the future the SDK may create
15931// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15932// for more information on using Contexts.
15933func (c *EC2) DescribeDhcpOptionsWithContext(ctx aws.Context, input *DescribeDhcpOptionsInput, opts ...request.Option) (*DescribeDhcpOptionsOutput, error) {
15934	req, out := c.DescribeDhcpOptionsRequest(input)
15935	req.SetContext(ctx)
15936	req.ApplyOptions(opts...)
15937	return out, req.Send()
15938}
15939
15940// DescribeDhcpOptionsPages iterates over the pages of a DescribeDhcpOptions operation,
15941// calling the "fn" function with the response data for each page. To stop
15942// iterating, return false from the fn function.
15943//
15944// See DescribeDhcpOptions method for more information on how to use this operation.
15945//
15946// Note: This operation can generate multiple requests to a service.
15947//
15948//    // Example iterating over at most 3 pages of a DescribeDhcpOptions operation.
15949//    pageNum := 0
15950//    err := client.DescribeDhcpOptionsPages(params,
15951//        func(page *ec2.DescribeDhcpOptionsOutput, lastPage bool) bool {
15952//            pageNum++
15953//            fmt.Println(page)
15954//            return pageNum <= 3
15955//        })
15956//
15957func (c *EC2) DescribeDhcpOptionsPages(input *DescribeDhcpOptionsInput, fn func(*DescribeDhcpOptionsOutput, bool) bool) error {
15958	return c.DescribeDhcpOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
15959}
15960
15961// DescribeDhcpOptionsPagesWithContext same as DescribeDhcpOptionsPages except
15962// it takes a Context and allows setting request options on the pages.
15963//
15964// The context must be non-nil and will be used for request cancellation. If
15965// the context is nil a panic will occur. In the future the SDK may create
15966// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15967// for more information on using Contexts.
15968func (c *EC2) DescribeDhcpOptionsPagesWithContext(ctx aws.Context, input *DescribeDhcpOptionsInput, fn func(*DescribeDhcpOptionsOutput, bool) bool, opts ...request.Option) error {
15969	p := request.Pagination{
15970		NewRequest: func() (*request.Request, error) {
15971			var inCpy *DescribeDhcpOptionsInput
15972			if input != nil {
15973				tmp := *input
15974				inCpy = &tmp
15975			}
15976			req, _ := c.DescribeDhcpOptionsRequest(inCpy)
15977			req.SetContext(ctx)
15978			req.ApplyOptions(opts...)
15979			return req, nil
15980		},
15981	}
15982
15983	for p.Next() {
15984		if !fn(p.Page().(*DescribeDhcpOptionsOutput), !p.HasNextPage()) {
15985			break
15986		}
15987	}
15988
15989	return p.Err()
15990}
15991
15992const opDescribeEgressOnlyInternetGateways = "DescribeEgressOnlyInternetGateways"
15993
15994// DescribeEgressOnlyInternetGatewaysRequest generates a "aws/request.Request" representing the
15995// client's request for the DescribeEgressOnlyInternetGateways operation. The "output" return
15996// value will be populated with the request's response once the request completes
15997// successfully.
15998//
15999// Use "Send" method on the returned Request to send the API call to the service.
16000// the "output" return value is not valid until after Send returns without error.
16001//
16002// See DescribeEgressOnlyInternetGateways for more information on using the DescribeEgressOnlyInternetGateways
16003// API call, and error handling.
16004//
16005// This method is useful when you want to inject custom logic or configuration
16006// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16007//
16008//
16009//    // Example sending a request using the DescribeEgressOnlyInternetGatewaysRequest method.
16010//    req, resp := client.DescribeEgressOnlyInternetGatewaysRequest(params)
16011//
16012//    err := req.Send()
16013//    if err == nil { // resp is now filled
16014//        fmt.Println(resp)
16015//    }
16016//
16017// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
16018func (c *EC2) DescribeEgressOnlyInternetGatewaysRequest(input *DescribeEgressOnlyInternetGatewaysInput) (req *request.Request, output *DescribeEgressOnlyInternetGatewaysOutput) {
16019	op := &request.Operation{
16020		Name:       opDescribeEgressOnlyInternetGateways,
16021		HTTPMethod: "POST",
16022		HTTPPath:   "/",
16023		Paginator: &request.Paginator{
16024			InputTokens:     []string{"NextToken"},
16025			OutputTokens:    []string{"NextToken"},
16026			LimitToken:      "MaxResults",
16027			TruncationToken: "",
16028		},
16029	}
16030
16031	if input == nil {
16032		input = &DescribeEgressOnlyInternetGatewaysInput{}
16033	}
16034
16035	output = &DescribeEgressOnlyInternetGatewaysOutput{}
16036	req = c.newRequest(op, input, output)
16037	return
16038}
16039
16040// DescribeEgressOnlyInternetGateways API operation for Amazon Elastic Compute Cloud.
16041//
16042// Describes one or more of your egress-only internet gateways.
16043//
16044// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16045// with awserr.Error's Code and Message methods to get detailed information about
16046// the error.
16047//
16048// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16049// API operation DescribeEgressOnlyInternetGateways for usage and error information.
16050// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
16051func (c *EC2) DescribeEgressOnlyInternetGateways(input *DescribeEgressOnlyInternetGatewaysInput) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
16052	req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
16053	return out, req.Send()
16054}
16055
16056// DescribeEgressOnlyInternetGatewaysWithContext is the same as DescribeEgressOnlyInternetGateways with the addition of
16057// the ability to pass a context and additional request options.
16058//
16059// See DescribeEgressOnlyInternetGateways for details on how to use this API operation.
16060//
16061// The context must be non-nil and will be used for request cancellation. If
16062// the context is nil a panic will occur. In the future the SDK may create
16063// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16064// for more information on using Contexts.
16065func (c *EC2) DescribeEgressOnlyInternetGatewaysWithContext(ctx aws.Context, input *DescribeEgressOnlyInternetGatewaysInput, opts ...request.Option) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
16066	req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
16067	req.SetContext(ctx)
16068	req.ApplyOptions(opts...)
16069	return out, req.Send()
16070}
16071
16072// DescribeEgressOnlyInternetGatewaysPages iterates over the pages of a DescribeEgressOnlyInternetGateways operation,
16073// calling the "fn" function with the response data for each page. To stop
16074// iterating, return false from the fn function.
16075//
16076// See DescribeEgressOnlyInternetGateways method for more information on how to use this operation.
16077//
16078// Note: This operation can generate multiple requests to a service.
16079//
16080//    // Example iterating over at most 3 pages of a DescribeEgressOnlyInternetGateways operation.
16081//    pageNum := 0
16082//    err := client.DescribeEgressOnlyInternetGatewaysPages(params,
16083//        func(page *ec2.DescribeEgressOnlyInternetGatewaysOutput, lastPage bool) bool {
16084//            pageNum++
16085//            fmt.Println(page)
16086//            return pageNum <= 3
16087//        })
16088//
16089func (c *EC2) DescribeEgressOnlyInternetGatewaysPages(input *DescribeEgressOnlyInternetGatewaysInput, fn func(*DescribeEgressOnlyInternetGatewaysOutput, bool) bool) error {
16090	return c.DescribeEgressOnlyInternetGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
16091}
16092
16093// DescribeEgressOnlyInternetGatewaysPagesWithContext same as DescribeEgressOnlyInternetGatewaysPages except
16094// it takes a Context and allows setting request options on the pages.
16095//
16096// The context must be non-nil and will be used for request cancellation. If
16097// the context is nil a panic will occur. In the future the SDK may create
16098// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16099// for more information on using Contexts.
16100func (c *EC2) DescribeEgressOnlyInternetGatewaysPagesWithContext(ctx aws.Context, input *DescribeEgressOnlyInternetGatewaysInput, fn func(*DescribeEgressOnlyInternetGatewaysOutput, bool) bool, opts ...request.Option) error {
16101	p := request.Pagination{
16102		NewRequest: func() (*request.Request, error) {
16103			var inCpy *DescribeEgressOnlyInternetGatewaysInput
16104			if input != nil {
16105				tmp := *input
16106				inCpy = &tmp
16107			}
16108			req, _ := c.DescribeEgressOnlyInternetGatewaysRequest(inCpy)
16109			req.SetContext(ctx)
16110			req.ApplyOptions(opts...)
16111			return req, nil
16112		},
16113	}
16114
16115	for p.Next() {
16116		if !fn(p.Page().(*DescribeEgressOnlyInternetGatewaysOutput), !p.HasNextPage()) {
16117			break
16118		}
16119	}
16120
16121	return p.Err()
16122}
16123
16124const opDescribeElasticGpus = "DescribeElasticGpus"
16125
16126// DescribeElasticGpusRequest generates a "aws/request.Request" representing the
16127// client's request for the DescribeElasticGpus operation. The "output" return
16128// value will be populated with the request's response once the request completes
16129// successfully.
16130//
16131// Use "Send" method on the returned Request to send the API call to the service.
16132// the "output" return value is not valid until after Send returns without error.
16133//
16134// See DescribeElasticGpus for more information on using the DescribeElasticGpus
16135// API call, and error handling.
16136//
16137// This method is useful when you want to inject custom logic or configuration
16138// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16139//
16140//
16141//    // Example sending a request using the DescribeElasticGpusRequest method.
16142//    req, resp := client.DescribeElasticGpusRequest(params)
16143//
16144//    err := req.Send()
16145//    if err == nil { // resp is now filled
16146//        fmt.Println(resp)
16147//    }
16148//
16149// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus
16150func (c *EC2) DescribeElasticGpusRequest(input *DescribeElasticGpusInput) (req *request.Request, output *DescribeElasticGpusOutput) {
16151	op := &request.Operation{
16152		Name:       opDescribeElasticGpus,
16153		HTTPMethod: "POST",
16154		HTTPPath:   "/",
16155	}
16156
16157	if input == nil {
16158		input = &DescribeElasticGpusInput{}
16159	}
16160
16161	output = &DescribeElasticGpusOutput{}
16162	req = c.newRequest(op, input, output)
16163	return
16164}
16165
16166// DescribeElasticGpus API operation for Amazon Elastic Compute Cloud.
16167//
16168// Describes the Elastic Graphics accelerator associated with your instances.
16169// For more information about Elastic Graphics, see Amazon Elastic Graphics
16170// (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html).
16171//
16172// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16173// with awserr.Error's Code and Message methods to get detailed information about
16174// the error.
16175//
16176// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16177// API operation DescribeElasticGpus for usage and error information.
16178// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus
16179func (c *EC2) DescribeElasticGpus(input *DescribeElasticGpusInput) (*DescribeElasticGpusOutput, error) {
16180	req, out := c.DescribeElasticGpusRequest(input)
16181	return out, req.Send()
16182}
16183
16184// DescribeElasticGpusWithContext is the same as DescribeElasticGpus with the addition of
16185// the ability to pass a context and additional request options.
16186//
16187// See DescribeElasticGpus for details on how to use this API operation.
16188//
16189// The context must be non-nil and will be used for request cancellation. If
16190// the context is nil a panic will occur. In the future the SDK may create
16191// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16192// for more information on using Contexts.
16193func (c *EC2) DescribeElasticGpusWithContext(ctx aws.Context, input *DescribeElasticGpusInput, opts ...request.Option) (*DescribeElasticGpusOutput, error) {
16194	req, out := c.DescribeElasticGpusRequest(input)
16195	req.SetContext(ctx)
16196	req.ApplyOptions(opts...)
16197	return out, req.Send()
16198}
16199
16200const opDescribeExportImageTasks = "DescribeExportImageTasks"
16201
16202// DescribeExportImageTasksRequest generates a "aws/request.Request" representing the
16203// client's request for the DescribeExportImageTasks operation. The "output" return
16204// value will be populated with the request's response once the request completes
16205// successfully.
16206//
16207// Use "Send" method on the returned Request to send the API call to the service.
16208// the "output" return value is not valid until after Send returns without error.
16209//
16210// See DescribeExportImageTasks for more information on using the DescribeExportImageTasks
16211// API call, and error handling.
16212//
16213// This method is useful when you want to inject custom logic or configuration
16214// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16215//
16216//
16217//    // Example sending a request using the DescribeExportImageTasksRequest method.
16218//    req, resp := client.DescribeExportImageTasksRequest(params)
16219//
16220//    err := req.Send()
16221//    if err == nil { // resp is now filled
16222//        fmt.Println(resp)
16223//    }
16224//
16225// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportImageTasks
16226func (c *EC2) DescribeExportImageTasksRequest(input *DescribeExportImageTasksInput) (req *request.Request, output *DescribeExportImageTasksOutput) {
16227	op := &request.Operation{
16228		Name:       opDescribeExportImageTasks,
16229		HTTPMethod: "POST",
16230		HTTPPath:   "/",
16231		Paginator: &request.Paginator{
16232			InputTokens:     []string{"NextToken"},
16233			OutputTokens:    []string{"NextToken"},
16234			LimitToken:      "MaxResults",
16235			TruncationToken: "",
16236		},
16237	}
16238
16239	if input == nil {
16240		input = &DescribeExportImageTasksInput{}
16241	}
16242
16243	output = &DescribeExportImageTasksOutput{}
16244	req = c.newRequest(op, input, output)
16245	return
16246}
16247
16248// DescribeExportImageTasks API operation for Amazon Elastic Compute Cloud.
16249//
16250// Describes the specified export image tasks or all of your export image tasks.
16251//
16252// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16253// with awserr.Error's Code and Message methods to get detailed information about
16254// the error.
16255//
16256// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16257// API operation DescribeExportImageTasks for usage and error information.
16258// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportImageTasks
16259func (c *EC2) DescribeExportImageTasks(input *DescribeExportImageTasksInput) (*DescribeExportImageTasksOutput, error) {
16260	req, out := c.DescribeExportImageTasksRequest(input)
16261	return out, req.Send()
16262}
16263
16264// DescribeExportImageTasksWithContext is the same as DescribeExportImageTasks with the addition of
16265// the ability to pass a context and additional request options.
16266//
16267// See DescribeExportImageTasks for details on how to use this API operation.
16268//
16269// The context must be non-nil and will be used for request cancellation. If
16270// the context is nil a panic will occur. In the future the SDK may create
16271// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16272// for more information on using Contexts.
16273func (c *EC2) DescribeExportImageTasksWithContext(ctx aws.Context, input *DescribeExportImageTasksInput, opts ...request.Option) (*DescribeExportImageTasksOutput, error) {
16274	req, out := c.DescribeExportImageTasksRequest(input)
16275	req.SetContext(ctx)
16276	req.ApplyOptions(opts...)
16277	return out, req.Send()
16278}
16279
16280// DescribeExportImageTasksPages iterates over the pages of a DescribeExportImageTasks operation,
16281// calling the "fn" function with the response data for each page. To stop
16282// iterating, return false from the fn function.
16283//
16284// See DescribeExportImageTasks method for more information on how to use this operation.
16285//
16286// Note: This operation can generate multiple requests to a service.
16287//
16288//    // Example iterating over at most 3 pages of a DescribeExportImageTasks operation.
16289//    pageNum := 0
16290//    err := client.DescribeExportImageTasksPages(params,
16291//        func(page *ec2.DescribeExportImageTasksOutput, lastPage bool) bool {
16292//            pageNum++
16293//            fmt.Println(page)
16294//            return pageNum <= 3
16295//        })
16296//
16297func (c *EC2) DescribeExportImageTasksPages(input *DescribeExportImageTasksInput, fn func(*DescribeExportImageTasksOutput, bool) bool) error {
16298	return c.DescribeExportImageTasksPagesWithContext(aws.BackgroundContext(), input, fn)
16299}
16300
16301// DescribeExportImageTasksPagesWithContext same as DescribeExportImageTasksPages except
16302// it takes a Context and allows setting request options on the pages.
16303//
16304// The context must be non-nil and will be used for request cancellation. If
16305// the context is nil a panic will occur. In the future the SDK may create
16306// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16307// for more information on using Contexts.
16308func (c *EC2) DescribeExportImageTasksPagesWithContext(ctx aws.Context, input *DescribeExportImageTasksInput, fn func(*DescribeExportImageTasksOutput, bool) bool, opts ...request.Option) error {
16309	p := request.Pagination{
16310		NewRequest: func() (*request.Request, error) {
16311			var inCpy *DescribeExportImageTasksInput
16312			if input != nil {
16313				tmp := *input
16314				inCpy = &tmp
16315			}
16316			req, _ := c.DescribeExportImageTasksRequest(inCpy)
16317			req.SetContext(ctx)
16318			req.ApplyOptions(opts...)
16319			return req, nil
16320		},
16321	}
16322
16323	for p.Next() {
16324		if !fn(p.Page().(*DescribeExportImageTasksOutput), !p.HasNextPage()) {
16325			break
16326		}
16327	}
16328
16329	return p.Err()
16330}
16331
16332const opDescribeExportTasks = "DescribeExportTasks"
16333
16334// DescribeExportTasksRequest generates a "aws/request.Request" representing the
16335// client's request for the DescribeExportTasks operation. The "output" return
16336// value will be populated with the request's response once the request completes
16337// successfully.
16338//
16339// Use "Send" method on the returned Request to send the API call to the service.
16340// the "output" return value is not valid until after Send returns without error.
16341//
16342// See DescribeExportTasks for more information on using the DescribeExportTasks
16343// API call, and error handling.
16344//
16345// This method is useful when you want to inject custom logic or configuration
16346// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16347//
16348//
16349//    // Example sending a request using the DescribeExportTasksRequest method.
16350//    req, resp := client.DescribeExportTasksRequest(params)
16351//
16352//    err := req.Send()
16353//    if err == nil { // resp is now filled
16354//        fmt.Println(resp)
16355//    }
16356//
16357// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
16358func (c *EC2) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) {
16359	op := &request.Operation{
16360		Name:       opDescribeExportTasks,
16361		HTTPMethod: "POST",
16362		HTTPPath:   "/",
16363	}
16364
16365	if input == nil {
16366		input = &DescribeExportTasksInput{}
16367	}
16368
16369	output = &DescribeExportTasksOutput{}
16370	req = c.newRequest(op, input, output)
16371	return
16372}
16373
16374// DescribeExportTasks API operation for Amazon Elastic Compute Cloud.
16375//
16376// Describes the specified export instance tasks or all of your export instance
16377// tasks.
16378//
16379// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16380// with awserr.Error's Code and Message methods to get detailed information about
16381// the error.
16382//
16383// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16384// API operation DescribeExportTasks for usage and error information.
16385// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
16386func (c *EC2) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
16387	req, out := c.DescribeExportTasksRequest(input)
16388	return out, req.Send()
16389}
16390
16391// DescribeExportTasksWithContext is the same as DescribeExportTasks with the addition of
16392// the ability to pass a context and additional request options.
16393//
16394// See DescribeExportTasks for details on how to use this API operation.
16395//
16396// The context must be non-nil and will be used for request cancellation. If
16397// the context is nil a panic will occur. In the future the SDK may create
16398// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16399// for more information on using Contexts.
16400func (c *EC2) DescribeExportTasksWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.Option) (*DescribeExportTasksOutput, error) {
16401	req, out := c.DescribeExportTasksRequest(input)
16402	req.SetContext(ctx)
16403	req.ApplyOptions(opts...)
16404	return out, req.Send()
16405}
16406
16407const opDescribeFastSnapshotRestores = "DescribeFastSnapshotRestores"
16408
16409// DescribeFastSnapshotRestoresRequest generates a "aws/request.Request" representing the
16410// client's request for the DescribeFastSnapshotRestores operation. The "output" return
16411// value will be populated with the request's response once the request completes
16412// successfully.
16413//
16414// Use "Send" method on the returned Request to send the API call to the service.
16415// the "output" return value is not valid until after Send returns without error.
16416//
16417// See DescribeFastSnapshotRestores for more information on using the DescribeFastSnapshotRestores
16418// API call, and error handling.
16419//
16420// This method is useful when you want to inject custom logic or configuration
16421// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16422//
16423//
16424//    // Example sending a request using the DescribeFastSnapshotRestoresRequest method.
16425//    req, resp := client.DescribeFastSnapshotRestoresRequest(params)
16426//
16427//    err := req.Send()
16428//    if err == nil { // resp is now filled
16429//        fmt.Println(resp)
16430//    }
16431//
16432// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFastSnapshotRestores
16433func (c *EC2) DescribeFastSnapshotRestoresRequest(input *DescribeFastSnapshotRestoresInput) (req *request.Request, output *DescribeFastSnapshotRestoresOutput) {
16434	op := &request.Operation{
16435		Name:       opDescribeFastSnapshotRestores,
16436		HTTPMethod: "POST",
16437		HTTPPath:   "/",
16438		Paginator: &request.Paginator{
16439			InputTokens:     []string{"NextToken"},
16440			OutputTokens:    []string{"NextToken"},
16441			LimitToken:      "MaxResults",
16442			TruncationToken: "",
16443		},
16444	}
16445
16446	if input == nil {
16447		input = &DescribeFastSnapshotRestoresInput{}
16448	}
16449
16450	output = &DescribeFastSnapshotRestoresOutput{}
16451	req = c.newRequest(op, input, output)
16452	return
16453}
16454
16455// DescribeFastSnapshotRestores API operation for Amazon Elastic Compute Cloud.
16456//
16457// Describes the state of fast snapshot restores for your snapshots.
16458//
16459// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16460// with awserr.Error's Code and Message methods to get detailed information about
16461// the error.
16462//
16463// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16464// API operation DescribeFastSnapshotRestores for usage and error information.
16465// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFastSnapshotRestores
16466func (c *EC2) DescribeFastSnapshotRestores(input *DescribeFastSnapshotRestoresInput) (*DescribeFastSnapshotRestoresOutput, error) {
16467	req, out := c.DescribeFastSnapshotRestoresRequest(input)
16468	return out, req.Send()
16469}
16470
16471// DescribeFastSnapshotRestoresWithContext is the same as DescribeFastSnapshotRestores with the addition of
16472// the ability to pass a context and additional request options.
16473//
16474// See DescribeFastSnapshotRestores for details on how to use this API operation.
16475//
16476// The context must be non-nil and will be used for request cancellation. If
16477// the context is nil a panic will occur. In the future the SDK may create
16478// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16479// for more information on using Contexts.
16480func (c *EC2) DescribeFastSnapshotRestoresWithContext(ctx aws.Context, input *DescribeFastSnapshotRestoresInput, opts ...request.Option) (*DescribeFastSnapshotRestoresOutput, error) {
16481	req, out := c.DescribeFastSnapshotRestoresRequest(input)
16482	req.SetContext(ctx)
16483	req.ApplyOptions(opts...)
16484	return out, req.Send()
16485}
16486
16487// DescribeFastSnapshotRestoresPages iterates over the pages of a DescribeFastSnapshotRestores operation,
16488// calling the "fn" function with the response data for each page. To stop
16489// iterating, return false from the fn function.
16490//
16491// See DescribeFastSnapshotRestores method for more information on how to use this operation.
16492//
16493// Note: This operation can generate multiple requests to a service.
16494//
16495//    // Example iterating over at most 3 pages of a DescribeFastSnapshotRestores operation.
16496//    pageNum := 0
16497//    err := client.DescribeFastSnapshotRestoresPages(params,
16498//        func(page *ec2.DescribeFastSnapshotRestoresOutput, lastPage bool) bool {
16499//            pageNum++
16500//            fmt.Println(page)
16501//            return pageNum <= 3
16502//        })
16503//
16504func (c *EC2) DescribeFastSnapshotRestoresPages(input *DescribeFastSnapshotRestoresInput, fn func(*DescribeFastSnapshotRestoresOutput, bool) bool) error {
16505	return c.DescribeFastSnapshotRestoresPagesWithContext(aws.BackgroundContext(), input, fn)
16506}
16507
16508// DescribeFastSnapshotRestoresPagesWithContext same as DescribeFastSnapshotRestoresPages except
16509// it takes a Context and allows setting request options on the pages.
16510//
16511// The context must be non-nil and will be used for request cancellation. If
16512// the context is nil a panic will occur. In the future the SDK may create
16513// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16514// for more information on using Contexts.
16515func (c *EC2) DescribeFastSnapshotRestoresPagesWithContext(ctx aws.Context, input *DescribeFastSnapshotRestoresInput, fn func(*DescribeFastSnapshotRestoresOutput, bool) bool, opts ...request.Option) error {
16516	p := request.Pagination{
16517		NewRequest: func() (*request.Request, error) {
16518			var inCpy *DescribeFastSnapshotRestoresInput
16519			if input != nil {
16520				tmp := *input
16521				inCpy = &tmp
16522			}
16523			req, _ := c.DescribeFastSnapshotRestoresRequest(inCpy)
16524			req.SetContext(ctx)
16525			req.ApplyOptions(opts...)
16526			return req, nil
16527		},
16528	}
16529
16530	for p.Next() {
16531		if !fn(p.Page().(*DescribeFastSnapshotRestoresOutput), !p.HasNextPage()) {
16532			break
16533		}
16534	}
16535
16536	return p.Err()
16537}
16538
16539const opDescribeFleetHistory = "DescribeFleetHistory"
16540
16541// DescribeFleetHistoryRequest generates a "aws/request.Request" representing the
16542// client's request for the DescribeFleetHistory operation. The "output" return
16543// value will be populated with the request's response once the request completes
16544// successfully.
16545//
16546// Use "Send" method on the returned Request to send the API call to the service.
16547// the "output" return value is not valid until after Send returns without error.
16548//
16549// See DescribeFleetHistory for more information on using the DescribeFleetHistory
16550// API call, and error handling.
16551//
16552// This method is useful when you want to inject custom logic or configuration
16553// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16554//
16555//
16556//    // Example sending a request using the DescribeFleetHistoryRequest method.
16557//    req, resp := client.DescribeFleetHistoryRequest(params)
16558//
16559//    err := req.Send()
16560//    if err == nil { // resp is now filled
16561//        fmt.Println(resp)
16562//    }
16563//
16564// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetHistory
16565func (c *EC2) DescribeFleetHistoryRequest(input *DescribeFleetHistoryInput) (req *request.Request, output *DescribeFleetHistoryOutput) {
16566	op := &request.Operation{
16567		Name:       opDescribeFleetHistory,
16568		HTTPMethod: "POST",
16569		HTTPPath:   "/",
16570	}
16571
16572	if input == nil {
16573		input = &DescribeFleetHistoryInput{}
16574	}
16575
16576	output = &DescribeFleetHistoryOutput{}
16577	req = c.newRequest(op, input, output)
16578	return
16579}
16580
16581// DescribeFleetHistory API operation for Amazon Elastic Compute Cloud.
16582//
16583// Describes the events for the specified EC2 Fleet during the specified time.
16584//
16585// EC2 Fleet events are delayed by up to 30 seconds before they can be described.
16586// This ensures that you can query by the last evaluated time and not miss a
16587// recorded event. EC2 Fleet events are available for 48 hours.
16588//
16589// For more information, see Monitoring your EC2 Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html#monitor-ec2-fleet)
16590// in the Amazon EC2 User Guide.
16591//
16592// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16593// with awserr.Error's Code and Message methods to get detailed information about
16594// the error.
16595//
16596// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16597// API operation DescribeFleetHistory for usage and error information.
16598// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetHistory
16599func (c *EC2) DescribeFleetHistory(input *DescribeFleetHistoryInput) (*DescribeFleetHistoryOutput, error) {
16600	req, out := c.DescribeFleetHistoryRequest(input)
16601	return out, req.Send()
16602}
16603
16604// DescribeFleetHistoryWithContext is the same as DescribeFleetHistory with the addition of
16605// the ability to pass a context and additional request options.
16606//
16607// See DescribeFleetHistory for details on how to use this API operation.
16608//
16609// The context must be non-nil and will be used for request cancellation. If
16610// the context is nil a panic will occur. In the future the SDK may create
16611// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16612// for more information on using Contexts.
16613func (c *EC2) DescribeFleetHistoryWithContext(ctx aws.Context, input *DescribeFleetHistoryInput, opts ...request.Option) (*DescribeFleetHistoryOutput, error) {
16614	req, out := c.DescribeFleetHistoryRequest(input)
16615	req.SetContext(ctx)
16616	req.ApplyOptions(opts...)
16617	return out, req.Send()
16618}
16619
16620const opDescribeFleetInstances = "DescribeFleetInstances"
16621
16622// DescribeFleetInstancesRequest generates a "aws/request.Request" representing the
16623// client's request for the DescribeFleetInstances operation. The "output" return
16624// value will be populated with the request's response once the request completes
16625// successfully.
16626//
16627// Use "Send" method on the returned Request to send the API call to the service.
16628// the "output" return value is not valid until after Send returns without error.
16629//
16630// See DescribeFleetInstances for more information on using the DescribeFleetInstances
16631// API call, and error handling.
16632//
16633// This method is useful when you want to inject custom logic or configuration
16634// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16635//
16636//
16637//    // Example sending a request using the DescribeFleetInstancesRequest method.
16638//    req, resp := client.DescribeFleetInstancesRequest(params)
16639//
16640//    err := req.Send()
16641//    if err == nil { // resp is now filled
16642//        fmt.Println(resp)
16643//    }
16644//
16645// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetInstances
16646func (c *EC2) DescribeFleetInstancesRequest(input *DescribeFleetInstancesInput) (req *request.Request, output *DescribeFleetInstancesOutput) {
16647	op := &request.Operation{
16648		Name:       opDescribeFleetInstances,
16649		HTTPMethod: "POST",
16650		HTTPPath:   "/",
16651	}
16652
16653	if input == nil {
16654		input = &DescribeFleetInstancesInput{}
16655	}
16656
16657	output = &DescribeFleetInstancesOutput{}
16658	req = c.newRequest(op, input, output)
16659	return
16660}
16661
16662// DescribeFleetInstances API operation for Amazon Elastic Compute Cloud.
16663//
16664// Describes the running instances for the specified EC2 Fleet.
16665//
16666// For more information, see Monitoring your EC2 Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html#monitor-ec2-fleet)
16667// in the Amazon EC2 User Guide.
16668//
16669// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16670// with awserr.Error's Code and Message methods to get detailed information about
16671// the error.
16672//
16673// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16674// API operation DescribeFleetInstances for usage and error information.
16675// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetInstances
16676func (c *EC2) DescribeFleetInstances(input *DescribeFleetInstancesInput) (*DescribeFleetInstancesOutput, error) {
16677	req, out := c.DescribeFleetInstancesRequest(input)
16678	return out, req.Send()
16679}
16680
16681// DescribeFleetInstancesWithContext is the same as DescribeFleetInstances with the addition of
16682// the ability to pass a context and additional request options.
16683//
16684// See DescribeFleetInstances for details on how to use this API operation.
16685//
16686// The context must be non-nil and will be used for request cancellation. If
16687// the context is nil a panic will occur. In the future the SDK may create
16688// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16689// for more information on using Contexts.
16690func (c *EC2) DescribeFleetInstancesWithContext(ctx aws.Context, input *DescribeFleetInstancesInput, opts ...request.Option) (*DescribeFleetInstancesOutput, error) {
16691	req, out := c.DescribeFleetInstancesRequest(input)
16692	req.SetContext(ctx)
16693	req.ApplyOptions(opts...)
16694	return out, req.Send()
16695}
16696
16697const opDescribeFleets = "DescribeFleets"
16698
16699// DescribeFleetsRequest generates a "aws/request.Request" representing the
16700// client's request for the DescribeFleets operation. The "output" return
16701// value will be populated with the request's response once the request completes
16702// successfully.
16703//
16704// Use "Send" method on the returned Request to send the API call to the service.
16705// the "output" return value is not valid until after Send returns without error.
16706//
16707// See DescribeFleets for more information on using the DescribeFleets
16708// API call, and error handling.
16709//
16710// This method is useful when you want to inject custom logic or configuration
16711// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16712//
16713//
16714//    // Example sending a request using the DescribeFleetsRequest method.
16715//    req, resp := client.DescribeFleetsRequest(params)
16716//
16717//    err := req.Send()
16718//    if err == nil { // resp is now filled
16719//        fmt.Println(resp)
16720//    }
16721//
16722// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleets
16723func (c *EC2) DescribeFleetsRequest(input *DescribeFleetsInput) (req *request.Request, output *DescribeFleetsOutput) {
16724	op := &request.Operation{
16725		Name:       opDescribeFleets,
16726		HTTPMethod: "POST",
16727		HTTPPath:   "/",
16728		Paginator: &request.Paginator{
16729			InputTokens:     []string{"NextToken"},
16730			OutputTokens:    []string{"NextToken"},
16731			LimitToken:      "MaxResults",
16732			TruncationToken: "",
16733		},
16734	}
16735
16736	if input == nil {
16737		input = &DescribeFleetsInput{}
16738	}
16739
16740	output = &DescribeFleetsOutput{}
16741	req = c.newRequest(op, input, output)
16742	return
16743}
16744
16745// DescribeFleets API operation for Amazon Elastic Compute Cloud.
16746//
16747// Describes the specified EC2 Fleets or all of your EC2 Fleets.
16748//
16749// For more information, see Monitoring your EC2 Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html#monitor-ec2-fleet)
16750// in the Amazon EC2 User Guide.
16751//
16752// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16753// with awserr.Error's Code and Message methods to get detailed information about
16754// the error.
16755//
16756// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16757// API operation DescribeFleets for usage and error information.
16758// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleets
16759func (c *EC2) DescribeFleets(input *DescribeFleetsInput) (*DescribeFleetsOutput, error) {
16760	req, out := c.DescribeFleetsRequest(input)
16761	return out, req.Send()
16762}
16763
16764// DescribeFleetsWithContext is the same as DescribeFleets with the addition of
16765// the ability to pass a context and additional request options.
16766//
16767// See DescribeFleets for details on how to use this API operation.
16768//
16769// The context must be non-nil and will be used for request cancellation. If
16770// the context is nil a panic will occur. In the future the SDK may create
16771// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16772// for more information on using Contexts.
16773func (c *EC2) DescribeFleetsWithContext(ctx aws.Context, input *DescribeFleetsInput, opts ...request.Option) (*DescribeFleetsOutput, error) {
16774	req, out := c.DescribeFleetsRequest(input)
16775	req.SetContext(ctx)
16776	req.ApplyOptions(opts...)
16777	return out, req.Send()
16778}
16779
16780// DescribeFleetsPages iterates over the pages of a DescribeFleets operation,
16781// calling the "fn" function with the response data for each page. To stop
16782// iterating, return false from the fn function.
16783//
16784// See DescribeFleets method for more information on how to use this operation.
16785//
16786// Note: This operation can generate multiple requests to a service.
16787//
16788//    // Example iterating over at most 3 pages of a DescribeFleets operation.
16789//    pageNum := 0
16790//    err := client.DescribeFleetsPages(params,
16791//        func(page *ec2.DescribeFleetsOutput, lastPage bool) bool {
16792//            pageNum++
16793//            fmt.Println(page)
16794//            return pageNum <= 3
16795//        })
16796//
16797func (c *EC2) DescribeFleetsPages(input *DescribeFleetsInput, fn func(*DescribeFleetsOutput, bool) bool) error {
16798	return c.DescribeFleetsPagesWithContext(aws.BackgroundContext(), input, fn)
16799}
16800
16801// DescribeFleetsPagesWithContext same as DescribeFleetsPages except
16802// it takes a Context and allows setting request options on the pages.
16803//
16804// The context must be non-nil and will be used for request cancellation. If
16805// the context is nil a panic will occur. In the future the SDK may create
16806// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16807// for more information on using Contexts.
16808func (c *EC2) DescribeFleetsPagesWithContext(ctx aws.Context, input *DescribeFleetsInput, fn func(*DescribeFleetsOutput, bool) bool, opts ...request.Option) error {
16809	p := request.Pagination{
16810		NewRequest: func() (*request.Request, error) {
16811			var inCpy *DescribeFleetsInput
16812			if input != nil {
16813				tmp := *input
16814				inCpy = &tmp
16815			}
16816			req, _ := c.DescribeFleetsRequest(inCpy)
16817			req.SetContext(ctx)
16818			req.ApplyOptions(opts...)
16819			return req, nil
16820		},
16821	}
16822
16823	for p.Next() {
16824		if !fn(p.Page().(*DescribeFleetsOutput), !p.HasNextPage()) {
16825			break
16826		}
16827	}
16828
16829	return p.Err()
16830}
16831
16832const opDescribeFlowLogs = "DescribeFlowLogs"
16833
16834// DescribeFlowLogsRequest generates a "aws/request.Request" representing the
16835// client's request for the DescribeFlowLogs operation. The "output" return
16836// value will be populated with the request's response once the request completes
16837// successfully.
16838//
16839// Use "Send" method on the returned Request to send the API call to the service.
16840// the "output" return value is not valid until after Send returns without error.
16841//
16842// See DescribeFlowLogs for more information on using the DescribeFlowLogs
16843// API call, and error handling.
16844//
16845// This method is useful when you want to inject custom logic or configuration
16846// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16847//
16848//
16849//    // Example sending a request using the DescribeFlowLogsRequest method.
16850//    req, resp := client.DescribeFlowLogsRequest(params)
16851//
16852//    err := req.Send()
16853//    if err == nil { // resp is now filled
16854//        fmt.Println(resp)
16855//    }
16856//
16857// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
16858func (c *EC2) DescribeFlowLogsRequest(input *DescribeFlowLogsInput) (req *request.Request, output *DescribeFlowLogsOutput) {
16859	op := &request.Operation{
16860		Name:       opDescribeFlowLogs,
16861		HTTPMethod: "POST",
16862		HTTPPath:   "/",
16863		Paginator: &request.Paginator{
16864			InputTokens:     []string{"NextToken"},
16865			OutputTokens:    []string{"NextToken"},
16866			LimitToken:      "MaxResults",
16867			TruncationToken: "",
16868		},
16869	}
16870
16871	if input == nil {
16872		input = &DescribeFlowLogsInput{}
16873	}
16874
16875	output = &DescribeFlowLogsOutput{}
16876	req = c.newRequest(op, input, output)
16877	return
16878}
16879
16880// DescribeFlowLogs API operation for Amazon Elastic Compute Cloud.
16881//
16882// Describes one or more flow logs. To view the information in your flow logs
16883// (the log streams for the network interfaces), you must use the CloudWatch
16884// Logs console or the CloudWatch Logs API.
16885//
16886// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16887// with awserr.Error's Code and Message methods to get detailed information about
16888// the error.
16889//
16890// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16891// API operation DescribeFlowLogs for usage and error information.
16892// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
16893func (c *EC2) DescribeFlowLogs(input *DescribeFlowLogsInput) (*DescribeFlowLogsOutput, error) {
16894	req, out := c.DescribeFlowLogsRequest(input)
16895	return out, req.Send()
16896}
16897
16898// DescribeFlowLogsWithContext is the same as DescribeFlowLogs with the addition of
16899// the ability to pass a context and additional request options.
16900//
16901// See DescribeFlowLogs for details on how to use this API operation.
16902//
16903// The context must be non-nil and will be used for request cancellation. If
16904// the context is nil a panic will occur. In the future the SDK may create
16905// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16906// for more information on using Contexts.
16907func (c *EC2) DescribeFlowLogsWithContext(ctx aws.Context, input *DescribeFlowLogsInput, opts ...request.Option) (*DescribeFlowLogsOutput, error) {
16908	req, out := c.DescribeFlowLogsRequest(input)
16909	req.SetContext(ctx)
16910	req.ApplyOptions(opts...)
16911	return out, req.Send()
16912}
16913
16914// DescribeFlowLogsPages iterates over the pages of a DescribeFlowLogs operation,
16915// calling the "fn" function with the response data for each page. To stop
16916// iterating, return false from the fn function.
16917//
16918// See DescribeFlowLogs method for more information on how to use this operation.
16919//
16920// Note: This operation can generate multiple requests to a service.
16921//
16922//    // Example iterating over at most 3 pages of a DescribeFlowLogs operation.
16923//    pageNum := 0
16924//    err := client.DescribeFlowLogsPages(params,
16925//        func(page *ec2.DescribeFlowLogsOutput, lastPage bool) bool {
16926//            pageNum++
16927//            fmt.Println(page)
16928//            return pageNum <= 3
16929//        })
16930//
16931func (c *EC2) DescribeFlowLogsPages(input *DescribeFlowLogsInput, fn func(*DescribeFlowLogsOutput, bool) bool) error {
16932	return c.DescribeFlowLogsPagesWithContext(aws.BackgroundContext(), input, fn)
16933}
16934
16935// DescribeFlowLogsPagesWithContext same as DescribeFlowLogsPages except
16936// it takes a Context and allows setting request options on the pages.
16937//
16938// The context must be non-nil and will be used for request cancellation. If
16939// the context is nil a panic will occur. In the future the SDK may create
16940// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16941// for more information on using Contexts.
16942func (c *EC2) DescribeFlowLogsPagesWithContext(ctx aws.Context, input *DescribeFlowLogsInput, fn func(*DescribeFlowLogsOutput, bool) bool, opts ...request.Option) error {
16943	p := request.Pagination{
16944		NewRequest: func() (*request.Request, error) {
16945			var inCpy *DescribeFlowLogsInput
16946			if input != nil {
16947				tmp := *input
16948				inCpy = &tmp
16949			}
16950			req, _ := c.DescribeFlowLogsRequest(inCpy)
16951			req.SetContext(ctx)
16952			req.ApplyOptions(opts...)
16953			return req, nil
16954		},
16955	}
16956
16957	for p.Next() {
16958		if !fn(p.Page().(*DescribeFlowLogsOutput), !p.HasNextPage()) {
16959			break
16960		}
16961	}
16962
16963	return p.Err()
16964}
16965
16966const opDescribeFpgaImageAttribute = "DescribeFpgaImageAttribute"
16967
16968// DescribeFpgaImageAttributeRequest generates a "aws/request.Request" representing the
16969// client's request for the DescribeFpgaImageAttribute operation. The "output" return
16970// value will be populated with the request's response once the request completes
16971// successfully.
16972//
16973// Use "Send" method on the returned Request to send the API call to the service.
16974// the "output" return value is not valid until after Send returns without error.
16975//
16976// See DescribeFpgaImageAttribute for more information on using the DescribeFpgaImageAttribute
16977// API call, and error handling.
16978//
16979// This method is useful when you want to inject custom logic or configuration
16980// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16981//
16982//
16983//    // Example sending a request using the DescribeFpgaImageAttributeRequest method.
16984//    req, resp := client.DescribeFpgaImageAttributeRequest(params)
16985//
16986//    err := req.Send()
16987//    if err == nil { // resp is now filled
16988//        fmt.Println(resp)
16989//    }
16990//
16991// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute
16992func (c *EC2) DescribeFpgaImageAttributeRequest(input *DescribeFpgaImageAttributeInput) (req *request.Request, output *DescribeFpgaImageAttributeOutput) {
16993	op := &request.Operation{
16994		Name:       opDescribeFpgaImageAttribute,
16995		HTTPMethod: "POST",
16996		HTTPPath:   "/",
16997	}
16998
16999	if input == nil {
17000		input = &DescribeFpgaImageAttributeInput{}
17001	}
17002
17003	output = &DescribeFpgaImageAttributeOutput{}
17004	req = c.newRequest(op, input, output)
17005	return
17006}
17007
17008// DescribeFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
17009//
17010// Describes the specified attribute of the specified Amazon FPGA Image (AFI).
17011//
17012// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17013// with awserr.Error's Code and Message methods to get detailed information about
17014// the error.
17015//
17016// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17017// API operation DescribeFpgaImageAttribute for usage and error information.
17018// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute
17019func (c *EC2) DescribeFpgaImageAttribute(input *DescribeFpgaImageAttributeInput) (*DescribeFpgaImageAttributeOutput, error) {
17020	req, out := c.DescribeFpgaImageAttributeRequest(input)
17021	return out, req.Send()
17022}
17023
17024// DescribeFpgaImageAttributeWithContext is the same as DescribeFpgaImageAttribute with the addition of
17025// the ability to pass a context and additional request options.
17026//
17027// See DescribeFpgaImageAttribute for details on how to use this API operation.
17028//
17029// The context must be non-nil and will be used for request cancellation. If
17030// the context is nil a panic will occur. In the future the SDK may create
17031// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17032// for more information on using Contexts.
17033func (c *EC2) DescribeFpgaImageAttributeWithContext(ctx aws.Context, input *DescribeFpgaImageAttributeInput, opts ...request.Option) (*DescribeFpgaImageAttributeOutput, error) {
17034	req, out := c.DescribeFpgaImageAttributeRequest(input)
17035	req.SetContext(ctx)
17036	req.ApplyOptions(opts...)
17037	return out, req.Send()
17038}
17039
17040const opDescribeFpgaImages = "DescribeFpgaImages"
17041
17042// DescribeFpgaImagesRequest generates a "aws/request.Request" representing the
17043// client's request for the DescribeFpgaImages operation. The "output" return
17044// value will be populated with the request's response once the request completes
17045// successfully.
17046//
17047// Use "Send" method on the returned Request to send the API call to the service.
17048// the "output" return value is not valid until after Send returns without error.
17049//
17050// See DescribeFpgaImages for more information on using the DescribeFpgaImages
17051// API call, and error handling.
17052//
17053// This method is useful when you want to inject custom logic or configuration
17054// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17055//
17056//
17057//    // Example sending a request using the DescribeFpgaImagesRequest method.
17058//    req, resp := client.DescribeFpgaImagesRequest(params)
17059//
17060//    err := req.Send()
17061//    if err == nil { // resp is now filled
17062//        fmt.Println(resp)
17063//    }
17064//
17065// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages
17066func (c *EC2) DescribeFpgaImagesRequest(input *DescribeFpgaImagesInput) (req *request.Request, output *DescribeFpgaImagesOutput) {
17067	op := &request.Operation{
17068		Name:       opDescribeFpgaImages,
17069		HTTPMethod: "POST",
17070		HTTPPath:   "/",
17071		Paginator: &request.Paginator{
17072			InputTokens:     []string{"NextToken"},
17073			OutputTokens:    []string{"NextToken"},
17074			LimitToken:      "MaxResults",
17075			TruncationToken: "",
17076		},
17077	}
17078
17079	if input == nil {
17080		input = &DescribeFpgaImagesInput{}
17081	}
17082
17083	output = &DescribeFpgaImagesOutput{}
17084	req = c.newRequest(op, input, output)
17085	return
17086}
17087
17088// DescribeFpgaImages API operation for Amazon Elastic Compute Cloud.
17089//
17090// Describes the Amazon FPGA Images (AFIs) available to you. These include public
17091// AFIs, private AFIs that you own, and AFIs owned by other AWS accounts for
17092// which you have load permissions.
17093//
17094// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17095// with awserr.Error's Code and Message methods to get detailed information about
17096// the error.
17097//
17098// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17099// API operation DescribeFpgaImages for usage and error information.
17100// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages
17101func (c *EC2) DescribeFpgaImages(input *DescribeFpgaImagesInput) (*DescribeFpgaImagesOutput, error) {
17102	req, out := c.DescribeFpgaImagesRequest(input)
17103	return out, req.Send()
17104}
17105
17106// DescribeFpgaImagesWithContext is the same as DescribeFpgaImages with the addition of
17107// the ability to pass a context and additional request options.
17108//
17109// See DescribeFpgaImages for details on how to use this API operation.
17110//
17111// The context must be non-nil and will be used for request cancellation. If
17112// the context is nil a panic will occur. In the future the SDK may create
17113// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17114// for more information on using Contexts.
17115func (c *EC2) DescribeFpgaImagesWithContext(ctx aws.Context, input *DescribeFpgaImagesInput, opts ...request.Option) (*DescribeFpgaImagesOutput, error) {
17116	req, out := c.DescribeFpgaImagesRequest(input)
17117	req.SetContext(ctx)
17118	req.ApplyOptions(opts...)
17119	return out, req.Send()
17120}
17121
17122// DescribeFpgaImagesPages iterates over the pages of a DescribeFpgaImages operation,
17123// calling the "fn" function with the response data for each page. To stop
17124// iterating, return false from the fn function.
17125//
17126// See DescribeFpgaImages method for more information on how to use this operation.
17127//
17128// Note: This operation can generate multiple requests to a service.
17129//
17130//    // Example iterating over at most 3 pages of a DescribeFpgaImages operation.
17131//    pageNum := 0
17132//    err := client.DescribeFpgaImagesPages(params,
17133//        func(page *ec2.DescribeFpgaImagesOutput, lastPage bool) bool {
17134//            pageNum++
17135//            fmt.Println(page)
17136//            return pageNum <= 3
17137//        })
17138//
17139func (c *EC2) DescribeFpgaImagesPages(input *DescribeFpgaImagesInput, fn func(*DescribeFpgaImagesOutput, bool) bool) error {
17140	return c.DescribeFpgaImagesPagesWithContext(aws.BackgroundContext(), input, fn)
17141}
17142
17143// DescribeFpgaImagesPagesWithContext same as DescribeFpgaImagesPages except
17144// it takes a Context and allows setting request options on the pages.
17145//
17146// The context must be non-nil and will be used for request cancellation. If
17147// the context is nil a panic will occur. In the future the SDK may create
17148// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17149// for more information on using Contexts.
17150func (c *EC2) DescribeFpgaImagesPagesWithContext(ctx aws.Context, input *DescribeFpgaImagesInput, fn func(*DescribeFpgaImagesOutput, bool) bool, opts ...request.Option) error {
17151	p := request.Pagination{
17152		NewRequest: func() (*request.Request, error) {
17153			var inCpy *DescribeFpgaImagesInput
17154			if input != nil {
17155				tmp := *input
17156				inCpy = &tmp
17157			}
17158			req, _ := c.DescribeFpgaImagesRequest(inCpy)
17159			req.SetContext(ctx)
17160			req.ApplyOptions(opts...)
17161			return req, nil
17162		},
17163	}
17164
17165	for p.Next() {
17166		if !fn(p.Page().(*DescribeFpgaImagesOutput), !p.HasNextPage()) {
17167			break
17168		}
17169	}
17170
17171	return p.Err()
17172}
17173
17174const opDescribeHostReservationOfferings = "DescribeHostReservationOfferings"
17175
17176// DescribeHostReservationOfferingsRequest generates a "aws/request.Request" representing the
17177// client's request for the DescribeHostReservationOfferings operation. The "output" return
17178// value will be populated with the request's response once the request completes
17179// successfully.
17180//
17181// Use "Send" method on the returned Request to send the API call to the service.
17182// the "output" return value is not valid until after Send returns without error.
17183//
17184// See DescribeHostReservationOfferings for more information on using the DescribeHostReservationOfferings
17185// API call, and error handling.
17186//
17187// This method is useful when you want to inject custom logic or configuration
17188// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17189//
17190//
17191//    // Example sending a request using the DescribeHostReservationOfferingsRequest method.
17192//    req, resp := client.DescribeHostReservationOfferingsRequest(params)
17193//
17194//    err := req.Send()
17195//    if err == nil { // resp is now filled
17196//        fmt.Println(resp)
17197//    }
17198//
17199// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
17200func (c *EC2) DescribeHostReservationOfferingsRequest(input *DescribeHostReservationOfferingsInput) (req *request.Request, output *DescribeHostReservationOfferingsOutput) {
17201	op := &request.Operation{
17202		Name:       opDescribeHostReservationOfferings,
17203		HTTPMethod: "POST",
17204		HTTPPath:   "/",
17205		Paginator: &request.Paginator{
17206			InputTokens:     []string{"NextToken"},
17207			OutputTokens:    []string{"NextToken"},
17208			LimitToken:      "MaxResults",
17209			TruncationToken: "",
17210		},
17211	}
17212
17213	if input == nil {
17214		input = &DescribeHostReservationOfferingsInput{}
17215	}
17216
17217	output = &DescribeHostReservationOfferingsOutput{}
17218	req = c.newRequest(op, input, output)
17219	return
17220}
17221
17222// DescribeHostReservationOfferings API operation for Amazon Elastic Compute Cloud.
17223//
17224// Describes the Dedicated Host reservations that are available to purchase.
17225//
17226// The results describe all of the Dedicated Host reservation offerings, including
17227// offerings that might not match the instance family and Region of your Dedicated
17228// Hosts. When purchasing an offering, ensure that the instance family and Region
17229// of the offering matches that of the Dedicated Hosts with which it is to be
17230// associated. For more information about supported instance types, see Dedicated
17231// Hosts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html)
17232// in the Amazon EC2 User Guide.
17233//
17234// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17235// with awserr.Error's Code and Message methods to get detailed information about
17236// the error.
17237//
17238// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17239// API operation DescribeHostReservationOfferings for usage and error information.
17240// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
17241func (c *EC2) DescribeHostReservationOfferings(input *DescribeHostReservationOfferingsInput) (*DescribeHostReservationOfferingsOutput, error) {
17242	req, out := c.DescribeHostReservationOfferingsRequest(input)
17243	return out, req.Send()
17244}
17245
17246// DescribeHostReservationOfferingsWithContext is the same as DescribeHostReservationOfferings with the addition of
17247// the ability to pass a context and additional request options.
17248//
17249// See DescribeHostReservationOfferings for details on how to use this API operation.
17250//
17251// The context must be non-nil and will be used for request cancellation. If
17252// the context is nil a panic will occur. In the future the SDK may create
17253// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17254// for more information on using Contexts.
17255func (c *EC2) DescribeHostReservationOfferingsWithContext(ctx aws.Context, input *DescribeHostReservationOfferingsInput, opts ...request.Option) (*DescribeHostReservationOfferingsOutput, error) {
17256	req, out := c.DescribeHostReservationOfferingsRequest(input)
17257	req.SetContext(ctx)
17258	req.ApplyOptions(opts...)
17259	return out, req.Send()
17260}
17261
17262// DescribeHostReservationOfferingsPages iterates over the pages of a DescribeHostReservationOfferings operation,
17263// calling the "fn" function with the response data for each page. To stop
17264// iterating, return false from the fn function.
17265//
17266// See DescribeHostReservationOfferings method for more information on how to use this operation.
17267//
17268// Note: This operation can generate multiple requests to a service.
17269//
17270//    // Example iterating over at most 3 pages of a DescribeHostReservationOfferings operation.
17271//    pageNum := 0
17272//    err := client.DescribeHostReservationOfferingsPages(params,
17273//        func(page *ec2.DescribeHostReservationOfferingsOutput, lastPage bool) bool {
17274//            pageNum++
17275//            fmt.Println(page)
17276//            return pageNum <= 3
17277//        })
17278//
17279func (c *EC2) DescribeHostReservationOfferingsPages(input *DescribeHostReservationOfferingsInput, fn func(*DescribeHostReservationOfferingsOutput, bool) bool) error {
17280	return c.DescribeHostReservationOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
17281}
17282
17283// DescribeHostReservationOfferingsPagesWithContext same as DescribeHostReservationOfferingsPages except
17284// it takes a Context and allows setting request options on the pages.
17285//
17286// The context must be non-nil and will be used for request cancellation. If
17287// the context is nil a panic will occur. In the future the SDK may create
17288// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17289// for more information on using Contexts.
17290func (c *EC2) DescribeHostReservationOfferingsPagesWithContext(ctx aws.Context, input *DescribeHostReservationOfferingsInput, fn func(*DescribeHostReservationOfferingsOutput, bool) bool, opts ...request.Option) error {
17291	p := request.Pagination{
17292		NewRequest: func() (*request.Request, error) {
17293			var inCpy *DescribeHostReservationOfferingsInput
17294			if input != nil {
17295				tmp := *input
17296				inCpy = &tmp
17297			}
17298			req, _ := c.DescribeHostReservationOfferingsRequest(inCpy)
17299			req.SetContext(ctx)
17300			req.ApplyOptions(opts...)
17301			return req, nil
17302		},
17303	}
17304
17305	for p.Next() {
17306		if !fn(p.Page().(*DescribeHostReservationOfferingsOutput), !p.HasNextPage()) {
17307			break
17308		}
17309	}
17310
17311	return p.Err()
17312}
17313
17314const opDescribeHostReservations = "DescribeHostReservations"
17315
17316// DescribeHostReservationsRequest generates a "aws/request.Request" representing the
17317// client's request for the DescribeHostReservations operation. The "output" return
17318// value will be populated with the request's response once the request completes
17319// successfully.
17320//
17321// Use "Send" method on the returned Request to send the API call to the service.
17322// the "output" return value is not valid until after Send returns without error.
17323//
17324// See DescribeHostReservations for more information on using the DescribeHostReservations
17325// API call, and error handling.
17326//
17327// This method is useful when you want to inject custom logic or configuration
17328// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17329//
17330//
17331//    // Example sending a request using the DescribeHostReservationsRequest method.
17332//    req, resp := client.DescribeHostReservationsRequest(params)
17333//
17334//    err := req.Send()
17335//    if err == nil { // resp is now filled
17336//        fmt.Println(resp)
17337//    }
17338//
17339// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
17340func (c *EC2) DescribeHostReservationsRequest(input *DescribeHostReservationsInput) (req *request.Request, output *DescribeHostReservationsOutput) {
17341	op := &request.Operation{
17342		Name:       opDescribeHostReservations,
17343		HTTPMethod: "POST",
17344		HTTPPath:   "/",
17345		Paginator: &request.Paginator{
17346			InputTokens:     []string{"NextToken"},
17347			OutputTokens:    []string{"NextToken"},
17348			LimitToken:      "MaxResults",
17349			TruncationToken: "",
17350		},
17351	}
17352
17353	if input == nil {
17354		input = &DescribeHostReservationsInput{}
17355	}
17356
17357	output = &DescribeHostReservationsOutput{}
17358	req = c.newRequest(op, input, output)
17359	return
17360}
17361
17362// DescribeHostReservations API operation for Amazon Elastic Compute Cloud.
17363//
17364// Describes reservations that are associated with Dedicated Hosts in your account.
17365//
17366// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17367// with awserr.Error's Code and Message methods to get detailed information about
17368// the error.
17369//
17370// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17371// API operation DescribeHostReservations for usage and error information.
17372// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
17373func (c *EC2) DescribeHostReservations(input *DescribeHostReservationsInput) (*DescribeHostReservationsOutput, error) {
17374	req, out := c.DescribeHostReservationsRequest(input)
17375	return out, req.Send()
17376}
17377
17378// DescribeHostReservationsWithContext is the same as DescribeHostReservations with the addition of
17379// the ability to pass a context and additional request options.
17380//
17381// See DescribeHostReservations for details on how to use this API operation.
17382//
17383// The context must be non-nil and will be used for request cancellation. If
17384// the context is nil a panic will occur. In the future the SDK may create
17385// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17386// for more information on using Contexts.
17387func (c *EC2) DescribeHostReservationsWithContext(ctx aws.Context, input *DescribeHostReservationsInput, opts ...request.Option) (*DescribeHostReservationsOutput, error) {
17388	req, out := c.DescribeHostReservationsRequest(input)
17389	req.SetContext(ctx)
17390	req.ApplyOptions(opts...)
17391	return out, req.Send()
17392}
17393
17394// DescribeHostReservationsPages iterates over the pages of a DescribeHostReservations operation,
17395// calling the "fn" function with the response data for each page. To stop
17396// iterating, return false from the fn function.
17397//
17398// See DescribeHostReservations method for more information on how to use this operation.
17399//
17400// Note: This operation can generate multiple requests to a service.
17401//
17402//    // Example iterating over at most 3 pages of a DescribeHostReservations operation.
17403//    pageNum := 0
17404//    err := client.DescribeHostReservationsPages(params,
17405//        func(page *ec2.DescribeHostReservationsOutput, lastPage bool) bool {
17406//            pageNum++
17407//            fmt.Println(page)
17408//            return pageNum <= 3
17409//        })
17410//
17411func (c *EC2) DescribeHostReservationsPages(input *DescribeHostReservationsInput, fn func(*DescribeHostReservationsOutput, bool) bool) error {
17412	return c.DescribeHostReservationsPagesWithContext(aws.BackgroundContext(), input, fn)
17413}
17414
17415// DescribeHostReservationsPagesWithContext same as DescribeHostReservationsPages except
17416// it takes a Context and allows setting request options on the pages.
17417//
17418// The context must be non-nil and will be used for request cancellation. If
17419// the context is nil a panic will occur. In the future the SDK may create
17420// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17421// for more information on using Contexts.
17422func (c *EC2) DescribeHostReservationsPagesWithContext(ctx aws.Context, input *DescribeHostReservationsInput, fn func(*DescribeHostReservationsOutput, bool) bool, opts ...request.Option) error {
17423	p := request.Pagination{
17424		NewRequest: func() (*request.Request, error) {
17425			var inCpy *DescribeHostReservationsInput
17426			if input != nil {
17427				tmp := *input
17428				inCpy = &tmp
17429			}
17430			req, _ := c.DescribeHostReservationsRequest(inCpy)
17431			req.SetContext(ctx)
17432			req.ApplyOptions(opts...)
17433			return req, nil
17434		},
17435	}
17436
17437	for p.Next() {
17438		if !fn(p.Page().(*DescribeHostReservationsOutput), !p.HasNextPage()) {
17439			break
17440		}
17441	}
17442
17443	return p.Err()
17444}
17445
17446const opDescribeHosts = "DescribeHosts"
17447
17448// DescribeHostsRequest generates a "aws/request.Request" representing the
17449// client's request for the DescribeHosts operation. The "output" return
17450// value will be populated with the request's response once the request completes
17451// successfully.
17452//
17453// Use "Send" method on the returned Request to send the API call to the service.
17454// the "output" return value is not valid until after Send returns without error.
17455//
17456// See DescribeHosts for more information on using the DescribeHosts
17457// API call, and error handling.
17458//
17459// This method is useful when you want to inject custom logic or configuration
17460// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17461//
17462//
17463//    // Example sending a request using the DescribeHostsRequest method.
17464//    req, resp := client.DescribeHostsRequest(params)
17465//
17466//    err := req.Send()
17467//    if err == nil { // resp is now filled
17468//        fmt.Println(resp)
17469//    }
17470//
17471// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
17472func (c *EC2) DescribeHostsRequest(input *DescribeHostsInput) (req *request.Request, output *DescribeHostsOutput) {
17473	op := &request.Operation{
17474		Name:       opDescribeHosts,
17475		HTTPMethod: "POST",
17476		HTTPPath:   "/",
17477		Paginator: &request.Paginator{
17478			InputTokens:     []string{"NextToken"},
17479			OutputTokens:    []string{"NextToken"},
17480			LimitToken:      "MaxResults",
17481			TruncationToken: "",
17482		},
17483	}
17484
17485	if input == nil {
17486		input = &DescribeHostsInput{}
17487	}
17488
17489	output = &DescribeHostsOutput{}
17490	req = c.newRequest(op, input, output)
17491	return
17492}
17493
17494// DescribeHosts API operation for Amazon Elastic Compute Cloud.
17495//
17496// Describes the specified Dedicated Hosts or all your Dedicated Hosts.
17497//
17498// The results describe only the Dedicated Hosts in the Region you're currently
17499// using. All listed instances consume capacity on your Dedicated Host. Dedicated
17500// Hosts that have recently been released are listed with the state released.
17501//
17502// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17503// with awserr.Error's Code and Message methods to get detailed information about
17504// the error.
17505//
17506// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17507// API operation DescribeHosts for usage and error information.
17508// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
17509func (c *EC2) DescribeHosts(input *DescribeHostsInput) (*DescribeHostsOutput, error) {
17510	req, out := c.DescribeHostsRequest(input)
17511	return out, req.Send()
17512}
17513
17514// DescribeHostsWithContext is the same as DescribeHosts with the addition of
17515// the ability to pass a context and additional request options.
17516//
17517// See DescribeHosts for details on how to use this API operation.
17518//
17519// The context must be non-nil and will be used for request cancellation. If
17520// the context is nil a panic will occur. In the future the SDK may create
17521// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17522// for more information on using Contexts.
17523func (c *EC2) DescribeHostsWithContext(ctx aws.Context, input *DescribeHostsInput, opts ...request.Option) (*DescribeHostsOutput, error) {
17524	req, out := c.DescribeHostsRequest(input)
17525	req.SetContext(ctx)
17526	req.ApplyOptions(opts...)
17527	return out, req.Send()
17528}
17529
17530// DescribeHostsPages iterates over the pages of a DescribeHosts operation,
17531// calling the "fn" function with the response data for each page. To stop
17532// iterating, return false from the fn function.
17533//
17534// See DescribeHosts method for more information on how to use this operation.
17535//
17536// Note: This operation can generate multiple requests to a service.
17537//
17538//    // Example iterating over at most 3 pages of a DescribeHosts operation.
17539//    pageNum := 0
17540//    err := client.DescribeHostsPages(params,
17541//        func(page *ec2.DescribeHostsOutput, lastPage bool) bool {
17542//            pageNum++
17543//            fmt.Println(page)
17544//            return pageNum <= 3
17545//        })
17546//
17547func (c *EC2) DescribeHostsPages(input *DescribeHostsInput, fn func(*DescribeHostsOutput, bool) bool) error {
17548	return c.DescribeHostsPagesWithContext(aws.BackgroundContext(), input, fn)
17549}
17550
17551// DescribeHostsPagesWithContext same as DescribeHostsPages except
17552// it takes a Context and allows setting request options on the pages.
17553//
17554// The context must be non-nil and will be used for request cancellation. If
17555// the context is nil a panic will occur. In the future the SDK may create
17556// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17557// for more information on using Contexts.
17558func (c *EC2) DescribeHostsPagesWithContext(ctx aws.Context, input *DescribeHostsInput, fn func(*DescribeHostsOutput, bool) bool, opts ...request.Option) error {
17559	p := request.Pagination{
17560		NewRequest: func() (*request.Request, error) {
17561			var inCpy *DescribeHostsInput
17562			if input != nil {
17563				tmp := *input
17564				inCpy = &tmp
17565			}
17566			req, _ := c.DescribeHostsRequest(inCpy)
17567			req.SetContext(ctx)
17568			req.ApplyOptions(opts...)
17569			return req, nil
17570		},
17571	}
17572
17573	for p.Next() {
17574		if !fn(p.Page().(*DescribeHostsOutput), !p.HasNextPage()) {
17575			break
17576		}
17577	}
17578
17579	return p.Err()
17580}
17581
17582const opDescribeIamInstanceProfileAssociations = "DescribeIamInstanceProfileAssociations"
17583
17584// DescribeIamInstanceProfileAssociationsRequest generates a "aws/request.Request" representing the
17585// client's request for the DescribeIamInstanceProfileAssociations operation. The "output" return
17586// value will be populated with the request's response once the request completes
17587// successfully.
17588//
17589// Use "Send" method on the returned Request to send the API call to the service.
17590// the "output" return value is not valid until after Send returns without error.
17591//
17592// See DescribeIamInstanceProfileAssociations for more information on using the DescribeIamInstanceProfileAssociations
17593// API call, and error handling.
17594//
17595// This method is useful when you want to inject custom logic or configuration
17596// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17597//
17598//
17599//    // Example sending a request using the DescribeIamInstanceProfileAssociationsRequest method.
17600//    req, resp := client.DescribeIamInstanceProfileAssociationsRequest(params)
17601//
17602//    err := req.Send()
17603//    if err == nil { // resp is now filled
17604//        fmt.Println(resp)
17605//    }
17606//
17607// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
17608func (c *EC2) DescribeIamInstanceProfileAssociationsRequest(input *DescribeIamInstanceProfileAssociationsInput) (req *request.Request, output *DescribeIamInstanceProfileAssociationsOutput) {
17609	op := &request.Operation{
17610		Name:       opDescribeIamInstanceProfileAssociations,
17611		HTTPMethod: "POST",
17612		HTTPPath:   "/",
17613		Paginator: &request.Paginator{
17614			InputTokens:     []string{"NextToken"},
17615			OutputTokens:    []string{"NextToken"},
17616			LimitToken:      "MaxResults",
17617			TruncationToken: "",
17618		},
17619	}
17620
17621	if input == nil {
17622		input = &DescribeIamInstanceProfileAssociationsInput{}
17623	}
17624
17625	output = &DescribeIamInstanceProfileAssociationsOutput{}
17626	req = c.newRequest(op, input, output)
17627	return
17628}
17629
17630// DescribeIamInstanceProfileAssociations API operation for Amazon Elastic Compute Cloud.
17631//
17632// Describes your IAM instance profile associations.
17633//
17634// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17635// with awserr.Error's Code and Message methods to get detailed information about
17636// the error.
17637//
17638// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17639// API operation DescribeIamInstanceProfileAssociations for usage and error information.
17640// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
17641func (c *EC2) DescribeIamInstanceProfileAssociations(input *DescribeIamInstanceProfileAssociationsInput) (*DescribeIamInstanceProfileAssociationsOutput, error) {
17642	req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
17643	return out, req.Send()
17644}
17645
17646// DescribeIamInstanceProfileAssociationsWithContext is the same as DescribeIamInstanceProfileAssociations with the addition of
17647// the ability to pass a context and additional request options.
17648//
17649// See DescribeIamInstanceProfileAssociations for details on how to use this API operation.
17650//
17651// The context must be non-nil and will be used for request cancellation. If
17652// the context is nil a panic will occur. In the future the SDK may create
17653// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17654// for more information on using Contexts.
17655func (c *EC2) DescribeIamInstanceProfileAssociationsWithContext(ctx aws.Context, input *DescribeIamInstanceProfileAssociationsInput, opts ...request.Option) (*DescribeIamInstanceProfileAssociationsOutput, error) {
17656	req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
17657	req.SetContext(ctx)
17658	req.ApplyOptions(opts...)
17659	return out, req.Send()
17660}
17661
17662// DescribeIamInstanceProfileAssociationsPages iterates over the pages of a DescribeIamInstanceProfileAssociations operation,
17663// calling the "fn" function with the response data for each page. To stop
17664// iterating, return false from the fn function.
17665//
17666// See DescribeIamInstanceProfileAssociations method for more information on how to use this operation.
17667//
17668// Note: This operation can generate multiple requests to a service.
17669//
17670//    // Example iterating over at most 3 pages of a DescribeIamInstanceProfileAssociations operation.
17671//    pageNum := 0
17672//    err := client.DescribeIamInstanceProfileAssociationsPages(params,
17673//        func(page *ec2.DescribeIamInstanceProfileAssociationsOutput, lastPage bool) bool {
17674//            pageNum++
17675//            fmt.Println(page)
17676//            return pageNum <= 3
17677//        })
17678//
17679func (c *EC2) DescribeIamInstanceProfileAssociationsPages(input *DescribeIamInstanceProfileAssociationsInput, fn func(*DescribeIamInstanceProfileAssociationsOutput, bool) bool) error {
17680	return c.DescribeIamInstanceProfileAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
17681}
17682
17683// DescribeIamInstanceProfileAssociationsPagesWithContext same as DescribeIamInstanceProfileAssociationsPages except
17684// it takes a Context and allows setting request options on the pages.
17685//
17686// The context must be non-nil and will be used for request cancellation. If
17687// the context is nil a panic will occur. In the future the SDK may create
17688// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17689// for more information on using Contexts.
17690func (c *EC2) DescribeIamInstanceProfileAssociationsPagesWithContext(ctx aws.Context, input *DescribeIamInstanceProfileAssociationsInput, fn func(*DescribeIamInstanceProfileAssociationsOutput, bool) bool, opts ...request.Option) error {
17691	p := request.Pagination{
17692		NewRequest: func() (*request.Request, error) {
17693			var inCpy *DescribeIamInstanceProfileAssociationsInput
17694			if input != nil {
17695				tmp := *input
17696				inCpy = &tmp
17697			}
17698			req, _ := c.DescribeIamInstanceProfileAssociationsRequest(inCpy)
17699			req.SetContext(ctx)
17700			req.ApplyOptions(opts...)
17701			return req, nil
17702		},
17703	}
17704
17705	for p.Next() {
17706		if !fn(p.Page().(*DescribeIamInstanceProfileAssociationsOutput), !p.HasNextPage()) {
17707			break
17708		}
17709	}
17710
17711	return p.Err()
17712}
17713
17714const opDescribeIdFormat = "DescribeIdFormat"
17715
17716// DescribeIdFormatRequest generates a "aws/request.Request" representing the
17717// client's request for the DescribeIdFormat operation. The "output" return
17718// value will be populated with the request's response once the request completes
17719// successfully.
17720//
17721// Use "Send" method on the returned Request to send the API call to the service.
17722// the "output" return value is not valid until after Send returns without error.
17723//
17724// See DescribeIdFormat for more information on using the DescribeIdFormat
17725// API call, and error handling.
17726//
17727// This method is useful when you want to inject custom logic or configuration
17728// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17729//
17730//
17731//    // Example sending a request using the DescribeIdFormatRequest method.
17732//    req, resp := client.DescribeIdFormatRequest(params)
17733//
17734//    err := req.Send()
17735//    if err == nil { // resp is now filled
17736//        fmt.Println(resp)
17737//    }
17738//
17739// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
17740func (c *EC2) DescribeIdFormatRequest(input *DescribeIdFormatInput) (req *request.Request, output *DescribeIdFormatOutput) {
17741	op := &request.Operation{
17742		Name:       opDescribeIdFormat,
17743		HTTPMethod: "POST",
17744		HTTPPath:   "/",
17745	}
17746
17747	if input == nil {
17748		input = &DescribeIdFormatInput{}
17749	}
17750
17751	output = &DescribeIdFormatOutput{}
17752	req = c.newRequest(op, input, output)
17753	return
17754}
17755
17756// DescribeIdFormat API operation for Amazon Elastic Compute Cloud.
17757//
17758// Describes the ID format settings for your resources on a per-Region basis,
17759// for example, to view which resource types are enabled for longer IDs. This
17760// request only returns information about resource types whose ID formats can
17761// be modified; it does not return information about other resource types.
17762//
17763// The following resource types support longer IDs: bundle | conversion-task
17764// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
17765// | export-task | flow-log | image | import-task | instance | internet-gateway
17766// | network-acl | network-acl-association | network-interface | network-interface-attachment
17767// | prefix-list | reservation | route-table | route-table-association | security-group
17768// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
17769// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
17770//
17771// These settings apply to the IAM user who makes the request; they do not apply
17772// to the entire AWS account. By default, an IAM user defaults to the same settings
17773// as the root user, unless they explicitly override the settings by running
17774// the ModifyIdFormat command. Resources created with longer IDs are visible
17775// to all IAM users, regardless of these settings and provided that they have
17776// permission to use the relevant Describe command for the resource type.
17777//
17778// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17779// with awserr.Error's Code and Message methods to get detailed information about
17780// the error.
17781//
17782// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17783// API operation DescribeIdFormat for usage and error information.
17784// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
17785func (c *EC2) DescribeIdFormat(input *DescribeIdFormatInput) (*DescribeIdFormatOutput, error) {
17786	req, out := c.DescribeIdFormatRequest(input)
17787	return out, req.Send()
17788}
17789
17790// DescribeIdFormatWithContext is the same as DescribeIdFormat with the addition of
17791// the ability to pass a context and additional request options.
17792//
17793// See DescribeIdFormat for details on how to use this API operation.
17794//
17795// The context must be non-nil and will be used for request cancellation. If
17796// the context is nil a panic will occur. In the future the SDK may create
17797// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17798// for more information on using Contexts.
17799func (c *EC2) DescribeIdFormatWithContext(ctx aws.Context, input *DescribeIdFormatInput, opts ...request.Option) (*DescribeIdFormatOutput, error) {
17800	req, out := c.DescribeIdFormatRequest(input)
17801	req.SetContext(ctx)
17802	req.ApplyOptions(opts...)
17803	return out, req.Send()
17804}
17805
17806const opDescribeIdentityIdFormat = "DescribeIdentityIdFormat"
17807
17808// DescribeIdentityIdFormatRequest generates a "aws/request.Request" representing the
17809// client's request for the DescribeIdentityIdFormat 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 DescribeIdentityIdFormat for more information on using the DescribeIdentityIdFormat
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 DescribeIdentityIdFormatRequest method.
17824//    req, resp := client.DescribeIdentityIdFormatRequest(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/DescribeIdentityIdFormat
17832func (c *EC2) DescribeIdentityIdFormatRequest(input *DescribeIdentityIdFormatInput) (req *request.Request, output *DescribeIdentityIdFormatOutput) {
17833	op := &request.Operation{
17834		Name:       opDescribeIdentityIdFormat,
17835		HTTPMethod: "POST",
17836		HTTPPath:   "/",
17837	}
17838
17839	if input == nil {
17840		input = &DescribeIdentityIdFormatInput{}
17841	}
17842
17843	output = &DescribeIdentityIdFormatOutput{}
17844	req = c.newRequest(op, input, output)
17845	return
17846}
17847
17848// DescribeIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
17849//
17850// Describes the ID format settings for resources for the specified IAM user,
17851// IAM role, or root user. For example, you can view the resource types that
17852// are enabled for longer IDs. This request only returns information about resource
17853// types whose ID formats can be modified; it does not return information about
17854// other resource types. For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
17855// in the Amazon Elastic Compute Cloud User Guide.
17856//
17857// The following resource types support longer IDs: bundle | conversion-task
17858// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
17859// | export-task | flow-log | image | import-task | instance | internet-gateway
17860// | network-acl | network-acl-association | network-interface | network-interface-attachment
17861// | prefix-list | reservation | route-table | route-table-association | security-group
17862// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
17863// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
17864//
17865// These settings apply to the principal specified in the request. They do not
17866// apply to the principal that makes the request.
17867//
17868// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17869// with awserr.Error's Code and Message methods to get detailed information about
17870// the error.
17871//
17872// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17873// API operation DescribeIdentityIdFormat for usage and error information.
17874// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
17875func (c *EC2) DescribeIdentityIdFormat(input *DescribeIdentityIdFormatInput) (*DescribeIdentityIdFormatOutput, error) {
17876	req, out := c.DescribeIdentityIdFormatRequest(input)
17877	return out, req.Send()
17878}
17879
17880// DescribeIdentityIdFormatWithContext is the same as DescribeIdentityIdFormat with the addition of
17881// the ability to pass a context and additional request options.
17882//
17883// See DescribeIdentityIdFormat for details on how to use this API operation.
17884//
17885// The context must be non-nil and will be used for request cancellation. If
17886// the context is nil a panic will occur. In the future the SDK may create
17887// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17888// for more information on using Contexts.
17889func (c *EC2) DescribeIdentityIdFormatWithContext(ctx aws.Context, input *DescribeIdentityIdFormatInput, opts ...request.Option) (*DescribeIdentityIdFormatOutput, error) {
17890	req, out := c.DescribeIdentityIdFormatRequest(input)
17891	req.SetContext(ctx)
17892	req.ApplyOptions(opts...)
17893	return out, req.Send()
17894}
17895
17896const opDescribeImageAttribute = "DescribeImageAttribute"
17897
17898// DescribeImageAttributeRequest generates a "aws/request.Request" representing the
17899// client's request for the DescribeImageAttribute operation. The "output" return
17900// value will be populated with the request's response once the request completes
17901// successfully.
17902//
17903// Use "Send" method on the returned Request to send the API call to the service.
17904// the "output" return value is not valid until after Send returns without error.
17905//
17906// See DescribeImageAttribute for more information on using the DescribeImageAttribute
17907// API call, and error handling.
17908//
17909// This method is useful when you want to inject custom logic or configuration
17910// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17911//
17912//
17913//    // Example sending a request using the DescribeImageAttributeRequest method.
17914//    req, resp := client.DescribeImageAttributeRequest(params)
17915//
17916//    err := req.Send()
17917//    if err == nil { // resp is now filled
17918//        fmt.Println(resp)
17919//    }
17920//
17921// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
17922func (c *EC2) DescribeImageAttributeRequest(input *DescribeImageAttributeInput) (req *request.Request, output *DescribeImageAttributeOutput) {
17923	op := &request.Operation{
17924		Name:       opDescribeImageAttribute,
17925		HTTPMethod: "POST",
17926		HTTPPath:   "/",
17927	}
17928
17929	if input == nil {
17930		input = &DescribeImageAttributeInput{}
17931	}
17932
17933	output = &DescribeImageAttributeOutput{}
17934	req = c.newRequest(op, input, output)
17935	return
17936}
17937
17938// DescribeImageAttribute API operation for Amazon Elastic Compute Cloud.
17939//
17940// Describes the specified attribute of the specified AMI. You can specify only
17941// one attribute at a time.
17942//
17943// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17944// with awserr.Error's Code and Message methods to get detailed information about
17945// the error.
17946//
17947// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17948// API operation DescribeImageAttribute for usage and error information.
17949// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
17950func (c *EC2) DescribeImageAttribute(input *DescribeImageAttributeInput) (*DescribeImageAttributeOutput, error) {
17951	req, out := c.DescribeImageAttributeRequest(input)
17952	return out, req.Send()
17953}
17954
17955// DescribeImageAttributeWithContext is the same as DescribeImageAttribute with the addition of
17956// the ability to pass a context and additional request options.
17957//
17958// See DescribeImageAttribute for details on how to use this API operation.
17959//
17960// The context must be non-nil and will be used for request cancellation. If
17961// the context is nil a panic will occur. In the future the SDK may create
17962// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17963// for more information on using Contexts.
17964func (c *EC2) DescribeImageAttributeWithContext(ctx aws.Context, input *DescribeImageAttributeInput, opts ...request.Option) (*DescribeImageAttributeOutput, error) {
17965	req, out := c.DescribeImageAttributeRequest(input)
17966	req.SetContext(ctx)
17967	req.ApplyOptions(opts...)
17968	return out, req.Send()
17969}
17970
17971const opDescribeImages = "DescribeImages"
17972
17973// DescribeImagesRequest generates a "aws/request.Request" representing the
17974// client's request for the DescribeImages operation. The "output" return
17975// value will be populated with the request's response once the request completes
17976// successfully.
17977//
17978// Use "Send" method on the returned Request to send the API call to the service.
17979// the "output" return value is not valid until after Send returns without error.
17980//
17981// See DescribeImages for more information on using the DescribeImages
17982// API call, and error handling.
17983//
17984// This method is useful when you want to inject custom logic or configuration
17985// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17986//
17987//
17988//    // Example sending a request using the DescribeImagesRequest method.
17989//    req, resp := client.DescribeImagesRequest(params)
17990//
17991//    err := req.Send()
17992//    if err == nil { // resp is now filled
17993//        fmt.Println(resp)
17994//    }
17995//
17996// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
17997func (c *EC2) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Request, output *DescribeImagesOutput) {
17998	op := &request.Operation{
17999		Name:       opDescribeImages,
18000		HTTPMethod: "POST",
18001		HTTPPath:   "/",
18002	}
18003
18004	if input == nil {
18005		input = &DescribeImagesInput{}
18006	}
18007
18008	output = &DescribeImagesOutput{}
18009	req = c.newRequest(op, input, output)
18010	return
18011}
18012
18013// DescribeImages API operation for Amazon Elastic Compute Cloud.
18014//
18015// Describes the specified images (AMIs, AKIs, and ARIs) available to you or
18016// all of the images available to you.
18017//
18018// The images available to you include public images, private images that you
18019// own, and private images owned by other AWS accounts for which you have explicit
18020// launch permissions.
18021//
18022// Recently deregistered images appear in the returned results for a short interval
18023// and then return empty results. After all instances that reference a deregistered
18024// AMI are terminated, specifying the ID of the image will eventually return
18025// an error indicating that the AMI ID cannot be found.
18026//
18027// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18028// with awserr.Error's Code and Message methods to get detailed information about
18029// the error.
18030//
18031// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18032// API operation DescribeImages for usage and error information.
18033// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
18034func (c *EC2) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) {
18035	req, out := c.DescribeImagesRequest(input)
18036	return out, req.Send()
18037}
18038
18039// DescribeImagesWithContext is the same as DescribeImages with the addition of
18040// the ability to pass a context and additional request options.
18041//
18042// See DescribeImages for details on how to use this API operation.
18043//
18044// The context must be non-nil and will be used for request cancellation. If
18045// the context is nil a panic will occur. In the future the SDK may create
18046// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18047// for more information on using Contexts.
18048func (c *EC2) DescribeImagesWithContext(ctx aws.Context, input *DescribeImagesInput, opts ...request.Option) (*DescribeImagesOutput, error) {
18049	req, out := c.DescribeImagesRequest(input)
18050	req.SetContext(ctx)
18051	req.ApplyOptions(opts...)
18052	return out, req.Send()
18053}
18054
18055const opDescribeImportImageTasks = "DescribeImportImageTasks"
18056
18057// DescribeImportImageTasksRequest generates a "aws/request.Request" representing the
18058// client's request for the DescribeImportImageTasks operation. The "output" return
18059// value will be populated with the request's response once the request completes
18060// successfully.
18061//
18062// Use "Send" method on the returned Request to send the API call to the service.
18063// the "output" return value is not valid until after Send returns without error.
18064//
18065// See DescribeImportImageTasks for more information on using the DescribeImportImageTasks
18066// API call, and error handling.
18067//
18068// This method is useful when you want to inject custom logic or configuration
18069// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18070//
18071//
18072//    // Example sending a request using the DescribeImportImageTasksRequest method.
18073//    req, resp := client.DescribeImportImageTasksRequest(params)
18074//
18075//    err := req.Send()
18076//    if err == nil { // resp is now filled
18077//        fmt.Println(resp)
18078//    }
18079//
18080// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
18081func (c *EC2) DescribeImportImageTasksRequest(input *DescribeImportImageTasksInput) (req *request.Request, output *DescribeImportImageTasksOutput) {
18082	op := &request.Operation{
18083		Name:       opDescribeImportImageTasks,
18084		HTTPMethod: "POST",
18085		HTTPPath:   "/",
18086		Paginator: &request.Paginator{
18087			InputTokens:     []string{"NextToken"},
18088			OutputTokens:    []string{"NextToken"},
18089			LimitToken:      "MaxResults",
18090			TruncationToken: "",
18091		},
18092	}
18093
18094	if input == nil {
18095		input = &DescribeImportImageTasksInput{}
18096	}
18097
18098	output = &DescribeImportImageTasksOutput{}
18099	req = c.newRequest(op, input, output)
18100	return
18101}
18102
18103// DescribeImportImageTasks API operation for Amazon Elastic Compute Cloud.
18104//
18105// Displays details about an import virtual machine or import snapshot tasks
18106// that are already created.
18107//
18108// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18109// with awserr.Error's Code and Message methods to get detailed information about
18110// the error.
18111//
18112// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18113// API operation DescribeImportImageTasks for usage and error information.
18114// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
18115func (c *EC2) DescribeImportImageTasks(input *DescribeImportImageTasksInput) (*DescribeImportImageTasksOutput, error) {
18116	req, out := c.DescribeImportImageTasksRequest(input)
18117	return out, req.Send()
18118}
18119
18120// DescribeImportImageTasksWithContext is the same as DescribeImportImageTasks with the addition of
18121// the ability to pass a context and additional request options.
18122//
18123// See DescribeImportImageTasks for details on how to use this API operation.
18124//
18125// The context must be non-nil and will be used for request cancellation. If
18126// the context is nil a panic will occur. In the future the SDK may create
18127// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18128// for more information on using Contexts.
18129func (c *EC2) DescribeImportImageTasksWithContext(ctx aws.Context, input *DescribeImportImageTasksInput, opts ...request.Option) (*DescribeImportImageTasksOutput, error) {
18130	req, out := c.DescribeImportImageTasksRequest(input)
18131	req.SetContext(ctx)
18132	req.ApplyOptions(opts...)
18133	return out, req.Send()
18134}
18135
18136// DescribeImportImageTasksPages iterates over the pages of a DescribeImportImageTasks operation,
18137// calling the "fn" function with the response data for each page. To stop
18138// iterating, return false from the fn function.
18139//
18140// See DescribeImportImageTasks method for more information on how to use this operation.
18141//
18142// Note: This operation can generate multiple requests to a service.
18143//
18144//    // Example iterating over at most 3 pages of a DescribeImportImageTasks operation.
18145//    pageNum := 0
18146//    err := client.DescribeImportImageTasksPages(params,
18147//        func(page *ec2.DescribeImportImageTasksOutput, lastPage bool) bool {
18148//            pageNum++
18149//            fmt.Println(page)
18150//            return pageNum <= 3
18151//        })
18152//
18153func (c *EC2) DescribeImportImageTasksPages(input *DescribeImportImageTasksInput, fn func(*DescribeImportImageTasksOutput, bool) bool) error {
18154	return c.DescribeImportImageTasksPagesWithContext(aws.BackgroundContext(), input, fn)
18155}
18156
18157// DescribeImportImageTasksPagesWithContext same as DescribeImportImageTasksPages except
18158// it takes a Context and allows setting request options on the pages.
18159//
18160// The context must be non-nil and will be used for request cancellation. If
18161// the context is nil a panic will occur. In the future the SDK may create
18162// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18163// for more information on using Contexts.
18164func (c *EC2) DescribeImportImageTasksPagesWithContext(ctx aws.Context, input *DescribeImportImageTasksInput, fn func(*DescribeImportImageTasksOutput, bool) bool, opts ...request.Option) error {
18165	p := request.Pagination{
18166		NewRequest: func() (*request.Request, error) {
18167			var inCpy *DescribeImportImageTasksInput
18168			if input != nil {
18169				tmp := *input
18170				inCpy = &tmp
18171			}
18172			req, _ := c.DescribeImportImageTasksRequest(inCpy)
18173			req.SetContext(ctx)
18174			req.ApplyOptions(opts...)
18175			return req, nil
18176		},
18177	}
18178
18179	for p.Next() {
18180		if !fn(p.Page().(*DescribeImportImageTasksOutput), !p.HasNextPage()) {
18181			break
18182		}
18183	}
18184
18185	return p.Err()
18186}
18187
18188const opDescribeImportSnapshotTasks = "DescribeImportSnapshotTasks"
18189
18190// DescribeImportSnapshotTasksRequest generates a "aws/request.Request" representing the
18191// client's request for the DescribeImportSnapshotTasks operation. The "output" return
18192// value will be populated with the request's response once the request completes
18193// successfully.
18194//
18195// Use "Send" method on the returned Request to send the API call to the service.
18196// the "output" return value is not valid until after Send returns without error.
18197//
18198// See DescribeImportSnapshotTasks for more information on using the DescribeImportSnapshotTasks
18199// API call, and error handling.
18200//
18201// This method is useful when you want to inject custom logic or configuration
18202// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18203//
18204//
18205//    // Example sending a request using the DescribeImportSnapshotTasksRequest method.
18206//    req, resp := client.DescribeImportSnapshotTasksRequest(params)
18207//
18208//    err := req.Send()
18209//    if err == nil { // resp is now filled
18210//        fmt.Println(resp)
18211//    }
18212//
18213// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
18214func (c *EC2) DescribeImportSnapshotTasksRequest(input *DescribeImportSnapshotTasksInput) (req *request.Request, output *DescribeImportSnapshotTasksOutput) {
18215	op := &request.Operation{
18216		Name:       opDescribeImportSnapshotTasks,
18217		HTTPMethod: "POST",
18218		HTTPPath:   "/",
18219		Paginator: &request.Paginator{
18220			InputTokens:     []string{"NextToken"},
18221			OutputTokens:    []string{"NextToken"},
18222			LimitToken:      "MaxResults",
18223			TruncationToken: "",
18224		},
18225	}
18226
18227	if input == nil {
18228		input = &DescribeImportSnapshotTasksInput{}
18229	}
18230
18231	output = &DescribeImportSnapshotTasksOutput{}
18232	req = c.newRequest(op, input, output)
18233	return
18234}
18235
18236// DescribeImportSnapshotTasks API operation for Amazon Elastic Compute Cloud.
18237//
18238// Describes your import snapshot tasks.
18239//
18240// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18241// with awserr.Error's Code and Message methods to get detailed information about
18242// the error.
18243//
18244// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18245// API operation DescribeImportSnapshotTasks for usage and error information.
18246// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
18247func (c *EC2) DescribeImportSnapshotTasks(input *DescribeImportSnapshotTasksInput) (*DescribeImportSnapshotTasksOutput, error) {
18248	req, out := c.DescribeImportSnapshotTasksRequest(input)
18249	return out, req.Send()
18250}
18251
18252// DescribeImportSnapshotTasksWithContext is the same as DescribeImportSnapshotTasks with the addition of
18253// the ability to pass a context and additional request options.
18254//
18255// See DescribeImportSnapshotTasks for details on how to use this API operation.
18256//
18257// The context must be non-nil and will be used for request cancellation. If
18258// the context is nil a panic will occur. In the future the SDK may create
18259// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18260// for more information on using Contexts.
18261func (c *EC2) DescribeImportSnapshotTasksWithContext(ctx aws.Context, input *DescribeImportSnapshotTasksInput, opts ...request.Option) (*DescribeImportSnapshotTasksOutput, error) {
18262	req, out := c.DescribeImportSnapshotTasksRequest(input)
18263	req.SetContext(ctx)
18264	req.ApplyOptions(opts...)
18265	return out, req.Send()
18266}
18267
18268// DescribeImportSnapshotTasksPages iterates over the pages of a DescribeImportSnapshotTasks operation,
18269// calling the "fn" function with the response data for each page. To stop
18270// iterating, return false from the fn function.
18271//
18272// See DescribeImportSnapshotTasks method for more information on how to use this operation.
18273//
18274// Note: This operation can generate multiple requests to a service.
18275//
18276//    // Example iterating over at most 3 pages of a DescribeImportSnapshotTasks operation.
18277//    pageNum := 0
18278//    err := client.DescribeImportSnapshotTasksPages(params,
18279//        func(page *ec2.DescribeImportSnapshotTasksOutput, lastPage bool) bool {
18280//            pageNum++
18281//            fmt.Println(page)
18282//            return pageNum <= 3
18283//        })
18284//
18285func (c *EC2) DescribeImportSnapshotTasksPages(input *DescribeImportSnapshotTasksInput, fn func(*DescribeImportSnapshotTasksOutput, bool) bool) error {
18286	return c.DescribeImportSnapshotTasksPagesWithContext(aws.BackgroundContext(), input, fn)
18287}
18288
18289// DescribeImportSnapshotTasksPagesWithContext same as DescribeImportSnapshotTasksPages except
18290// it takes a Context and allows setting request options on the pages.
18291//
18292// The context must be non-nil and will be used for request cancellation. If
18293// the context is nil a panic will occur. In the future the SDK may create
18294// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18295// for more information on using Contexts.
18296func (c *EC2) DescribeImportSnapshotTasksPagesWithContext(ctx aws.Context, input *DescribeImportSnapshotTasksInput, fn func(*DescribeImportSnapshotTasksOutput, bool) bool, opts ...request.Option) error {
18297	p := request.Pagination{
18298		NewRequest: func() (*request.Request, error) {
18299			var inCpy *DescribeImportSnapshotTasksInput
18300			if input != nil {
18301				tmp := *input
18302				inCpy = &tmp
18303			}
18304			req, _ := c.DescribeImportSnapshotTasksRequest(inCpy)
18305			req.SetContext(ctx)
18306			req.ApplyOptions(opts...)
18307			return req, nil
18308		},
18309	}
18310
18311	for p.Next() {
18312		if !fn(p.Page().(*DescribeImportSnapshotTasksOutput), !p.HasNextPage()) {
18313			break
18314		}
18315	}
18316
18317	return p.Err()
18318}
18319
18320const opDescribeInstanceAttribute = "DescribeInstanceAttribute"
18321
18322// DescribeInstanceAttributeRequest generates a "aws/request.Request" representing the
18323// client's request for the DescribeInstanceAttribute operation. The "output" return
18324// value will be populated with the request's response once the request completes
18325// successfully.
18326//
18327// Use "Send" method on the returned Request to send the API call to the service.
18328// the "output" return value is not valid until after Send returns without error.
18329//
18330// See DescribeInstanceAttribute for more information on using the DescribeInstanceAttribute
18331// API call, and error handling.
18332//
18333// This method is useful when you want to inject custom logic or configuration
18334// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18335//
18336//
18337//    // Example sending a request using the DescribeInstanceAttributeRequest method.
18338//    req, resp := client.DescribeInstanceAttributeRequest(params)
18339//
18340//    err := req.Send()
18341//    if err == nil { // resp is now filled
18342//        fmt.Println(resp)
18343//    }
18344//
18345// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
18346func (c *EC2) DescribeInstanceAttributeRequest(input *DescribeInstanceAttributeInput) (req *request.Request, output *DescribeInstanceAttributeOutput) {
18347	op := &request.Operation{
18348		Name:       opDescribeInstanceAttribute,
18349		HTTPMethod: "POST",
18350		HTTPPath:   "/",
18351	}
18352
18353	if input == nil {
18354		input = &DescribeInstanceAttributeInput{}
18355	}
18356
18357	output = &DescribeInstanceAttributeOutput{}
18358	req = c.newRequest(op, input, output)
18359	return
18360}
18361
18362// DescribeInstanceAttribute API operation for Amazon Elastic Compute Cloud.
18363//
18364// Describes the specified attribute of the specified instance. You can specify
18365// only one attribute at a time. Valid attribute values are: instanceType |
18366// kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior
18367// | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck |
18368// groupSet | ebsOptimized | sriovNetSupport
18369//
18370// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18371// with awserr.Error's Code and Message methods to get detailed information about
18372// the error.
18373//
18374// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18375// API operation DescribeInstanceAttribute for usage and error information.
18376// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
18377func (c *EC2) DescribeInstanceAttribute(input *DescribeInstanceAttributeInput) (*DescribeInstanceAttributeOutput, error) {
18378	req, out := c.DescribeInstanceAttributeRequest(input)
18379	return out, req.Send()
18380}
18381
18382// DescribeInstanceAttributeWithContext is the same as DescribeInstanceAttribute with the addition of
18383// the ability to pass a context and additional request options.
18384//
18385// See DescribeInstanceAttribute for details on how to use this API operation.
18386//
18387// The context must be non-nil and will be used for request cancellation. If
18388// the context is nil a panic will occur. In the future the SDK may create
18389// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18390// for more information on using Contexts.
18391func (c *EC2) DescribeInstanceAttributeWithContext(ctx aws.Context, input *DescribeInstanceAttributeInput, opts ...request.Option) (*DescribeInstanceAttributeOutput, error) {
18392	req, out := c.DescribeInstanceAttributeRequest(input)
18393	req.SetContext(ctx)
18394	req.ApplyOptions(opts...)
18395	return out, req.Send()
18396}
18397
18398const opDescribeInstanceCreditSpecifications = "DescribeInstanceCreditSpecifications"
18399
18400// DescribeInstanceCreditSpecificationsRequest generates a "aws/request.Request" representing the
18401// client's request for the DescribeInstanceCreditSpecifications operation. The "output" return
18402// value will be populated with the request's response once the request completes
18403// successfully.
18404//
18405// Use "Send" method on the returned Request to send the API call to the service.
18406// the "output" return value is not valid until after Send returns without error.
18407//
18408// See DescribeInstanceCreditSpecifications for more information on using the DescribeInstanceCreditSpecifications
18409// API call, and error handling.
18410//
18411// This method is useful when you want to inject custom logic or configuration
18412// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18413//
18414//
18415//    // Example sending a request using the DescribeInstanceCreditSpecificationsRequest method.
18416//    req, resp := client.DescribeInstanceCreditSpecificationsRequest(params)
18417//
18418//    err := req.Send()
18419//    if err == nil { // resp is now filled
18420//        fmt.Println(resp)
18421//    }
18422//
18423// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecifications
18424func (c *EC2) DescribeInstanceCreditSpecificationsRequest(input *DescribeInstanceCreditSpecificationsInput) (req *request.Request, output *DescribeInstanceCreditSpecificationsOutput) {
18425	op := &request.Operation{
18426		Name:       opDescribeInstanceCreditSpecifications,
18427		HTTPMethod: "POST",
18428		HTTPPath:   "/",
18429		Paginator: &request.Paginator{
18430			InputTokens:     []string{"NextToken"},
18431			OutputTokens:    []string{"NextToken"},
18432			LimitToken:      "MaxResults",
18433			TruncationToken: "",
18434		},
18435	}
18436
18437	if input == nil {
18438		input = &DescribeInstanceCreditSpecificationsInput{}
18439	}
18440
18441	output = &DescribeInstanceCreditSpecificationsOutput{}
18442	req = c.newRequest(op, input, output)
18443	return
18444}
18445
18446// DescribeInstanceCreditSpecifications API operation for Amazon Elastic Compute Cloud.
18447//
18448// Describes the credit option for CPU usage of the specified burstable performance
18449// instances. The credit options are standard and unlimited.
18450//
18451// If you do not specify an instance ID, Amazon EC2 returns burstable performance
18452// instances with the unlimited credit option, as well as instances that were
18453// previously configured as T2, T3, and T3a with the unlimited credit option.
18454// For example, if you resize a T2 instance, while it is configured as unlimited,
18455// to an M4 instance, Amazon EC2 returns the M4 instance.
18456//
18457// If you specify one or more instance IDs, Amazon EC2 returns the credit option
18458// (standard or unlimited) of those instances. If you specify an instance ID
18459// that is not valid, such as an instance that is not a burstable performance
18460// instance, an error is returned.
18461//
18462// Recently terminated instances might appear in the returned results. This
18463// interval is usually less than one hour.
18464//
18465// If an Availability Zone is experiencing a service disruption and you specify
18466// instance IDs in the affected zone, or do not specify any instance IDs at
18467// all, the call fails. If you specify only instance IDs in an unaffected zone,
18468// the call works normally.
18469//
18470// For more information, see Burstable performance instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
18471// in the Amazon EC2 User Guide.
18472//
18473// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18474// with awserr.Error's Code and Message methods to get detailed information about
18475// the error.
18476//
18477// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18478// API operation DescribeInstanceCreditSpecifications for usage and error information.
18479// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecifications
18480func (c *EC2) DescribeInstanceCreditSpecifications(input *DescribeInstanceCreditSpecificationsInput) (*DescribeInstanceCreditSpecificationsOutput, error) {
18481	req, out := c.DescribeInstanceCreditSpecificationsRequest(input)
18482	return out, req.Send()
18483}
18484
18485// DescribeInstanceCreditSpecificationsWithContext is the same as DescribeInstanceCreditSpecifications with the addition of
18486// the ability to pass a context and additional request options.
18487//
18488// See DescribeInstanceCreditSpecifications for details on how to use this API operation.
18489//
18490// The context must be non-nil and will be used for request cancellation. If
18491// the context is nil a panic will occur. In the future the SDK may create
18492// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18493// for more information on using Contexts.
18494func (c *EC2) DescribeInstanceCreditSpecificationsWithContext(ctx aws.Context, input *DescribeInstanceCreditSpecificationsInput, opts ...request.Option) (*DescribeInstanceCreditSpecificationsOutput, error) {
18495	req, out := c.DescribeInstanceCreditSpecificationsRequest(input)
18496	req.SetContext(ctx)
18497	req.ApplyOptions(opts...)
18498	return out, req.Send()
18499}
18500
18501// DescribeInstanceCreditSpecificationsPages iterates over the pages of a DescribeInstanceCreditSpecifications operation,
18502// calling the "fn" function with the response data for each page. To stop
18503// iterating, return false from the fn function.
18504//
18505// See DescribeInstanceCreditSpecifications method for more information on how to use this operation.
18506//
18507// Note: This operation can generate multiple requests to a service.
18508//
18509//    // Example iterating over at most 3 pages of a DescribeInstanceCreditSpecifications operation.
18510//    pageNum := 0
18511//    err := client.DescribeInstanceCreditSpecificationsPages(params,
18512//        func(page *ec2.DescribeInstanceCreditSpecificationsOutput, lastPage bool) bool {
18513//            pageNum++
18514//            fmt.Println(page)
18515//            return pageNum <= 3
18516//        })
18517//
18518func (c *EC2) DescribeInstanceCreditSpecificationsPages(input *DescribeInstanceCreditSpecificationsInput, fn func(*DescribeInstanceCreditSpecificationsOutput, bool) bool) error {
18519	return c.DescribeInstanceCreditSpecificationsPagesWithContext(aws.BackgroundContext(), input, fn)
18520}
18521
18522// DescribeInstanceCreditSpecificationsPagesWithContext same as DescribeInstanceCreditSpecificationsPages except
18523// it takes a Context and allows setting request options on the pages.
18524//
18525// The context must be non-nil and will be used for request cancellation. If
18526// the context is nil a panic will occur. In the future the SDK may create
18527// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18528// for more information on using Contexts.
18529func (c *EC2) DescribeInstanceCreditSpecificationsPagesWithContext(ctx aws.Context, input *DescribeInstanceCreditSpecificationsInput, fn func(*DescribeInstanceCreditSpecificationsOutput, bool) bool, opts ...request.Option) error {
18530	p := request.Pagination{
18531		NewRequest: func() (*request.Request, error) {
18532			var inCpy *DescribeInstanceCreditSpecificationsInput
18533			if input != nil {
18534				tmp := *input
18535				inCpy = &tmp
18536			}
18537			req, _ := c.DescribeInstanceCreditSpecificationsRequest(inCpy)
18538			req.SetContext(ctx)
18539			req.ApplyOptions(opts...)
18540			return req, nil
18541		},
18542	}
18543
18544	for p.Next() {
18545		if !fn(p.Page().(*DescribeInstanceCreditSpecificationsOutput), !p.HasNextPage()) {
18546			break
18547		}
18548	}
18549
18550	return p.Err()
18551}
18552
18553const opDescribeInstanceEventNotificationAttributes = "DescribeInstanceEventNotificationAttributes"
18554
18555// DescribeInstanceEventNotificationAttributesRequest generates a "aws/request.Request" representing the
18556// client's request for the DescribeInstanceEventNotificationAttributes operation. The "output" return
18557// value will be populated with the request's response once the request completes
18558// successfully.
18559//
18560// Use "Send" method on the returned Request to send the API call to the service.
18561// the "output" return value is not valid until after Send returns without error.
18562//
18563// See DescribeInstanceEventNotificationAttributes for more information on using the DescribeInstanceEventNotificationAttributes
18564// API call, and error handling.
18565//
18566// This method is useful when you want to inject custom logic or configuration
18567// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18568//
18569//
18570//    // Example sending a request using the DescribeInstanceEventNotificationAttributesRequest method.
18571//    req, resp := client.DescribeInstanceEventNotificationAttributesRequest(params)
18572//
18573//    err := req.Send()
18574//    if err == nil { // resp is now filled
18575//        fmt.Println(resp)
18576//    }
18577//
18578// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceEventNotificationAttributes
18579func (c *EC2) DescribeInstanceEventNotificationAttributesRequest(input *DescribeInstanceEventNotificationAttributesInput) (req *request.Request, output *DescribeInstanceEventNotificationAttributesOutput) {
18580	op := &request.Operation{
18581		Name:       opDescribeInstanceEventNotificationAttributes,
18582		HTTPMethod: "POST",
18583		HTTPPath:   "/",
18584	}
18585
18586	if input == nil {
18587		input = &DescribeInstanceEventNotificationAttributesInput{}
18588	}
18589
18590	output = &DescribeInstanceEventNotificationAttributesOutput{}
18591	req = c.newRequest(op, input, output)
18592	return
18593}
18594
18595// DescribeInstanceEventNotificationAttributes API operation for Amazon Elastic Compute Cloud.
18596//
18597// Describes the tag keys that are registered to appear in scheduled event notifications
18598// for resources in the current Region.
18599//
18600// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18601// with awserr.Error's Code and Message methods to get detailed information about
18602// the error.
18603//
18604// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18605// API operation DescribeInstanceEventNotificationAttributes for usage and error information.
18606// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceEventNotificationAttributes
18607func (c *EC2) DescribeInstanceEventNotificationAttributes(input *DescribeInstanceEventNotificationAttributesInput) (*DescribeInstanceEventNotificationAttributesOutput, error) {
18608	req, out := c.DescribeInstanceEventNotificationAttributesRequest(input)
18609	return out, req.Send()
18610}
18611
18612// DescribeInstanceEventNotificationAttributesWithContext is the same as DescribeInstanceEventNotificationAttributes with the addition of
18613// the ability to pass a context and additional request options.
18614//
18615// See DescribeInstanceEventNotificationAttributes for details on how to use this API operation.
18616//
18617// The context must be non-nil and will be used for request cancellation. If
18618// the context is nil a panic will occur. In the future the SDK may create
18619// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18620// for more information on using Contexts.
18621func (c *EC2) DescribeInstanceEventNotificationAttributesWithContext(ctx aws.Context, input *DescribeInstanceEventNotificationAttributesInput, opts ...request.Option) (*DescribeInstanceEventNotificationAttributesOutput, error) {
18622	req, out := c.DescribeInstanceEventNotificationAttributesRequest(input)
18623	req.SetContext(ctx)
18624	req.ApplyOptions(opts...)
18625	return out, req.Send()
18626}
18627
18628const opDescribeInstanceEventWindows = "DescribeInstanceEventWindows"
18629
18630// DescribeInstanceEventWindowsRequest generates a "aws/request.Request" representing the
18631// client's request for the DescribeInstanceEventWindows operation. The "output" return
18632// value will be populated with the request's response once the request completes
18633// successfully.
18634//
18635// Use "Send" method on the returned Request to send the API call to the service.
18636// the "output" return value is not valid until after Send returns without error.
18637//
18638// See DescribeInstanceEventWindows for more information on using the DescribeInstanceEventWindows
18639// API call, and error handling.
18640//
18641// This method is useful when you want to inject custom logic or configuration
18642// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18643//
18644//
18645//    // Example sending a request using the DescribeInstanceEventWindowsRequest method.
18646//    req, resp := client.DescribeInstanceEventWindowsRequest(params)
18647//
18648//    err := req.Send()
18649//    if err == nil { // resp is now filled
18650//        fmt.Println(resp)
18651//    }
18652//
18653// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceEventWindows
18654func (c *EC2) DescribeInstanceEventWindowsRequest(input *DescribeInstanceEventWindowsInput) (req *request.Request, output *DescribeInstanceEventWindowsOutput) {
18655	op := &request.Operation{
18656		Name:       opDescribeInstanceEventWindows,
18657		HTTPMethod: "POST",
18658		HTTPPath:   "/",
18659		Paginator: &request.Paginator{
18660			InputTokens:     []string{"NextToken"},
18661			OutputTokens:    []string{"NextToken"},
18662			LimitToken:      "MaxResults",
18663			TruncationToken: "",
18664		},
18665	}
18666
18667	if input == nil {
18668		input = &DescribeInstanceEventWindowsInput{}
18669	}
18670
18671	output = &DescribeInstanceEventWindowsOutput{}
18672	req = c.newRequest(op, input, output)
18673	return
18674}
18675
18676// DescribeInstanceEventWindows API operation for Amazon Elastic Compute Cloud.
18677//
18678// Describes the specified event windows or all event windows.
18679//
18680// If you specify event window IDs, the output includes information for only
18681// the specified event windows. If you specify filters, the output includes
18682// information for only those event windows that meet the filter criteria. If
18683// you do not specify event windows IDs or filters, the output includes information
18684// for all event windows, which can affect performance. We recommend that you
18685// use pagination to ensure that the operation returns quickly and successfully.
18686//
18687// For more information, see Define event windows for scheduled events (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/event-windows.html)
18688// in the Amazon EC2 User Guide.
18689//
18690// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18691// with awserr.Error's Code and Message methods to get detailed information about
18692// the error.
18693//
18694// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18695// API operation DescribeInstanceEventWindows for usage and error information.
18696// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceEventWindows
18697func (c *EC2) DescribeInstanceEventWindows(input *DescribeInstanceEventWindowsInput) (*DescribeInstanceEventWindowsOutput, error) {
18698	req, out := c.DescribeInstanceEventWindowsRequest(input)
18699	return out, req.Send()
18700}
18701
18702// DescribeInstanceEventWindowsWithContext is the same as DescribeInstanceEventWindows with the addition of
18703// the ability to pass a context and additional request options.
18704//
18705// See DescribeInstanceEventWindows for details on how to use this API operation.
18706//
18707// The context must be non-nil and will be used for request cancellation. If
18708// the context is nil a panic will occur. In the future the SDK may create
18709// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18710// for more information on using Contexts.
18711func (c *EC2) DescribeInstanceEventWindowsWithContext(ctx aws.Context, input *DescribeInstanceEventWindowsInput, opts ...request.Option) (*DescribeInstanceEventWindowsOutput, error) {
18712	req, out := c.DescribeInstanceEventWindowsRequest(input)
18713	req.SetContext(ctx)
18714	req.ApplyOptions(opts...)
18715	return out, req.Send()
18716}
18717
18718// DescribeInstanceEventWindowsPages iterates over the pages of a DescribeInstanceEventWindows operation,
18719// calling the "fn" function with the response data for each page. To stop
18720// iterating, return false from the fn function.
18721//
18722// See DescribeInstanceEventWindows method for more information on how to use this operation.
18723//
18724// Note: This operation can generate multiple requests to a service.
18725//
18726//    // Example iterating over at most 3 pages of a DescribeInstanceEventWindows operation.
18727//    pageNum := 0
18728//    err := client.DescribeInstanceEventWindowsPages(params,
18729//        func(page *ec2.DescribeInstanceEventWindowsOutput, lastPage bool) bool {
18730//            pageNum++
18731//            fmt.Println(page)
18732//            return pageNum <= 3
18733//        })
18734//
18735func (c *EC2) DescribeInstanceEventWindowsPages(input *DescribeInstanceEventWindowsInput, fn func(*DescribeInstanceEventWindowsOutput, bool) bool) error {
18736	return c.DescribeInstanceEventWindowsPagesWithContext(aws.BackgroundContext(), input, fn)
18737}
18738
18739// DescribeInstanceEventWindowsPagesWithContext same as DescribeInstanceEventWindowsPages except
18740// it takes a Context and allows setting request options on the pages.
18741//
18742// The context must be non-nil and will be used for request cancellation. If
18743// the context is nil a panic will occur. In the future the SDK may create
18744// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18745// for more information on using Contexts.
18746func (c *EC2) DescribeInstanceEventWindowsPagesWithContext(ctx aws.Context, input *DescribeInstanceEventWindowsInput, fn func(*DescribeInstanceEventWindowsOutput, bool) bool, opts ...request.Option) error {
18747	p := request.Pagination{
18748		NewRequest: func() (*request.Request, error) {
18749			var inCpy *DescribeInstanceEventWindowsInput
18750			if input != nil {
18751				tmp := *input
18752				inCpy = &tmp
18753			}
18754			req, _ := c.DescribeInstanceEventWindowsRequest(inCpy)
18755			req.SetContext(ctx)
18756			req.ApplyOptions(opts...)
18757			return req, nil
18758		},
18759	}
18760
18761	for p.Next() {
18762		if !fn(p.Page().(*DescribeInstanceEventWindowsOutput), !p.HasNextPage()) {
18763			break
18764		}
18765	}
18766
18767	return p.Err()
18768}
18769
18770const opDescribeInstanceStatus = "DescribeInstanceStatus"
18771
18772// DescribeInstanceStatusRequest generates a "aws/request.Request" representing the
18773// client's request for the DescribeInstanceStatus operation. The "output" return
18774// value will be populated with the request's response once the request completes
18775// successfully.
18776//
18777// Use "Send" method on the returned Request to send the API call to the service.
18778// the "output" return value is not valid until after Send returns without error.
18779//
18780// See DescribeInstanceStatus for more information on using the DescribeInstanceStatus
18781// API call, and error handling.
18782//
18783// This method is useful when you want to inject custom logic or configuration
18784// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18785//
18786//
18787//    // Example sending a request using the DescribeInstanceStatusRequest method.
18788//    req, resp := client.DescribeInstanceStatusRequest(params)
18789//
18790//    err := req.Send()
18791//    if err == nil { // resp is now filled
18792//        fmt.Println(resp)
18793//    }
18794//
18795// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
18796func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput) (req *request.Request, output *DescribeInstanceStatusOutput) {
18797	op := &request.Operation{
18798		Name:       opDescribeInstanceStatus,
18799		HTTPMethod: "POST",
18800		HTTPPath:   "/",
18801		Paginator: &request.Paginator{
18802			InputTokens:     []string{"NextToken"},
18803			OutputTokens:    []string{"NextToken"},
18804			LimitToken:      "MaxResults",
18805			TruncationToken: "",
18806		},
18807	}
18808
18809	if input == nil {
18810		input = &DescribeInstanceStatusInput{}
18811	}
18812
18813	output = &DescribeInstanceStatusOutput{}
18814	req = c.newRequest(op, input, output)
18815	return
18816}
18817
18818// DescribeInstanceStatus API operation for Amazon Elastic Compute Cloud.
18819//
18820// Describes the status of the specified instances or all of your instances.
18821// By default, only running instances are described, unless you specifically
18822// indicate to return the status of all instances.
18823//
18824// Instance status includes the following components:
18825//
18826//    * Status checks - Amazon EC2 performs status checks on running EC2 instances
18827//    to identify hardware and software issues. For more information, see Status
18828//    checks for your instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html)
18829//    and Troubleshooting instances with failed status checks (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html)
18830//    in the Amazon EC2 User Guide.
18831//
18832//    * Scheduled events - Amazon EC2 can schedule events (such as reboot, stop,
18833//    or terminate) for your instances related to hardware issues, software
18834//    updates, or system maintenance. For more information, see Scheduled events
18835//    for your instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html)
18836//    in the Amazon EC2 User Guide.
18837//
18838//    * Instance state - You can manage your instances from the moment you launch
18839//    them through their termination. For more information, see Instance lifecycle
18840//    (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
18841//    in the Amazon EC2 User Guide.
18842//
18843// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18844// with awserr.Error's Code and Message methods to get detailed information about
18845// the error.
18846//
18847// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18848// API operation DescribeInstanceStatus for usage and error information.
18849// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
18850func (c *EC2) DescribeInstanceStatus(input *DescribeInstanceStatusInput) (*DescribeInstanceStatusOutput, error) {
18851	req, out := c.DescribeInstanceStatusRequest(input)
18852	return out, req.Send()
18853}
18854
18855// DescribeInstanceStatusWithContext is the same as DescribeInstanceStatus with the addition of
18856// the ability to pass a context and additional request options.
18857//
18858// See DescribeInstanceStatus for details on how to use this API operation.
18859//
18860// The context must be non-nil and will be used for request cancellation. If
18861// the context is nil a panic will occur. In the future the SDK may create
18862// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18863// for more information on using Contexts.
18864func (c *EC2) DescribeInstanceStatusWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, opts ...request.Option) (*DescribeInstanceStatusOutput, error) {
18865	req, out := c.DescribeInstanceStatusRequest(input)
18866	req.SetContext(ctx)
18867	req.ApplyOptions(opts...)
18868	return out, req.Send()
18869}
18870
18871// DescribeInstanceStatusPages iterates over the pages of a DescribeInstanceStatus operation,
18872// calling the "fn" function with the response data for each page. To stop
18873// iterating, return false from the fn function.
18874//
18875// See DescribeInstanceStatus method for more information on how to use this operation.
18876//
18877// Note: This operation can generate multiple requests to a service.
18878//
18879//    // Example iterating over at most 3 pages of a DescribeInstanceStatus operation.
18880//    pageNum := 0
18881//    err := client.DescribeInstanceStatusPages(params,
18882//        func(page *ec2.DescribeInstanceStatusOutput, lastPage bool) bool {
18883//            pageNum++
18884//            fmt.Println(page)
18885//            return pageNum <= 3
18886//        })
18887//
18888func (c *EC2) DescribeInstanceStatusPages(input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool) error {
18889	return c.DescribeInstanceStatusPagesWithContext(aws.BackgroundContext(), input, fn)
18890}
18891
18892// DescribeInstanceStatusPagesWithContext same as DescribeInstanceStatusPages except
18893// it takes a Context and allows setting request options on the pages.
18894//
18895// The context must be non-nil and will be used for request cancellation. If
18896// the context is nil a panic will occur. In the future the SDK may create
18897// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18898// for more information on using Contexts.
18899func (c *EC2) DescribeInstanceStatusPagesWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool, opts ...request.Option) error {
18900	p := request.Pagination{
18901		NewRequest: func() (*request.Request, error) {
18902			var inCpy *DescribeInstanceStatusInput
18903			if input != nil {
18904				tmp := *input
18905				inCpy = &tmp
18906			}
18907			req, _ := c.DescribeInstanceStatusRequest(inCpy)
18908			req.SetContext(ctx)
18909			req.ApplyOptions(opts...)
18910			return req, nil
18911		},
18912	}
18913
18914	for p.Next() {
18915		if !fn(p.Page().(*DescribeInstanceStatusOutput), !p.HasNextPage()) {
18916			break
18917		}
18918	}
18919
18920	return p.Err()
18921}
18922
18923const opDescribeInstanceTypeOfferings = "DescribeInstanceTypeOfferings"
18924
18925// DescribeInstanceTypeOfferingsRequest generates a "aws/request.Request" representing the
18926// client's request for the DescribeInstanceTypeOfferings operation. The "output" return
18927// value will be populated with the request's response once the request completes
18928// successfully.
18929//
18930// Use "Send" method on the returned Request to send the API call to the service.
18931// the "output" return value is not valid until after Send returns without error.
18932//
18933// See DescribeInstanceTypeOfferings for more information on using the DescribeInstanceTypeOfferings
18934// API call, and error handling.
18935//
18936// This method is useful when you want to inject custom logic or configuration
18937// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18938//
18939//
18940//    // Example sending a request using the DescribeInstanceTypeOfferingsRequest method.
18941//    req, resp := client.DescribeInstanceTypeOfferingsRequest(params)
18942//
18943//    err := req.Send()
18944//    if err == nil { // resp is now filled
18945//        fmt.Println(resp)
18946//    }
18947//
18948// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypeOfferings
18949func (c *EC2) DescribeInstanceTypeOfferingsRequest(input *DescribeInstanceTypeOfferingsInput) (req *request.Request, output *DescribeInstanceTypeOfferingsOutput) {
18950	op := &request.Operation{
18951		Name:       opDescribeInstanceTypeOfferings,
18952		HTTPMethod: "POST",
18953		HTTPPath:   "/",
18954		Paginator: &request.Paginator{
18955			InputTokens:     []string{"NextToken"},
18956			OutputTokens:    []string{"NextToken"},
18957			LimitToken:      "MaxResults",
18958			TruncationToken: "",
18959		},
18960	}
18961
18962	if input == nil {
18963		input = &DescribeInstanceTypeOfferingsInput{}
18964	}
18965
18966	output = &DescribeInstanceTypeOfferingsOutput{}
18967	req = c.newRequest(op, input, output)
18968	return
18969}
18970
18971// DescribeInstanceTypeOfferings API operation for Amazon Elastic Compute Cloud.
18972//
18973// Returns a list of all instance types offered. The results can be filtered
18974// by location (Region or Availability Zone). If no location is specified, the
18975// instance types offered in the current Region are returned.
18976//
18977// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18978// with awserr.Error's Code and Message methods to get detailed information about
18979// the error.
18980//
18981// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18982// API operation DescribeInstanceTypeOfferings for usage and error information.
18983// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypeOfferings
18984func (c *EC2) DescribeInstanceTypeOfferings(input *DescribeInstanceTypeOfferingsInput) (*DescribeInstanceTypeOfferingsOutput, error) {
18985	req, out := c.DescribeInstanceTypeOfferingsRequest(input)
18986	return out, req.Send()
18987}
18988
18989// DescribeInstanceTypeOfferingsWithContext is the same as DescribeInstanceTypeOfferings with the addition of
18990// the ability to pass a context and additional request options.
18991//
18992// See DescribeInstanceTypeOfferings for details on how to use this API operation.
18993//
18994// The context must be non-nil and will be used for request cancellation. If
18995// the context is nil a panic will occur. In the future the SDK may create
18996// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18997// for more information on using Contexts.
18998func (c *EC2) DescribeInstanceTypeOfferingsWithContext(ctx aws.Context, input *DescribeInstanceTypeOfferingsInput, opts ...request.Option) (*DescribeInstanceTypeOfferingsOutput, error) {
18999	req, out := c.DescribeInstanceTypeOfferingsRequest(input)
19000	req.SetContext(ctx)
19001	req.ApplyOptions(opts...)
19002	return out, req.Send()
19003}
19004
19005// DescribeInstanceTypeOfferingsPages iterates over the pages of a DescribeInstanceTypeOfferings operation,
19006// calling the "fn" function with the response data for each page. To stop
19007// iterating, return false from the fn function.
19008//
19009// See DescribeInstanceTypeOfferings method for more information on how to use this operation.
19010//
19011// Note: This operation can generate multiple requests to a service.
19012//
19013//    // Example iterating over at most 3 pages of a DescribeInstanceTypeOfferings operation.
19014//    pageNum := 0
19015//    err := client.DescribeInstanceTypeOfferingsPages(params,
19016//        func(page *ec2.DescribeInstanceTypeOfferingsOutput, lastPage bool) bool {
19017//            pageNum++
19018//            fmt.Println(page)
19019//            return pageNum <= 3
19020//        })
19021//
19022func (c *EC2) DescribeInstanceTypeOfferingsPages(input *DescribeInstanceTypeOfferingsInput, fn func(*DescribeInstanceTypeOfferingsOutput, bool) bool) error {
19023	return c.DescribeInstanceTypeOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
19024}
19025
19026// DescribeInstanceTypeOfferingsPagesWithContext same as DescribeInstanceTypeOfferingsPages except
19027// it takes a Context and allows setting request options on the pages.
19028//
19029// The context must be non-nil and will be used for request cancellation. If
19030// the context is nil a panic will occur. In the future the SDK may create
19031// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19032// for more information on using Contexts.
19033func (c *EC2) DescribeInstanceTypeOfferingsPagesWithContext(ctx aws.Context, input *DescribeInstanceTypeOfferingsInput, fn func(*DescribeInstanceTypeOfferingsOutput, bool) bool, opts ...request.Option) error {
19034	p := request.Pagination{
19035		NewRequest: func() (*request.Request, error) {
19036			var inCpy *DescribeInstanceTypeOfferingsInput
19037			if input != nil {
19038				tmp := *input
19039				inCpy = &tmp
19040			}
19041			req, _ := c.DescribeInstanceTypeOfferingsRequest(inCpy)
19042			req.SetContext(ctx)
19043			req.ApplyOptions(opts...)
19044			return req, nil
19045		},
19046	}
19047
19048	for p.Next() {
19049		if !fn(p.Page().(*DescribeInstanceTypeOfferingsOutput), !p.HasNextPage()) {
19050			break
19051		}
19052	}
19053
19054	return p.Err()
19055}
19056
19057const opDescribeInstanceTypes = "DescribeInstanceTypes"
19058
19059// DescribeInstanceTypesRequest generates a "aws/request.Request" representing the
19060// client's request for the DescribeInstanceTypes operation. The "output" return
19061// value will be populated with the request's response once the request completes
19062// successfully.
19063//
19064// Use "Send" method on the returned Request to send the API call to the service.
19065// the "output" return value is not valid until after Send returns without error.
19066//
19067// See DescribeInstanceTypes for more information on using the DescribeInstanceTypes
19068// API call, and error handling.
19069//
19070// This method is useful when you want to inject custom logic or configuration
19071// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19072//
19073//
19074//    // Example sending a request using the DescribeInstanceTypesRequest method.
19075//    req, resp := client.DescribeInstanceTypesRequest(params)
19076//
19077//    err := req.Send()
19078//    if err == nil { // resp is now filled
19079//        fmt.Println(resp)
19080//    }
19081//
19082// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypes
19083func (c *EC2) DescribeInstanceTypesRequest(input *DescribeInstanceTypesInput) (req *request.Request, output *DescribeInstanceTypesOutput) {
19084	op := &request.Operation{
19085		Name:       opDescribeInstanceTypes,
19086		HTTPMethod: "POST",
19087		HTTPPath:   "/",
19088		Paginator: &request.Paginator{
19089			InputTokens:     []string{"NextToken"},
19090			OutputTokens:    []string{"NextToken"},
19091			LimitToken:      "MaxResults",
19092			TruncationToken: "",
19093		},
19094	}
19095
19096	if input == nil {
19097		input = &DescribeInstanceTypesInput{}
19098	}
19099
19100	output = &DescribeInstanceTypesOutput{}
19101	req = c.newRequest(op, input, output)
19102	return
19103}
19104
19105// DescribeInstanceTypes API operation for Amazon Elastic Compute Cloud.
19106//
19107// Describes the details of the instance types that are offered in a location.
19108// The results can be filtered by the attributes of the instance types.
19109//
19110// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19111// with awserr.Error's Code and Message methods to get detailed information about
19112// the error.
19113//
19114// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19115// API operation DescribeInstanceTypes for usage and error information.
19116// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypes
19117func (c *EC2) DescribeInstanceTypes(input *DescribeInstanceTypesInput) (*DescribeInstanceTypesOutput, error) {
19118	req, out := c.DescribeInstanceTypesRequest(input)
19119	return out, req.Send()
19120}
19121
19122// DescribeInstanceTypesWithContext is the same as DescribeInstanceTypes with the addition of
19123// the ability to pass a context and additional request options.
19124//
19125// See DescribeInstanceTypes for details on how to use this API operation.
19126//
19127// The context must be non-nil and will be used for request cancellation. If
19128// the context is nil a panic will occur. In the future the SDK may create
19129// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19130// for more information on using Contexts.
19131func (c *EC2) DescribeInstanceTypesWithContext(ctx aws.Context, input *DescribeInstanceTypesInput, opts ...request.Option) (*DescribeInstanceTypesOutput, error) {
19132	req, out := c.DescribeInstanceTypesRequest(input)
19133	req.SetContext(ctx)
19134	req.ApplyOptions(opts...)
19135	return out, req.Send()
19136}
19137
19138// DescribeInstanceTypesPages iterates over the pages of a DescribeInstanceTypes operation,
19139// calling the "fn" function with the response data for each page. To stop
19140// iterating, return false from the fn function.
19141//
19142// See DescribeInstanceTypes method for more information on how to use this operation.
19143//
19144// Note: This operation can generate multiple requests to a service.
19145//
19146//    // Example iterating over at most 3 pages of a DescribeInstanceTypes operation.
19147//    pageNum := 0
19148//    err := client.DescribeInstanceTypesPages(params,
19149//        func(page *ec2.DescribeInstanceTypesOutput, lastPage bool) bool {
19150//            pageNum++
19151//            fmt.Println(page)
19152//            return pageNum <= 3
19153//        })
19154//
19155func (c *EC2) DescribeInstanceTypesPages(input *DescribeInstanceTypesInput, fn func(*DescribeInstanceTypesOutput, bool) bool) error {
19156	return c.DescribeInstanceTypesPagesWithContext(aws.BackgroundContext(), input, fn)
19157}
19158
19159// DescribeInstanceTypesPagesWithContext same as DescribeInstanceTypesPages except
19160// it takes a Context and allows setting request options on the pages.
19161//
19162// The context must be non-nil and will be used for request cancellation. If
19163// the context is nil a panic will occur. In the future the SDK may create
19164// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19165// for more information on using Contexts.
19166func (c *EC2) DescribeInstanceTypesPagesWithContext(ctx aws.Context, input *DescribeInstanceTypesInput, fn func(*DescribeInstanceTypesOutput, bool) bool, opts ...request.Option) error {
19167	p := request.Pagination{
19168		NewRequest: func() (*request.Request, error) {
19169			var inCpy *DescribeInstanceTypesInput
19170			if input != nil {
19171				tmp := *input
19172				inCpy = &tmp
19173			}
19174			req, _ := c.DescribeInstanceTypesRequest(inCpy)
19175			req.SetContext(ctx)
19176			req.ApplyOptions(opts...)
19177			return req, nil
19178		},
19179	}
19180
19181	for p.Next() {
19182		if !fn(p.Page().(*DescribeInstanceTypesOutput), !p.HasNextPage()) {
19183			break
19184		}
19185	}
19186
19187	return p.Err()
19188}
19189
19190const opDescribeInstances = "DescribeInstances"
19191
19192// DescribeInstancesRequest generates a "aws/request.Request" representing the
19193// client's request for the DescribeInstances operation. The "output" return
19194// value will be populated with the request's response once the request completes
19195// successfully.
19196//
19197// Use "Send" method on the returned Request to send the API call to the service.
19198// the "output" return value is not valid until after Send returns without error.
19199//
19200// See DescribeInstances for more information on using the DescribeInstances
19201// API call, and error handling.
19202//
19203// This method is useful when you want to inject custom logic or configuration
19204// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19205//
19206//
19207//    // Example sending a request using the DescribeInstancesRequest method.
19208//    req, resp := client.DescribeInstancesRequest(params)
19209//
19210//    err := req.Send()
19211//    if err == nil { // resp is now filled
19212//        fmt.Println(resp)
19213//    }
19214//
19215// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
19216func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) {
19217	op := &request.Operation{
19218		Name:       opDescribeInstances,
19219		HTTPMethod: "POST",
19220		HTTPPath:   "/",
19221		Paginator: &request.Paginator{
19222			InputTokens:     []string{"NextToken"},
19223			OutputTokens:    []string{"NextToken"},
19224			LimitToken:      "MaxResults",
19225			TruncationToken: "",
19226		},
19227	}
19228
19229	if input == nil {
19230		input = &DescribeInstancesInput{}
19231	}
19232
19233	output = &DescribeInstancesOutput{}
19234	req = c.newRequest(op, input, output)
19235	return
19236}
19237
19238// DescribeInstances API operation for Amazon Elastic Compute Cloud.
19239//
19240// Describes the specified instances or all instances.
19241//
19242// If you specify instance IDs, the output includes information for only the
19243// specified instances. If you specify filters, the output includes information
19244// for only those instances that meet the filter criteria. If you do not specify
19245// instance IDs or filters, the output includes information for all instances,
19246// which can affect performance. We recommend that you use pagination to ensure
19247// that the operation returns quickly and successfully.
19248//
19249// If you specify an instance ID that is not valid, an error is returned. If
19250// you specify an instance that you do not own, it is not included in the output.
19251//
19252// Recently terminated instances might appear in the returned results. This
19253// interval is usually less than one hour.
19254//
19255// If you describe instances in the rare case where an Availability Zone is
19256// experiencing a service disruption and you specify instance IDs that are in
19257// the affected zone, or do not specify any instance IDs at all, the call fails.
19258// If you describe instances and specify only instance IDs that are in an unaffected
19259// zone, the call works normally.
19260//
19261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19262// with awserr.Error's Code and Message methods to get detailed information about
19263// the error.
19264//
19265// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19266// API operation DescribeInstances for usage and error information.
19267// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
19268func (c *EC2) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
19269	req, out := c.DescribeInstancesRequest(input)
19270	return out, req.Send()
19271}
19272
19273// DescribeInstancesWithContext is the same as DescribeInstances with the addition of
19274// the ability to pass a context and additional request options.
19275//
19276// See DescribeInstances for details on how to use this API operation.
19277//
19278// The context must be non-nil and will be used for request cancellation. If
19279// the context is nil a panic will occur. In the future the SDK may create
19280// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19281// for more information on using Contexts.
19282func (c *EC2) DescribeInstancesWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.Option) (*DescribeInstancesOutput, error) {
19283	req, out := c.DescribeInstancesRequest(input)
19284	req.SetContext(ctx)
19285	req.ApplyOptions(opts...)
19286	return out, req.Send()
19287}
19288
19289// DescribeInstancesPages iterates over the pages of a DescribeInstances operation,
19290// calling the "fn" function with the response data for each page. To stop
19291// iterating, return false from the fn function.
19292//
19293// See DescribeInstances method for more information on how to use this operation.
19294//
19295// Note: This operation can generate multiple requests to a service.
19296//
19297//    // Example iterating over at most 3 pages of a DescribeInstances operation.
19298//    pageNum := 0
19299//    err := client.DescribeInstancesPages(params,
19300//        func(page *ec2.DescribeInstancesOutput, lastPage bool) bool {
19301//            pageNum++
19302//            fmt.Println(page)
19303//            return pageNum <= 3
19304//        })
19305//
19306func (c *EC2) DescribeInstancesPages(input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool) error {
19307	return c.DescribeInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
19308}
19309
19310// DescribeInstancesPagesWithContext same as DescribeInstancesPages except
19311// it takes a Context and allows setting request options on the pages.
19312//
19313// The context must be non-nil and will be used for request cancellation. If
19314// the context is nil a panic will occur. In the future the SDK may create
19315// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19316// for more information on using Contexts.
19317func (c *EC2) DescribeInstancesPagesWithContext(ctx aws.Context, input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool, opts ...request.Option) error {
19318	p := request.Pagination{
19319		NewRequest: func() (*request.Request, error) {
19320			var inCpy *DescribeInstancesInput
19321			if input != nil {
19322				tmp := *input
19323				inCpy = &tmp
19324			}
19325			req, _ := c.DescribeInstancesRequest(inCpy)
19326			req.SetContext(ctx)
19327			req.ApplyOptions(opts...)
19328			return req, nil
19329		},
19330	}
19331
19332	for p.Next() {
19333		if !fn(p.Page().(*DescribeInstancesOutput), !p.HasNextPage()) {
19334			break
19335		}
19336	}
19337
19338	return p.Err()
19339}
19340
19341const opDescribeInternetGateways = "DescribeInternetGateways"
19342
19343// DescribeInternetGatewaysRequest generates a "aws/request.Request" representing the
19344// client's request for the DescribeInternetGateways operation. The "output" return
19345// value will be populated with the request's response once the request completes
19346// successfully.
19347//
19348// Use "Send" method on the returned Request to send the API call to the service.
19349// the "output" return value is not valid until after Send returns without error.
19350//
19351// See DescribeInternetGateways for more information on using the DescribeInternetGateways
19352// API call, and error handling.
19353//
19354// This method is useful when you want to inject custom logic or configuration
19355// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19356//
19357//
19358//    // Example sending a request using the DescribeInternetGatewaysRequest method.
19359//    req, resp := client.DescribeInternetGatewaysRequest(params)
19360//
19361//    err := req.Send()
19362//    if err == nil { // resp is now filled
19363//        fmt.Println(resp)
19364//    }
19365//
19366// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
19367func (c *EC2) DescribeInternetGatewaysRequest(input *DescribeInternetGatewaysInput) (req *request.Request, output *DescribeInternetGatewaysOutput) {
19368	op := &request.Operation{
19369		Name:       opDescribeInternetGateways,
19370		HTTPMethod: "POST",
19371		HTTPPath:   "/",
19372		Paginator: &request.Paginator{
19373			InputTokens:     []string{"NextToken"},
19374			OutputTokens:    []string{"NextToken"},
19375			LimitToken:      "MaxResults",
19376			TruncationToken: "",
19377		},
19378	}
19379
19380	if input == nil {
19381		input = &DescribeInternetGatewaysInput{}
19382	}
19383
19384	output = &DescribeInternetGatewaysOutput{}
19385	req = c.newRequest(op, input, output)
19386	return
19387}
19388
19389// DescribeInternetGateways API operation for Amazon Elastic Compute Cloud.
19390//
19391// Describes one or more of your internet gateways.
19392//
19393// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19394// with awserr.Error's Code and Message methods to get detailed information about
19395// the error.
19396//
19397// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19398// API operation DescribeInternetGateways for usage and error information.
19399// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
19400func (c *EC2) DescribeInternetGateways(input *DescribeInternetGatewaysInput) (*DescribeInternetGatewaysOutput, error) {
19401	req, out := c.DescribeInternetGatewaysRequest(input)
19402	return out, req.Send()
19403}
19404
19405// DescribeInternetGatewaysWithContext is the same as DescribeInternetGateways with the addition of
19406// the ability to pass a context and additional request options.
19407//
19408// See DescribeInternetGateways for details on how to use this API operation.
19409//
19410// The context must be non-nil and will be used for request cancellation. If
19411// the context is nil a panic will occur. In the future the SDK may create
19412// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19413// for more information on using Contexts.
19414func (c *EC2) DescribeInternetGatewaysWithContext(ctx aws.Context, input *DescribeInternetGatewaysInput, opts ...request.Option) (*DescribeInternetGatewaysOutput, error) {
19415	req, out := c.DescribeInternetGatewaysRequest(input)
19416	req.SetContext(ctx)
19417	req.ApplyOptions(opts...)
19418	return out, req.Send()
19419}
19420
19421// DescribeInternetGatewaysPages iterates over the pages of a DescribeInternetGateways operation,
19422// calling the "fn" function with the response data for each page. To stop
19423// iterating, return false from the fn function.
19424//
19425// See DescribeInternetGateways method for more information on how to use this operation.
19426//
19427// Note: This operation can generate multiple requests to a service.
19428//
19429//    // Example iterating over at most 3 pages of a DescribeInternetGateways operation.
19430//    pageNum := 0
19431//    err := client.DescribeInternetGatewaysPages(params,
19432//        func(page *ec2.DescribeInternetGatewaysOutput, lastPage bool) bool {
19433//            pageNum++
19434//            fmt.Println(page)
19435//            return pageNum <= 3
19436//        })
19437//
19438func (c *EC2) DescribeInternetGatewaysPages(input *DescribeInternetGatewaysInput, fn func(*DescribeInternetGatewaysOutput, bool) bool) error {
19439	return c.DescribeInternetGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
19440}
19441
19442// DescribeInternetGatewaysPagesWithContext same as DescribeInternetGatewaysPages except
19443// it takes a Context and allows setting request options on the pages.
19444//
19445// The context must be non-nil and will be used for request cancellation. If
19446// the context is nil a panic will occur. In the future the SDK may create
19447// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19448// for more information on using Contexts.
19449func (c *EC2) DescribeInternetGatewaysPagesWithContext(ctx aws.Context, input *DescribeInternetGatewaysInput, fn func(*DescribeInternetGatewaysOutput, bool) bool, opts ...request.Option) error {
19450	p := request.Pagination{
19451		NewRequest: func() (*request.Request, error) {
19452			var inCpy *DescribeInternetGatewaysInput
19453			if input != nil {
19454				tmp := *input
19455				inCpy = &tmp
19456			}
19457			req, _ := c.DescribeInternetGatewaysRequest(inCpy)
19458			req.SetContext(ctx)
19459			req.ApplyOptions(opts...)
19460			return req, nil
19461		},
19462	}
19463
19464	for p.Next() {
19465		if !fn(p.Page().(*DescribeInternetGatewaysOutput), !p.HasNextPage()) {
19466			break
19467		}
19468	}
19469
19470	return p.Err()
19471}
19472
19473const opDescribeIpv6Pools = "DescribeIpv6Pools"
19474
19475// DescribeIpv6PoolsRequest generates a "aws/request.Request" representing the
19476// client's request for the DescribeIpv6Pools operation. The "output" return
19477// value will be populated with the request's response once the request completes
19478// successfully.
19479//
19480// Use "Send" method on the returned Request to send the API call to the service.
19481// the "output" return value is not valid until after Send returns without error.
19482//
19483// See DescribeIpv6Pools for more information on using the DescribeIpv6Pools
19484// API call, and error handling.
19485//
19486// This method is useful when you want to inject custom logic or configuration
19487// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19488//
19489//
19490//    // Example sending a request using the DescribeIpv6PoolsRequest method.
19491//    req, resp := client.DescribeIpv6PoolsRequest(params)
19492//
19493//    err := req.Send()
19494//    if err == nil { // resp is now filled
19495//        fmt.Println(resp)
19496//    }
19497//
19498// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIpv6Pools
19499func (c *EC2) DescribeIpv6PoolsRequest(input *DescribeIpv6PoolsInput) (req *request.Request, output *DescribeIpv6PoolsOutput) {
19500	op := &request.Operation{
19501		Name:       opDescribeIpv6Pools,
19502		HTTPMethod: "POST",
19503		HTTPPath:   "/",
19504		Paginator: &request.Paginator{
19505			InputTokens:     []string{"NextToken"},
19506			OutputTokens:    []string{"NextToken"},
19507			LimitToken:      "MaxResults",
19508			TruncationToken: "",
19509		},
19510	}
19511
19512	if input == nil {
19513		input = &DescribeIpv6PoolsInput{}
19514	}
19515
19516	output = &DescribeIpv6PoolsOutput{}
19517	req = c.newRequest(op, input, output)
19518	return
19519}
19520
19521// DescribeIpv6Pools API operation for Amazon Elastic Compute Cloud.
19522//
19523// Describes your IPv6 address pools.
19524//
19525// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19526// with awserr.Error's Code and Message methods to get detailed information about
19527// the error.
19528//
19529// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19530// API operation DescribeIpv6Pools for usage and error information.
19531// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIpv6Pools
19532func (c *EC2) DescribeIpv6Pools(input *DescribeIpv6PoolsInput) (*DescribeIpv6PoolsOutput, error) {
19533	req, out := c.DescribeIpv6PoolsRequest(input)
19534	return out, req.Send()
19535}
19536
19537// DescribeIpv6PoolsWithContext is the same as DescribeIpv6Pools with the addition of
19538// the ability to pass a context and additional request options.
19539//
19540// See DescribeIpv6Pools for details on how to use this API operation.
19541//
19542// The context must be non-nil and will be used for request cancellation. If
19543// the context is nil a panic will occur. In the future the SDK may create
19544// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19545// for more information on using Contexts.
19546func (c *EC2) DescribeIpv6PoolsWithContext(ctx aws.Context, input *DescribeIpv6PoolsInput, opts ...request.Option) (*DescribeIpv6PoolsOutput, error) {
19547	req, out := c.DescribeIpv6PoolsRequest(input)
19548	req.SetContext(ctx)
19549	req.ApplyOptions(opts...)
19550	return out, req.Send()
19551}
19552
19553// DescribeIpv6PoolsPages iterates over the pages of a DescribeIpv6Pools operation,
19554// calling the "fn" function with the response data for each page. To stop
19555// iterating, return false from the fn function.
19556//
19557// See DescribeIpv6Pools method for more information on how to use this operation.
19558//
19559// Note: This operation can generate multiple requests to a service.
19560//
19561//    // Example iterating over at most 3 pages of a DescribeIpv6Pools operation.
19562//    pageNum := 0
19563//    err := client.DescribeIpv6PoolsPages(params,
19564//        func(page *ec2.DescribeIpv6PoolsOutput, lastPage bool) bool {
19565//            pageNum++
19566//            fmt.Println(page)
19567//            return pageNum <= 3
19568//        })
19569//
19570func (c *EC2) DescribeIpv6PoolsPages(input *DescribeIpv6PoolsInput, fn func(*DescribeIpv6PoolsOutput, bool) bool) error {
19571	return c.DescribeIpv6PoolsPagesWithContext(aws.BackgroundContext(), input, fn)
19572}
19573
19574// DescribeIpv6PoolsPagesWithContext same as DescribeIpv6PoolsPages except
19575// it takes a Context and allows setting request options on the pages.
19576//
19577// The context must be non-nil and will be used for request cancellation. If
19578// the context is nil a panic will occur. In the future the SDK may create
19579// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19580// for more information on using Contexts.
19581func (c *EC2) DescribeIpv6PoolsPagesWithContext(ctx aws.Context, input *DescribeIpv6PoolsInput, fn func(*DescribeIpv6PoolsOutput, bool) bool, opts ...request.Option) error {
19582	p := request.Pagination{
19583		NewRequest: func() (*request.Request, error) {
19584			var inCpy *DescribeIpv6PoolsInput
19585			if input != nil {
19586				tmp := *input
19587				inCpy = &tmp
19588			}
19589			req, _ := c.DescribeIpv6PoolsRequest(inCpy)
19590			req.SetContext(ctx)
19591			req.ApplyOptions(opts...)
19592			return req, nil
19593		},
19594	}
19595
19596	for p.Next() {
19597		if !fn(p.Page().(*DescribeIpv6PoolsOutput), !p.HasNextPage()) {
19598			break
19599		}
19600	}
19601
19602	return p.Err()
19603}
19604
19605const opDescribeKeyPairs = "DescribeKeyPairs"
19606
19607// DescribeKeyPairsRequest generates a "aws/request.Request" representing the
19608// client's request for the DescribeKeyPairs operation. The "output" return
19609// value will be populated with the request's response once the request completes
19610// successfully.
19611//
19612// Use "Send" method on the returned Request to send the API call to the service.
19613// the "output" return value is not valid until after Send returns without error.
19614//
19615// See DescribeKeyPairs for more information on using the DescribeKeyPairs
19616// API call, and error handling.
19617//
19618// This method is useful when you want to inject custom logic or configuration
19619// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19620//
19621//
19622//    // Example sending a request using the DescribeKeyPairsRequest method.
19623//    req, resp := client.DescribeKeyPairsRequest(params)
19624//
19625//    err := req.Send()
19626//    if err == nil { // resp is now filled
19627//        fmt.Println(resp)
19628//    }
19629//
19630// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
19631func (c *EC2) DescribeKeyPairsRequest(input *DescribeKeyPairsInput) (req *request.Request, output *DescribeKeyPairsOutput) {
19632	op := &request.Operation{
19633		Name:       opDescribeKeyPairs,
19634		HTTPMethod: "POST",
19635		HTTPPath:   "/",
19636	}
19637
19638	if input == nil {
19639		input = &DescribeKeyPairsInput{}
19640	}
19641
19642	output = &DescribeKeyPairsOutput{}
19643	req = c.newRequest(op, input, output)
19644	return
19645}
19646
19647// DescribeKeyPairs API operation for Amazon Elastic Compute Cloud.
19648//
19649// Describes the specified key pairs or all of your key pairs.
19650//
19651// For more information about key pairs, see Amazon EC2 key pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
19652// in the Amazon Elastic Compute Cloud User Guide.
19653//
19654// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19655// with awserr.Error's Code and Message methods to get detailed information about
19656// the error.
19657//
19658// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19659// API operation DescribeKeyPairs for usage and error information.
19660// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
19661func (c *EC2) DescribeKeyPairs(input *DescribeKeyPairsInput) (*DescribeKeyPairsOutput, error) {
19662	req, out := c.DescribeKeyPairsRequest(input)
19663	return out, req.Send()
19664}
19665
19666// DescribeKeyPairsWithContext is the same as DescribeKeyPairs with the addition of
19667// the ability to pass a context and additional request options.
19668//
19669// See DescribeKeyPairs for details on how to use this API operation.
19670//
19671// The context must be non-nil and will be used for request cancellation. If
19672// the context is nil a panic will occur. In the future the SDK may create
19673// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19674// for more information on using Contexts.
19675func (c *EC2) DescribeKeyPairsWithContext(ctx aws.Context, input *DescribeKeyPairsInput, opts ...request.Option) (*DescribeKeyPairsOutput, error) {
19676	req, out := c.DescribeKeyPairsRequest(input)
19677	req.SetContext(ctx)
19678	req.ApplyOptions(opts...)
19679	return out, req.Send()
19680}
19681
19682const opDescribeLaunchTemplateVersions = "DescribeLaunchTemplateVersions"
19683
19684// DescribeLaunchTemplateVersionsRequest generates a "aws/request.Request" representing the
19685// client's request for the DescribeLaunchTemplateVersions operation. The "output" return
19686// value will be populated with the request's response once the request completes
19687// successfully.
19688//
19689// Use "Send" method on the returned Request to send the API call to the service.
19690// the "output" return value is not valid until after Send returns without error.
19691//
19692// See DescribeLaunchTemplateVersions for more information on using the DescribeLaunchTemplateVersions
19693// API call, and error handling.
19694//
19695// This method is useful when you want to inject custom logic or configuration
19696// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19697//
19698//
19699//    // Example sending a request using the DescribeLaunchTemplateVersionsRequest method.
19700//    req, resp := client.DescribeLaunchTemplateVersionsRequest(params)
19701//
19702//    err := req.Send()
19703//    if err == nil { // resp is now filled
19704//        fmt.Println(resp)
19705//    }
19706//
19707// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions
19708func (c *EC2) DescribeLaunchTemplateVersionsRequest(input *DescribeLaunchTemplateVersionsInput) (req *request.Request, output *DescribeLaunchTemplateVersionsOutput) {
19709	op := &request.Operation{
19710		Name:       opDescribeLaunchTemplateVersions,
19711		HTTPMethod: "POST",
19712		HTTPPath:   "/",
19713		Paginator: &request.Paginator{
19714			InputTokens:     []string{"NextToken"},
19715			OutputTokens:    []string{"NextToken"},
19716			LimitToken:      "MaxResults",
19717			TruncationToken: "",
19718		},
19719	}
19720
19721	if input == nil {
19722		input = &DescribeLaunchTemplateVersionsInput{}
19723	}
19724
19725	output = &DescribeLaunchTemplateVersionsOutput{}
19726	req = c.newRequest(op, input, output)
19727	return
19728}
19729
19730// DescribeLaunchTemplateVersions API operation for Amazon Elastic Compute Cloud.
19731//
19732// Describes one or more versions of a specified launch template. You can describe
19733// all versions, individual versions, or a range of versions. You can also describe
19734// all the latest versions or all the default versions of all the launch templates
19735// in your account.
19736//
19737// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19738// with awserr.Error's Code and Message methods to get detailed information about
19739// the error.
19740//
19741// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19742// API operation DescribeLaunchTemplateVersions for usage and error information.
19743// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions
19744func (c *EC2) DescribeLaunchTemplateVersions(input *DescribeLaunchTemplateVersionsInput) (*DescribeLaunchTemplateVersionsOutput, error) {
19745	req, out := c.DescribeLaunchTemplateVersionsRequest(input)
19746	return out, req.Send()
19747}
19748
19749// DescribeLaunchTemplateVersionsWithContext is the same as DescribeLaunchTemplateVersions with the addition of
19750// the ability to pass a context and additional request options.
19751//
19752// See DescribeLaunchTemplateVersions for details on how to use this API operation.
19753//
19754// The context must be non-nil and will be used for request cancellation. If
19755// the context is nil a panic will occur. In the future the SDK may create
19756// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19757// for more information on using Contexts.
19758func (c *EC2) DescribeLaunchTemplateVersionsWithContext(ctx aws.Context, input *DescribeLaunchTemplateVersionsInput, opts ...request.Option) (*DescribeLaunchTemplateVersionsOutput, error) {
19759	req, out := c.DescribeLaunchTemplateVersionsRequest(input)
19760	req.SetContext(ctx)
19761	req.ApplyOptions(opts...)
19762	return out, req.Send()
19763}
19764
19765// DescribeLaunchTemplateVersionsPages iterates over the pages of a DescribeLaunchTemplateVersions operation,
19766// calling the "fn" function with the response data for each page. To stop
19767// iterating, return false from the fn function.
19768//
19769// See DescribeLaunchTemplateVersions method for more information on how to use this operation.
19770//
19771// Note: This operation can generate multiple requests to a service.
19772//
19773//    // Example iterating over at most 3 pages of a DescribeLaunchTemplateVersions operation.
19774//    pageNum := 0
19775//    err := client.DescribeLaunchTemplateVersionsPages(params,
19776//        func(page *ec2.DescribeLaunchTemplateVersionsOutput, lastPage bool) bool {
19777//            pageNum++
19778//            fmt.Println(page)
19779//            return pageNum <= 3
19780//        })
19781//
19782func (c *EC2) DescribeLaunchTemplateVersionsPages(input *DescribeLaunchTemplateVersionsInput, fn func(*DescribeLaunchTemplateVersionsOutput, bool) bool) error {
19783	return c.DescribeLaunchTemplateVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
19784}
19785
19786// DescribeLaunchTemplateVersionsPagesWithContext same as DescribeLaunchTemplateVersionsPages except
19787// it takes a Context and allows setting request options on the pages.
19788//
19789// The context must be non-nil and will be used for request cancellation. If
19790// the context is nil a panic will occur. In the future the SDK may create
19791// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19792// for more information on using Contexts.
19793func (c *EC2) DescribeLaunchTemplateVersionsPagesWithContext(ctx aws.Context, input *DescribeLaunchTemplateVersionsInput, fn func(*DescribeLaunchTemplateVersionsOutput, bool) bool, opts ...request.Option) error {
19794	p := request.Pagination{
19795		NewRequest: func() (*request.Request, error) {
19796			var inCpy *DescribeLaunchTemplateVersionsInput
19797			if input != nil {
19798				tmp := *input
19799				inCpy = &tmp
19800			}
19801			req, _ := c.DescribeLaunchTemplateVersionsRequest(inCpy)
19802			req.SetContext(ctx)
19803			req.ApplyOptions(opts...)
19804			return req, nil
19805		},
19806	}
19807
19808	for p.Next() {
19809		if !fn(p.Page().(*DescribeLaunchTemplateVersionsOutput), !p.HasNextPage()) {
19810			break
19811		}
19812	}
19813
19814	return p.Err()
19815}
19816
19817const opDescribeLaunchTemplates = "DescribeLaunchTemplates"
19818
19819// DescribeLaunchTemplatesRequest generates a "aws/request.Request" representing the
19820// client's request for the DescribeLaunchTemplates operation. The "output" return
19821// value will be populated with the request's response once the request completes
19822// successfully.
19823//
19824// Use "Send" method on the returned Request to send the API call to the service.
19825// the "output" return value is not valid until after Send returns without error.
19826//
19827// See DescribeLaunchTemplates for more information on using the DescribeLaunchTemplates
19828// API call, and error handling.
19829//
19830// This method is useful when you want to inject custom logic or configuration
19831// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19832//
19833//
19834//    // Example sending a request using the DescribeLaunchTemplatesRequest method.
19835//    req, resp := client.DescribeLaunchTemplatesRequest(params)
19836//
19837//    err := req.Send()
19838//    if err == nil { // resp is now filled
19839//        fmt.Println(resp)
19840//    }
19841//
19842// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplates
19843func (c *EC2) DescribeLaunchTemplatesRequest(input *DescribeLaunchTemplatesInput) (req *request.Request, output *DescribeLaunchTemplatesOutput) {
19844	op := &request.Operation{
19845		Name:       opDescribeLaunchTemplates,
19846		HTTPMethod: "POST",
19847		HTTPPath:   "/",
19848		Paginator: &request.Paginator{
19849			InputTokens:     []string{"NextToken"},
19850			OutputTokens:    []string{"NextToken"},
19851			LimitToken:      "MaxResults",
19852			TruncationToken: "",
19853		},
19854	}
19855
19856	if input == nil {
19857		input = &DescribeLaunchTemplatesInput{}
19858	}
19859
19860	output = &DescribeLaunchTemplatesOutput{}
19861	req = c.newRequest(op, input, output)
19862	return
19863}
19864
19865// DescribeLaunchTemplates API operation for Amazon Elastic Compute Cloud.
19866//
19867// Describes one or more launch templates.
19868//
19869// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19870// with awserr.Error's Code and Message methods to get detailed information about
19871// the error.
19872//
19873// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19874// API operation DescribeLaunchTemplates for usage and error information.
19875// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplates
19876func (c *EC2) DescribeLaunchTemplates(input *DescribeLaunchTemplatesInput) (*DescribeLaunchTemplatesOutput, error) {
19877	req, out := c.DescribeLaunchTemplatesRequest(input)
19878	return out, req.Send()
19879}
19880
19881// DescribeLaunchTemplatesWithContext is the same as DescribeLaunchTemplates with the addition of
19882// the ability to pass a context and additional request options.
19883//
19884// See DescribeLaunchTemplates for details on how to use this API operation.
19885//
19886// The context must be non-nil and will be used for request cancellation. If
19887// the context is nil a panic will occur. In the future the SDK may create
19888// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19889// for more information on using Contexts.
19890func (c *EC2) DescribeLaunchTemplatesWithContext(ctx aws.Context, input *DescribeLaunchTemplatesInput, opts ...request.Option) (*DescribeLaunchTemplatesOutput, error) {
19891	req, out := c.DescribeLaunchTemplatesRequest(input)
19892	req.SetContext(ctx)
19893	req.ApplyOptions(opts...)
19894	return out, req.Send()
19895}
19896
19897// DescribeLaunchTemplatesPages iterates over the pages of a DescribeLaunchTemplates operation,
19898// calling the "fn" function with the response data for each page. To stop
19899// iterating, return false from the fn function.
19900//
19901// See DescribeLaunchTemplates method for more information on how to use this operation.
19902//
19903// Note: This operation can generate multiple requests to a service.
19904//
19905//    // Example iterating over at most 3 pages of a DescribeLaunchTemplates operation.
19906//    pageNum := 0
19907//    err := client.DescribeLaunchTemplatesPages(params,
19908//        func(page *ec2.DescribeLaunchTemplatesOutput, lastPage bool) bool {
19909//            pageNum++
19910//            fmt.Println(page)
19911//            return pageNum <= 3
19912//        })
19913//
19914func (c *EC2) DescribeLaunchTemplatesPages(input *DescribeLaunchTemplatesInput, fn func(*DescribeLaunchTemplatesOutput, bool) bool) error {
19915	return c.DescribeLaunchTemplatesPagesWithContext(aws.BackgroundContext(), input, fn)
19916}
19917
19918// DescribeLaunchTemplatesPagesWithContext same as DescribeLaunchTemplatesPages except
19919// it takes a Context and allows setting request options on the pages.
19920//
19921// The context must be non-nil and will be used for request cancellation. If
19922// the context is nil a panic will occur. In the future the SDK may create
19923// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19924// for more information on using Contexts.
19925func (c *EC2) DescribeLaunchTemplatesPagesWithContext(ctx aws.Context, input *DescribeLaunchTemplatesInput, fn func(*DescribeLaunchTemplatesOutput, bool) bool, opts ...request.Option) error {
19926	p := request.Pagination{
19927		NewRequest: func() (*request.Request, error) {
19928			var inCpy *DescribeLaunchTemplatesInput
19929			if input != nil {
19930				tmp := *input
19931				inCpy = &tmp
19932			}
19933			req, _ := c.DescribeLaunchTemplatesRequest(inCpy)
19934			req.SetContext(ctx)
19935			req.ApplyOptions(opts...)
19936			return req, nil
19937		},
19938	}
19939
19940	for p.Next() {
19941		if !fn(p.Page().(*DescribeLaunchTemplatesOutput), !p.HasNextPage()) {
19942			break
19943		}
19944	}
19945
19946	return p.Err()
19947}
19948
19949const opDescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations = "DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations"
19950
19951// DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest generates a "aws/request.Request" representing the
19952// client's request for the DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations operation. The "output" return
19953// value will be populated with the request's response once the request completes
19954// successfully.
19955//
19956// Use "Send" method on the returned Request to send the API call to the service.
19957// the "output" return value is not valid until after Send returns without error.
19958//
19959// See DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations for more information on using the DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations
19960// API call, and error handling.
19961//
19962// This method is useful when you want to inject custom logic or configuration
19963// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19964//
19965//
19966//    // Example sending a request using the DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest method.
19967//    req, resp := client.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(params)
19968//
19969//    err := req.Send()
19970//    if err == nil { // resp is now filled
19971//        fmt.Println(resp)
19972//    }
19973//
19974// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations
19975func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) (req *request.Request, output *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) {
19976	op := &request.Operation{
19977		Name:       opDescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations,
19978		HTTPMethod: "POST",
19979		HTTPPath:   "/",
19980		Paginator: &request.Paginator{
19981			InputTokens:     []string{"NextToken"},
19982			OutputTokens:    []string{"NextToken"},
19983			LimitToken:      "MaxResults",
19984			TruncationToken: "",
19985		},
19986	}
19987
19988	if input == nil {
19989		input = &DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput{}
19990	}
19991
19992	output = &DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput{}
19993	req = c.newRequest(op, input, output)
19994	return
19995}
19996
19997// DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations API operation for Amazon Elastic Compute Cloud.
19998//
19999// Describes the associations between virtual interface groups and local gateway
20000// route tables.
20001//
20002// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20003// with awserr.Error's Code and Message methods to get detailed information about
20004// the error.
20005//
20006// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20007// API operation DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations for usage and error information.
20008// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations
20009func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations(input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) (*DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput, error) {
20010	req, out := c.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(input)
20011	return out, req.Send()
20012}
20013
20014// DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsWithContext is the same as DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations with the addition of
20015// the ability to pass a context and additional request options.
20016//
20017// See DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations for details on how to use this API operation.
20018//
20019// The context must be non-nil and will be used for request cancellation. If
20020// the context is nil a panic will occur. In the future the SDK may create
20021// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20022// for more information on using Contexts.
20023func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput, opts ...request.Option) (*DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput, error) {
20024	req, out := c.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(input)
20025	req.SetContext(ctx)
20026	req.ApplyOptions(opts...)
20027	return out, req.Send()
20028}
20029
20030// DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPages iterates over the pages of a DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations operation,
20031// calling the "fn" function with the response data for each page. To stop
20032// iterating, return false from the fn function.
20033//
20034// See DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations method for more information on how to use this operation.
20035//
20036// Note: This operation can generate multiple requests to a service.
20037//
20038//    // Example iterating over at most 3 pages of a DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations operation.
20039//    pageNum := 0
20040//    err := client.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPages(params,
20041//        func(page *ec2.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput, lastPage bool) bool {
20042//            pageNum++
20043//            fmt.Println(page)
20044//            return pageNum <= 3
20045//        })
20046//
20047func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPages(input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput, fn func(*DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput, bool) bool) error {
20048	return c.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
20049}
20050
20051// DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPagesWithContext same as DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPages except
20052// it takes a Context and allows setting request options on the pages.
20053//
20054// The context must be non-nil and will be used for request cancellation. If
20055// the context is nil a panic will occur. In the future the SDK may create
20056// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20057// for more information on using Contexts.
20058func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPagesWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput, fn func(*DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput, bool) bool, opts ...request.Option) error {
20059	p := request.Pagination{
20060		NewRequest: func() (*request.Request, error) {
20061			var inCpy *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput
20062			if input != nil {
20063				tmp := *input
20064				inCpy = &tmp
20065			}
20066			req, _ := c.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(inCpy)
20067			req.SetContext(ctx)
20068			req.ApplyOptions(opts...)
20069			return req, nil
20070		},
20071	}
20072
20073	for p.Next() {
20074		if !fn(p.Page().(*DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput), !p.HasNextPage()) {
20075			break
20076		}
20077	}
20078
20079	return p.Err()
20080}
20081
20082const opDescribeLocalGatewayRouteTableVpcAssociations = "DescribeLocalGatewayRouteTableVpcAssociations"
20083
20084// DescribeLocalGatewayRouteTableVpcAssociationsRequest generates a "aws/request.Request" representing the
20085// client's request for the DescribeLocalGatewayRouteTableVpcAssociations operation. The "output" return
20086// value will be populated with the request's response once the request completes
20087// successfully.
20088//
20089// Use "Send" method on the returned Request to send the API call to the service.
20090// the "output" return value is not valid until after Send returns without error.
20091//
20092// See DescribeLocalGatewayRouteTableVpcAssociations for more information on using the DescribeLocalGatewayRouteTableVpcAssociations
20093// API call, and error handling.
20094//
20095// This method is useful when you want to inject custom logic or configuration
20096// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20097//
20098//
20099//    // Example sending a request using the DescribeLocalGatewayRouteTableVpcAssociationsRequest method.
20100//    req, resp := client.DescribeLocalGatewayRouteTableVpcAssociationsRequest(params)
20101//
20102//    err := req.Send()
20103//    if err == nil { // resp is now filled
20104//        fmt.Println(resp)
20105//    }
20106//
20107// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVpcAssociations
20108func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociationsRequest(input *DescribeLocalGatewayRouteTableVpcAssociationsInput) (req *request.Request, output *DescribeLocalGatewayRouteTableVpcAssociationsOutput) {
20109	op := &request.Operation{
20110		Name:       opDescribeLocalGatewayRouteTableVpcAssociations,
20111		HTTPMethod: "POST",
20112		HTTPPath:   "/",
20113		Paginator: &request.Paginator{
20114			InputTokens:     []string{"NextToken"},
20115			OutputTokens:    []string{"NextToken"},
20116			LimitToken:      "MaxResults",
20117			TruncationToken: "",
20118		},
20119	}
20120
20121	if input == nil {
20122		input = &DescribeLocalGatewayRouteTableVpcAssociationsInput{}
20123	}
20124
20125	output = &DescribeLocalGatewayRouteTableVpcAssociationsOutput{}
20126	req = c.newRequest(op, input, output)
20127	return
20128}
20129
20130// DescribeLocalGatewayRouteTableVpcAssociations API operation for Amazon Elastic Compute Cloud.
20131//
20132// Describes the specified associations between VPCs and local gateway route
20133// tables.
20134//
20135// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20136// with awserr.Error's Code and Message methods to get detailed information about
20137// the error.
20138//
20139// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20140// API operation DescribeLocalGatewayRouteTableVpcAssociations for usage and error information.
20141// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVpcAssociations
20142func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociations(input *DescribeLocalGatewayRouteTableVpcAssociationsInput) (*DescribeLocalGatewayRouteTableVpcAssociationsOutput, error) {
20143	req, out := c.DescribeLocalGatewayRouteTableVpcAssociationsRequest(input)
20144	return out, req.Send()
20145}
20146
20147// DescribeLocalGatewayRouteTableVpcAssociationsWithContext is the same as DescribeLocalGatewayRouteTableVpcAssociations with the addition of
20148// the ability to pass a context and additional request options.
20149//
20150// See DescribeLocalGatewayRouteTableVpcAssociations for details on how to use this API operation.
20151//
20152// The context must be non-nil and will be used for request cancellation. If
20153// the context is nil a panic will occur. In the future the SDK may create
20154// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20155// for more information on using Contexts.
20156func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociationsWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTableVpcAssociationsInput, opts ...request.Option) (*DescribeLocalGatewayRouteTableVpcAssociationsOutput, error) {
20157	req, out := c.DescribeLocalGatewayRouteTableVpcAssociationsRequest(input)
20158	req.SetContext(ctx)
20159	req.ApplyOptions(opts...)
20160	return out, req.Send()
20161}
20162
20163// DescribeLocalGatewayRouteTableVpcAssociationsPages iterates over the pages of a DescribeLocalGatewayRouteTableVpcAssociations operation,
20164// calling the "fn" function with the response data for each page. To stop
20165// iterating, return false from the fn function.
20166//
20167// See DescribeLocalGatewayRouteTableVpcAssociations method for more information on how to use this operation.
20168//
20169// Note: This operation can generate multiple requests to a service.
20170//
20171//    // Example iterating over at most 3 pages of a DescribeLocalGatewayRouteTableVpcAssociations operation.
20172//    pageNum := 0
20173//    err := client.DescribeLocalGatewayRouteTableVpcAssociationsPages(params,
20174//        func(page *ec2.DescribeLocalGatewayRouteTableVpcAssociationsOutput, lastPage bool) bool {
20175//            pageNum++
20176//            fmt.Println(page)
20177//            return pageNum <= 3
20178//        })
20179//
20180func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociationsPages(input *DescribeLocalGatewayRouteTableVpcAssociationsInput, fn func(*DescribeLocalGatewayRouteTableVpcAssociationsOutput, bool) bool) error {
20181	return c.DescribeLocalGatewayRouteTableVpcAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
20182}
20183
20184// DescribeLocalGatewayRouteTableVpcAssociationsPagesWithContext same as DescribeLocalGatewayRouteTableVpcAssociationsPages except
20185// it takes a Context and allows setting request options on the pages.
20186//
20187// The context must be non-nil and will be used for request cancellation. If
20188// the context is nil a panic will occur. In the future the SDK may create
20189// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20190// for more information on using Contexts.
20191func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociationsPagesWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTableVpcAssociationsInput, fn func(*DescribeLocalGatewayRouteTableVpcAssociationsOutput, bool) bool, opts ...request.Option) error {
20192	p := request.Pagination{
20193		NewRequest: func() (*request.Request, error) {
20194			var inCpy *DescribeLocalGatewayRouteTableVpcAssociationsInput
20195			if input != nil {
20196				tmp := *input
20197				inCpy = &tmp
20198			}
20199			req, _ := c.DescribeLocalGatewayRouteTableVpcAssociationsRequest(inCpy)
20200			req.SetContext(ctx)
20201			req.ApplyOptions(opts...)
20202			return req, nil
20203		},
20204	}
20205
20206	for p.Next() {
20207		if !fn(p.Page().(*DescribeLocalGatewayRouteTableVpcAssociationsOutput), !p.HasNextPage()) {
20208			break
20209		}
20210	}
20211
20212	return p.Err()
20213}
20214
20215const opDescribeLocalGatewayRouteTables = "DescribeLocalGatewayRouteTables"
20216
20217// DescribeLocalGatewayRouteTablesRequest generates a "aws/request.Request" representing the
20218// client's request for the DescribeLocalGatewayRouteTables operation. The "output" return
20219// value will be populated with the request's response once the request completes
20220// successfully.
20221//
20222// Use "Send" method on the returned Request to send the API call to the service.
20223// the "output" return value is not valid until after Send returns without error.
20224//
20225// See DescribeLocalGatewayRouteTables for more information on using the DescribeLocalGatewayRouteTables
20226// API call, and error handling.
20227//
20228// This method is useful when you want to inject custom logic or configuration
20229// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20230//
20231//
20232//    // Example sending a request using the DescribeLocalGatewayRouteTablesRequest method.
20233//    req, resp := client.DescribeLocalGatewayRouteTablesRequest(params)
20234//
20235//    err := req.Send()
20236//    if err == nil { // resp is now filled
20237//        fmt.Println(resp)
20238//    }
20239//
20240// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTables
20241func (c *EC2) DescribeLocalGatewayRouteTablesRequest(input *DescribeLocalGatewayRouteTablesInput) (req *request.Request, output *DescribeLocalGatewayRouteTablesOutput) {
20242	op := &request.Operation{
20243		Name:       opDescribeLocalGatewayRouteTables,
20244		HTTPMethod: "POST",
20245		HTTPPath:   "/",
20246		Paginator: &request.Paginator{
20247			InputTokens:     []string{"NextToken"},
20248			OutputTokens:    []string{"NextToken"},
20249			LimitToken:      "MaxResults",
20250			TruncationToken: "",
20251		},
20252	}
20253
20254	if input == nil {
20255		input = &DescribeLocalGatewayRouteTablesInput{}
20256	}
20257
20258	output = &DescribeLocalGatewayRouteTablesOutput{}
20259	req = c.newRequest(op, input, output)
20260	return
20261}
20262
20263// DescribeLocalGatewayRouteTables API operation for Amazon Elastic Compute Cloud.
20264//
20265// Describes one or more local gateway route tables. By default, all local gateway
20266// route tables are described. Alternatively, you can filter the results.
20267//
20268// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20269// with awserr.Error's Code and Message methods to get detailed information about
20270// the error.
20271//
20272// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20273// API operation DescribeLocalGatewayRouteTables for usage and error information.
20274// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTables
20275func (c *EC2) DescribeLocalGatewayRouteTables(input *DescribeLocalGatewayRouteTablesInput) (*DescribeLocalGatewayRouteTablesOutput, error) {
20276	req, out := c.DescribeLocalGatewayRouteTablesRequest(input)
20277	return out, req.Send()
20278}
20279
20280// DescribeLocalGatewayRouteTablesWithContext is the same as DescribeLocalGatewayRouteTables with the addition of
20281// the ability to pass a context and additional request options.
20282//
20283// See DescribeLocalGatewayRouteTables for details on how to use this API operation.
20284//
20285// The context must be non-nil and will be used for request cancellation. If
20286// the context is nil a panic will occur. In the future the SDK may create
20287// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20288// for more information on using Contexts.
20289func (c *EC2) DescribeLocalGatewayRouteTablesWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTablesInput, opts ...request.Option) (*DescribeLocalGatewayRouteTablesOutput, error) {
20290	req, out := c.DescribeLocalGatewayRouteTablesRequest(input)
20291	req.SetContext(ctx)
20292	req.ApplyOptions(opts...)
20293	return out, req.Send()
20294}
20295
20296// DescribeLocalGatewayRouteTablesPages iterates over the pages of a DescribeLocalGatewayRouteTables operation,
20297// calling the "fn" function with the response data for each page. To stop
20298// iterating, return false from the fn function.
20299//
20300// See DescribeLocalGatewayRouteTables method for more information on how to use this operation.
20301//
20302// Note: This operation can generate multiple requests to a service.
20303//
20304//    // Example iterating over at most 3 pages of a DescribeLocalGatewayRouteTables operation.
20305//    pageNum := 0
20306//    err := client.DescribeLocalGatewayRouteTablesPages(params,
20307//        func(page *ec2.DescribeLocalGatewayRouteTablesOutput, lastPage bool) bool {
20308//            pageNum++
20309//            fmt.Println(page)
20310//            return pageNum <= 3
20311//        })
20312//
20313func (c *EC2) DescribeLocalGatewayRouteTablesPages(input *DescribeLocalGatewayRouteTablesInput, fn func(*DescribeLocalGatewayRouteTablesOutput, bool) bool) error {
20314	return c.DescribeLocalGatewayRouteTablesPagesWithContext(aws.BackgroundContext(), input, fn)
20315}
20316
20317// DescribeLocalGatewayRouteTablesPagesWithContext same as DescribeLocalGatewayRouteTablesPages except
20318// it takes a Context and allows setting request options on the pages.
20319//
20320// The context must be non-nil and will be used for request cancellation. If
20321// the context is nil a panic will occur. In the future the SDK may create
20322// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20323// for more information on using Contexts.
20324func (c *EC2) DescribeLocalGatewayRouteTablesPagesWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTablesInput, fn func(*DescribeLocalGatewayRouteTablesOutput, bool) bool, opts ...request.Option) error {
20325	p := request.Pagination{
20326		NewRequest: func() (*request.Request, error) {
20327			var inCpy *DescribeLocalGatewayRouteTablesInput
20328			if input != nil {
20329				tmp := *input
20330				inCpy = &tmp
20331			}
20332			req, _ := c.DescribeLocalGatewayRouteTablesRequest(inCpy)
20333			req.SetContext(ctx)
20334			req.ApplyOptions(opts...)
20335			return req, nil
20336		},
20337	}
20338
20339	for p.Next() {
20340		if !fn(p.Page().(*DescribeLocalGatewayRouteTablesOutput), !p.HasNextPage()) {
20341			break
20342		}
20343	}
20344
20345	return p.Err()
20346}
20347
20348const opDescribeLocalGatewayVirtualInterfaceGroups = "DescribeLocalGatewayVirtualInterfaceGroups"
20349
20350// DescribeLocalGatewayVirtualInterfaceGroupsRequest generates a "aws/request.Request" representing the
20351// client's request for the DescribeLocalGatewayVirtualInterfaceGroups operation. The "output" return
20352// value will be populated with the request's response once the request completes
20353// successfully.
20354//
20355// Use "Send" method on the returned Request to send the API call to the service.
20356// the "output" return value is not valid until after Send returns without error.
20357//
20358// See DescribeLocalGatewayVirtualInterfaceGroups for more information on using the DescribeLocalGatewayVirtualInterfaceGroups
20359// API call, and error handling.
20360//
20361// This method is useful when you want to inject custom logic or configuration
20362// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20363//
20364//
20365//    // Example sending a request using the DescribeLocalGatewayVirtualInterfaceGroupsRequest method.
20366//    req, resp := client.DescribeLocalGatewayVirtualInterfaceGroupsRequest(params)
20367//
20368//    err := req.Send()
20369//    if err == nil { // resp is now filled
20370//        fmt.Println(resp)
20371//    }
20372//
20373// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaceGroups
20374func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroupsRequest(input *DescribeLocalGatewayVirtualInterfaceGroupsInput) (req *request.Request, output *DescribeLocalGatewayVirtualInterfaceGroupsOutput) {
20375	op := &request.Operation{
20376		Name:       opDescribeLocalGatewayVirtualInterfaceGroups,
20377		HTTPMethod: "POST",
20378		HTTPPath:   "/",
20379		Paginator: &request.Paginator{
20380			InputTokens:     []string{"NextToken"},
20381			OutputTokens:    []string{"NextToken"},
20382			LimitToken:      "MaxResults",
20383			TruncationToken: "",
20384		},
20385	}
20386
20387	if input == nil {
20388		input = &DescribeLocalGatewayVirtualInterfaceGroupsInput{}
20389	}
20390
20391	output = &DescribeLocalGatewayVirtualInterfaceGroupsOutput{}
20392	req = c.newRequest(op, input, output)
20393	return
20394}
20395
20396// DescribeLocalGatewayVirtualInterfaceGroups API operation for Amazon Elastic Compute Cloud.
20397//
20398// Describes the specified local gateway virtual interface groups.
20399//
20400// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20401// with awserr.Error's Code and Message methods to get detailed information about
20402// the error.
20403//
20404// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20405// API operation DescribeLocalGatewayVirtualInterfaceGroups for usage and error information.
20406// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaceGroups
20407func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroups(input *DescribeLocalGatewayVirtualInterfaceGroupsInput) (*DescribeLocalGatewayVirtualInterfaceGroupsOutput, error) {
20408	req, out := c.DescribeLocalGatewayVirtualInterfaceGroupsRequest(input)
20409	return out, req.Send()
20410}
20411
20412// DescribeLocalGatewayVirtualInterfaceGroupsWithContext is the same as DescribeLocalGatewayVirtualInterfaceGroups with the addition of
20413// the ability to pass a context and additional request options.
20414//
20415// See DescribeLocalGatewayVirtualInterfaceGroups for details on how to use this API operation.
20416//
20417// The context must be non-nil and will be used for request cancellation. If
20418// the context is nil a panic will occur. In the future the SDK may create
20419// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20420// for more information on using Contexts.
20421func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroupsWithContext(ctx aws.Context, input *DescribeLocalGatewayVirtualInterfaceGroupsInput, opts ...request.Option) (*DescribeLocalGatewayVirtualInterfaceGroupsOutput, error) {
20422	req, out := c.DescribeLocalGatewayVirtualInterfaceGroupsRequest(input)
20423	req.SetContext(ctx)
20424	req.ApplyOptions(opts...)
20425	return out, req.Send()
20426}
20427
20428// DescribeLocalGatewayVirtualInterfaceGroupsPages iterates over the pages of a DescribeLocalGatewayVirtualInterfaceGroups operation,
20429// calling the "fn" function with the response data for each page. To stop
20430// iterating, return false from the fn function.
20431//
20432// See DescribeLocalGatewayVirtualInterfaceGroups method for more information on how to use this operation.
20433//
20434// Note: This operation can generate multiple requests to a service.
20435//
20436//    // Example iterating over at most 3 pages of a DescribeLocalGatewayVirtualInterfaceGroups operation.
20437//    pageNum := 0
20438//    err := client.DescribeLocalGatewayVirtualInterfaceGroupsPages(params,
20439//        func(page *ec2.DescribeLocalGatewayVirtualInterfaceGroupsOutput, lastPage bool) bool {
20440//            pageNum++
20441//            fmt.Println(page)
20442//            return pageNum <= 3
20443//        })
20444//
20445func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroupsPages(input *DescribeLocalGatewayVirtualInterfaceGroupsInput, fn func(*DescribeLocalGatewayVirtualInterfaceGroupsOutput, bool) bool) error {
20446	return c.DescribeLocalGatewayVirtualInterfaceGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
20447}
20448
20449// DescribeLocalGatewayVirtualInterfaceGroupsPagesWithContext same as DescribeLocalGatewayVirtualInterfaceGroupsPages except
20450// it takes a Context and allows setting request options on the pages.
20451//
20452// The context must be non-nil and will be used for request cancellation. If
20453// the context is nil a panic will occur. In the future the SDK may create
20454// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20455// for more information on using Contexts.
20456func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroupsPagesWithContext(ctx aws.Context, input *DescribeLocalGatewayVirtualInterfaceGroupsInput, fn func(*DescribeLocalGatewayVirtualInterfaceGroupsOutput, bool) bool, opts ...request.Option) error {
20457	p := request.Pagination{
20458		NewRequest: func() (*request.Request, error) {
20459			var inCpy *DescribeLocalGatewayVirtualInterfaceGroupsInput
20460			if input != nil {
20461				tmp := *input
20462				inCpy = &tmp
20463			}
20464			req, _ := c.DescribeLocalGatewayVirtualInterfaceGroupsRequest(inCpy)
20465			req.SetContext(ctx)
20466			req.ApplyOptions(opts...)
20467			return req, nil
20468		},
20469	}
20470
20471	for p.Next() {
20472		if !fn(p.Page().(*DescribeLocalGatewayVirtualInterfaceGroupsOutput), !p.HasNextPage()) {
20473			break
20474		}
20475	}
20476
20477	return p.Err()
20478}
20479
20480const opDescribeLocalGatewayVirtualInterfaces = "DescribeLocalGatewayVirtualInterfaces"
20481
20482// DescribeLocalGatewayVirtualInterfacesRequest generates a "aws/request.Request" representing the
20483// client's request for the DescribeLocalGatewayVirtualInterfaces operation. The "output" return
20484// value will be populated with the request's response once the request completes
20485// successfully.
20486//
20487// Use "Send" method on the returned Request to send the API call to the service.
20488// the "output" return value is not valid until after Send returns without error.
20489//
20490// See DescribeLocalGatewayVirtualInterfaces for more information on using the DescribeLocalGatewayVirtualInterfaces
20491// API call, and error handling.
20492//
20493// This method is useful when you want to inject custom logic or configuration
20494// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20495//
20496//
20497//    // Example sending a request using the DescribeLocalGatewayVirtualInterfacesRequest method.
20498//    req, resp := client.DescribeLocalGatewayVirtualInterfacesRequest(params)
20499//
20500//    err := req.Send()
20501//    if err == nil { // resp is now filled
20502//        fmt.Println(resp)
20503//    }
20504//
20505// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaces
20506func (c *EC2) DescribeLocalGatewayVirtualInterfacesRequest(input *DescribeLocalGatewayVirtualInterfacesInput) (req *request.Request, output *DescribeLocalGatewayVirtualInterfacesOutput) {
20507	op := &request.Operation{
20508		Name:       opDescribeLocalGatewayVirtualInterfaces,
20509		HTTPMethod: "POST",
20510		HTTPPath:   "/",
20511		Paginator: &request.Paginator{
20512			InputTokens:     []string{"NextToken"},
20513			OutputTokens:    []string{"NextToken"},
20514			LimitToken:      "MaxResults",
20515			TruncationToken: "",
20516		},
20517	}
20518
20519	if input == nil {
20520		input = &DescribeLocalGatewayVirtualInterfacesInput{}
20521	}
20522
20523	output = &DescribeLocalGatewayVirtualInterfacesOutput{}
20524	req = c.newRequest(op, input, output)
20525	return
20526}
20527
20528// DescribeLocalGatewayVirtualInterfaces API operation for Amazon Elastic Compute Cloud.
20529//
20530// Describes the specified local gateway virtual interfaces.
20531//
20532// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20533// with awserr.Error's Code and Message methods to get detailed information about
20534// the error.
20535//
20536// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20537// API operation DescribeLocalGatewayVirtualInterfaces for usage and error information.
20538// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaces
20539func (c *EC2) DescribeLocalGatewayVirtualInterfaces(input *DescribeLocalGatewayVirtualInterfacesInput) (*DescribeLocalGatewayVirtualInterfacesOutput, error) {
20540	req, out := c.DescribeLocalGatewayVirtualInterfacesRequest(input)
20541	return out, req.Send()
20542}
20543
20544// DescribeLocalGatewayVirtualInterfacesWithContext is the same as DescribeLocalGatewayVirtualInterfaces with the addition of
20545// the ability to pass a context and additional request options.
20546//
20547// See DescribeLocalGatewayVirtualInterfaces for details on how to use this API operation.
20548//
20549// The context must be non-nil and will be used for request cancellation. If
20550// the context is nil a panic will occur. In the future the SDK may create
20551// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20552// for more information on using Contexts.
20553func (c *EC2) DescribeLocalGatewayVirtualInterfacesWithContext(ctx aws.Context, input *DescribeLocalGatewayVirtualInterfacesInput, opts ...request.Option) (*DescribeLocalGatewayVirtualInterfacesOutput, error) {
20554	req, out := c.DescribeLocalGatewayVirtualInterfacesRequest(input)
20555	req.SetContext(ctx)
20556	req.ApplyOptions(opts...)
20557	return out, req.Send()
20558}
20559
20560// DescribeLocalGatewayVirtualInterfacesPages iterates over the pages of a DescribeLocalGatewayVirtualInterfaces operation,
20561// calling the "fn" function with the response data for each page. To stop
20562// iterating, return false from the fn function.
20563//
20564// See DescribeLocalGatewayVirtualInterfaces method for more information on how to use this operation.
20565//
20566// Note: This operation can generate multiple requests to a service.
20567//
20568//    // Example iterating over at most 3 pages of a DescribeLocalGatewayVirtualInterfaces operation.
20569//    pageNum := 0
20570//    err := client.DescribeLocalGatewayVirtualInterfacesPages(params,
20571//        func(page *ec2.DescribeLocalGatewayVirtualInterfacesOutput, lastPage bool) bool {
20572//            pageNum++
20573//            fmt.Println(page)
20574//            return pageNum <= 3
20575//        })
20576//
20577func (c *EC2) DescribeLocalGatewayVirtualInterfacesPages(input *DescribeLocalGatewayVirtualInterfacesInput, fn func(*DescribeLocalGatewayVirtualInterfacesOutput, bool) bool) error {
20578	return c.DescribeLocalGatewayVirtualInterfacesPagesWithContext(aws.BackgroundContext(), input, fn)
20579}
20580
20581// DescribeLocalGatewayVirtualInterfacesPagesWithContext same as DescribeLocalGatewayVirtualInterfacesPages except
20582// it takes a Context and allows setting request options on the pages.
20583//
20584// The context must be non-nil and will be used for request cancellation. If
20585// the context is nil a panic will occur. In the future the SDK may create
20586// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20587// for more information on using Contexts.
20588func (c *EC2) DescribeLocalGatewayVirtualInterfacesPagesWithContext(ctx aws.Context, input *DescribeLocalGatewayVirtualInterfacesInput, fn func(*DescribeLocalGatewayVirtualInterfacesOutput, bool) bool, opts ...request.Option) error {
20589	p := request.Pagination{
20590		NewRequest: func() (*request.Request, error) {
20591			var inCpy *DescribeLocalGatewayVirtualInterfacesInput
20592			if input != nil {
20593				tmp := *input
20594				inCpy = &tmp
20595			}
20596			req, _ := c.DescribeLocalGatewayVirtualInterfacesRequest(inCpy)
20597			req.SetContext(ctx)
20598			req.ApplyOptions(opts...)
20599			return req, nil
20600		},
20601	}
20602
20603	for p.Next() {
20604		if !fn(p.Page().(*DescribeLocalGatewayVirtualInterfacesOutput), !p.HasNextPage()) {
20605			break
20606		}
20607	}
20608
20609	return p.Err()
20610}
20611
20612const opDescribeLocalGateways = "DescribeLocalGateways"
20613
20614// DescribeLocalGatewaysRequest generates a "aws/request.Request" representing the
20615// client's request for the DescribeLocalGateways operation. The "output" return
20616// value will be populated with the request's response once the request completes
20617// successfully.
20618//
20619// Use "Send" method on the returned Request to send the API call to the service.
20620// the "output" return value is not valid until after Send returns without error.
20621//
20622// See DescribeLocalGateways for more information on using the DescribeLocalGateways
20623// API call, and error handling.
20624//
20625// This method is useful when you want to inject custom logic or configuration
20626// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20627//
20628//
20629//    // Example sending a request using the DescribeLocalGatewaysRequest method.
20630//    req, resp := client.DescribeLocalGatewaysRequest(params)
20631//
20632//    err := req.Send()
20633//    if err == nil { // resp is now filled
20634//        fmt.Println(resp)
20635//    }
20636//
20637// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGateways
20638func (c *EC2) DescribeLocalGatewaysRequest(input *DescribeLocalGatewaysInput) (req *request.Request, output *DescribeLocalGatewaysOutput) {
20639	op := &request.Operation{
20640		Name:       opDescribeLocalGateways,
20641		HTTPMethod: "POST",
20642		HTTPPath:   "/",
20643		Paginator: &request.Paginator{
20644			InputTokens:     []string{"NextToken"},
20645			OutputTokens:    []string{"NextToken"},
20646			LimitToken:      "MaxResults",
20647			TruncationToken: "",
20648		},
20649	}
20650
20651	if input == nil {
20652		input = &DescribeLocalGatewaysInput{}
20653	}
20654
20655	output = &DescribeLocalGatewaysOutput{}
20656	req = c.newRequest(op, input, output)
20657	return
20658}
20659
20660// DescribeLocalGateways API operation for Amazon Elastic Compute Cloud.
20661//
20662// Describes one or more local gateways. By default, all local gateways are
20663// described. Alternatively, you can filter the results.
20664//
20665// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20666// with awserr.Error's Code and Message methods to get detailed information about
20667// the error.
20668//
20669// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20670// API operation DescribeLocalGateways for usage and error information.
20671// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGateways
20672func (c *EC2) DescribeLocalGateways(input *DescribeLocalGatewaysInput) (*DescribeLocalGatewaysOutput, error) {
20673	req, out := c.DescribeLocalGatewaysRequest(input)
20674	return out, req.Send()
20675}
20676
20677// DescribeLocalGatewaysWithContext is the same as DescribeLocalGateways with the addition of
20678// the ability to pass a context and additional request options.
20679//
20680// See DescribeLocalGateways for details on how to use this API operation.
20681//
20682// The context must be non-nil and will be used for request cancellation. If
20683// the context is nil a panic will occur. In the future the SDK may create
20684// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20685// for more information on using Contexts.
20686func (c *EC2) DescribeLocalGatewaysWithContext(ctx aws.Context, input *DescribeLocalGatewaysInput, opts ...request.Option) (*DescribeLocalGatewaysOutput, error) {
20687	req, out := c.DescribeLocalGatewaysRequest(input)
20688	req.SetContext(ctx)
20689	req.ApplyOptions(opts...)
20690	return out, req.Send()
20691}
20692
20693// DescribeLocalGatewaysPages iterates over the pages of a DescribeLocalGateways operation,
20694// calling the "fn" function with the response data for each page. To stop
20695// iterating, return false from the fn function.
20696//
20697// See DescribeLocalGateways method for more information on how to use this operation.
20698//
20699// Note: This operation can generate multiple requests to a service.
20700//
20701//    // Example iterating over at most 3 pages of a DescribeLocalGateways operation.
20702//    pageNum := 0
20703//    err := client.DescribeLocalGatewaysPages(params,
20704//        func(page *ec2.DescribeLocalGatewaysOutput, lastPage bool) bool {
20705//            pageNum++
20706//            fmt.Println(page)
20707//            return pageNum <= 3
20708//        })
20709//
20710func (c *EC2) DescribeLocalGatewaysPages(input *DescribeLocalGatewaysInput, fn func(*DescribeLocalGatewaysOutput, bool) bool) error {
20711	return c.DescribeLocalGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
20712}
20713
20714// DescribeLocalGatewaysPagesWithContext same as DescribeLocalGatewaysPages except
20715// it takes a Context and allows setting request options on the pages.
20716//
20717// The context must be non-nil and will be used for request cancellation. If
20718// the context is nil a panic will occur. In the future the SDK may create
20719// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20720// for more information on using Contexts.
20721func (c *EC2) DescribeLocalGatewaysPagesWithContext(ctx aws.Context, input *DescribeLocalGatewaysInput, fn func(*DescribeLocalGatewaysOutput, bool) bool, opts ...request.Option) error {
20722	p := request.Pagination{
20723		NewRequest: func() (*request.Request, error) {
20724			var inCpy *DescribeLocalGatewaysInput
20725			if input != nil {
20726				tmp := *input
20727				inCpy = &tmp
20728			}
20729			req, _ := c.DescribeLocalGatewaysRequest(inCpy)
20730			req.SetContext(ctx)
20731			req.ApplyOptions(opts...)
20732			return req, nil
20733		},
20734	}
20735
20736	for p.Next() {
20737		if !fn(p.Page().(*DescribeLocalGatewaysOutput), !p.HasNextPage()) {
20738			break
20739		}
20740	}
20741
20742	return p.Err()
20743}
20744
20745const opDescribeManagedPrefixLists = "DescribeManagedPrefixLists"
20746
20747// DescribeManagedPrefixListsRequest generates a "aws/request.Request" representing the
20748// client's request for the DescribeManagedPrefixLists operation. The "output" return
20749// value will be populated with the request's response once the request completes
20750// successfully.
20751//
20752// Use "Send" method on the returned Request to send the API call to the service.
20753// the "output" return value is not valid until after Send returns without error.
20754//
20755// See DescribeManagedPrefixLists for more information on using the DescribeManagedPrefixLists
20756// API call, and error handling.
20757//
20758// This method is useful when you want to inject custom logic or configuration
20759// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20760//
20761//
20762//    // Example sending a request using the DescribeManagedPrefixListsRequest method.
20763//    req, resp := client.DescribeManagedPrefixListsRequest(params)
20764//
20765//    err := req.Send()
20766//    if err == nil { // resp is now filled
20767//        fmt.Println(resp)
20768//    }
20769//
20770// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeManagedPrefixLists
20771func (c *EC2) DescribeManagedPrefixListsRequest(input *DescribeManagedPrefixListsInput) (req *request.Request, output *DescribeManagedPrefixListsOutput) {
20772	op := &request.Operation{
20773		Name:       opDescribeManagedPrefixLists,
20774		HTTPMethod: "POST",
20775		HTTPPath:   "/",
20776		Paginator: &request.Paginator{
20777			InputTokens:     []string{"NextToken"},
20778			OutputTokens:    []string{"NextToken"},
20779			LimitToken:      "MaxResults",
20780			TruncationToken: "",
20781		},
20782	}
20783
20784	if input == nil {
20785		input = &DescribeManagedPrefixListsInput{}
20786	}
20787
20788	output = &DescribeManagedPrefixListsOutput{}
20789	req = c.newRequest(op, input, output)
20790	return
20791}
20792
20793// DescribeManagedPrefixLists API operation for Amazon Elastic Compute Cloud.
20794//
20795// Describes your managed prefix lists and any Amazon Web Services-managed prefix
20796// lists.
20797//
20798// To view the entries for your prefix list, use GetManagedPrefixListEntries.
20799//
20800// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20801// with awserr.Error's Code and Message methods to get detailed information about
20802// the error.
20803//
20804// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20805// API operation DescribeManagedPrefixLists for usage and error information.
20806// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeManagedPrefixLists
20807func (c *EC2) DescribeManagedPrefixLists(input *DescribeManagedPrefixListsInput) (*DescribeManagedPrefixListsOutput, error) {
20808	req, out := c.DescribeManagedPrefixListsRequest(input)
20809	return out, req.Send()
20810}
20811
20812// DescribeManagedPrefixListsWithContext is the same as DescribeManagedPrefixLists with the addition of
20813// the ability to pass a context and additional request options.
20814//
20815// See DescribeManagedPrefixLists for details on how to use this API operation.
20816//
20817// The context must be non-nil and will be used for request cancellation. If
20818// the context is nil a panic will occur. In the future the SDK may create
20819// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20820// for more information on using Contexts.
20821func (c *EC2) DescribeManagedPrefixListsWithContext(ctx aws.Context, input *DescribeManagedPrefixListsInput, opts ...request.Option) (*DescribeManagedPrefixListsOutput, error) {
20822	req, out := c.DescribeManagedPrefixListsRequest(input)
20823	req.SetContext(ctx)
20824	req.ApplyOptions(opts...)
20825	return out, req.Send()
20826}
20827
20828// DescribeManagedPrefixListsPages iterates over the pages of a DescribeManagedPrefixLists operation,
20829// calling the "fn" function with the response data for each page. To stop
20830// iterating, return false from the fn function.
20831//
20832// See DescribeManagedPrefixLists method for more information on how to use this operation.
20833//
20834// Note: This operation can generate multiple requests to a service.
20835//
20836//    // Example iterating over at most 3 pages of a DescribeManagedPrefixLists operation.
20837//    pageNum := 0
20838//    err := client.DescribeManagedPrefixListsPages(params,
20839//        func(page *ec2.DescribeManagedPrefixListsOutput, lastPage bool) bool {
20840//            pageNum++
20841//            fmt.Println(page)
20842//            return pageNum <= 3
20843//        })
20844//
20845func (c *EC2) DescribeManagedPrefixListsPages(input *DescribeManagedPrefixListsInput, fn func(*DescribeManagedPrefixListsOutput, bool) bool) error {
20846	return c.DescribeManagedPrefixListsPagesWithContext(aws.BackgroundContext(), input, fn)
20847}
20848
20849// DescribeManagedPrefixListsPagesWithContext same as DescribeManagedPrefixListsPages except
20850// it takes a Context and allows setting request options on the pages.
20851//
20852// The context must be non-nil and will be used for request cancellation. If
20853// the context is nil a panic will occur. In the future the SDK may create
20854// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20855// for more information on using Contexts.
20856func (c *EC2) DescribeManagedPrefixListsPagesWithContext(ctx aws.Context, input *DescribeManagedPrefixListsInput, fn func(*DescribeManagedPrefixListsOutput, bool) bool, opts ...request.Option) error {
20857	p := request.Pagination{
20858		NewRequest: func() (*request.Request, error) {
20859			var inCpy *DescribeManagedPrefixListsInput
20860			if input != nil {
20861				tmp := *input
20862				inCpy = &tmp
20863			}
20864			req, _ := c.DescribeManagedPrefixListsRequest(inCpy)
20865			req.SetContext(ctx)
20866			req.ApplyOptions(opts...)
20867			return req, nil
20868		},
20869	}
20870
20871	for p.Next() {
20872		if !fn(p.Page().(*DescribeManagedPrefixListsOutput), !p.HasNextPage()) {
20873			break
20874		}
20875	}
20876
20877	return p.Err()
20878}
20879
20880const opDescribeMovingAddresses = "DescribeMovingAddresses"
20881
20882// DescribeMovingAddressesRequest generates a "aws/request.Request" representing the
20883// client's request for the DescribeMovingAddresses operation. The "output" return
20884// value will be populated with the request's response once the request completes
20885// successfully.
20886//
20887// Use "Send" method on the returned Request to send the API call to the service.
20888// the "output" return value is not valid until after Send returns without error.
20889//
20890// See DescribeMovingAddresses for more information on using the DescribeMovingAddresses
20891// API call, and error handling.
20892//
20893// This method is useful when you want to inject custom logic or configuration
20894// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20895//
20896//
20897//    // Example sending a request using the DescribeMovingAddressesRequest method.
20898//    req, resp := client.DescribeMovingAddressesRequest(params)
20899//
20900//    err := req.Send()
20901//    if err == nil { // resp is now filled
20902//        fmt.Println(resp)
20903//    }
20904//
20905// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
20906func (c *EC2) DescribeMovingAddressesRequest(input *DescribeMovingAddressesInput) (req *request.Request, output *DescribeMovingAddressesOutput) {
20907	op := &request.Operation{
20908		Name:       opDescribeMovingAddresses,
20909		HTTPMethod: "POST",
20910		HTTPPath:   "/",
20911		Paginator: &request.Paginator{
20912			InputTokens:     []string{"NextToken"},
20913			OutputTokens:    []string{"NextToken"},
20914			LimitToken:      "MaxResults",
20915			TruncationToken: "",
20916		},
20917	}
20918
20919	if input == nil {
20920		input = &DescribeMovingAddressesInput{}
20921	}
20922
20923	output = &DescribeMovingAddressesOutput{}
20924	req = c.newRequest(op, input, output)
20925	return
20926}
20927
20928// DescribeMovingAddresses API operation for Amazon Elastic Compute Cloud.
20929//
20930// Describes your Elastic IP addresses that are being moved to the EC2-VPC platform,
20931// or that are being restored to the EC2-Classic platform. This request does
20932// not return information about any other Elastic IP addresses in your account.
20933//
20934// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20935// with awserr.Error's Code and Message methods to get detailed information about
20936// the error.
20937//
20938// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20939// API operation DescribeMovingAddresses for usage and error information.
20940// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
20941func (c *EC2) DescribeMovingAddresses(input *DescribeMovingAddressesInput) (*DescribeMovingAddressesOutput, error) {
20942	req, out := c.DescribeMovingAddressesRequest(input)
20943	return out, req.Send()
20944}
20945
20946// DescribeMovingAddressesWithContext is the same as DescribeMovingAddresses with the addition of
20947// the ability to pass a context and additional request options.
20948//
20949// See DescribeMovingAddresses for details on how to use this API operation.
20950//
20951// The context must be non-nil and will be used for request cancellation. If
20952// the context is nil a panic will occur. In the future the SDK may create
20953// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20954// for more information on using Contexts.
20955func (c *EC2) DescribeMovingAddressesWithContext(ctx aws.Context, input *DescribeMovingAddressesInput, opts ...request.Option) (*DescribeMovingAddressesOutput, error) {
20956	req, out := c.DescribeMovingAddressesRequest(input)
20957	req.SetContext(ctx)
20958	req.ApplyOptions(opts...)
20959	return out, req.Send()
20960}
20961
20962// DescribeMovingAddressesPages iterates over the pages of a DescribeMovingAddresses operation,
20963// calling the "fn" function with the response data for each page. To stop
20964// iterating, return false from the fn function.
20965//
20966// See DescribeMovingAddresses method for more information on how to use this operation.
20967//
20968// Note: This operation can generate multiple requests to a service.
20969//
20970//    // Example iterating over at most 3 pages of a DescribeMovingAddresses operation.
20971//    pageNum := 0
20972//    err := client.DescribeMovingAddressesPages(params,
20973//        func(page *ec2.DescribeMovingAddressesOutput, lastPage bool) bool {
20974//            pageNum++
20975//            fmt.Println(page)
20976//            return pageNum <= 3
20977//        })
20978//
20979func (c *EC2) DescribeMovingAddressesPages(input *DescribeMovingAddressesInput, fn func(*DescribeMovingAddressesOutput, bool) bool) error {
20980	return c.DescribeMovingAddressesPagesWithContext(aws.BackgroundContext(), input, fn)
20981}
20982
20983// DescribeMovingAddressesPagesWithContext same as DescribeMovingAddressesPages except
20984// it takes a Context and allows setting request options on the pages.
20985//
20986// The context must be non-nil and will be used for request cancellation. If
20987// the context is nil a panic will occur. In the future the SDK may create
20988// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20989// for more information on using Contexts.
20990func (c *EC2) DescribeMovingAddressesPagesWithContext(ctx aws.Context, input *DescribeMovingAddressesInput, fn func(*DescribeMovingAddressesOutput, bool) bool, opts ...request.Option) error {
20991	p := request.Pagination{
20992		NewRequest: func() (*request.Request, error) {
20993			var inCpy *DescribeMovingAddressesInput
20994			if input != nil {
20995				tmp := *input
20996				inCpy = &tmp
20997			}
20998			req, _ := c.DescribeMovingAddressesRequest(inCpy)
20999			req.SetContext(ctx)
21000			req.ApplyOptions(opts...)
21001			return req, nil
21002		},
21003	}
21004
21005	for p.Next() {
21006		if !fn(p.Page().(*DescribeMovingAddressesOutput), !p.HasNextPage()) {
21007			break
21008		}
21009	}
21010
21011	return p.Err()
21012}
21013
21014const opDescribeNatGateways = "DescribeNatGateways"
21015
21016// DescribeNatGatewaysRequest generates a "aws/request.Request" representing the
21017// client's request for the DescribeNatGateways operation. The "output" return
21018// value will be populated with the request's response once the request completes
21019// successfully.
21020//
21021// Use "Send" method on the returned Request to send the API call to the service.
21022// the "output" return value is not valid until after Send returns without error.
21023//
21024// See DescribeNatGateways for more information on using the DescribeNatGateways
21025// API call, and error handling.
21026//
21027// This method is useful when you want to inject custom logic or configuration
21028// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21029//
21030//
21031//    // Example sending a request using the DescribeNatGatewaysRequest method.
21032//    req, resp := client.DescribeNatGatewaysRequest(params)
21033//
21034//    err := req.Send()
21035//    if err == nil { // resp is now filled
21036//        fmt.Println(resp)
21037//    }
21038//
21039// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
21040func (c *EC2) DescribeNatGatewaysRequest(input *DescribeNatGatewaysInput) (req *request.Request, output *DescribeNatGatewaysOutput) {
21041	op := &request.Operation{
21042		Name:       opDescribeNatGateways,
21043		HTTPMethod: "POST",
21044		HTTPPath:   "/",
21045		Paginator: &request.Paginator{
21046			InputTokens:     []string{"NextToken"},
21047			OutputTokens:    []string{"NextToken"},
21048			LimitToken:      "MaxResults",
21049			TruncationToken: "",
21050		},
21051	}
21052
21053	if input == nil {
21054		input = &DescribeNatGatewaysInput{}
21055	}
21056
21057	output = &DescribeNatGatewaysOutput{}
21058	req = c.newRequest(op, input, output)
21059	return
21060}
21061
21062// DescribeNatGateways API operation for Amazon Elastic Compute Cloud.
21063//
21064// Describes one or more of your NAT gateways.
21065//
21066// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21067// with awserr.Error's Code and Message methods to get detailed information about
21068// the error.
21069//
21070// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21071// API operation DescribeNatGateways for usage and error information.
21072// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
21073func (c *EC2) DescribeNatGateways(input *DescribeNatGatewaysInput) (*DescribeNatGatewaysOutput, error) {
21074	req, out := c.DescribeNatGatewaysRequest(input)
21075	return out, req.Send()
21076}
21077
21078// DescribeNatGatewaysWithContext is the same as DescribeNatGateways with the addition of
21079// the ability to pass a context and additional request options.
21080//
21081// See DescribeNatGateways for details on how to use this API operation.
21082//
21083// The context must be non-nil and will be used for request cancellation. If
21084// the context is nil a panic will occur. In the future the SDK may create
21085// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21086// for more information on using Contexts.
21087func (c *EC2) DescribeNatGatewaysWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, opts ...request.Option) (*DescribeNatGatewaysOutput, error) {
21088	req, out := c.DescribeNatGatewaysRequest(input)
21089	req.SetContext(ctx)
21090	req.ApplyOptions(opts...)
21091	return out, req.Send()
21092}
21093
21094// DescribeNatGatewaysPages iterates over the pages of a DescribeNatGateways operation,
21095// calling the "fn" function with the response data for each page. To stop
21096// iterating, return false from the fn function.
21097//
21098// See DescribeNatGateways method for more information on how to use this operation.
21099//
21100// Note: This operation can generate multiple requests to a service.
21101//
21102//    // Example iterating over at most 3 pages of a DescribeNatGateways operation.
21103//    pageNum := 0
21104//    err := client.DescribeNatGatewaysPages(params,
21105//        func(page *ec2.DescribeNatGatewaysOutput, lastPage bool) bool {
21106//            pageNum++
21107//            fmt.Println(page)
21108//            return pageNum <= 3
21109//        })
21110//
21111func (c *EC2) DescribeNatGatewaysPages(input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool) error {
21112	return c.DescribeNatGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
21113}
21114
21115// DescribeNatGatewaysPagesWithContext same as DescribeNatGatewaysPages except
21116// it takes a Context and allows setting request options on the pages.
21117//
21118// The context must be non-nil and will be used for request cancellation. If
21119// the context is nil a panic will occur. In the future the SDK may create
21120// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21121// for more information on using Contexts.
21122func (c *EC2) DescribeNatGatewaysPagesWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool, opts ...request.Option) error {
21123	p := request.Pagination{
21124		NewRequest: func() (*request.Request, error) {
21125			var inCpy *DescribeNatGatewaysInput
21126			if input != nil {
21127				tmp := *input
21128				inCpy = &tmp
21129			}
21130			req, _ := c.DescribeNatGatewaysRequest(inCpy)
21131			req.SetContext(ctx)
21132			req.ApplyOptions(opts...)
21133			return req, nil
21134		},
21135	}
21136
21137	for p.Next() {
21138		if !fn(p.Page().(*DescribeNatGatewaysOutput), !p.HasNextPage()) {
21139			break
21140		}
21141	}
21142
21143	return p.Err()
21144}
21145
21146const opDescribeNetworkAcls = "DescribeNetworkAcls"
21147
21148// DescribeNetworkAclsRequest generates a "aws/request.Request" representing the
21149// client's request for the DescribeNetworkAcls operation. The "output" return
21150// value will be populated with the request's response once the request completes
21151// successfully.
21152//
21153// Use "Send" method on the returned Request to send the API call to the service.
21154// the "output" return value is not valid until after Send returns without error.
21155//
21156// See DescribeNetworkAcls for more information on using the DescribeNetworkAcls
21157// API call, and error handling.
21158//
21159// This method is useful when you want to inject custom logic or configuration
21160// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21161//
21162//
21163//    // Example sending a request using the DescribeNetworkAclsRequest method.
21164//    req, resp := client.DescribeNetworkAclsRequest(params)
21165//
21166//    err := req.Send()
21167//    if err == nil { // resp is now filled
21168//        fmt.Println(resp)
21169//    }
21170//
21171// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
21172func (c *EC2) DescribeNetworkAclsRequest(input *DescribeNetworkAclsInput) (req *request.Request, output *DescribeNetworkAclsOutput) {
21173	op := &request.Operation{
21174		Name:       opDescribeNetworkAcls,
21175		HTTPMethod: "POST",
21176		HTTPPath:   "/",
21177		Paginator: &request.Paginator{
21178			InputTokens:     []string{"NextToken"},
21179			OutputTokens:    []string{"NextToken"},
21180			LimitToken:      "MaxResults",
21181			TruncationToken: "",
21182		},
21183	}
21184
21185	if input == nil {
21186		input = &DescribeNetworkAclsInput{}
21187	}
21188
21189	output = &DescribeNetworkAclsOutput{}
21190	req = c.newRequest(op, input, output)
21191	return
21192}
21193
21194// DescribeNetworkAcls API operation for Amazon Elastic Compute Cloud.
21195//
21196// Describes one or more of your network ACLs.
21197//
21198// For more information, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html)
21199// in the Amazon Virtual Private Cloud User Guide.
21200//
21201// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21202// with awserr.Error's Code and Message methods to get detailed information about
21203// the error.
21204//
21205// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21206// API operation DescribeNetworkAcls for usage and error information.
21207// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
21208func (c *EC2) DescribeNetworkAcls(input *DescribeNetworkAclsInput) (*DescribeNetworkAclsOutput, error) {
21209	req, out := c.DescribeNetworkAclsRequest(input)
21210	return out, req.Send()
21211}
21212
21213// DescribeNetworkAclsWithContext is the same as DescribeNetworkAcls with the addition of
21214// the ability to pass a context and additional request options.
21215//
21216// See DescribeNetworkAcls for details on how to use this API operation.
21217//
21218// The context must be non-nil and will be used for request cancellation. If
21219// the context is nil a panic will occur. In the future the SDK may create
21220// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21221// for more information on using Contexts.
21222func (c *EC2) DescribeNetworkAclsWithContext(ctx aws.Context, input *DescribeNetworkAclsInput, opts ...request.Option) (*DescribeNetworkAclsOutput, error) {
21223	req, out := c.DescribeNetworkAclsRequest(input)
21224	req.SetContext(ctx)
21225	req.ApplyOptions(opts...)
21226	return out, req.Send()
21227}
21228
21229// DescribeNetworkAclsPages iterates over the pages of a DescribeNetworkAcls operation,
21230// calling the "fn" function with the response data for each page. To stop
21231// iterating, return false from the fn function.
21232//
21233// See DescribeNetworkAcls method for more information on how to use this operation.
21234//
21235// Note: This operation can generate multiple requests to a service.
21236//
21237//    // Example iterating over at most 3 pages of a DescribeNetworkAcls operation.
21238//    pageNum := 0
21239//    err := client.DescribeNetworkAclsPages(params,
21240//        func(page *ec2.DescribeNetworkAclsOutput, lastPage bool) bool {
21241//            pageNum++
21242//            fmt.Println(page)
21243//            return pageNum <= 3
21244//        })
21245//
21246func (c *EC2) DescribeNetworkAclsPages(input *DescribeNetworkAclsInput, fn func(*DescribeNetworkAclsOutput, bool) bool) error {
21247	return c.DescribeNetworkAclsPagesWithContext(aws.BackgroundContext(), input, fn)
21248}
21249
21250// DescribeNetworkAclsPagesWithContext same as DescribeNetworkAclsPages except
21251// it takes a Context and allows setting request options on the pages.
21252//
21253// The context must be non-nil and will be used for request cancellation. If
21254// the context is nil a panic will occur. In the future the SDK may create
21255// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21256// for more information on using Contexts.
21257func (c *EC2) DescribeNetworkAclsPagesWithContext(ctx aws.Context, input *DescribeNetworkAclsInput, fn func(*DescribeNetworkAclsOutput, bool) bool, opts ...request.Option) error {
21258	p := request.Pagination{
21259		NewRequest: func() (*request.Request, error) {
21260			var inCpy *DescribeNetworkAclsInput
21261			if input != nil {
21262				tmp := *input
21263				inCpy = &tmp
21264			}
21265			req, _ := c.DescribeNetworkAclsRequest(inCpy)
21266			req.SetContext(ctx)
21267			req.ApplyOptions(opts...)
21268			return req, nil
21269		},
21270	}
21271
21272	for p.Next() {
21273		if !fn(p.Page().(*DescribeNetworkAclsOutput), !p.HasNextPage()) {
21274			break
21275		}
21276	}
21277
21278	return p.Err()
21279}
21280
21281const opDescribeNetworkInsightsAnalyses = "DescribeNetworkInsightsAnalyses"
21282
21283// DescribeNetworkInsightsAnalysesRequest generates a "aws/request.Request" representing the
21284// client's request for the DescribeNetworkInsightsAnalyses operation. The "output" return
21285// value will be populated with the request's response once the request completes
21286// successfully.
21287//
21288// Use "Send" method on the returned Request to send the API call to the service.
21289// the "output" return value is not valid until after Send returns without error.
21290//
21291// See DescribeNetworkInsightsAnalyses for more information on using the DescribeNetworkInsightsAnalyses
21292// API call, and error handling.
21293//
21294// This method is useful when you want to inject custom logic or configuration
21295// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21296//
21297//
21298//    // Example sending a request using the DescribeNetworkInsightsAnalysesRequest method.
21299//    req, resp := client.DescribeNetworkInsightsAnalysesRequest(params)
21300//
21301//    err := req.Send()
21302//    if err == nil { // resp is now filled
21303//        fmt.Println(resp)
21304//    }
21305//
21306// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInsightsAnalyses
21307func (c *EC2) DescribeNetworkInsightsAnalysesRequest(input *DescribeNetworkInsightsAnalysesInput) (req *request.Request, output *DescribeNetworkInsightsAnalysesOutput) {
21308	op := &request.Operation{
21309		Name:       opDescribeNetworkInsightsAnalyses,
21310		HTTPMethod: "POST",
21311		HTTPPath:   "/",
21312		Paginator: &request.Paginator{
21313			InputTokens:     []string{"NextToken"},
21314			OutputTokens:    []string{"NextToken"},
21315			LimitToken:      "MaxResults",
21316			TruncationToken: "",
21317		},
21318	}
21319
21320	if input == nil {
21321		input = &DescribeNetworkInsightsAnalysesInput{}
21322	}
21323
21324	output = &DescribeNetworkInsightsAnalysesOutput{}
21325	req = c.newRequest(op, input, output)
21326	return
21327}
21328
21329// DescribeNetworkInsightsAnalyses API operation for Amazon Elastic Compute Cloud.
21330//
21331// Describes one or more of your network insights analyses.
21332//
21333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21334// with awserr.Error's Code and Message methods to get detailed information about
21335// the error.
21336//
21337// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21338// API operation DescribeNetworkInsightsAnalyses for usage and error information.
21339// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInsightsAnalyses
21340func (c *EC2) DescribeNetworkInsightsAnalyses(input *DescribeNetworkInsightsAnalysesInput) (*DescribeNetworkInsightsAnalysesOutput, error) {
21341	req, out := c.DescribeNetworkInsightsAnalysesRequest(input)
21342	return out, req.Send()
21343}
21344
21345// DescribeNetworkInsightsAnalysesWithContext is the same as DescribeNetworkInsightsAnalyses with the addition of
21346// the ability to pass a context and additional request options.
21347//
21348// See DescribeNetworkInsightsAnalyses for details on how to use this API operation.
21349//
21350// The context must be non-nil and will be used for request cancellation. If
21351// the context is nil a panic will occur. In the future the SDK may create
21352// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21353// for more information on using Contexts.
21354func (c *EC2) DescribeNetworkInsightsAnalysesWithContext(ctx aws.Context, input *DescribeNetworkInsightsAnalysesInput, opts ...request.Option) (*DescribeNetworkInsightsAnalysesOutput, error) {
21355	req, out := c.DescribeNetworkInsightsAnalysesRequest(input)
21356	req.SetContext(ctx)
21357	req.ApplyOptions(opts...)
21358	return out, req.Send()
21359}
21360
21361// DescribeNetworkInsightsAnalysesPages iterates over the pages of a DescribeNetworkInsightsAnalyses operation,
21362// calling the "fn" function with the response data for each page. To stop
21363// iterating, return false from the fn function.
21364//
21365// See DescribeNetworkInsightsAnalyses method for more information on how to use this operation.
21366//
21367// Note: This operation can generate multiple requests to a service.
21368//
21369//    // Example iterating over at most 3 pages of a DescribeNetworkInsightsAnalyses operation.
21370//    pageNum := 0
21371//    err := client.DescribeNetworkInsightsAnalysesPages(params,
21372//        func(page *ec2.DescribeNetworkInsightsAnalysesOutput, lastPage bool) bool {
21373//            pageNum++
21374//            fmt.Println(page)
21375//            return pageNum <= 3
21376//        })
21377//
21378func (c *EC2) DescribeNetworkInsightsAnalysesPages(input *DescribeNetworkInsightsAnalysesInput, fn func(*DescribeNetworkInsightsAnalysesOutput, bool) bool) error {
21379	return c.DescribeNetworkInsightsAnalysesPagesWithContext(aws.BackgroundContext(), input, fn)
21380}
21381
21382// DescribeNetworkInsightsAnalysesPagesWithContext same as DescribeNetworkInsightsAnalysesPages except
21383// it takes a Context and allows setting request options on the pages.
21384//
21385// The context must be non-nil and will be used for request cancellation. If
21386// the context is nil a panic will occur. In the future the SDK may create
21387// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21388// for more information on using Contexts.
21389func (c *EC2) DescribeNetworkInsightsAnalysesPagesWithContext(ctx aws.Context, input *DescribeNetworkInsightsAnalysesInput, fn func(*DescribeNetworkInsightsAnalysesOutput, bool) bool, opts ...request.Option) error {
21390	p := request.Pagination{
21391		NewRequest: func() (*request.Request, error) {
21392			var inCpy *DescribeNetworkInsightsAnalysesInput
21393			if input != nil {
21394				tmp := *input
21395				inCpy = &tmp
21396			}
21397			req, _ := c.DescribeNetworkInsightsAnalysesRequest(inCpy)
21398			req.SetContext(ctx)
21399			req.ApplyOptions(opts...)
21400			return req, nil
21401		},
21402	}
21403
21404	for p.Next() {
21405		if !fn(p.Page().(*DescribeNetworkInsightsAnalysesOutput), !p.HasNextPage()) {
21406			break
21407		}
21408	}
21409
21410	return p.Err()
21411}
21412
21413const opDescribeNetworkInsightsPaths = "DescribeNetworkInsightsPaths"
21414
21415// DescribeNetworkInsightsPathsRequest generates a "aws/request.Request" representing the
21416// client's request for the DescribeNetworkInsightsPaths operation. The "output" return
21417// value will be populated with the request's response once the request completes
21418// successfully.
21419//
21420// Use "Send" method on the returned Request to send the API call to the service.
21421// the "output" return value is not valid until after Send returns without error.
21422//
21423// See DescribeNetworkInsightsPaths for more information on using the DescribeNetworkInsightsPaths
21424// API call, and error handling.
21425//
21426// This method is useful when you want to inject custom logic or configuration
21427// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21428//
21429//
21430//    // Example sending a request using the DescribeNetworkInsightsPathsRequest method.
21431//    req, resp := client.DescribeNetworkInsightsPathsRequest(params)
21432//
21433//    err := req.Send()
21434//    if err == nil { // resp is now filled
21435//        fmt.Println(resp)
21436//    }
21437//
21438// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInsightsPaths
21439func (c *EC2) DescribeNetworkInsightsPathsRequest(input *DescribeNetworkInsightsPathsInput) (req *request.Request, output *DescribeNetworkInsightsPathsOutput) {
21440	op := &request.Operation{
21441		Name:       opDescribeNetworkInsightsPaths,
21442		HTTPMethod: "POST",
21443		HTTPPath:   "/",
21444		Paginator: &request.Paginator{
21445			InputTokens:     []string{"NextToken"},
21446			OutputTokens:    []string{"NextToken"},
21447			LimitToken:      "MaxResults",
21448			TruncationToken: "",
21449		},
21450	}
21451
21452	if input == nil {
21453		input = &DescribeNetworkInsightsPathsInput{}
21454	}
21455
21456	output = &DescribeNetworkInsightsPathsOutput{}
21457	req = c.newRequest(op, input, output)
21458	return
21459}
21460
21461// DescribeNetworkInsightsPaths API operation for Amazon Elastic Compute Cloud.
21462//
21463// Describes one or more of your paths.
21464//
21465// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21466// with awserr.Error's Code and Message methods to get detailed information about
21467// the error.
21468//
21469// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21470// API operation DescribeNetworkInsightsPaths for usage and error information.
21471// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInsightsPaths
21472func (c *EC2) DescribeNetworkInsightsPaths(input *DescribeNetworkInsightsPathsInput) (*DescribeNetworkInsightsPathsOutput, error) {
21473	req, out := c.DescribeNetworkInsightsPathsRequest(input)
21474	return out, req.Send()
21475}
21476
21477// DescribeNetworkInsightsPathsWithContext is the same as DescribeNetworkInsightsPaths with the addition of
21478// the ability to pass a context and additional request options.
21479//
21480// See DescribeNetworkInsightsPaths for details on how to use this API operation.
21481//
21482// The context must be non-nil and will be used for request cancellation. If
21483// the context is nil a panic will occur. In the future the SDK may create
21484// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21485// for more information on using Contexts.
21486func (c *EC2) DescribeNetworkInsightsPathsWithContext(ctx aws.Context, input *DescribeNetworkInsightsPathsInput, opts ...request.Option) (*DescribeNetworkInsightsPathsOutput, error) {
21487	req, out := c.DescribeNetworkInsightsPathsRequest(input)
21488	req.SetContext(ctx)
21489	req.ApplyOptions(opts...)
21490	return out, req.Send()
21491}
21492
21493// DescribeNetworkInsightsPathsPages iterates over the pages of a DescribeNetworkInsightsPaths operation,
21494// calling the "fn" function with the response data for each page. To stop
21495// iterating, return false from the fn function.
21496//
21497// See DescribeNetworkInsightsPaths method for more information on how to use this operation.
21498//
21499// Note: This operation can generate multiple requests to a service.
21500//
21501//    // Example iterating over at most 3 pages of a DescribeNetworkInsightsPaths operation.
21502//    pageNum := 0
21503//    err := client.DescribeNetworkInsightsPathsPages(params,
21504//        func(page *ec2.DescribeNetworkInsightsPathsOutput, lastPage bool) bool {
21505//            pageNum++
21506//            fmt.Println(page)
21507//            return pageNum <= 3
21508//        })
21509//
21510func (c *EC2) DescribeNetworkInsightsPathsPages(input *DescribeNetworkInsightsPathsInput, fn func(*DescribeNetworkInsightsPathsOutput, bool) bool) error {
21511	return c.DescribeNetworkInsightsPathsPagesWithContext(aws.BackgroundContext(), input, fn)
21512}
21513
21514// DescribeNetworkInsightsPathsPagesWithContext same as DescribeNetworkInsightsPathsPages except
21515// it takes a Context and allows setting request options on the pages.
21516//
21517// The context must be non-nil and will be used for request cancellation. If
21518// the context is nil a panic will occur. In the future the SDK may create
21519// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21520// for more information on using Contexts.
21521func (c *EC2) DescribeNetworkInsightsPathsPagesWithContext(ctx aws.Context, input *DescribeNetworkInsightsPathsInput, fn func(*DescribeNetworkInsightsPathsOutput, bool) bool, opts ...request.Option) error {
21522	p := request.Pagination{
21523		NewRequest: func() (*request.Request, error) {
21524			var inCpy *DescribeNetworkInsightsPathsInput
21525			if input != nil {
21526				tmp := *input
21527				inCpy = &tmp
21528			}
21529			req, _ := c.DescribeNetworkInsightsPathsRequest(inCpy)
21530			req.SetContext(ctx)
21531			req.ApplyOptions(opts...)
21532			return req, nil
21533		},
21534	}
21535
21536	for p.Next() {
21537		if !fn(p.Page().(*DescribeNetworkInsightsPathsOutput), !p.HasNextPage()) {
21538			break
21539		}
21540	}
21541
21542	return p.Err()
21543}
21544
21545const opDescribeNetworkInterfaceAttribute = "DescribeNetworkInterfaceAttribute"
21546
21547// DescribeNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
21548// client's request for the DescribeNetworkInterfaceAttribute operation. The "output" return
21549// value will be populated with the request's response once the request completes
21550// successfully.
21551//
21552// Use "Send" method on the returned Request to send the API call to the service.
21553// the "output" return value is not valid until after Send returns without error.
21554//
21555// See DescribeNetworkInterfaceAttribute for more information on using the DescribeNetworkInterfaceAttribute
21556// API call, and error handling.
21557//
21558// This method is useful when you want to inject custom logic or configuration
21559// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21560//
21561//
21562//    // Example sending a request using the DescribeNetworkInterfaceAttributeRequest method.
21563//    req, resp := client.DescribeNetworkInterfaceAttributeRequest(params)
21564//
21565//    err := req.Send()
21566//    if err == nil { // resp is now filled
21567//        fmt.Println(resp)
21568//    }
21569//
21570// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
21571func (c *EC2) DescribeNetworkInterfaceAttributeRequest(input *DescribeNetworkInterfaceAttributeInput) (req *request.Request, output *DescribeNetworkInterfaceAttributeOutput) {
21572	op := &request.Operation{
21573		Name:       opDescribeNetworkInterfaceAttribute,
21574		HTTPMethod: "POST",
21575		HTTPPath:   "/",
21576	}
21577
21578	if input == nil {
21579		input = &DescribeNetworkInterfaceAttributeInput{}
21580	}
21581
21582	output = &DescribeNetworkInterfaceAttributeOutput{}
21583	req = c.newRequest(op, input, output)
21584	return
21585}
21586
21587// DescribeNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
21588//
21589// Describes a network interface attribute. You can specify only one attribute
21590// at a time.
21591//
21592// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21593// with awserr.Error's Code and Message methods to get detailed information about
21594// the error.
21595//
21596// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21597// API operation DescribeNetworkInterfaceAttribute for usage and error information.
21598// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
21599func (c *EC2) DescribeNetworkInterfaceAttribute(input *DescribeNetworkInterfaceAttributeInput) (*DescribeNetworkInterfaceAttributeOutput, error) {
21600	req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
21601	return out, req.Send()
21602}
21603
21604// DescribeNetworkInterfaceAttributeWithContext is the same as DescribeNetworkInterfaceAttribute with the addition of
21605// the ability to pass a context and additional request options.
21606//
21607// See DescribeNetworkInterfaceAttribute for details on how to use this API operation.
21608//
21609// The context must be non-nil and will be used for request cancellation. If
21610// the context is nil a panic will occur. In the future the SDK may create
21611// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21612// for more information on using Contexts.
21613func (c *EC2) DescribeNetworkInterfaceAttributeWithContext(ctx aws.Context, input *DescribeNetworkInterfaceAttributeInput, opts ...request.Option) (*DescribeNetworkInterfaceAttributeOutput, error) {
21614	req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
21615	req.SetContext(ctx)
21616	req.ApplyOptions(opts...)
21617	return out, req.Send()
21618}
21619
21620const opDescribeNetworkInterfacePermissions = "DescribeNetworkInterfacePermissions"
21621
21622// DescribeNetworkInterfacePermissionsRequest generates a "aws/request.Request" representing the
21623// client's request for the DescribeNetworkInterfacePermissions operation. The "output" return
21624// value will be populated with the request's response once the request completes
21625// successfully.
21626//
21627// Use "Send" method on the returned Request to send the API call to the service.
21628// the "output" return value is not valid until after Send returns without error.
21629//
21630// See DescribeNetworkInterfacePermissions for more information on using the DescribeNetworkInterfacePermissions
21631// API call, and error handling.
21632//
21633// This method is useful when you want to inject custom logic or configuration
21634// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21635//
21636//
21637//    // Example sending a request using the DescribeNetworkInterfacePermissionsRequest method.
21638//    req, resp := client.DescribeNetworkInterfacePermissionsRequest(params)
21639//
21640//    err := req.Send()
21641//    if err == nil { // resp is now filled
21642//        fmt.Println(resp)
21643//    }
21644//
21645// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions
21646func (c *EC2) DescribeNetworkInterfacePermissionsRequest(input *DescribeNetworkInterfacePermissionsInput) (req *request.Request, output *DescribeNetworkInterfacePermissionsOutput) {
21647	op := &request.Operation{
21648		Name:       opDescribeNetworkInterfacePermissions,
21649		HTTPMethod: "POST",
21650		HTTPPath:   "/",
21651		Paginator: &request.Paginator{
21652			InputTokens:     []string{"NextToken"},
21653			OutputTokens:    []string{"NextToken"},
21654			LimitToken:      "MaxResults",
21655			TruncationToken: "",
21656		},
21657	}
21658
21659	if input == nil {
21660		input = &DescribeNetworkInterfacePermissionsInput{}
21661	}
21662
21663	output = &DescribeNetworkInterfacePermissionsOutput{}
21664	req = c.newRequest(op, input, output)
21665	return
21666}
21667
21668// DescribeNetworkInterfacePermissions API operation for Amazon Elastic Compute Cloud.
21669//
21670// Describes the permissions for your network interfaces.
21671//
21672// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21673// with awserr.Error's Code and Message methods to get detailed information about
21674// the error.
21675//
21676// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21677// API operation DescribeNetworkInterfacePermissions for usage and error information.
21678// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions
21679func (c *EC2) DescribeNetworkInterfacePermissions(input *DescribeNetworkInterfacePermissionsInput) (*DescribeNetworkInterfacePermissionsOutput, error) {
21680	req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
21681	return out, req.Send()
21682}
21683
21684// DescribeNetworkInterfacePermissionsWithContext is the same as DescribeNetworkInterfacePermissions with the addition of
21685// the ability to pass a context and additional request options.
21686//
21687// See DescribeNetworkInterfacePermissions for details on how to use this API operation.
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) DescribeNetworkInterfacePermissionsWithContext(ctx aws.Context, input *DescribeNetworkInterfacePermissionsInput, opts ...request.Option) (*DescribeNetworkInterfacePermissionsOutput, error) {
21694	req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
21695	req.SetContext(ctx)
21696	req.ApplyOptions(opts...)
21697	return out, req.Send()
21698}
21699
21700// DescribeNetworkInterfacePermissionsPages iterates over the pages of a DescribeNetworkInterfacePermissions operation,
21701// calling the "fn" function with the response data for each page. To stop
21702// iterating, return false from the fn function.
21703//
21704// See DescribeNetworkInterfacePermissions method for more information on how to use this operation.
21705//
21706// Note: This operation can generate multiple requests to a service.
21707//
21708//    // Example iterating over at most 3 pages of a DescribeNetworkInterfacePermissions operation.
21709//    pageNum := 0
21710//    err := client.DescribeNetworkInterfacePermissionsPages(params,
21711//        func(page *ec2.DescribeNetworkInterfacePermissionsOutput, lastPage bool) bool {
21712//            pageNum++
21713//            fmt.Println(page)
21714//            return pageNum <= 3
21715//        })
21716//
21717func (c *EC2) DescribeNetworkInterfacePermissionsPages(input *DescribeNetworkInterfacePermissionsInput, fn func(*DescribeNetworkInterfacePermissionsOutput, bool) bool) error {
21718	return c.DescribeNetworkInterfacePermissionsPagesWithContext(aws.BackgroundContext(), input, fn)
21719}
21720
21721// DescribeNetworkInterfacePermissionsPagesWithContext same as DescribeNetworkInterfacePermissionsPages except
21722// it takes a Context and allows setting request options on the pages.
21723//
21724// The context must be non-nil and will be used for request cancellation. If
21725// the context is nil a panic will occur. In the future the SDK may create
21726// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21727// for more information on using Contexts.
21728func (c *EC2) DescribeNetworkInterfacePermissionsPagesWithContext(ctx aws.Context, input *DescribeNetworkInterfacePermissionsInput, fn func(*DescribeNetworkInterfacePermissionsOutput, bool) bool, opts ...request.Option) error {
21729	p := request.Pagination{
21730		NewRequest: func() (*request.Request, error) {
21731			var inCpy *DescribeNetworkInterfacePermissionsInput
21732			if input != nil {
21733				tmp := *input
21734				inCpy = &tmp
21735			}
21736			req, _ := c.DescribeNetworkInterfacePermissionsRequest(inCpy)
21737			req.SetContext(ctx)
21738			req.ApplyOptions(opts...)
21739			return req, nil
21740		},
21741	}
21742
21743	for p.Next() {
21744		if !fn(p.Page().(*DescribeNetworkInterfacePermissionsOutput), !p.HasNextPage()) {
21745			break
21746		}
21747	}
21748
21749	return p.Err()
21750}
21751
21752const opDescribeNetworkInterfaces = "DescribeNetworkInterfaces"
21753
21754// DescribeNetworkInterfacesRequest generates a "aws/request.Request" representing the
21755// client's request for the DescribeNetworkInterfaces operation. The "output" return
21756// value will be populated with the request's response once the request completes
21757// successfully.
21758//
21759// Use "Send" method on the returned Request to send the API call to the service.
21760// the "output" return value is not valid until after Send returns without error.
21761//
21762// See DescribeNetworkInterfaces for more information on using the DescribeNetworkInterfaces
21763// API call, and error handling.
21764//
21765// This method is useful when you want to inject custom logic or configuration
21766// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21767//
21768//
21769//    // Example sending a request using the DescribeNetworkInterfacesRequest method.
21770//    req, resp := client.DescribeNetworkInterfacesRequest(params)
21771//
21772//    err := req.Send()
21773//    if err == nil { // resp is now filled
21774//        fmt.Println(resp)
21775//    }
21776//
21777// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
21778func (c *EC2) DescribeNetworkInterfacesRequest(input *DescribeNetworkInterfacesInput) (req *request.Request, output *DescribeNetworkInterfacesOutput) {
21779	op := &request.Operation{
21780		Name:       opDescribeNetworkInterfaces,
21781		HTTPMethod: "POST",
21782		HTTPPath:   "/",
21783		Paginator: &request.Paginator{
21784			InputTokens:     []string{"NextToken"},
21785			OutputTokens:    []string{"NextToken"},
21786			LimitToken:      "MaxResults",
21787			TruncationToken: "",
21788		},
21789	}
21790
21791	if input == nil {
21792		input = &DescribeNetworkInterfacesInput{}
21793	}
21794
21795	output = &DescribeNetworkInterfacesOutput{}
21796	req = c.newRequest(op, input, output)
21797	return
21798}
21799
21800// DescribeNetworkInterfaces API operation for Amazon Elastic Compute Cloud.
21801//
21802// Describes one or more of your network interfaces.
21803//
21804// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21805// with awserr.Error's Code and Message methods to get detailed information about
21806// the error.
21807//
21808// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21809// API operation DescribeNetworkInterfaces for usage and error information.
21810// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
21811func (c *EC2) DescribeNetworkInterfaces(input *DescribeNetworkInterfacesInput) (*DescribeNetworkInterfacesOutput, error) {
21812	req, out := c.DescribeNetworkInterfacesRequest(input)
21813	return out, req.Send()
21814}
21815
21816// DescribeNetworkInterfacesWithContext is the same as DescribeNetworkInterfaces with the addition of
21817// the ability to pass a context and additional request options.
21818//
21819// See DescribeNetworkInterfaces for details on how to use this API operation.
21820//
21821// The context must be non-nil and will be used for request cancellation. If
21822// the context is nil a panic will occur. In the future the SDK may create
21823// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21824// for more information on using Contexts.
21825func (c *EC2) DescribeNetworkInterfacesWithContext(ctx aws.Context, input *DescribeNetworkInterfacesInput, opts ...request.Option) (*DescribeNetworkInterfacesOutput, error) {
21826	req, out := c.DescribeNetworkInterfacesRequest(input)
21827	req.SetContext(ctx)
21828	req.ApplyOptions(opts...)
21829	return out, req.Send()
21830}
21831
21832// DescribeNetworkInterfacesPages iterates over the pages of a DescribeNetworkInterfaces operation,
21833// calling the "fn" function with the response data for each page. To stop
21834// iterating, return false from the fn function.
21835//
21836// See DescribeNetworkInterfaces method for more information on how to use this operation.
21837//
21838// Note: This operation can generate multiple requests to a service.
21839//
21840//    // Example iterating over at most 3 pages of a DescribeNetworkInterfaces operation.
21841//    pageNum := 0
21842//    err := client.DescribeNetworkInterfacesPages(params,
21843//        func(page *ec2.DescribeNetworkInterfacesOutput, lastPage bool) bool {
21844//            pageNum++
21845//            fmt.Println(page)
21846//            return pageNum <= 3
21847//        })
21848//
21849func (c *EC2) DescribeNetworkInterfacesPages(input *DescribeNetworkInterfacesInput, fn func(*DescribeNetworkInterfacesOutput, bool) bool) error {
21850	return c.DescribeNetworkInterfacesPagesWithContext(aws.BackgroundContext(), input, fn)
21851}
21852
21853// DescribeNetworkInterfacesPagesWithContext same as DescribeNetworkInterfacesPages except
21854// it takes a Context and allows setting request options on the pages.
21855//
21856// The context must be non-nil and will be used for request cancellation. If
21857// the context is nil a panic will occur. In the future the SDK may create
21858// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21859// for more information on using Contexts.
21860func (c *EC2) DescribeNetworkInterfacesPagesWithContext(ctx aws.Context, input *DescribeNetworkInterfacesInput, fn func(*DescribeNetworkInterfacesOutput, bool) bool, opts ...request.Option) error {
21861	p := request.Pagination{
21862		NewRequest: func() (*request.Request, error) {
21863			var inCpy *DescribeNetworkInterfacesInput
21864			if input != nil {
21865				tmp := *input
21866				inCpy = &tmp
21867			}
21868			req, _ := c.DescribeNetworkInterfacesRequest(inCpy)
21869			req.SetContext(ctx)
21870			req.ApplyOptions(opts...)
21871			return req, nil
21872		},
21873	}
21874
21875	for p.Next() {
21876		if !fn(p.Page().(*DescribeNetworkInterfacesOutput), !p.HasNextPage()) {
21877			break
21878		}
21879	}
21880
21881	return p.Err()
21882}
21883
21884const opDescribePlacementGroups = "DescribePlacementGroups"
21885
21886// DescribePlacementGroupsRequest generates a "aws/request.Request" representing the
21887// client's request for the DescribePlacementGroups operation. The "output" return
21888// value will be populated with the request's response once the request completes
21889// successfully.
21890//
21891// Use "Send" method on the returned Request to send the API call to the service.
21892// the "output" return value is not valid until after Send returns without error.
21893//
21894// See DescribePlacementGroups for more information on using the DescribePlacementGroups
21895// API call, and error handling.
21896//
21897// This method is useful when you want to inject custom logic or configuration
21898// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21899//
21900//
21901//    // Example sending a request using the DescribePlacementGroupsRequest method.
21902//    req, resp := client.DescribePlacementGroupsRequest(params)
21903//
21904//    err := req.Send()
21905//    if err == nil { // resp is now filled
21906//        fmt.Println(resp)
21907//    }
21908//
21909// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
21910func (c *EC2) DescribePlacementGroupsRequest(input *DescribePlacementGroupsInput) (req *request.Request, output *DescribePlacementGroupsOutput) {
21911	op := &request.Operation{
21912		Name:       opDescribePlacementGroups,
21913		HTTPMethod: "POST",
21914		HTTPPath:   "/",
21915	}
21916
21917	if input == nil {
21918		input = &DescribePlacementGroupsInput{}
21919	}
21920
21921	output = &DescribePlacementGroupsOutput{}
21922	req = c.newRequest(op, input, output)
21923	return
21924}
21925
21926// DescribePlacementGroups API operation for Amazon Elastic Compute Cloud.
21927//
21928// Describes the specified placement groups or all of your placement groups.
21929// For more information, see Placement groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
21930// in the Amazon EC2 User Guide.
21931//
21932// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21933// with awserr.Error's Code and Message methods to get detailed information about
21934// the error.
21935//
21936// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21937// API operation DescribePlacementGroups for usage and error information.
21938// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
21939func (c *EC2) DescribePlacementGroups(input *DescribePlacementGroupsInput) (*DescribePlacementGroupsOutput, error) {
21940	req, out := c.DescribePlacementGroupsRequest(input)
21941	return out, req.Send()
21942}
21943
21944// DescribePlacementGroupsWithContext is the same as DescribePlacementGroups with the addition of
21945// the ability to pass a context and additional request options.
21946//
21947// See DescribePlacementGroups for details on how to use this API operation.
21948//
21949// The context must be non-nil and will be used for request cancellation. If
21950// the context is nil a panic will occur. In the future the SDK may create
21951// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21952// for more information on using Contexts.
21953func (c *EC2) DescribePlacementGroupsWithContext(ctx aws.Context, input *DescribePlacementGroupsInput, opts ...request.Option) (*DescribePlacementGroupsOutput, error) {
21954	req, out := c.DescribePlacementGroupsRequest(input)
21955	req.SetContext(ctx)
21956	req.ApplyOptions(opts...)
21957	return out, req.Send()
21958}
21959
21960const opDescribePrefixLists = "DescribePrefixLists"
21961
21962// DescribePrefixListsRequest generates a "aws/request.Request" representing the
21963// client's request for the DescribePrefixLists operation. The "output" return
21964// value will be populated with the request's response once the request completes
21965// successfully.
21966//
21967// Use "Send" method on the returned Request to send the API call to the service.
21968// the "output" return value is not valid until after Send returns without error.
21969//
21970// See DescribePrefixLists for more information on using the DescribePrefixLists
21971// API call, and error handling.
21972//
21973// This method is useful when you want to inject custom logic or configuration
21974// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21975//
21976//
21977//    // Example sending a request using the DescribePrefixListsRequest method.
21978//    req, resp := client.DescribePrefixListsRequest(params)
21979//
21980//    err := req.Send()
21981//    if err == nil { // resp is now filled
21982//        fmt.Println(resp)
21983//    }
21984//
21985// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
21986func (c *EC2) DescribePrefixListsRequest(input *DescribePrefixListsInput) (req *request.Request, output *DescribePrefixListsOutput) {
21987	op := &request.Operation{
21988		Name:       opDescribePrefixLists,
21989		HTTPMethod: "POST",
21990		HTTPPath:   "/",
21991		Paginator: &request.Paginator{
21992			InputTokens:     []string{"NextToken"},
21993			OutputTokens:    []string{"NextToken"},
21994			LimitToken:      "MaxResults",
21995			TruncationToken: "",
21996		},
21997	}
21998
21999	if input == nil {
22000		input = &DescribePrefixListsInput{}
22001	}
22002
22003	output = &DescribePrefixListsOutput{}
22004	req = c.newRequest(op, input, output)
22005	return
22006}
22007
22008// DescribePrefixLists API operation for Amazon Elastic Compute Cloud.
22009//
22010// Describes available Amazon Web Services services in a prefix list format,
22011// which includes the prefix list name and prefix list ID of the service and
22012// the IP address range for the service.
22013//
22014// We recommend that you use DescribeManagedPrefixLists instead.
22015//
22016// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22017// with awserr.Error's Code and Message methods to get detailed information about
22018// the error.
22019//
22020// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22021// API operation DescribePrefixLists for usage and error information.
22022// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
22023func (c *EC2) DescribePrefixLists(input *DescribePrefixListsInput) (*DescribePrefixListsOutput, error) {
22024	req, out := c.DescribePrefixListsRequest(input)
22025	return out, req.Send()
22026}
22027
22028// DescribePrefixListsWithContext is the same as DescribePrefixLists with the addition of
22029// the ability to pass a context and additional request options.
22030//
22031// See DescribePrefixLists for details on how to use this API operation.
22032//
22033// The context must be non-nil and will be used for request cancellation. If
22034// the context is nil a panic will occur. In the future the SDK may create
22035// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22036// for more information on using Contexts.
22037func (c *EC2) DescribePrefixListsWithContext(ctx aws.Context, input *DescribePrefixListsInput, opts ...request.Option) (*DescribePrefixListsOutput, error) {
22038	req, out := c.DescribePrefixListsRequest(input)
22039	req.SetContext(ctx)
22040	req.ApplyOptions(opts...)
22041	return out, req.Send()
22042}
22043
22044// DescribePrefixListsPages iterates over the pages of a DescribePrefixLists operation,
22045// calling the "fn" function with the response data for each page. To stop
22046// iterating, return false from the fn function.
22047//
22048// See DescribePrefixLists method for more information on how to use this operation.
22049//
22050// Note: This operation can generate multiple requests to a service.
22051//
22052//    // Example iterating over at most 3 pages of a DescribePrefixLists operation.
22053//    pageNum := 0
22054//    err := client.DescribePrefixListsPages(params,
22055//        func(page *ec2.DescribePrefixListsOutput, lastPage bool) bool {
22056//            pageNum++
22057//            fmt.Println(page)
22058//            return pageNum <= 3
22059//        })
22060//
22061func (c *EC2) DescribePrefixListsPages(input *DescribePrefixListsInput, fn func(*DescribePrefixListsOutput, bool) bool) error {
22062	return c.DescribePrefixListsPagesWithContext(aws.BackgroundContext(), input, fn)
22063}
22064
22065// DescribePrefixListsPagesWithContext same as DescribePrefixListsPages except
22066// it takes a Context and allows setting request options on the pages.
22067//
22068// The context must be non-nil and will be used for request cancellation. If
22069// the context is nil a panic will occur. In the future the SDK may create
22070// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22071// for more information on using Contexts.
22072func (c *EC2) DescribePrefixListsPagesWithContext(ctx aws.Context, input *DescribePrefixListsInput, fn func(*DescribePrefixListsOutput, bool) bool, opts ...request.Option) error {
22073	p := request.Pagination{
22074		NewRequest: func() (*request.Request, error) {
22075			var inCpy *DescribePrefixListsInput
22076			if input != nil {
22077				tmp := *input
22078				inCpy = &tmp
22079			}
22080			req, _ := c.DescribePrefixListsRequest(inCpy)
22081			req.SetContext(ctx)
22082			req.ApplyOptions(opts...)
22083			return req, nil
22084		},
22085	}
22086
22087	for p.Next() {
22088		if !fn(p.Page().(*DescribePrefixListsOutput), !p.HasNextPage()) {
22089			break
22090		}
22091	}
22092
22093	return p.Err()
22094}
22095
22096const opDescribePrincipalIdFormat = "DescribePrincipalIdFormat"
22097
22098// DescribePrincipalIdFormatRequest generates a "aws/request.Request" representing the
22099// client's request for the DescribePrincipalIdFormat operation. The "output" return
22100// value will be populated with the request's response once the request completes
22101// successfully.
22102//
22103// Use "Send" method on the returned Request to send the API call to the service.
22104// the "output" return value is not valid until after Send returns without error.
22105//
22106// See DescribePrincipalIdFormat for more information on using the DescribePrincipalIdFormat
22107// API call, and error handling.
22108//
22109// This method is useful when you want to inject custom logic or configuration
22110// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22111//
22112//
22113//    // Example sending a request using the DescribePrincipalIdFormatRequest method.
22114//    req, resp := client.DescribePrincipalIdFormatRequest(params)
22115//
22116//    err := req.Send()
22117//    if err == nil { // resp is now filled
22118//        fmt.Println(resp)
22119//    }
22120//
22121// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrincipalIdFormat
22122func (c *EC2) DescribePrincipalIdFormatRequest(input *DescribePrincipalIdFormatInput) (req *request.Request, output *DescribePrincipalIdFormatOutput) {
22123	op := &request.Operation{
22124		Name:       opDescribePrincipalIdFormat,
22125		HTTPMethod: "POST",
22126		HTTPPath:   "/",
22127		Paginator: &request.Paginator{
22128			InputTokens:     []string{"NextToken"},
22129			OutputTokens:    []string{"NextToken"},
22130			LimitToken:      "MaxResults",
22131			TruncationToken: "",
22132		},
22133	}
22134
22135	if input == nil {
22136		input = &DescribePrincipalIdFormatInput{}
22137	}
22138
22139	output = &DescribePrincipalIdFormatOutput{}
22140	req = c.newRequest(op, input, output)
22141	return
22142}
22143
22144// DescribePrincipalIdFormat API operation for Amazon Elastic Compute Cloud.
22145//
22146// Describes the ID format settings for the root user and all IAM roles and
22147// IAM users that have explicitly specified a longer ID (17-character ID) preference.
22148//
22149// By default, all IAM roles and IAM users default to the same ID settings as
22150// the root user, unless they explicitly override the settings. This request
22151// is useful for identifying those IAM users and IAM roles that have overridden
22152// the default ID settings.
22153//
22154// The following resource types support longer IDs: bundle | conversion-task
22155// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
22156// | export-task | flow-log | image | import-task | instance | internet-gateway
22157// | network-acl | network-acl-association | network-interface | network-interface-attachment
22158// | prefix-list | reservation | route-table | route-table-association | security-group
22159// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
22160// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
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 DescribePrincipalIdFormat for usage and error information.
22168// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrincipalIdFormat
22169func (c *EC2) DescribePrincipalIdFormat(input *DescribePrincipalIdFormatInput) (*DescribePrincipalIdFormatOutput, error) {
22170	req, out := c.DescribePrincipalIdFormatRequest(input)
22171	return out, req.Send()
22172}
22173
22174// DescribePrincipalIdFormatWithContext is the same as DescribePrincipalIdFormat with the addition of
22175// the ability to pass a context and additional request options.
22176//
22177// See DescribePrincipalIdFormat 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) DescribePrincipalIdFormatWithContext(ctx aws.Context, input *DescribePrincipalIdFormatInput, opts ...request.Option) (*DescribePrincipalIdFormatOutput, error) {
22184	req, out := c.DescribePrincipalIdFormatRequest(input)
22185	req.SetContext(ctx)
22186	req.ApplyOptions(opts...)
22187	return out, req.Send()
22188}
22189
22190// DescribePrincipalIdFormatPages iterates over the pages of a DescribePrincipalIdFormat 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 DescribePrincipalIdFormat 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 DescribePrincipalIdFormat operation.
22199//    pageNum := 0
22200//    err := client.DescribePrincipalIdFormatPages(params,
22201//        func(page *ec2.DescribePrincipalIdFormatOutput, lastPage bool) bool {
22202//            pageNum++
22203//            fmt.Println(page)
22204//            return pageNum <= 3
22205//        })
22206//
22207func (c *EC2) DescribePrincipalIdFormatPages(input *DescribePrincipalIdFormatInput, fn func(*DescribePrincipalIdFormatOutput, bool) bool) error {
22208	return c.DescribePrincipalIdFormatPagesWithContext(aws.BackgroundContext(), input, fn)
22209}
22210
22211// DescribePrincipalIdFormatPagesWithContext same as DescribePrincipalIdFormatPages 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) DescribePrincipalIdFormatPagesWithContext(ctx aws.Context, input *DescribePrincipalIdFormatInput, fn func(*DescribePrincipalIdFormatOutput, bool) bool, opts ...request.Option) error {
22219	p := request.Pagination{
22220		NewRequest: func() (*request.Request, error) {
22221			var inCpy *DescribePrincipalIdFormatInput
22222			if input != nil {
22223				tmp := *input
22224				inCpy = &tmp
22225			}
22226			req, _ := c.DescribePrincipalIdFormatRequest(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().(*DescribePrincipalIdFormatOutput), !p.HasNextPage()) {
22235			break
22236		}
22237	}
22238
22239	return p.Err()
22240}
22241
22242const opDescribePublicIpv4Pools = "DescribePublicIpv4Pools"
22243
22244// DescribePublicIpv4PoolsRequest generates a "aws/request.Request" representing the
22245// client's request for the DescribePublicIpv4Pools 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 DescribePublicIpv4Pools for more information on using the DescribePublicIpv4Pools
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 DescribePublicIpv4PoolsRequest method.
22260//    req, resp := client.DescribePublicIpv4PoolsRequest(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/DescribePublicIpv4Pools
22268func (c *EC2) DescribePublicIpv4PoolsRequest(input *DescribePublicIpv4PoolsInput) (req *request.Request, output *DescribePublicIpv4PoolsOutput) {
22269	op := &request.Operation{
22270		Name:       opDescribePublicIpv4Pools,
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 = &DescribePublicIpv4PoolsInput{}
22283	}
22284
22285	output = &DescribePublicIpv4PoolsOutput{}
22286	req = c.newRequest(op, input, output)
22287	return
22288}
22289
22290// DescribePublicIpv4Pools API operation for Amazon Elastic Compute Cloud.
22291//
22292// Describes the specified IPv4 address pools.
22293//
22294// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22295// with awserr.Error's Code and Message methods to get detailed information about
22296// the error.
22297//
22298// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22299// API operation DescribePublicIpv4Pools for usage and error information.
22300// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePublicIpv4Pools
22301func (c *EC2) DescribePublicIpv4Pools(input *DescribePublicIpv4PoolsInput) (*DescribePublicIpv4PoolsOutput, error) {
22302	req, out := c.DescribePublicIpv4PoolsRequest(input)
22303	return out, req.Send()
22304}
22305
22306// DescribePublicIpv4PoolsWithContext is the same as DescribePublicIpv4Pools with the addition of
22307// the ability to pass a context and additional request options.
22308//
22309// See DescribePublicIpv4Pools for details on how to use this API operation.
22310//
22311// The context must be non-nil and will be used for request cancellation. If
22312// the context is nil a panic will occur. In the future the SDK may create
22313// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22314// for more information on using Contexts.
22315func (c *EC2) DescribePublicIpv4PoolsWithContext(ctx aws.Context, input *DescribePublicIpv4PoolsInput, opts ...request.Option) (*DescribePublicIpv4PoolsOutput, error) {
22316	req, out := c.DescribePublicIpv4PoolsRequest(input)
22317	req.SetContext(ctx)
22318	req.ApplyOptions(opts...)
22319	return out, req.Send()
22320}
22321
22322// DescribePublicIpv4PoolsPages iterates over the pages of a DescribePublicIpv4Pools operation,
22323// calling the "fn" function with the response data for each page. To stop
22324// iterating, return false from the fn function.
22325//
22326// See DescribePublicIpv4Pools method for more information on how to use this operation.
22327//
22328// Note: This operation can generate multiple requests to a service.
22329//
22330//    // Example iterating over at most 3 pages of a DescribePublicIpv4Pools operation.
22331//    pageNum := 0
22332//    err := client.DescribePublicIpv4PoolsPages(params,
22333//        func(page *ec2.DescribePublicIpv4PoolsOutput, lastPage bool) bool {
22334//            pageNum++
22335//            fmt.Println(page)
22336//            return pageNum <= 3
22337//        })
22338//
22339func (c *EC2) DescribePublicIpv4PoolsPages(input *DescribePublicIpv4PoolsInput, fn func(*DescribePublicIpv4PoolsOutput, bool) bool) error {
22340	return c.DescribePublicIpv4PoolsPagesWithContext(aws.BackgroundContext(), input, fn)
22341}
22342
22343// DescribePublicIpv4PoolsPagesWithContext same as DescribePublicIpv4PoolsPages except
22344// it takes a Context and allows setting request options on the pages.
22345//
22346// The context must be non-nil and will be used for request cancellation. If
22347// the context is nil a panic will occur. In the future the SDK may create
22348// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22349// for more information on using Contexts.
22350func (c *EC2) DescribePublicIpv4PoolsPagesWithContext(ctx aws.Context, input *DescribePublicIpv4PoolsInput, fn func(*DescribePublicIpv4PoolsOutput, bool) bool, opts ...request.Option) error {
22351	p := request.Pagination{
22352		NewRequest: func() (*request.Request, error) {
22353			var inCpy *DescribePublicIpv4PoolsInput
22354			if input != nil {
22355				tmp := *input
22356				inCpy = &tmp
22357			}
22358			req, _ := c.DescribePublicIpv4PoolsRequest(inCpy)
22359			req.SetContext(ctx)
22360			req.ApplyOptions(opts...)
22361			return req, nil
22362		},
22363	}
22364
22365	for p.Next() {
22366		if !fn(p.Page().(*DescribePublicIpv4PoolsOutput), !p.HasNextPage()) {
22367			break
22368		}
22369	}
22370
22371	return p.Err()
22372}
22373
22374const opDescribeRegions = "DescribeRegions"
22375
22376// DescribeRegionsRequest generates a "aws/request.Request" representing the
22377// client's request for the DescribeRegions operation. The "output" return
22378// value will be populated with the request's response once the request completes
22379// successfully.
22380//
22381// Use "Send" method on the returned Request to send the API call to the service.
22382// the "output" return value is not valid until after Send returns without error.
22383//
22384// See DescribeRegions for more information on using the DescribeRegions
22385// API call, and error handling.
22386//
22387// This method is useful when you want to inject custom logic or configuration
22388// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22389//
22390//
22391//    // Example sending a request using the DescribeRegionsRequest method.
22392//    req, resp := client.DescribeRegionsRequest(params)
22393//
22394//    err := req.Send()
22395//    if err == nil { // resp is now filled
22396//        fmt.Println(resp)
22397//    }
22398//
22399// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
22400func (c *EC2) DescribeRegionsRequest(input *DescribeRegionsInput) (req *request.Request, output *DescribeRegionsOutput) {
22401	op := &request.Operation{
22402		Name:       opDescribeRegions,
22403		HTTPMethod: "POST",
22404		HTTPPath:   "/",
22405	}
22406
22407	if input == nil {
22408		input = &DescribeRegionsInput{}
22409	}
22410
22411	output = &DescribeRegionsOutput{}
22412	req = c.newRequest(op, input, output)
22413	return
22414}
22415
22416// DescribeRegions API operation for Amazon Elastic Compute Cloud.
22417//
22418// Describes the Regions that are enabled for your account, or all Regions.
22419//
22420// For a list of the Regions supported by Amazon EC2, see Regions and Endpoints
22421// (https://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region).
22422//
22423// For information about enabling and disabling Regions for your account, see
22424// Managing AWS Regions (https://docs.aws.amazon.com/general/latest/gr/rande-manage.html)
22425// in the AWS General Reference.
22426//
22427// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22428// with awserr.Error's Code and Message methods to get detailed information about
22429// the error.
22430//
22431// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22432// API operation DescribeRegions for usage and error information.
22433// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
22434func (c *EC2) DescribeRegions(input *DescribeRegionsInput) (*DescribeRegionsOutput, error) {
22435	req, out := c.DescribeRegionsRequest(input)
22436	return out, req.Send()
22437}
22438
22439// DescribeRegionsWithContext is the same as DescribeRegions with the addition of
22440// the ability to pass a context and additional request options.
22441//
22442// See DescribeRegions for details on how to use this API operation.
22443//
22444// The context must be non-nil and will be used for request cancellation. If
22445// the context is nil a panic will occur. In the future the SDK may create
22446// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22447// for more information on using Contexts.
22448func (c *EC2) DescribeRegionsWithContext(ctx aws.Context, input *DescribeRegionsInput, opts ...request.Option) (*DescribeRegionsOutput, error) {
22449	req, out := c.DescribeRegionsRequest(input)
22450	req.SetContext(ctx)
22451	req.ApplyOptions(opts...)
22452	return out, req.Send()
22453}
22454
22455const opDescribeReplaceRootVolumeTasks = "DescribeReplaceRootVolumeTasks"
22456
22457// DescribeReplaceRootVolumeTasksRequest generates a "aws/request.Request" representing the
22458// client's request for the DescribeReplaceRootVolumeTasks operation. The "output" return
22459// value will be populated with the request's response once the request completes
22460// successfully.
22461//
22462// Use "Send" method on the returned Request to send the API call to the service.
22463// the "output" return value is not valid until after Send returns without error.
22464//
22465// See DescribeReplaceRootVolumeTasks for more information on using the DescribeReplaceRootVolumeTasks
22466// API call, and error handling.
22467//
22468// This method is useful when you want to inject custom logic or configuration
22469// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22470//
22471//
22472//    // Example sending a request using the DescribeReplaceRootVolumeTasksRequest method.
22473//    req, resp := client.DescribeReplaceRootVolumeTasksRequest(params)
22474//
22475//    err := req.Send()
22476//    if err == nil { // resp is now filled
22477//        fmt.Println(resp)
22478//    }
22479//
22480// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReplaceRootVolumeTasks
22481func (c *EC2) DescribeReplaceRootVolumeTasksRequest(input *DescribeReplaceRootVolumeTasksInput) (req *request.Request, output *DescribeReplaceRootVolumeTasksOutput) {
22482	op := &request.Operation{
22483		Name:       opDescribeReplaceRootVolumeTasks,
22484		HTTPMethod: "POST",
22485		HTTPPath:   "/",
22486		Paginator: &request.Paginator{
22487			InputTokens:     []string{"NextToken"},
22488			OutputTokens:    []string{"NextToken"},
22489			LimitToken:      "MaxResults",
22490			TruncationToken: "",
22491		},
22492	}
22493
22494	if input == nil {
22495		input = &DescribeReplaceRootVolumeTasksInput{}
22496	}
22497
22498	output = &DescribeReplaceRootVolumeTasksOutput{}
22499	req = c.newRequest(op, input, output)
22500	return
22501}
22502
22503// DescribeReplaceRootVolumeTasks API operation for Amazon Elastic Compute Cloud.
22504//
22505// Describes a root volume replacement task. For more information, see Replace
22506// a root volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-restoring-volume.html#replace-root)
22507// in the Amazon Elastic Compute Cloud User Guide.
22508//
22509// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22510// with awserr.Error's Code and Message methods to get detailed information about
22511// the error.
22512//
22513// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22514// API operation DescribeReplaceRootVolumeTasks for usage and error information.
22515// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReplaceRootVolumeTasks
22516func (c *EC2) DescribeReplaceRootVolumeTasks(input *DescribeReplaceRootVolumeTasksInput) (*DescribeReplaceRootVolumeTasksOutput, error) {
22517	req, out := c.DescribeReplaceRootVolumeTasksRequest(input)
22518	return out, req.Send()
22519}
22520
22521// DescribeReplaceRootVolumeTasksWithContext is the same as DescribeReplaceRootVolumeTasks with the addition of
22522// the ability to pass a context and additional request options.
22523//
22524// See DescribeReplaceRootVolumeTasks for details on how to use this API operation.
22525//
22526// The context must be non-nil and will be used for request cancellation. If
22527// the context is nil a panic will occur. In the future the SDK may create
22528// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22529// for more information on using Contexts.
22530func (c *EC2) DescribeReplaceRootVolumeTasksWithContext(ctx aws.Context, input *DescribeReplaceRootVolumeTasksInput, opts ...request.Option) (*DescribeReplaceRootVolumeTasksOutput, error) {
22531	req, out := c.DescribeReplaceRootVolumeTasksRequest(input)
22532	req.SetContext(ctx)
22533	req.ApplyOptions(opts...)
22534	return out, req.Send()
22535}
22536
22537// DescribeReplaceRootVolumeTasksPages iterates over the pages of a DescribeReplaceRootVolumeTasks operation,
22538// calling the "fn" function with the response data for each page. To stop
22539// iterating, return false from the fn function.
22540//
22541// See DescribeReplaceRootVolumeTasks method for more information on how to use this operation.
22542//
22543// Note: This operation can generate multiple requests to a service.
22544//
22545//    // Example iterating over at most 3 pages of a DescribeReplaceRootVolumeTasks operation.
22546//    pageNum := 0
22547//    err := client.DescribeReplaceRootVolumeTasksPages(params,
22548//        func(page *ec2.DescribeReplaceRootVolumeTasksOutput, lastPage bool) bool {
22549//            pageNum++
22550//            fmt.Println(page)
22551//            return pageNum <= 3
22552//        })
22553//
22554func (c *EC2) DescribeReplaceRootVolumeTasksPages(input *DescribeReplaceRootVolumeTasksInput, fn func(*DescribeReplaceRootVolumeTasksOutput, bool) bool) error {
22555	return c.DescribeReplaceRootVolumeTasksPagesWithContext(aws.BackgroundContext(), input, fn)
22556}
22557
22558// DescribeReplaceRootVolumeTasksPagesWithContext same as DescribeReplaceRootVolumeTasksPages except
22559// it takes a Context and allows setting request options on the pages.
22560//
22561// The context must be non-nil and will be used for request cancellation. If
22562// the context is nil a panic will occur. In the future the SDK may create
22563// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22564// for more information on using Contexts.
22565func (c *EC2) DescribeReplaceRootVolumeTasksPagesWithContext(ctx aws.Context, input *DescribeReplaceRootVolumeTasksInput, fn func(*DescribeReplaceRootVolumeTasksOutput, bool) bool, opts ...request.Option) error {
22566	p := request.Pagination{
22567		NewRequest: func() (*request.Request, error) {
22568			var inCpy *DescribeReplaceRootVolumeTasksInput
22569			if input != nil {
22570				tmp := *input
22571				inCpy = &tmp
22572			}
22573			req, _ := c.DescribeReplaceRootVolumeTasksRequest(inCpy)
22574			req.SetContext(ctx)
22575			req.ApplyOptions(opts...)
22576			return req, nil
22577		},
22578	}
22579
22580	for p.Next() {
22581		if !fn(p.Page().(*DescribeReplaceRootVolumeTasksOutput), !p.HasNextPage()) {
22582			break
22583		}
22584	}
22585
22586	return p.Err()
22587}
22588
22589const opDescribeReservedInstances = "DescribeReservedInstances"
22590
22591// DescribeReservedInstancesRequest generates a "aws/request.Request" representing the
22592// client's request for the DescribeReservedInstances operation. The "output" return
22593// value will be populated with the request's response once the request completes
22594// successfully.
22595//
22596// Use "Send" method on the returned Request to send the API call to the service.
22597// the "output" return value is not valid until after Send returns without error.
22598//
22599// See DescribeReservedInstances for more information on using the DescribeReservedInstances
22600// API call, and error handling.
22601//
22602// This method is useful when you want to inject custom logic or configuration
22603// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22604//
22605//
22606//    // Example sending a request using the DescribeReservedInstancesRequest method.
22607//    req, resp := client.DescribeReservedInstancesRequest(params)
22608//
22609//    err := req.Send()
22610//    if err == nil { // resp is now filled
22611//        fmt.Println(resp)
22612//    }
22613//
22614// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
22615func (c *EC2) DescribeReservedInstancesRequest(input *DescribeReservedInstancesInput) (req *request.Request, output *DescribeReservedInstancesOutput) {
22616	op := &request.Operation{
22617		Name:       opDescribeReservedInstances,
22618		HTTPMethod: "POST",
22619		HTTPPath:   "/",
22620	}
22621
22622	if input == nil {
22623		input = &DescribeReservedInstancesInput{}
22624	}
22625
22626	output = &DescribeReservedInstancesOutput{}
22627	req = c.newRequest(op, input, output)
22628	return
22629}
22630
22631// DescribeReservedInstances API operation for Amazon Elastic Compute Cloud.
22632//
22633// Describes one or more of the Reserved Instances that you purchased.
22634//
22635// For more information about Reserved Instances, see Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
22636// in the Amazon EC2 User Guide.
22637//
22638// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22639// with awserr.Error's Code and Message methods to get detailed information about
22640// the error.
22641//
22642// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22643// API operation DescribeReservedInstances for usage and error information.
22644// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
22645func (c *EC2) DescribeReservedInstances(input *DescribeReservedInstancesInput) (*DescribeReservedInstancesOutput, error) {
22646	req, out := c.DescribeReservedInstancesRequest(input)
22647	return out, req.Send()
22648}
22649
22650// DescribeReservedInstancesWithContext is the same as DescribeReservedInstances with the addition of
22651// the ability to pass a context and additional request options.
22652//
22653// See DescribeReservedInstances for details on how to use this API operation.
22654//
22655// The context must be non-nil and will be used for request cancellation. If
22656// the context is nil a panic will occur. In the future the SDK may create
22657// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22658// for more information on using Contexts.
22659func (c *EC2) DescribeReservedInstancesWithContext(ctx aws.Context, input *DescribeReservedInstancesInput, opts ...request.Option) (*DescribeReservedInstancesOutput, error) {
22660	req, out := c.DescribeReservedInstancesRequest(input)
22661	req.SetContext(ctx)
22662	req.ApplyOptions(opts...)
22663	return out, req.Send()
22664}
22665
22666const opDescribeReservedInstancesListings = "DescribeReservedInstancesListings"
22667
22668// DescribeReservedInstancesListingsRequest generates a "aws/request.Request" representing the
22669// client's request for the DescribeReservedInstancesListings operation. The "output" return
22670// value will be populated with the request's response once the request completes
22671// successfully.
22672//
22673// Use "Send" method on the returned Request to send the API call to the service.
22674// the "output" return value is not valid until after Send returns without error.
22675//
22676// See DescribeReservedInstancesListings for more information on using the DescribeReservedInstancesListings
22677// API call, and error handling.
22678//
22679// This method is useful when you want to inject custom logic or configuration
22680// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22681//
22682//
22683//    // Example sending a request using the DescribeReservedInstancesListingsRequest method.
22684//    req, resp := client.DescribeReservedInstancesListingsRequest(params)
22685//
22686//    err := req.Send()
22687//    if err == nil { // resp is now filled
22688//        fmt.Println(resp)
22689//    }
22690//
22691// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
22692func (c *EC2) DescribeReservedInstancesListingsRequest(input *DescribeReservedInstancesListingsInput) (req *request.Request, output *DescribeReservedInstancesListingsOutput) {
22693	op := &request.Operation{
22694		Name:       opDescribeReservedInstancesListings,
22695		HTTPMethod: "POST",
22696		HTTPPath:   "/",
22697	}
22698
22699	if input == nil {
22700		input = &DescribeReservedInstancesListingsInput{}
22701	}
22702
22703	output = &DescribeReservedInstancesListingsOutput{}
22704	req = c.newRequest(op, input, output)
22705	return
22706}
22707
22708// DescribeReservedInstancesListings API operation for Amazon Elastic Compute Cloud.
22709//
22710// Describes your account's Reserved Instance listings in the Reserved Instance
22711// Marketplace.
22712//
22713// The Reserved Instance Marketplace matches sellers who want to resell Reserved
22714// Instance capacity that they no longer need with buyers who want to purchase
22715// additional capacity. Reserved Instances bought and sold through the Reserved
22716// Instance Marketplace work like any other Reserved Instances.
22717//
22718// As a seller, you choose to list some or all of your Reserved Instances, and
22719// you specify the upfront price to receive for them. Your Reserved Instances
22720// are then listed in the Reserved Instance Marketplace and are available for
22721// purchase.
22722//
22723// As a buyer, you specify the configuration of the Reserved Instance to purchase,
22724// and the Marketplace matches what you're searching for with what's available.
22725// The Marketplace first sells the lowest priced Reserved Instances to you,
22726// and continues to sell available Reserved Instance listings to you until your
22727// demand is met. You are charged based on the total price of all of the listings
22728// that you purchase.
22729//
22730// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
22731// in the Amazon EC2 User Guide.
22732//
22733// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22734// with awserr.Error's Code and Message methods to get detailed information about
22735// the error.
22736//
22737// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22738// API operation DescribeReservedInstancesListings for usage and error information.
22739// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
22740func (c *EC2) DescribeReservedInstancesListings(input *DescribeReservedInstancesListingsInput) (*DescribeReservedInstancesListingsOutput, error) {
22741	req, out := c.DescribeReservedInstancesListingsRequest(input)
22742	return out, req.Send()
22743}
22744
22745// DescribeReservedInstancesListingsWithContext is the same as DescribeReservedInstancesListings with the addition of
22746// the ability to pass a context and additional request options.
22747//
22748// See DescribeReservedInstancesListings for details on how to use this API operation.
22749//
22750// The context must be non-nil and will be used for request cancellation. If
22751// the context is nil a panic will occur. In the future the SDK may create
22752// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22753// for more information on using Contexts.
22754func (c *EC2) DescribeReservedInstancesListingsWithContext(ctx aws.Context, input *DescribeReservedInstancesListingsInput, opts ...request.Option) (*DescribeReservedInstancesListingsOutput, error) {
22755	req, out := c.DescribeReservedInstancesListingsRequest(input)
22756	req.SetContext(ctx)
22757	req.ApplyOptions(opts...)
22758	return out, req.Send()
22759}
22760
22761const opDescribeReservedInstancesModifications = "DescribeReservedInstancesModifications"
22762
22763// DescribeReservedInstancesModificationsRequest generates a "aws/request.Request" representing the
22764// client's request for the DescribeReservedInstancesModifications operation. The "output" return
22765// value will be populated with the request's response once the request completes
22766// successfully.
22767//
22768// Use "Send" method on the returned Request to send the API call to the service.
22769// the "output" return value is not valid until after Send returns without error.
22770//
22771// See DescribeReservedInstancesModifications for more information on using the DescribeReservedInstancesModifications
22772// API call, and error handling.
22773//
22774// This method is useful when you want to inject custom logic or configuration
22775// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22776//
22777//
22778//    // Example sending a request using the DescribeReservedInstancesModificationsRequest method.
22779//    req, resp := client.DescribeReservedInstancesModificationsRequest(params)
22780//
22781//    err := req.Send()
22782//    if err == nil { // resp is now filled
22783//        fmt.Println(resp)
22784//    }
22785//
22786// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
22787func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReservedInstancesModificationsInput) (req *request.Request, output *DescribeReservedInstancesModificationsOutput) {
22788	op := &request.Operation{
22789		Name:       opDescribeReservedInstancesModifications,
22790		HTTPMethod: "POST",
22791		HTTPPath:   "/",
22792		Paginator: &request.Paginator{
22793			InputTokens:     []string{"NextToken"},
22794			OutputTokens:    []string{"NextToken"},
22795			LimitToken:      "",
22796			TruncationToken: "",
22797		},
22798	}
22799
22800	if input == nil {
22801		input = &DescribeReservedInstancesModificationsInput{}
22802	}
22803
22804	output = &DescribeReservedInstancesModificationsOutput{}
22805	req = c.newRequest(op, input, output)
22806	return
22807}
22808
22809// DescribeReservedInstancesModifications API operation for Amazon Elastic Compute Cloud.
22810//
22811// Describes the modifications made to your Reserved Instances. If no parameter
22812// is specified, information about all your Reserved Instances modification
22813// requests is returned. If a modification ID is specified, only information
22814// about the specific modification is returned.
22815//
22816// For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
22817// in the Amazon EC2 User Guide.
22818//
22819// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22820// with awserr.Error's Code and Message methods to get detailed information about
22821// the error.
22822//
22823// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22824// API operation DescribeReservedInstancesModifications for usage and error information.
22825// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
22826func (c *EC2) DescribeReservedInstancesModifications(input *DescribeReservedInstancesModificationsInput) (*DescribeReservedInstancesModificationsOutput, error) {
22827	req, out := c.DescribeReservedInstancesModificationsRequest(input)
22828	return out, req.Send()
22829}
22830
22831// DescribeReservedInstancesModificationsWithContext is the same as DescribeReservedInstancesModifications with the addition of
22832// the ability to pass a context and additional request options.
22833//
22834// See DescribeReservedInstancesModifications for details on how to use this API operation.
22835//
22836// The context must be non-nil and will be used for request cancellation. If
22837// the context is nil a panic will occur. In the future the SDK may create
22838// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22839// for more information on using Contexts.
22840func (c *EC2) DescribeReservedInstancesModificationsWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, opts ...request.Option) (*DescribeReservedInstancesModificationsOutput, error) {
22841	req, out := c.DescribeReservedInstancesModificationsRequest(input)
22842	req.SetContext(ctx)
22843	req.ApplyOptions(opts...)
22844	return out, req.Send()
22845}
22846
22847// DescribeReservedInstancesModificationsPages iterates over the pages of a DescribeReservedInstancesModifications operation,
22848// calling the "fn" function with the response data for each page. To stop
22849// iterating, return false from the fn function.
22850//
22851// See DescribeReservedInstancesModifications method for more information on how to use this operation.
22852//
22853// Note: This operation can generate multiple requests to a service.
22854//
22855//    // Example iterating over at most 3 pages of a DescribeReservedInstancesModifications operation.
22856//    pageNum := 0
22857//    err := client.DescribeReservedInstancesModificationsPages(params,
22858//        func(page *ec2.DescribeReservedInstancesModificationsOutput, lastPage bool) bool {
22859//            pageNum++
22860//            fmt.Println(page)
22861//            return pageNum <= 3
22862//        })
22863//
22864func (c *EC2) DescribeReservedInstancesModificationsPages(input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool) error {
22865	return c.DescribeReservedInstancesModificationsPagesWithContext(aws.BackgroundContext(), input, fn)
22866}
22867
22868// DescribeReservedInstancesModificationsPagesWithContext same as DescribeReservedInstancesModificationsPages except
22869// it takes a Context and allows setting request options on the pages.
22870//
22871// The context must be non-nil and will be used for request cancellation. If
22872// the context is nil a panic will occur. In the future the SDK may create
22873// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22874// for more information on using Contexts.
22875func (c *EC2) DescribeReservedInstancesModificationsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool, opts ...request.Option) error {
22876	p := request.Pagination{
22877		NewRequest: func() (*request.Request, error) {
22878			var inCpy *DescribeReservedInstancesModificationsInput
22879			if input != nil {
22880				tmp := *input
22881				inCpy = &tmp
22882			}
22883			req, _ := c.DescribeReservedInstancesModificationsRequest(inCpy)
22884			req.SetContext(ctx)
22885			req.ApplyOptions(opts...)
22886			return req, nil
22887		},
22888	}
22889
22890	for p.Next() {
22891		if !fn(p.Page().(*DescribeReservedInstancesModificationsOutput), !p.HasNextPage()) {
22892			break
22893		}
22894	}
22895
22896	return p.Err()
22897}
22898
22899const opDescribeReservedInstancesOfferings = "DescribeReservedInstancesOfferings"
22900
22901// DescribeReservedInstancesOfferingsRequest generates a "aws/request.Request" representing the
22902// client's request for the DescribeReservedInstancesOfferings operation. The "output" return
22903// value will be populated with the request's response once the request completes
22904// successfully.
22905//
22906// Use "Send" method on the returned Request to send the API call to the service.
22907// the "output" return value is not valid until after Send returns without error.
22908//
22909// See DescribeReservedInstancesOfferings for more information on using the DescribeReservedInstancesOfferings
22910// API call, and error handling.
22911//
22912// This method is useful when you want to inject custom logic or configuration
22913// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22914//
22915//
22916//    // Example sending a request using the DescribeReservedInstancesOfferingsRequest method.
22917//    req, resp := client.DescribeReservedInstancesOfferingsRequest(params)
22918//
22919//    err := req.Send()
22920//    if err == nil { // resp is now filled
22921//        fmt.Println(resp)
22922//    }
22923//
22924// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
22925func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedInstancesOfferingsInput) (req *request.Request, output *DescribeReservedInstancesOfferingsOutput) {
22926	op := &request.Operation{
22927		Name:       opDescribeReservedInstancesOfferings,
22928		HTTPMethod: "POST",
22929		HTTPPath:   "/",
22930		Paginator: &request.Paginator{
22931			InputTokens:     []string{"NextToken"},
22932			OutputTokens:    []string{"NextToken"},
22933			LimitToken:      "MaxResults",
22934			TruncationToken: "",
22935		},
22936	}
22937
22938	if input == nil {
22939		input = &DescribeReservedInstancesOfferingsInput{}
22940	}
22941
22942	output = &DescribeReservedInstancesOfferingsOutput{}
22943	req = c.newRequest(op, input, output)
22944	return
22945}
22946
22947// DescribeReservedInstancesOfferings API operation for Amazon Elastic Compute Cloud.
22948//
22949// Describes Reserved Instance offerings that are available for purchase. With
22950// Reserved Instances, you purchase the right to launch instances for a period
22951// of time. During that time period, you do not receive insufficient capacity
22952// errors, and you pay a lower usage rate than the rate charged for On-Demand
22953// instances for the actual time used.
22954//
22955// If you have listed your own Reserved Instances for sale in the Reserved Instance
22956// Marketplace, they will be excluded from these results. This is to ensure
22957// that you do not purchase your own Reserved Instances.
22958//
22959// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
22960// in the Amazon EC2 User Guide.
22961//
22962// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22963// with awserr.Error's Code and Message methods to get detailed information about
22964// the error.
22965//
22966// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22967// API operation DescribeReservedInstancesOfferings for usage and error information.
22968// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
22969func (c *EC2) DescribeReservedInstancesOfferings(input *DescribeReservedInstancesOfferingsInput) (*DescribeReservedInstancesOfferingsOutput, error) {
22970	req, out := c.DescribeReservedInstancesOfferingsRequest(input)
22971	return out, req.Send()
22972}
22973
22974// DescribeReservedInstancesOfferingsWithContext is the same as DescribeReservedInstancesOfferings with the addition of
22975// the ability to pass a context and additional request options.
22976//
22977// See DescribeReservedInstancesOfferings for details on how to use this API operation.
22978//
22979// The context must be non-nil and will be used for request cancellation. If
22980// the context is nil a panic will occur. In the future the SDK may create
22981// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22982// for more information on using Contexts.
22983func (c *EC2) DescribeReservedInstancesOfferingsWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, opts ...request.Option) (*DescribeReservedInstancesOfferingsOutput, error) {
22984	req, out := c.DescribeReservedInstancesOfferingsRequest(input)
22985	req.SetContext(ctx)
22986	req.ApplyOptions(opts...)
22987	return out, req.Send()
22988}
22989
22990// DescribeReservedInstancesOfferingsPages iterates over the pages of a DescribeReservedInstancesOfferings operation,
22991// calling the "fn" function with the response data for each page. To stop
22992// iterating, return false from the fn function.
22993//
22994// See DescribeReservedInstancesOfferings method for more information on how to use this operation.
22995//
22996// Note: This operation can generate multiple requests to a service.
22997//
22998//    // Example iterating over at most 3 pages of a DescribeReservedInstancesOfferings operation.
22999//    pageNum := 0
23000//    err := client.DescribeReservedInstancesOfferingsPages(params,
23001//        func(page *ec2.DescribeReservedInstancesOfferingsOutput, lastPage bool) bool {
23002//            pageNum++
23003//            fmt.Println(page)
23004//            return pageNum <= 3
23005//        })
23006//
23007func (c *EC2) DescribeReservedInstancesOfferingsPages(input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool) error {
23008	return c.DescribeReservedInstancesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
23009}
23010
23011// DescribeReservedInstancesOfferingsPagesWithContext same as DescribeReservedInstancesOfferingsPages except
23012// it takes a Context and allows setting request options on the pages.
23013//
23014// The context must be non-nil and will be used for request cancellation. If
23015// the context is nil a panic will occur. In the future the SDK may create
23016// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23017// for more information on using Contexts.
23018func (c *EC2) DescribeReservedInstancesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool, opts ...request.Option) error {
23019	p := request.Pagination{
23020		NewRequest: func() (*request.Request, error) {
23021			var inCpy *DescribeReservedInstancesOfferingsInput
23022			if input != nil {
23023				tmp := *input
23024				inCpy = &tmp
23025			}
23026			req, _ := c.DescribeReservedInstancesOfferingsRequest(inCpy)
23027			req.SetContext(ctx)
23028			req.ApplyOptions(opts...)
23029			return req, nil
23030		},
23031	}
23032
23033	for p.Next() {
23034		if !fn(p.Page().(*DescribeReservedInstancesOfferingsOutput), !p.HasNextPage()) {
23035			break
23036		}
23037	}
23038
23039	return p.Err()
23040}
23041
23042const opDescribeRouteTables = "DescribeRouteTables"
23043
23044// DescribeRouteTablesRequest generates a "aws/request.Request" representing the
23045// client's request for the DescribeRouteTables operation. The "output" return
23046// value will be populated with the request's response once the request completes
23047// successfully.
23048//
23049// Use "Send" method on the returned Request to send the API call to the service.
23050// the "output" return value is not valid until after Send returns without error.
23051//
23052// See DescribeRouteTables for more information on using the DescribeRouteTables
23053// API call, and error handling.
23054//
23055// This method is useful when you want to inject custom logic or configuration
23056// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23057//
23058//
23059//    // Example sending a request using the DescribeRouteTablesRequest method.
23060//    req, resp := client.DescribeRouteTablesRequest(params)
23061//
23062//    err := req.Send()
23063//    if err == nil { // resp is now filled
23064//        fmt.Println(resp)
23065//    }
23066//
23067// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
23068func (c *EC2) DescribeRouteTablesRequest(input *DescribeRouteTablesInput) (req *request.Request, output *DescribeRouteTablesOutput) {
23069	op := &request.Operation{
23070		Name:       opDescribeRouteTables,
23071		HTTPMethod: "POST",
23072		HTTPPath:   "/",
23073		Paginator: &request.Paginator{
23074			InputTokens:     []string{"NextToken"},
23075			OutputTokens:    []string{"NextToken"},
23076			LimitToken:      "MaxResults",
23077			TruncationToken: "",
23078		},
23079	}
23080
23081	if input == nil {
23082		input = &DescribeRouteTablesInput{}
23083	}
23084
23085	output = &DescribeRouteTablesOutput{}
23086	req = c.newRequest(op, input, output)
23087	return
23088}
23089
23090// DescribeRouteTables API operation for Amazon Elastic Compute Cloud.
23091//
23092// Describes one or more of your route tables.
23093//
23094// Each subnet in your VPC must be associated with a route table. If a subnet
23095// is not explicitly associated with any route table, it is implicitly associated
23096// with the main route table. This command does not return the subnet ID for
23097// implicit associations.
23098//
23099// For more information, see Route tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
23100// in the Amazon Virtual Private Cloud User Guide.
23101//
23102// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23103// with awserr.Error's Code and Message methods to get detailed information about
23104// the error.
23105//
23106// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23107// API operation DescribeRouteTables for usage and error information.
23108// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
23109func (c *EC2) DescribeRouteTables(input *DescribeRouteTablesInput) (*DescribeRouteTablesOutput, error) {
23110	req, out := c.DescribeRouteTablesRequest(input)
23111	return out, req.Send()
23112}
23113
23114// DescribeRouteTablesWithContext is the same as DescribeRouteTables with the addition of
23115// the ability to pass a context and additional request options.
23116//
23117// See DescribeRouteTables for details on how to use this API operation.
23118//
23119// The context must be non-nil and will be used for request cancellation. If
23120// the context is nil a panic will occur. In the future the SDK may create
23121// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23122// for more information on using Contexts.
23123func (c *EC2) DescribeRouteTablesWithContext(ctx aws.Context, input *DescribeRouteTablesInput, opts ...request.Option) (*DescribeRouteTablesOutput, error) {
23124	req, out := c.DescribeRouteTablesRequest(input)
23125	req.SetContext(ctx)
23126	req.ApplyOptions(opts...)
23127	return out, req.Send()
23128}
23129
23130// DescribeRouteTablesPages iterates over the pages of a DescribeRouteTables operation,
23131// calling the "fn" function with the response data for each page. To stop
23132// iterating, return false from the fn function.
23133//
23134// See DescribeRouteTables method for more information on how to use this operation.
23135//
23136// Note: This operation can generate multiple requests to a service.
23137//
23138//    // Example iterating over at most 3 pages of a DescribeRouteTables operation.
23139//    pageNum := 0
23140//    err := client.DescribeRouteTablesPages(params,
23141//        func(page *ec2.DescribeRouteTablesOutput, lastPage bool) bool {
23142//            pageNum++
23143//            fmt.Println(page)
23144//            return pageNum <= 3
23145//        })
23146//
23147func (c *EC2) DescribeRouteTablesPages(input *DescribeRouteTablesInput, fn func(*DescribeRouteTablesOutput, bool) bool) error {
23148	return c.DescribeRouteTablesPagesWithContext(aws.BackgroundContext(), input, fn)
23149}
23150
23151// DescribeRouteTablesPagesWithContext same as DescribeRouteTablesPages except
23152// it takes a Context and allows setting request options on the pages.
23153//
23154// The context must be non-nil and will be used for request cancellation. If
23155// the context is nil a panic will occur. In the future the SDK may create
23156// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23157// for more information on using Contexts.
23158func (c *EC2) DescribeRouteTablesPagesWithContext(ctx aws.Context, input *DescribeRouteTablesInput, fn func(*DescribeRouteTablesOutput, bool) bool, opts ...request.Option) error {
23159	p := request.Pagination{
23160		NewRequest: func() (*request.Request, error) {
23161			var inCpy *DescribeRouteTablesInput
23162			if input != nil {
23163				tmp := *input
23164				inCpy = &tmp
23165			}
23166			req, _ := c.DescribeRouteTablesRequest(inCpy)
23167			req.SetContext(ctx)
23168			req.ApplyOptions(opts...)
23169			return req, nil
23170		},
23171	}
23172
23173	for p.Next() {
23174		if !fn(p.Page().(*DescribeRouteTablesOutput), !p.HasNextPage()) {
23175			break
23176		}
23177	}
23178
23179	return p.Err()
23180}
23181
23182const opDescribeScheduledInstanceAvailability = "DescribeScheduledInstanceAvailability"
23183
23184// DescribeScheduledInstanceAvailabilityRequest generates a "aws/request.Request" representing the
23185// client's request for the DescribeScheduledInstanceAvailability operation. The "output" return
23186// value will be populated with the request's response once the request completes
23187// successfully.
23188//
23189// Use "Send" method on the returned Request to send the API call to the service.
23190// the "output" return value is not valid until after Send returns without error.
23191//
23192// See DescribeScheduledInstanceAvailability for more information on using the DescribeScheduledInstanceAvailability
23193// API call, and error handling.
23194//
23195// This method is useful when you want to inject custom logic or configuration
23196// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23197//
23198//
23199//    // Example sending a request using the DescribeScheduledInstanceAvailabilityRequest method.
23200//    req, resp := client.DescribeScheduledInstanceAvailabilityRequest(params)
23201//
23202//    err := req.Send()
23203//    if err == nil { // resp is now filled
23204//        fmt.Println(resp)
23205//    }
23206//
23207// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
23208func (c *EC2) DescribeScheduledInstanceAvailabilityRequest(input *DescribeScheduledInstanceAvailabilityInput) (req *request.Request, output *DescribeScheduledInstanceAvailabilityOutput) {
23209	op := &request.Operation{
23210		Name:       opDescribeScheduledInstanceAvailability,
23211		HTTPMethod: "POST",
23212		HTTPPath:   "/",
23213		Paginator: &request.Paginator{
23214			InputTokens:     []string{"NextToken"},
23215			OutputTokens:    []string{"NextToken"},
23216			LimitToken:      "MaxResults",
23217			TruncationToken: "",
23218		},
23219	}
23220
23221	if input == nil {
23222		input = &DescribeScheduledInstanceAvailabilityInput{}
23223	}
23224
23225	output = &DescribeScheduledInstanceAvailabilityOutput{}
23226	req = c.newRequest(op, input, output)
23227	return
23228}
23229
23230// DescribeScheduledInstanceAvailability API operation for Amazon Elastic Compute Cloud.
23231//
23232// Finds available schedules that meet the specified criteria.
23233//
23234// You can search for an available schedule no more than 3 months in advance.
23235// You must meet the minimum required duration of 1,200 hours per year. For
23236// example, the minimum daily schedule is 4 hours, the minimum weekly schedule
23237// is 24 hours, and the minimum monthly schedule is 100 hours.
23238//
23239// After you find a schedule that meets your needs, call PurchaseScheduledInstances
23240// to purchase Scheduled Instances with that schedule.
23241//
23242// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23243// with awserr.Error's Code and Message methods to get detailed information about
23244// the error.
23245//
23246// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23247// API operation DescribeScheduledInstanceAvailability for usage and error information.
23248// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
23249func (c *EC2) DescribeScheduledInstanceAvailability(input *DescribeScheduledInstanceAvailabilityInput) (*DescribeScheduledInstanceAvailabilityOutput, error) {
23250	req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
23251	return out, req.Send()
23252}
23253
23254// DescribeScheduledInstanceAvailabilityWithContext is the same as DescribeScheduledInstanceAvailability with the addition of
23255// the ability to pass a context and additional request options.
23256//
23257// See DescribeScheduledInstanceAvailability for details on how to use this API operation.
23258//
23259// The context must be non-nil and will be used for request cancellation. If
23260// the context is nil a panic will occur. In the future the SDK may create
23261// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23262// for more information on using Contexts.
23263func (c *EC2) DescribeScheduledInstanceAvailabilityWithContext(ctx aws.Context, input *DescribeScheduledInstanceAvailabilityInput, opts ...request.Option) (*DescribeScheduledInstanceAvailabilityOutput, error) {
23264	req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
23265	req.SetContext(ctx)
23266	req.ApplyOptions(opts...)
23267	return out, req.Send()
23268}
23269
23270// DescribeScheduledInstanceAvailabilityPages iterates over the pages of a DescribeScheduledInstanceAvailability operation,
23271// calling the "fn" function with the response data for each page. To stop
23272// iterating, return false from the fn function.
23273//
23274// See DescribeScheduledInstanceAvailability method for more information on how to use this operation.
23275//
23276// Note: This operation can generate multiple requests to a service.
23277//
23278//    // Example iterating over at most 3 pages of a DescribeScheduledInstanceAvailability operation.
23279//    pageNum := 0
23280//    err := client.DescribeScheduledInstanceAvailabilityPages(params,
23281//        func(page *ec2.DescribeScheduledInstanceAvailabilityOutput, lastPage bool) bool {
23282//            pageNum++
23283//            fmt.Println(page)
23284//            return pageNum <= 3
23285//        })
23286//
23287func (c *EC2) DescribeScheduledInstanceAvailabilityPages(input *DescribeScheduledInstanceAvailabilityInput, fn func(*DescribeScheduledInstanceAvailabilityOutput, bool) bool) error {
23288	return c.DescribeScheduledInstanceAvailabilityPagesWithContext(aws.BackgroundContext(), input, fn)
23289}
23290
23291// DescribeScheduledInstanceAvailabilityPagesWithContext same as DescribeScheduledInstanceAvailabilityPages except
23292// it takes a Context and allows setting request options on the pages.
23293//
23294// The context must be non-nil and will be used for request cancellation. If
23295// the context is nil a panic will occur. In the future the SDK may create
23296// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23297// for more information on using Contexts.
23298func (c *EC2) DescribeScheduledInstanceAvailabilityPagesWithContext(ctx aws.Context, input *DescribeScheduledInstanceAvailabilityInput, fn func(*DescribeScheduledInstanceAvailabilityOutput, bool) bool, opts ...request.Option) error {
23299	p := request.Pagination{
23300		NewRequest: func() (*request.Request, error) {
23301			var inCpy *DescribeScheduledInstanceAvailabilityInput
23302			if input != nil {
23303				tmp := *input
23304				inCpy = &tmp
23305			}
23306			req, _ := c.DescribeScheduledInstanceAvailabilityRequest(inCpy)
23307			req.SetContext(ctx)
23308			req.ApplyOptions(opts...)
23309			return req, nil
23310		},
23311	}
23312
23313	for p.Next() {
23314		if !fn(p.Page().(*DescribeScheduledInstanceAvailabilityOutput), !p.HasNextPage()) {
23315			break
23316		}
23317	}
23318
23319	return p.Err()
23320}
23321
23322const opDescribeScheduledInstances = "DescribeScheduledInstances"
23323
23324// DescribeScheduledInstancesRequest generates a "aws/request.Request" representing the
23325// client's request for the DescribeScheduledInstances operation. The "output" return
23326// value will be populated with the request's response once the request completes
23327// successfully.
23328//
23329// Use "Send" method on the returned Request to send the API call to the service.
23330// the "output" return value is not valid until after Send returns without error.
23331//
23332// See DescribeScheduledInstances for more information on using the DescribeScheduledInstances
23333// API call, and error handling.
23334//
23335// This method is useful when you want to inject custom logic or configuration
23336// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23337//
23338//
23339//    // Example sending a request using the DescribeScheduledInstancesRequest method.
23340//    req, resp := client.DescribeScheduledInstancesRequest(params)
23341//
23342//    err := req.Send()
23343//    if err == nil { // resp is now filled
23344//        fmt.Println(resp)
23345//    }
23346//
23347// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
23348func (c *EC2) DescribeScheduledInstancesRequest(input *DescribeScheduledInstancesInput) (req *request.Request, output *DescribeScheduledInstancesOutput) {
23349	op := &request.Operation{
23350		Name:       opDescribeScheduledInstances,
23351		HTTPMethod: "POST",
23352		HTTPPath:   "/",
23353		Paginator: &request.Paginator{
23354			InputTokens:     []string{"NextToken"},
23355			OutputTokens:    []string{"NextToken"},
23356			LimitToken:      "MaxResults",
23357			TruncationToken: "",
23358		},
23359	}
23360
23361	if input == nil {
23362		input = &DescribeScheduledInstancesInput{}
23363	}
23364
23365	output = &DescribeScheduledInstancesOutput{}
23366	req = c.newRequest(op, input, output)
23367	return
23368}
23369
23370// DescribeScheduledInstances API operation for Amazon Elastic Compute Cloud.
23371//
23372// Describes the specified Scheduled Instances or all your Scheduled Instances.
23373//
23374// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23375// with awserr.Error's Code and Message methods to get detailed information about
23376// the error.
23377//
23378// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23379// API operation DescribeScheduledInstances for usage and error information.
23380// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
23381func (c *EC2) DescribeScheduledInstances(input *DescribeScheduledInstancesInput) (*DescribeScheduledInstancesOutput, error) {
23382	req, out := c.DescribeScheduledInstancesRequest(input)
23383	return out, req.Send()
23384}
23385
23386// DescribeScheduledInstancesWithContext is the same as DescribeScheduledInstances with the addition of
23387// the ability to pass a context and additional request options.
23388//
23389// See DescribeScheduledInstances for details on how to use this API operation.
23390//
23391// The context must be non-nil and will be used for request cancellation. If
23392// the context is nil a panic will occur. In the future the SDK may create
23393// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23394// for more information on using Contexts.
23395func (c *EC2) DescribeScheduledInstancesWithContext(ctx aws.Context, input *DescribeScheduledInstancesInput, opts ...request.Option) (*DescribeScheduledInstancesOutput, error) {
23396	req, out := c.DescribeScheduledInstancesRequest(input)
23397	req.SetContext(ctx)
23398	req.ApplyOptions(opts...)
23399	return out, req.Send()
23400}
23401
23402// DescribeScheduledInstancesPages iterates over the pages of a DescribeScheduledInstances operation,
23403// calling the "fn" function with the response data for each page. To stop
23404// iterating, return false from the fn function.
23405//
23406// See DescribeScheduledInstances method for more information on how to use this operation.
23407//
23408// Note: This operation can generate multiple requests to a service.
23409//
23410//    // Example iterating over at most 3 pages of a DescribeScheduledInstances operation.
23411//    pageNum := 0
23412//    err := client.DescribeScheduledInstancesPages(params,
23413//        func(page *ec2.DescribeScheduledInstancesOutput, lastPage bool) bool {
23414//            pageNum++
23415//            fmt.Println(page)
23416//            return pageNum <= 3
23417//        })
23418//
23419func (c *EC2) DescribeScheduledInstancesPages(input *DescribeScheduledInstancesInput, fn func(*DescribeScheduledInstancesOutput, bool) bool) error {
23420	return c.DescribeScheduledInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
23421}
23422
23423// DescribeScheduledInstancesPagesWithContext same as DescribeScheduledInstancesPages except
23424// it takes a Context and allows setting request options on the pages.
23425//
23426// The context must be non-nil and will be used for request cancellation. If
23427// the context is nil a panic will occur. In the future the SDK may create
23428// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23429// for more information on using Contexts.
23430func (c *EC2) DescribeScheduledInstancesPagesWithContext(ctx aws.Context, input *DescribeScheduledInstancesInput, fn func(*DescribeScheduledInstancesOutput, bool) bool, opts ...request.Option) error {
23431	p := request.Pagination{
23432		NewRequest: func() (*request.Request, error) {
23433			var inCpy *DescribeScheduledInstancesInput
23434			if input != nil {
23435				tmp := *input
23436				inCpy = &tmp
23437			}
23438			req, _ := c.DescribeScheduledInstancesRequest(inCpy)
23439			req.SetContext(ctx)
23440			req.ApplyOptions(opts...)
23441			return req, nil
23442		},
23443	}
23444
23445	for p.Next() {
23446		if !fn(p.Page().(*DescribeScheduledInstancesOutput), !p.HasNextPage()) {
23447			break
23448		}
23449	}
23450
23451	return p.Err()
23452}
23453
23454const opDescribeSecurityGroupReferences = "DescribeSecurityGroupReferences"
23455
23456// DescribeSecurityGroupReferencesRequest generates a "aws/request.Request" representing the
23457// client's request for the DescribeSecurityGroupReferences operation. The "output" return
23458// value will be populated with the request's response once the request completes
23459// successfully.
23460//
23461// Use "Send" method on the returned Request to send the API call to the service.
23462// the "output" return value is not valid until after Send returns without error.
23463//
23464// See DescribeSecurityGroupReferences for more information on using the DescribeSecurityGroupReferences
23465// API call, and error handling.
23466//
23467// This method is useful when you want to inject custom logic or configuration
23468// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23469//
23470//
23471//    // Example sending a request using the DescribeSecurityGroupReferencesRequest method.
23472//    req, resp := client.DescribeSecurityGroupReferencesRequest(params)
23473//
23474//    err := req.Send()
23475//    if err == nil { // resp is now filled
23476//        fmt.Println(resp)
23477//    }
23478//
23479// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
23480func (c *EC2) DescribeSecurityGroupReferencesRequest(input *DescribeSecurityGroupReferencesInput) (req *request.Request, output *DescribeSecurityGroupReferencesOutput) {
23481	op := &request.Operation{
23482		Name:       opDescribeSecurityGroupReferences,
23483		HTTPMethod: "POST",
23484		HTTPPath:   "/",
23485	}
23486
23487	if input == nil {
23488		input = &DescribeSecurityGroupReferencesInput{}
23489	}
23490
23491	output = &DescribeSecurityGroupReferencesOutput{}
23492	req = c.newRequest(op, input, output)
23493	return
23494}
23495
23496// DescribeSecurityGroupReferences API operation for Amazon Elastic Compute Cloud.
23497//
23498// [VPC only] Describes the VPCs on the other side of a VPC peering connection
23499// that are referencing the security groups you've specified in this request.
23500//
23501// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23502// with awserr.Error's Code and Message methods to get detailed information about
23503// the error.
23504//
23505// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23506// API operation DescribeSecurityGroupReferences for usage and error information.
23507// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
23508func (c *EC2) DescribeSecurityGroupReferences(input *DescribeSecurityGroupReferencesInput) (*DescribeSecurityGroupReferencesOutput, error) {
23509	req, out := c.DescribeSecurityGroupReferencesRequest(input)
23510	return out, req.Send()
23511}
23512
23513// DescribeSecurityGroupReferencesWithContext is the same as DescribeSecurityGroupReferences with the addition of
23514// the ability to pass a context and additional request options.
23515//
23516// See DescribeSecurityGroupReferences for details on how to use this API operation.
23517//
23518// The context must be non-nil and will be used for request cancellation. If
23519// the context is nil a panic will occur. In the future the SDK may create
23520// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23521// for more information on using Contexts.
23522func (c *EC2) DescribeSecurityGroupReferencesWithContext(ctx aws.Context, input *DescribeSecurityGroupReferencesInput, opts ...request.Option) (*DescribeSecurityGroupReferencesOutput, error) {
23523	req, out := c.DescribeSecurityGroupReferencesRequest(input)
23524	req.SetContext(ctx)
23525	req.ApplyOptions(opts...)
23526	return out, req.Send()
23527}
23528
23529const opDescribeSecurityGroupRules = "DescribeSecurityGroupRules"
23530
23531// DescribeSecurityGroupRulesRequest generates a "aws/request.Request" representing the
23532// client's request for the DescribeSecurityGroupRules operation. The "output" return
23533// value will be populated with the request's response once the request completes
23534// successfully.
23535//
23536// Use "Send" method on the returned Request to send the API call to the service.
23537// the "output" return value is not valid until after Send returns without error.
23538//
23539// See DescribeSecurityGroupRules for more information on using the DescribeSecurityGroupRules
23540// API call, and error handling.
23541//
23542// This method is useful when you want to inject custom logic or configuration
23543// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23544//
23545//
23546//    // Example sending a request using the DescribeSecurityGroupRulesRequest method.
23547//    req, resp := client.DescribeSecurityGroupRulesRequest(params)
23548//
23549//    err := req.Send()
23550//    if err == nil { // resp is now filled
23551//        fmt.Println(resp)
23552//    }
23553//
23554// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupRules
23555func (c *EC2) DescribeSecurityGroupRulesRequest(input *DescribeSecurityGroupRulesInput) (req *request.Request, output *DescribeSecurityGroupRulesOutput) {
23556	op := &request.Operation{
23557		Name:       opDescribeSecurityGroupRules,
23558		HTTPMethod: "POST",
23559		HTTPPath:   "/",
23560		Paginator: &request.Paginator{
23561			InputTokens:     []string{"NextToken"},
23562			OutputTokens:    []string{"NextToken"},
23563			LimitToken:      "MaxResults",
23564			TruncationToken: "",
23565		},
23566	}
23567
23568	if input == nil {
23569		input = &DescribeSecurityGroupRulesInput{}
23570	}
23571
23572	output = &DescribeSecurityGroupRulesOutput{}
23573	req = c.newRequest(op, input, output)
23574	return
23575}
23576
23577// DescribeSecurityGroupRules API operation for Amazon Elastic Compute Cloud.
23578//
23579// Describes one or more of your security group rules.
23580//
23581// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23582// with awserr.Error's Code and Message methods to get detailed information about
23583// the error.
23584//
23585// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23586// API operation DescribeSecurityGroupRules for usage and error information.
23587// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupRules
23588func (c *EC2) DescribeSecurityGroupRules(input *DescribeSecurityGroupRulesInput) (*DescribeSecurityGroupRulesOutput, error) {
23589	req, out := c.DescribeSecurityGroupRulesRequest(input)
23590	return out, req.Send()
23591}
23592
23593// DescribeSecurityGroupRulesWithContext is the same as DescribeSecurityGroupRules with the addition of
23594// the ability to pass a context and additional request options.
23595//
23596// See DescribeSecurityGroupRules for details on how to use this API operation.
23597//
23598// The context must be non-nil and will be used for request cancellation. If
23599// the context is nil a panic will occur. In the future the SDK may create
23600// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23601// for more information on using Contexts.
23602func (c *EC2) DescribeSecurityGroupRulesWithContext(ctx aws.Context, input *DescribeSecurityGroupRulesInput, opts ...request.Option) (*DescribeSecurityGroupRulesOutput, error) {
23603	req, out := c.DescribeSecurityGroupRulesRequest(input)
23604	req.SetContext(ctx)
23605	req.ApplyOptions(opts...)
23606	return out, req.Send()
23607}
23608
23609// DescribeSecurityGroupRulesPages iterates over the pages of a DescribeSecurityGroupRules operation,
23610// calling the "fn" function with the response data for each page. To stop
23611// iterating, return false from the fn function.
23612//
23613// See DescribeSecurityGroupRules method for more information on how to use this operation.
23614//
23615// Note: This operation can generate multiple requests to a service.
23616//
23617//    // Example iterating over at most 3 pages of a DescribeSecurityGroupRules operation.
23618//    pageNum := 0
23619//    err := client.DescribeSecurityGroupRulesPages(params,
23620//        func(page *ec2.DescribeSecurityGroupRulesOutput, lastPage bool) bool {
23621//            pageNum++
23622//            fmt.Println(page)
23623//            return pageNum <= 3
23624//        })
23625//
23626func (c *EC2) DescribeSecurityGroupRulesPages(input *DescribeSecurityGroupRulesInput, fn func(*DescribeSecurityGroupRulesOutput, bool) bool) error {
23627	return c.DescribeSecurityGroupRulesPagesWithContext(aws.BackgroundContext(), input, fn)
23628}
23629
23630// DescribeSecurityGroupRulesPagesWithContext same as DescribeSecurityGroupRulesPages except
23631// it takes a Context and allows setting request options on the pages.
23632//
23633// The context must be non-nil and will be used for request cancellation. If
23634// the context is nil a panic will occur. In the future the SDK may create
23635// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23636// for more information on using Contexts.
23637func (c *EC2) DescribeSecurityGroupRulesPagesWithContext(ctx aws.Context, input *DescribeSecurityGroupRulesInput, fn func(*DescribeSecurityGroupRulesOutput, bool) bool, opts ...request.Option) error {
23638	p := request.Pagination{
23639		NewRequest: func() (*request.Request, error) {
23640			var inCpy *DescribeSecurityGroupRulesInput
23641			if input != nil {
23642				tmp := *input
23643				inCpy = &tmp
23644			}
23645			req, _ := c.DescribeSecurityGroupRulesRequest(inCpy)
23646			req.SetContext(ctx)
23647			req.ApplyOptions(opts...)
23648			return req, nil
23649		},
23650	}
23651
23652	for p.Next() {
23653		if !fn(p.Page().(*DescribeSecurityGroupRulesOutput), !p.HasNextPage()) {
23654			break
23655		}
23656	}
23657
23658	return p.Err()
23659}
23660
23661const opDescribeSecurityGroups = "DescribeSecurityGroups"
23662
23663// DescribeSecurityGroupsRequest generates a "aws/request.Request" representing the
23664// client's request for the DescribeSecurityGroups operation. The "output" return
23665// value will be populated with the request's response once the request completes
23666// successfully.
23667//
23668// Use "Send" method on the returned Request to send the API call to the service.
23669// the "output" return value is not valid until after Send returns without error.
23670//
23671// See DescribeSecurityGroups for more information on using the DescribeSecurityGroups
23672// API call, and error handling.
23673//
23674// This method is useful when you want to inject custom logic or configuration
23675// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23676//
23677//
23678//    // Example sending a request using the DescribeSecurityGroupsRequest method.
23679//    req, resp := client.DescribeSecurityGroupsRequest(params)
23680//
23681//    err := req.Send()
23682//    if err == nil { // resp is now filled
23683//        fmt.Println(resp)
23684//    }
23685//
23686// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
23687func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput) (req *request.Request, output *DescribeSecurityGroupsOutput) {
23688	op := &request.Operation{
23689		Name:       opDescribeSecurityGroups,
23690		HTTPMethod: "POST",
23691		HTTPPath:   "/",
23692		Paginator: &request.Paginator{
23693			InputTokens:     []string{"NextToken"},
23694			OutputTokens:    []string{"NextToken"},
23695			LimitToken:      "MaxResults",
23696			TruncationToken: "",
23697		},
23698	}
23699
23700	if input == nil {
23701		input = &DescribeSecurityGroupsInput{}
23702	}
23703
23704	output = &DescribeSecurityGroupsOutput{}
23705	req = c.newRequest(op, input, output)
23706	return
23707}
23708
23709// DescribeSecurityGroups API operation for Amazon Elastic Compute Cloud.
23710//
23711// Describes the specified security groups or all of your security groups.
23712//
23713// A security group is for use with instances either in the EC2-Classic platform
23714// or in a specific VPC. For more information, see Amazon EC2 security groups
23715// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
23716// in the Amazon Elastic Compute Cloud User Guide and Security groups for your
23717// VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
23718// in the Amazon Virtual Private Cloud User Guide.
23719//
23720// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23721// with awserr.Error's Code and Message methods to get detailed information about
23722// the error.
23723//
23724// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23725// API operation DescribeSecurityGroups for usage and error information.
23726// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
23727func (c *EC2) DescribeSecurityGroups(input *DescribeSecurityGroupsInput) (*DescribeSecurityGroupsOutput, error) {
23728	req, out := c.DescribeSecurityGroupsRequest(input)
23729	return out, req.Send()
23730}
23731
23732// DescribeSecurityGroupsWithContext is the same as DescribeSecurityGroups with the addition of
23733// the ability to pass a context and additional request options.
23734//
23735// See DescribeSecurityGroups for details on how to use this API operation.
23736//
23737// The context must be non-nil and will be used for request cancellation. If
23738// the context is nil a panic will occur. In the future the SDK may create
23739// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23740// for more information on using Contexts.
23741func (c *EC2) DescribeSecurityGroupsWithContext(ctx aws.Context, input *DescribeSecurityGroupsInput, opts ...request.Option) (*DescribeSecurityGroupsOutput, error) {
23742	req, out := c.DescribeSecurityGroupsRequest(input)
23743	req.SetContext(ctx)
23744	req.ApplyOptions(opts...)
23745	return out, req.Send()
23746}
23747
23748// DescribeSecurityGroupsPages iterates over the pages of a DescribeSecurityGroups operation,
23749// calling the "fn" function with the response data for each page. To stop
23750// iterating, return false from the fn function.
23751//
23752// See DescribeSecurityGroups method for more information on how to use this operation.
23753//
23754// Note: This operation can generate multiple requests to a service.
23755//
23756//    // Example iterating over at most 3 pages of a DescribeSecurityGroups operation.
23757//    pageNum := 0
23758//    err := client.DescribeSecurityGroupsPages(params,
23759//        func(page *ec2.DescribeSecurityGroupsOutput, lastPage bool) bool {
23760//            pageNum++
23761//            fmt.Println(page)
23762//            return pageNum <= 3
23763//        })
23764//
23765func (c *EC2) DescribeSecurityGroupsPages(input *DescribeSecurityGroupsInput, fn func(*DescribeSecurityGroupsOutput, bool) bool) error {
23766	return c.DescribeSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
23767}
23768
23769// DescribeSecurityGroupsPagesWithContext same as DescribeSecurityGroupsPages except
23770// it takes a Context and allows setting request options on the pages.
23771//
23772// The context must be non-nil and will be used for request cancellation. If
23773// the context is nil a panic will occur. In the future the SDK may create
23774// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23775// for more information on using Contexts.
23776func (c *EC2) DescribeSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeSecurityGroupsInput, fn func(*DescribeSecurityGroupsOutput, bool) bool, opts ...request.Option) error {
23777	p := request.Pagination{
23778		NewRequest: func() (*request.Request, error) {
23779			var inCpy *DescribeSecurityGroupsInput
23780			if input != nil {
23781				tmp := *input
23782				inCpy = &tmp
23783			}
23784			req, _ := c.DescribeSecurityGroupsRequest(inCpy)
23785			req.SetContext(ctx)
23786			req.ApplyOptions(opts...)
23787			return req, nil
23788		},
23789	}
23790
23791	for p.Next() {
23792		if !fn(p.Page().(*DescribeSecurityGroupsOutput), !p.HasNextPage()) {
23793			break
23794		}
23795	}
23796
23797	return p.Err()
23798}
23799
23800const opDescribeSnapshotAttribute = "DescribeSnapshotAttribute"
23801
23802// DescribeSnapshotAttributeRequest generates a "aws/request.Request" representing the
23803// client's request for the DescribeSnapshotAttribute operation. The "output" return
23804// value will be populated with the request's response once the request completes
23805// successfully.
23806//
23807// Use "Send" method on the returned Request to send the API call to the service.
23808// the "output" return value is not valid until after Send returns without error.
23809//
23810// See DescribeSnapshotAttribute for more information on using the DescribeSnapshotAttribute
23811// API call, and error handling.
23812//
23813// This method is useful when you want to inject custom logic or configuration
23814// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23815//
23816//
23817//    // Example sending a request using the DescribeSnapshotAttributeRequest method.
23818//    req, resp := client.DescribeSnapshotAttributeRequest(params)
23819//
23820//    err := req.Send()
23821//    if err == nil { // resp is now filled
23822//        fmt.Println(resp)
23823//    }
23824//
23825// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
23826func (c *EC2) DescribeSnapshotAttributeRequest(input *DescribeSnapshotAttributeInput) (req *request.Request, output *DescribeSnapshotAttributeOutput) {
23827	op := &request.Operation{
23828		Name:       opDescribeSnapshotAttribute,
23829		HTTPMethod: "POST",
23830		HTTPPath:   "/",
23831	}
23832
23833	if input == nil {
23834		input = &DescribeSnapshotAttributeInput{}
23835	}
23836
23837	output = &DescribeSnapshotAttributeOutput{}
23838	req = c.newRequest(op, input, output)
23839	return
23840}
23841
23842// DescribeSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
23843//
23844// Describes the specified attribute of the specified snapshot. You can specify
23845// only one attribute at a time.
23846//
23847// For more information about EBS snapshots, see Amazon EBS snapshots (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
23848// in the Amazon Elastic Compute Cloud User Guide.
23849//
23850// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23851// with awserr.Error's Code and Message methods to get detailed information about
23852// the error.
23853//
23854// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23855// API operation DescribeSnapshotAttribute for usage and error information.
23856// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
23857func (c *EC2) DescribeSnapshotAttribute(input *DescribeSnapshotAttributeInput) (*DescribeSnapshotAttributeOutput, error) {
23858	req, out := c.DescribeSnapshotAttributeRequest(input)
23859	return out, req.Send()
23860}
23861
23862// DescribeSnapshotAttributeWithContext is the same as DescribeSnapshotAttribute with the addition of
23863// the ability to pass a context and additional request options.
23864//
23865// See DescribeSnapshotAttribute for details on how to use this API operation.
23866//
23867// The context must be non-nil and will be used for request cancellation. If
23868// the context is nil a panic will occur. In the future the SDK may create
23869// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23870// for more information on using Contexts.
23871func (c *EC2) DescribeSnapshotAttributeWithContext(ctx aws.Context, input *DescribeSnapshotAttributeInput, opts ...request.Option) (*DescribeSnapshotAttributeOutput, error) {
23872	req, out := c.DescribeSnapshotAttributeRequest(input)
23873	req.SetContext(ctx)
23874	req.ApplyOptions(opts...)
23875	return out, req.Send()
23876}
23877
23878const opDescribeSnapshots = "DescribeSnapshots"
23879
23880// DescribeSnapshotsRequest generates a "aws/request.Request" representing the
23881// client's request for the DescribeSnapshots operation. The "output" return
23882// value will be populated with the request's response once the request completes
23883// successfully.
23884//
23885// Use "Send" method on the returned Request to send the API call to the service.
23886// the "output" return value is not valid until after Send returns without error.
23887//
23888// See DescribeSnapshots for more information on using the DescribeSnapshots
23889// API call, and error handling.
23890//
23891// This method is useful when you want to inject custom logic or configuration
23892// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23893//
23894//
23895//    // Example sending a request using the DescribeSnapshotsRequest method.
23896//    req, resp := client.DescribeSnapshotsRequest(params)
23897//
23898//    err := req.Send()
23899//    if err == nil { // resp is now filled
23900//        fmt.Println(resp)
23901//    }
23902//
23903// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
23904func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) {
23905	op := &request.Operation{
23906		Name:       opDescribeSnapshots,
23907		HTTPMethod: "POST",
23908		HTTPPath:   "/",
23909		Paginator: &request.Paginator{
23910			InputTokens:     []string{"NextToken"},
23911			OutputTokens:    []string{"NextToken"},
23912			LimitToken:      "MaxResults",
23913			TruncationToken: "",
23914		},
23915	}
23916
23917	if input == nil {
23918		input = &DescribeSnapshotsInput{}
23919	}
23920
23921	output = &DescribeSnapshotsOutput{}
23922	req = c.newRequest(op, input, output)
23923	return
23924}
23925
23926// DescribeSnapshots API operation for Amazon Elastic Compute Cloud.
23927//
23928// Describes the specified EBS snapshots available to you or all of the EBS
23929// snapshots available to you.
23930//
23931// The snapshots available to you include public snapshots, private snapshots
23932// that you own, and private snapshots owned by other Amazon Web Services accounts
23933// for which you have explicit create volume permissions.
23934//
23935// The create volume permissions fall into the following categories:
23936//
23937//    * public: The owner of the snapshot granted create volume permissions
23938//    for the snapshot to the all group. All Amazon Web Services accounts have
23939//    create volume permissions for these snapshots.
23940//
23941//    * explicit: The owner of the snapshot granted create volume permissions
23942//    to a specific Amazon Web Services account.
23943//
23944//    * implicit: An Amazon Web Services account has implicit create volume
23945//    permissions for all snapshots it owns.
23946//
23947// The list of snapshots returned can be filtered by specifying snapshot IDs,
23948// snapshot owners, or Amazon Web Services accounts with create volume permissions.
23949// If no options are specified, Amazon EC2 returns all snapshots for which you
23950// have create volume permissions.
23951//
23952// If you specify one or more snapshot IDs, only snapshots that have the specified
23953// IDs are returned. If you specify an invalid snapshot ID, an error is returned.
23954// If you specify a snapshot ID for which you do not have access, it is not
23955// included in the returned results.
23956//
23957// If you specify one or more snapshot owners using the OwnerIds option, only
23958// snapshots from the specified owners and for which you have access are returned.
23959// The results can include the Amazon Web Services account IDs of the specified
23960// owners, amazon for snapshots owned by Amazon, or self for snapshots that
23961// you own.
23962//
23963// If you specify a list of restorable users, only snapshots with create snapshot
23964// permissions for those users are returned. You can specify Amazon Web Services
23965// account IDs (if you own the snapshots), self for snapshots for which you
23966// own or have explicit permissions, or all for public snapshots.
23967//
23968// If you are describing a long list of snapshots, we recommend that you paginate
23969// the output to make the list more manageable. The MaxResults parameter sets
23970// the maximum number of results returned in a single page. If the list of results
23971// exceeds your MaxResults value, then that number of results is returned along
23972// with a NextToken value that can be passed to a subsequent DescribeSnapshots
23973// request to retrieve the remaining results.
23974//
23975// To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.
23976//
23977// For more information about EBS snapshots, see Amazon EBS snapshots (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
23978// in the Amazon Elastic Compute Cloud User Guide.
23979//
23980// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23981// with awserr.Error's Code and Message methods to get detailed information about
23982// the error.
23983//
23984// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23985// API operation DescribeSnapshots for usage and error information.
23986// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
23987func (c *EC2) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
23988	req, out := c.DescribeSnapshotsRequest(input)
23989	return out, req.Send()
23990}
23991
23992// DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of
23993// the ability to pass a context and additional request options.
23994//
23995// See DescribeSnapshots for details on how to use this API operation.
23996//
23997// The context must be non-nil and will be used for request cancellation. If
23998// the context is nil a panic will occur. In the future the SDK may create
23999// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24000// for more information on using Contexts.
24001func (c *EC2) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) {
24002	req, out := c.DescribeSnapshotsRequest(input)
24003	req.SetContext(ctx)
24004	req.ApplyOptions(opts...)
24005	return out, req.Send()
24006}
24007
24008// DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation,
24009// calling the "fn" function with the response data for each page. To stop
24010// iterating, return false from the fn function.
24011//
24012// See DescribeSnapshots method for more information on how to use this operation.
24013//
24014// Note: This operation can generate multiple requests to a service.
24015//
24016//    // Example iterating over at most 3 pages of a DescribeSnapshots operation.
24017//    pageNum := 0
24018//    err := client.DescribeSnapshotsPages(params,
24019//        func(page *ec2.DescribeSnapshotsOutput, lastPage bool) bool {
24020//            pageNum++
24021//            fmt.Println(page)
24022//            return pageNum <= 3
24023//        })
24024//
24025func (c *EC2) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool) error {
24026	return c.DescribeSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
24027}
24028
24029// DescribeSnapshotsPagesWithContext same as DescribeSnapshotsPages except
24030// it takes a Context and allows setting request options on the pages.
24031//
24032// The context must be non-nil and will be used for request cancellation. If
24033// the context is nil a panic will occur. In the future the SDK may create
24034// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24035// for more information on using Contexts.
24036func (c *EC2) DescribeSnapshotsPagesWithContext(ctx aws.Context, input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error {
24037	p := request.Pagination{
24038		NewRequest: func() (*request.Request, error) {
24039			var inCpy *DescribeSnapshotsInput
24040			if input != nil {
24041				tmp := *input
24042				inCpy = &tmp
24043			}
24044			req, _ := c.DescribeSnapshotsRequest(inCpy)
24045			req.SetContext(ctx)
24046			req.ApplyOptions(opts...)
24047			return req, nil
24048		},
24049	}
24050
24051	for p.Next() {
24052		if !fn(p.Page().(*DescribeSnapshotsOutput), !p.HasNextPage()) {
24053			break
24054		}
24055	}
24056
24057	return p.Err()
24058}
24059
24060const opDescribeSpotDatafeedSubscription = "DescribeSpotDatafeedSubscription"
24061
24062// DescribeSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
24063// client's request for the DescribeSpotDatafeedSubscription operation. The "output" return
24064// value will be populated with the request's response once the request completes
24065// successfully.
24066//
24067// Use "Send" method on the returned Request to send the API call to the service.
24068// the "output" return value is not valid until after Send returns without error.
24069//
24070// See DescribeSpotDatafeedSubscription for more information on using the DescribeSpotDatafeedSubscription
24071// API call, and error handling.
24072//
24073// This method is useful when you want to inject custom logic or configuration
24074// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24075//
24076//
24077//    // Example sending a request using the DescribeSpotDatafeedSubscriptionRequest method.
24078//    req, resp := client.DescribeSpotDatafeedSubscriptionRequest(params)
24079//
24080//    err := req.Send()
24081//    if err == nil { // resp is now filled
24082//        fmt.Println(resp)
24083//    }
24084//
24085// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
24086func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafeedSubscriptionInput) (req *request.Request, output *DescribeSpotDatafeedSubscriptionOutput) {
24087	op := &request.Operation{
24088		Name:       opDescribeSpotDatafeedSubscription,
24089		HTTPMethod: "POST",
24090		HTTPPath:   "/",
24091	}
24092
24093	if input == nil {
24094		input = &DescribeSpotDatafeedSubscriptionInput{}
24095	}
24096
24097	output = &DescribeSpotDatafeedSubscriptionOutput{}
24098	req = c.newRequest(op, input, output)
24099	return
24100}
24101
24102// DescribeSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
24103//
24104// Describes the data feed for Spot Instances. For more information, see Spot
24105// Instance data feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
24106// in the Amazon EC2 User Guide for Linux Instances.
24107//
24108// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24109// with awserr.Error's Code and Message methods to get detailed information about
24110// the error.
24111//
24112// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24113// API operation DescribeSpotDatafeedSubscription for usage and error information.
24114// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
24115func (c *EC2) DescribeSpotDatafeedSubscription(input *DescribeSpotDatafeedSubscriptionInput) (*DescribeSpotDatafeedSubscriptionOutput, error) {
24116	req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
24117	return out, req.Send()
24118}
24119
24120// DescribeSpotDatafeedSubscriptionWithContext is the same as DescribeSpotDatafeedSubscription with the addition of
24121// the ability to pass a context and additional request options.
24122//
24123// See DescribeSpotDatafeedSubscription for details on how to use this API operation.
24124//
24125// The context must be non-nil and will be used for request cancellation. If
24126// the context is nil a panic will occur. In the future the SDK may create
24127// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24128// for more information on using Contexts.
24129func (c *EC2) DescribeSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DescribeSpotDatafeedSubscriptionInput, opts ...request.Option) (*DescribeSpotDatafeedSubscriptionOutput, error) {
24130	req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
24131	req.SetContext(ctx)
24132	req.ApplyOptions(opts...)
24133	return out, req.Send()
24134}
24135
24136const opDescribeSpotFleetInstances = "DescribeSpotFleetInstances"
24137
24138// DescribeSpotFleetInstancesRequest generates a "aws/request.Request" representing the
24139// client's request for the DescribeSpotFleetInstances operation. The "output" return
24140// value will be populated with the request's response once the request completes
24141// successfully.
24142//
24143// Use "Send" method on the returned Request to send the API call to the service.
24144// the "output" return value is not valid until after Send returns without error.
24145//
24146// See DescribeSpotFleetInstances for more information on using the DescribeSpotFleetInstances
24147// API call, and error handling.
24148//
24149// This method is useful when you want to inject custom logic or configuration
24150// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24151//
24152//
24153//    // Example sending a request using the DescribeSpotFleetInstancesRequest method.
24154//    req, resp := client.DescribeSpotFleetInstancesRequest(params)
24155//
24156//    err := req.Send()
24157//    if err == nil { // resp is now filled
24158//        fmt.Println(resp)
24159//    }
24160//
24161// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
24162func (c *EC2) DescribeSpotFleetInstancesRequest(input *DescribeSpotFleetInstancesInput) (req *request.Request, output *DescribeSpotFleetInstancesOutput) {
24163	op := &request.Operation{
24164		Name:       opDescribeSpotFleetInstances,
24165		HTTPMethod: "POST",
24166		HTTPPath:   "/",
24167	}
24168
24169	if input == nil {
24170		input = &DescribeSpotFleetInstancesInput{}
24171	}
24172
24173	output = &DescribeSpotFleetInstancesOutput{}
24174	req = c.newRequest(op, input, output)
24175	return
24176}
24177
24178// DescribeSpotFleetInstances API operation for Amazon Elastic Compute Cloud.
24179//
24180// Describes the running instances for the specified Spot Fleet.
24181//
24182// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24183// with awserr.Error's Code and Message methods to get detailed information about
24184// the error.
24185//
24186// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24187// API operation DescribeSpotFleetInstances for usage and error information.
24188// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
24189func (c *EC2) DescribeSpotFleetInstances(input *DescribeSpotFleetInstancesInput) (*DescribeSpotFleetInstancesOutput, error) {
24190	req, out := c.DescribeSpotFleetInstancesRequest(input)
24191	return out, req.Send()
24192}
24193
24194// DescribeSpotFleetInstancesWithContext is the same as DescribeSpotFleetInstances with the addition of
24195// the ability to pass a context and additional request options.
24196//
24197// See DescribeSpotFleetInstances for details on how to use this API operation.
24198//
24199// The context must be non-nil and will be used for request cancellation. If
24200// the context is nil a panic will occur. In the future the SDK may create
24201// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24202// for more information on using Contexts.
24203func (c *EC2) DescribeSpotFleetInstancesWithContext(ctx aws.Context, input *DescribeSpotFleetInstancesInput, opts ...request.Option) (*DescribeSpotFleetInstancesOutput, error) {
24204	req, out := c.DescribeSpotFleetInstancesRequest(input)
24205	req.SetContext(ctx)
24206	req.ApplyOptions(opts...)
24207	return out, req.Send()
24208}
24209
24210const opDescribeSpotFleetRequestHistory = "DescribeSpotFleetRequestHistory"
24211
24212// DescribeSpotFleetRequestHistoryRequest generates a "aws/request.Request" representing the
24213// client's request for the DescribeSpotFleetRequestHistory operation. The "output" return
24214// value will be populated with the request's response once the request completes
24215// successfully.
24216//
24217// Use "Send" method on the returned Request to send the API call to the service.
24218// the "output" return value is not valid until after Send returns without error.
24219//
24220// See DescribeSpotFleetRequestHistory for more information on using the DescribeSpotFleetRequestHistory
24221// API call, and error handling.
24222//
24223// This method is useful when you want to inject custom logic or configuration
24224// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24225//
24226//
24227//    // Example sending a request using the DescribeSpotFleetRequestHistoryRequest method.
24228//    req, resp := client.DescribeSpotFleetRequestHistoryRequest(params)
24229//
24230//    err := req.Send()
24231//    if err == nil { // resp is now filled
24232//        fmt.Println(resp)
24233//    }
24234//
24235// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
24236func (c *EC2) DescribeSpotFleetRequestHistoryRequest(input *DescribeSpotFleetRequestHistoryInput) (req *request.Request, output *DescribeSpotFleetRequestHistoryOutput) {
24237	op := &request.Operation{
24238		Name:       opDescribeSpotFleetRequestHistory,
24239		HTTPMethod: "POST",
24240		HTTPPath:   "/",
24241	}
24242
24243	if input == nil {
24244		input = &DescribeSpotFleetRequestHistoryInput{}
24245	}
24246
24247	output = &DescribeSpotFleetRequestHistoryOutput{}
24248	req = c.newRequest(op, input, output)
24249	return
24250}
24251
24252// DescribeSpotFleetRequestHistory API operation for Amazon Elastic Compute Cloud.
24253//
24254// Describes the events for the specified Spot Fleet request during the specified
24255// time.
24256//
24257// Spot Fleet events are delayed by up to 30 seconds before they can be described.
24258// This ensures that you can query by the last evaluated time and not miss a
24259// recorded event. Spot Fleet events are available for 48 hours.
24260//
24261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24262// with awserr.Error's Code and Message methods to get detailed information about
24263// the error.
24264//
24265// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24266// API operation DescribeSpotFleetRequestHistory for usage and error information.
24267// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
24268func (c *EC2) DescribeSpotFleetRequestHistory(input *DescribeSpotFleetRequestHistoryInput) (*DescribeSpotFleetRequestHistoryOutput, error) {
24269	req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
24270	return out, req.Send()
24271}
24272
24273// DescribeSpotFleetRequestHistoryWithContext is the same as DescribeSpotFleetRequestHistory with the addition of
24274// the ability to pass a context and additional request options.
24275//
24276// See DescribeSpotFleetRequestHistory for details on how to use this API operation.
24277//
24278// The context must be non-nil and will be used for request cancellation. If
24279// the context is nil a panic will occur. In the future the SDK may create
24280// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24281// for more information on using Contexts.
24282func (c *EC2) DescribeSpotFleetRequestHistoryWithContext(ctx aws.Context, input *DescribeSpotFleetRequestHistoryInput, opts ...request.Option) (*DescribeSpotFleetRequestHistoryOutput, error) {
24283	req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
24284	req.SetContext(ctx)
24285	req.ApplyOptions(opts...)
24286	return out, req.Send()
24287}
24288
24289const opDescribeSpotFleetRequests = "DescribeSpotFleetRequests"
24290
24291// DescribeSpotFleetRequestsRequest generates a "aws/request.Request" representing the
24292// client's request for the DescribeSpotFleetRequests operation. The "output" return
24293// value will be populated with the request's response once the request completes
24294// successfully.
24295//
24296// Use "Send" method on the returned Request to send the API call to the service.
24297// the "output" return value is not valid until after Send returns without error.
24298//
24299// See DescribeSpotFleetRequests for more information on using the DescribeSpotFleetRequests
24300// API call, and error handling.
24301//
24302// This method is useful when you want to inject custom logic or configuration
24303// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24304//
24305//
24306//    // Example sending a request using the DescribeSpotFleetRequestsRequest method.
24307//    req, resp := client.DescribeSpotFleetRequestsRequest(params)
24308//
24309//    err := req.Send()
24310//    if err == nil { // resp is now filled
24311//        fmt.Println(resp)
24312//    }
24313//
24314// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
24315func (c *EC2) DescribeSpotFleetRequestsRequest(input *DescribeSpotFleetRequestsInput) (req *request.Request, output *DescribeSpotFleetRequestsOutput) {
24316	op := &request.Operation{
24317		Name:       opDescribeSpotFleetRequests,
24318		HTTPMethod: "POST",
24319		HTTPPath:   "/",
24320		Paginator: &request.Paginator{
24321			InputTokens:     []string{"NextToken"},
24322			OutputTokens:    []string{"NextToken"},
24323			LimitToken:      "MaxResults",
24324			TruncationToken: "",
24325		},
24326	}
24327
24328	if input == nil {
24329		input = &DescribeSpotFleetRequestsInput{}
24330	}
24331
24332	output = &DescribeSpotFleetRequestsOutput{}
24333	req = c.newRequest(op, input, output)
24334	return
24335}
24336
24337// DescribeSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
24338//
24339// Describes your Spot Fleet requests.
24340//
24341// Spot Fleet requests are deleted 48 hours after they are canceled and their
24342// instances are terminated.
24343//
24344// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24345// with awserr.Error's Code and Message methods to get detailed information about
24346// the error.
24347//
24348// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24349// API operation DescribeSpotFleetRequests for usage and error information.
24350// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
24351func (c *EC2) DescribeSpotFleetRequests(input *DescribeSpotFleetRequestsInput) (*DescribeSpotFleetRequestsOutput, error) {
24352	req, out := c.DescribeSpotFleetRequestsRequest(input)
24353	return out, req.Send()
24354}
24355
24356// DescribeSpotFleetRequestsWithContext is the same as DescribeSpotFleetRequests with the addition of
24357// the ability to pass a context and additional request options.
24358//
24359// See DescribeSpotFleetRequests for details on how to use this API operation.
24360//
24361// The context must be non-nil and will be used for request cancellation. If
24362// the context is nil a panic will occur. In the future the SDK may create
24363// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24364// for more information on using Contexts.
24365func (c *EC2) DescribeSpotFleetRequestsWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, opts ...request.Option) (*DescribeSpotFleetRequestsOutput, error) {
24366	req, out := c.DescribeSpotFleetRequestsRequest(input)
24367	req.SetContext(ctx)
24368	req.ApplyOptions(opts...)
24369	return out, req.Send()
24370}
24371
24372// DescribeSpotFleetRequestsPages iterates over the pages of a DescribeSpotFleetRequests operation,
24373// calling the "fn" function with the response data for each page. To stop
24374// iterating, return false from the fn function.
24375//
24376// See DescribeSpotFleetRequests method for more information on how to use this operation.
24377//
24378// Note: This operation can generate multiple requests to a service.
24379//
24380//    // Example iterating over at most 3 pages of a DescribeSpotFleetRequests operation.
24381//    pageNum := 0
24382//    err := client.DescribeSpotFleetRequestsPages(params,
24383//        func(page *ec2.DescribeSpotFleetRequestsOutput, lastPage bool) bool {
24384//            pageNum++
24385//            fmt.Println(page)
24386//            return pageNum <= 3
24387//        })
24388//
24389func (c *EC2) DescribeSpotFleetRequestsPages(input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool) error {
24390	return c.DescribeSpotFleetRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
24391}
24392
24393// DescribeSpotFleetRequestsPagesWithContext same as DescribeSpotFleetRequestsPages except
24394// it takes a Context and allows setting request options on the pages.
24395//
24396// The context must be non-nil and will be used for request cancellation. If
24397// the context is nil a panic will occur. In the future the SDK may create
24398// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24399// for more information on using Contexts.
24400func (c *EC2) DescribeSpotFleetRequestsPagesWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool, opts ...request.Option) error {
24401	p := request.Pagination{
24402		NewRequest: func() (*request.Request, error) {
24403			var inCpy *DescribeSpotFleetRequestsInput
24404			if input != nil {
24405				tmp := *input
24406				inCpy = &tmp
24407			}
24408			req, _ := c.DescribeSpotFleetRequestsRequest(inCpy)
24409			req.SetContext(ctx)
24410			req.ApplyOptions(opts...)
24411			return req, nil
24412		},
24413	}
24414
24415	for p.Next() {
24416		if !fn(p.Page().(*DescribeSpotFleetRequestsOutput), !p.HasNextPage()) {
24417			break
24418		}
24419	}
24420
24421	return p.Err()
24422}
24423
24424const opDescribeSpotInstanceRequests = "DescribeSpotInstanceRequests"
24425
24426// DescribeSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
24427// client's request for the DescribeSpotInstanceRequests operation. The "output" return
24428// value will be populated with the request's response once the request completes
24429// successfully.
24430//
24431// Use "Send" method on the returned Request to send the API call to the service.
24432// the "output" return value is not valid until after Send returns without error.
24433//
24434// See DescribeSpotInstanceRequests for more information on using the DescribeSpotInstanceRequests
24435// API call, and error handling.
24436//
24437// This method is useful when you want to inject custom logic or configuration
24438// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24439//
24440//
24441//    // Example sending a request using the DescribeSpotInstanceRequestsRequest method.
24442//    req, resp := client.DescribeSpotInstanceRequestsRequest(params)
24443//
24444//    err := req.Send()
24445//    if err == nil { // resp is now filled
24446//        fmt.Println(resp)
24447//    }
24448//
24449// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
24450func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceRequestsInput) (req *request.Request, output *DescribeSpotInstanceRequestsOutput) {
24451	op := &request.Operation{
24452		Name:       opDescribeSpotInstanceRequests,
24453		HTTPMethod: "POST",
24454		HTTPPath:   "/",
24455		Paginator: &request.Paginator{
24456			InputTokens:     []string{"NextToken"},
24457			OutputTokens:    []string{"NextToken"},
24458			LimitToken:      "MaxResults",
24459			TruncationToken: "",
24460		},
24461	}
24462
24463	if input == nil {
24464		input = &DescribeSpotInstanceRequestsInput{}
24465	}
24466
24467	output = &DescribeSpotInstanceRequestsOutput{}
24468	req = c.newRequest(op, input, output)
24469	return
24470}
24471
24472// DescribeSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
24473//
24474// Describes the specified Spot Instance requests.
24475//
24476// You can use DescribeSpotInstanceRequests to find a running Spot Instance
24477// by examining the response. If the status of the Spot Instance is fulfilled,
24478// the instance ID appears in the response and contains the identifier of the
24479// instance. Alternatively, you can use DescribeInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances)
24480// with a filter to look for instances where the instance lifecycle is spot.
24481//
24482// We recommend that you set MaxResults to a value between 5 and 1000 to limit
24483// the number of results returned. This paginates the output, which makes the
24484// list more manageable and returns the results faster. If the list of results
24485// exceeds your MaxResults value, then that number of results is returned along
24486// with a NextToken value that can be passed to a subsequent DescribeSpotInstanceRequests
24487// request to retrieve the remaining results.
24488//
24489// Spot Instance requests are deleted four hours after they are canceled and
24490// their instances are terminated.
24491//
24492// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24493// with awserr.Error's Code and Message methods to get detailed information about
24494// the error.
24495//
24496// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24497// API operation DescribeSpotInstanceRequests for usage and error information.
24498// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
24499func (c *EC2) DescribeSpotInstanceRequests(input *DescribeSpotInstanceRequestsInput) (*DescribeSpotInstanceRequestsOutput, error) {
24500	req, out := c.DescribeSpotInstanceRequestsRequest(input)
24501	return out, req.Send()
24502}
24503
24504// DescribeSpotInstanceRequestsWithContext is the same as DescribeSpotInstanceRequests with the addition of
24505// the ability to pass a context and additional request options.
24506//
24507// See DescribeSpotInstanceRequests for details on how to use this API operation.
24508//
24509// The context must be non-nil and will be used for request cancellation. If
24510// the context is nil a panic will occur. In the future the SDK may create
24511// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24512// for more information on using Contexts.
24513func (c *EC2) DescribeSpotInstanceRequestsWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, opts ...request.Option) (*DescribeSpotInstanceRequestsOutput, error) {
24514	req, out := c.DescribeSpotInstanceRequestsRequest(input)
24515	req.SetContext(ctx)
24516	req.ApplyOptions(opts...)
24517	return out, req.Send()
24518}
24519
24520// DescribeSpotInstanceRequestsPages iterates over the pages of a DescribeSpotInstanceRequests operation,
24521// calling the "fn" function with the response data for each page. To stop
24522// iterating, return false from the fn function.
24523//
24524// See DescribeSpotInstanceRequests method for more information on how to use this operation.
24525//
24526// Note: This operation can generate multiple requests to a service.
24527//
24528//    // Example iterating over at most 3 pages of a DescribeSpotInstanceRequests operation.
24529//    pageNum := 0
24530//    err := client.DescribeSpotInstanceRequestsPages(params,
24531//        func(page *ec2.DescribeSpotInstanceRequestsOutput, lastPage bool) bool {
24532//            pageNum++
24533//            fmt.Println(page)
24534//            return pageNum <= 3
24535//        })
24536//
24537func (c *EC2) DescribeSpotInstanceRequestsPages(input *DescribeSpotInstanceRequestsInput, fn func(*DescribeSpotInstanceRequestsOutput, bool) bool) error {
24538	return c.DescribeSpotInstanceRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
24539}
24540
24541// DescribeSpotInstanceRequestsPagesWithContext same as DescribeSpotInstanceRequestsPages except
24542// it takes a Context and allows setting request options on the pages.
24543//
24544// The context must be non-nil and will be used for request cancellation. If
24545// the context is nil a panic will occur. In the future the SDK may create
24546// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24547// for more information on using Contexts.
24548func (c *EC2) DescribeSpotInstanceRequestsPagesWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, fn func(*DescribeSpotInstanceRequestsOutput, bool) bool, opts ...request.Option) error {
24549	p := request.Pagination{
24550		NewRequest: func() (*request.Request, error) {
24551			var inCpy *DescribeSpotInstanceRequestsInput
24552			if input != nil {
24553				tmp := *input
24554				inCpy = &tmp
24555			}
24556			req, _ := c.DescribeSpotInstanceRequestsRequest(inCpy)
24557			req.SetContext(ctx)
24558			req.ApplyOptions(opts...)
24559			return req, nil
24560		},
24561	}
24562
24563	for p.Next() {
24564		if !fn(p.Page().(*DescribeSpotInstanceRequestsOutput), !p.HasNextPage()) {
24565			break
24566		}
24567	}
24568
24569	return p.Err()
24570}
24571
24572const opDescribeSpotPriceHistory = "DescribeSpotPriceHistory"
24573
24574// DescribeSpotPriceHistoryRequest generates a "aws/request.Request" representing the
24575// client's request for the DescribeSpotPriceHistory operation. The "output" return
24576// value will be populated with the request's response once the request completes
24577// successfully.
24578//
24579// Use "Send" method on the returned Request to send the API call to the service.
24580// the "output" return value is not valid until after Send returns without error.
24581//
24582// See DescribeSpotPriceHistory for more information on using the DescribeSpotPriceHistory
24583// API call, and error handling.
24584//
24585// This method is useful when you want to inject custom logic or configuration
24586// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24587//
24588//
24589//    // Example sending a request using the DescribeSpotPriceHistoryRequest method.
24590//    req, resp := client.DescribeSpotPriceHistoryRequest(params)
24591//
24592//    err := req.Send()
24593//    if err == nil { // resp is now filled
24594//        fmt.Println(resp)
24595//    }
24596//
24597// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
24598func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInput) (req *request.Request, output *DescribeSpotPriceHistoryOutput) {
24599	op := &request.Operation{
24600		Name:       opDescribeSpotPriceHistory,
24601		HTTPMethod: "POST",
24602		HTTPPath:   "/",
24603		Paginator: &request.Paginator{
24604			InputTokens:     []string{"NextToken"},
24605			OutputTokens:    []string{"NextToken"},
24606			LimitToken:      "MaxResults",
24607			TruncationToken: "",
24608		},
24609	}
24610
24611	if input == nil {
24612		input = &DescribeSpotPriceHistoryInput{}
24613	}
24614
24615	output = &DescribeSpotPriceHistoryOutput{}
24616	req = c.newRequest(op, input, output)
24617	return
24618}
24619
24620// DescribeSpotPriceHistory API operation for Amazon Elastic Compute Cloud.
24621//
24622// Describes the Spot price history. For more information, see Spot Instance
24623// pricing history (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html)
24624// in the Amazon EC2 User Guide for Linux Instances.
24625//
24626// When you specify a start and end time, the operation returns the prices of
24627// the instance types within that time range. It also returns the last price
24628// change before the start time, which is the effective price as of the start
24629// time.
24630//
24631// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24632// with awserr.Error's Code and Message methods to get detailed information about
24633// the error.
24634//
24635// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24636// API operation DescribeSpotPriceHistory for usage and error information.
24637// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
24638func (c *EC2) DescribeSpotPriceHistory(input *DescribeSpotPriceHistoryInput) (*DescribeSpotPriceHistoryOutput, error) {
24639	req, out := c.DescribeSpotPriceHistoryRequest(input)
24640	return out, req.Send()
24641}
24642
24643// DescribeSpotPriceHistoryWithContext is the same as DescribeSpotPriceHistory with the addition of
24644// the ability to pass a context and additional request options.
24645//
24646// See DescribeSpotPriceHistory for details on how to use this API operation.
24647//
24648// The context must be non-nil and will be used for request cancellation. If
24649// the context is nil a panic will occur. In the future the SDK may create
24650// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24651// for more information on using Contexts.
24652func (c *EC2) DescribeSpotPriceHistoryWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, opts ...request.Option) (*DescribeSpotPriceHistoryOutput, error) {
24653	req, out := c.DescribeSpotPriceHistoryRequest(input)
24654	req.SetContext(ctx)
24655	req.ApplyOptions(opts...)
24656	return out, req.Send()
24657}
24658
24659// DescribeSpotPriceHistoryPages iterates over the pages of a DescribeSpotPriceHistory operation,
24660// calling the "fn" function with the response data for each page. To stop
24661// iterating, return false from the fn function.
24662//
24663// See DescribeSpotPriceHistory method for more information on how to use this operation.
24664//
24665// Note: This operation can generate multiple requests to a service.
24666//
24667//    // Example iterating over at most 3 pages of a DescribeSpotPriceHistory operation.
24668//    pageNum := 0
24669//    err := client.DescribeSpotPriceHistoryPages(params,
24670//        func(page *ec2.DescribeSpotPriceHistoryOutput, lastPage bool) bool {
24671//            pageNum++
24672//            fmt.Println(page)
24673//            return pageNum <= 3
24674//        })
24675//
24676func (c *EC2) DescribeSpotPriceHistoryPages(input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool) error {
24677	return c.DescribeSpotPriceHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
24678}
24679
24680// DescribeSpotPriceHistoryPagesWithContext same as DescribeSpotPriceHistoryPages except
24681// it takes a Context and allows setting request options on the pages.
24682//
24683// The context must be non-nil and will be used for request cancellation. If
24684// the context is nil a panic will occur. In the future the SDK may create
24685// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24686// for more information on using Contexts.
24687func (c *EC2) DescribeSpotPriceHistoryPagesWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool, opts ...request.Option) error {
24688	p := request.Pagination{
24689		NewRequest: func() (*request.Request, error) {
24690			var inCpy *DescribeSpotPriceHistoryInput
24691			if input != nil {
24692				tmp := *input
24693				inCpy = &tmp
24694			}
24695			req, _ := c.DescribeSpotPriceHistoryRequest(inCpy)
24696			req.SetContext(ctx)
24697			req.ApplyOptions(opts...)
24698			return req, nil
24699		},
24700	}
24701
24702	for p.Next() {
24703		if !fn(p.Page().(*DescribeSpotPriceHistoryOutput), !p.HasNextPage()) {
24704			break
24705		}
24706	}
24707
24708	return p.Err()
24709}
24710
24711const opDescribeStaleSecurityGroups = "DescribeStaleSecurityGroups"
24712
24713// DescribeStaleSecurityGroupsRequest generates a "aws/request.Request" representing the
24714// client's request for the DescribeStaleSecurityGroups operation. The "output" return
24715// value will be populated with the request's response once the request completes
24716// successfully.
24717//
24718// Use "Send" method on the returned Request to send the API call to the service.
24719// the "output" return value is not valid until after Send returns without error.
24720//
24721// See DescribeStaleSecurityGroups for more information on using the DescribeStaleSecurityGroups
24722// API call, and error handling.
24723//
24724// This method is useful when you want to inject custom logic or configuration
24725// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24726//
24727//
24728//    // Example sending a request using the DescribeStaleSecurityGroupsRequest method.
24729//    req, resp := client.DescribeStaleSecurityGroupsRequest(params)
24730//
24731//    err := req.Send()
24732//    if err == nil { // resp is now filled
24733//        fmt.Println(resp)
24734//    }
24735//
24736// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
24737func (c *EC2) DescribeStaleSecurityGroupsRequest(input *DescribeStaleSecurityGroupsInput) (req *request.Request, output *DescribeStaleSecurityGroupsOutput) {
24738	op := &request.Operation{
24739		Name:       opDescribeStaleSecurityGroups,
24740		HTTPMethod: "POST",
24741		HTTPPath:   "/",
24742		Paginator: &request.Paginator{
24743			InputTokens:     []string{"NextToken"},
24744			OutputTokens:    []string{"NextToken"},
24745			LimitToken:      "MaxResults",
24746			TruncationToken: "",
24747		},
24748	}
24749
24750	if input == nil {
24751		input = &DescribeStaleSecurityGroupsInput{}
24752	}
24753
24754	output = &DescribeStaleSecurityGroupsOutput{}
24755	req = c.newRequest(op, input, output)
24756	return
24757}
24758
24759// DescribeStaleSecurityGroups API operation for Amazon Elastic Compute Cloud.
24760//
24761// [VPC only] Describes the stale security group rules for security groups in
24762// a specified VPC. Rules are stale when they reference a deleted security group
24763// in a peer VPC, or a security group in a peer VPC for which the VPC peering
24764// connection has been deleted.
24765//
24766// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24767// with awserr.Error's Code and Message methods to get detailed information about
24768// the error.
24769//
24770// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24771// API operation DescribeStaleSecurityGroups for usage and error information.
24772// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
24773func (c *EC2) DescribeStaleSecurityGroups(input *DescribeStaleSecurityGroupsInput) (*DescribeStaleSecurityGroupsOutput, error) {
24774	req, out := c.DescribeStaleSecurityGroupsRequest(input)
24775	return out, req.Send()
24776}
24777
24778// DescribeStaleSecurityGroupsWithContext is the same as DescribeStaleSecurityGroups with the addition of
24779// the ability to pass a context and additional request options.
24780//
24781// See DescribeStaleSecurityGroups for details on how to use this API operation.
24782//
24783// The context must be non-nil and will be used for request cancellation. If
24784// the context is nil a panic will occur. In the future the SDK may create
24785// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24786// for more information on using Contexts.
24787func (c *EC2) DescribeStaleSecurityGroupsWithContext(ctx aws.Context, input *DescribeStaleSecurityGroupsInput, opts ...request.Option) (*DescribeStaleSecurityGroupsOutput, error) {
24788	req, out := c.DescribeStaleSecurityGroupsRequest(input)
24789	req.SetContext(ctx)
24790	req.ApplyOptions(opts...)
24791	return out, req.Send()
24792}
24793
24794// DescribeStaleSecurityGroupsPages iterates over the pages of a DescribeStaleSecurityGroups operation,
24795// calling the "fn" function with the response data for each page. To stop
24796// iterating, return false from the fn function.
24797//
24798// See DescribeStaleSecurityGroups method for more information on how to use this operation.
24799//
24800// Note: This operation can generate multiple requests to a service.
24801//
24802//    // Example iterating over at most 3 pages of a DescribeStaleSecurityGroups operation.
24803//    pageNum := 0
24804//    err := client.DescribeStaleSecurityGroupsPages(params,
24805//        func(page *ec2.DescribeStaleSecurityGroupsOutput, lastPage bool) bool {
24806//            pageNum++
24807//            fmt.Println(page)
24808//            return pageNum <= 3
24809//        })
24810//
24811func (c *EC2) DescribeStaleSecurityGroupsPages(input *DescribeStaleSecurityGroupsInput, fn func(*DescribeStaleSecurityGroupsOutput, bool) bool) error {
24812	return c.DescribeStaleSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
24813}
24814
24815// DescribeStaleSecurityGroupsPagesWithContext same as DescribeStaleSecurityGroupsPages except
24816// it takes a Context and allows setting request options on the pages.
24817//
24818// The context must be non-nil and will be used for request cancellation. If
24819// the context is nil a panic will occur. In the future the SDK may create
24820// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24821// for more information on using Contexts.
24822func (c *EC2) DescribeStaleSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeStaleSecurityGroupsInput, fn func(*DescribeStaleSecurityGroupsOutput, bool) bool, opts ...request.Option) error {
24823	p := request.Pagination{
24824		NewRequest: func() (*request.Request, error) {
24825			var inCpy *DescribeStaleSecurityGroupsInput
24826			if input != nil {
24827				tmp := *input
24828				inCpy = &tmp
24829			}
24830			req, _ := c.DescribeStaleSecurityGroupsRequest(inCpy)
24831			req.SetContext(ctx)
24832			req.ApplyOptions(opts...)
24833			return req, nil
24834		},
24835	}
24836
24837	for p.Next() {
24838		if !fn(p.Page().(*DescribeStaleSecurityGroupsOutput), !p.HasNextPage()) {
24839			break
24840		}
24841	}
24842
24843	return p.Err()
24844}
24845
24846const opDescribeStoreImageTasks = "DescribeStoreImageTasks"
24847
24848// DescribeStoreImageTasksRequest generates a "aws/request.Request" representing the
24849// client's request for the DescribeStoreImageTasks operation. The "output" return
24850// value will be populated with the request's response once the request completes
24851// successfully.
24852//
24853// Use "Send" method on the returned Request to send the API call to the service.
24854// the "output" return value is not valid until after Send returns without error.
24855//
24856// See DescribeStoreImageTasks for more information on using the DescribeStoreImageTasks
24857// API call, and error handling.
24858//
24859// This method is useful when you want to inject custom logic or configuration
24860// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24861//
24862//
24863//    // Example sending a request using the DescribeStoreImageTasksRequest method.
24864//    req, resp := client.DescribeStoreImageTasksRequest(params)
24865//
24866//    err := req.Send()
24867//    if err == nil { // resp is now filled
24868//        fmt.Println(resp)
24869//    }
24870//
24871// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStoreImageTasks
24872func (c *EC2) DescribeStoreImageTasksRequest(input *DescribeStoreImageTasksInput) (req *request.Request, output *DescribeStoreImageTasksOutput) {
24873	op := &request.Operation{
24874		Name:       opDescribeStoreImageTasks,
24875		HTTPMethod: "POST",
24876		HTTPPath:   "/",
24877		Paginator: &request.Paginator{
24878			InputTokens:     []string{"NextToken"},
24879			OutputTokens:    []string{"NextToken"},
24880			LimitToken:      "MaxResults",
24881			TruncationToken: "",
24882		},
24883	}
24884
24885	if input == nil {
24886		input = &DescribeStoreImageTasksInput{}
24887	}
24888
24889	output = &DescribeStoreImageTasksOutput{}
24890	req = c.newRequest(op, input, output)
24891	return
24892}
24893
24894// DescribeStoreImageTasks API operation for Amazon Elastic Compute Cloud.
24895//
24896// Describes the progress of the AMI store tasks. You can describe the store
24897// tasks for specified AMIs. If you don't specify the AMIs, you get a paginated
24898// list of store tasks from the last 31 days.
24899//
24900// For each AMI task, the response indicates if the task is InProgress, Completed,
24901// or Failed. For tasks InProgress, the response shows the estimated progress
24902// as a percentage.
24903//
24904// Tasks are listed in reverse chronological order. Currently, only tasks from
24905// the past 31 days can be viewed.
24906//
24907// To use this API, you must have the required permissions. For more information,
24908// see Permissions for storing and restoring AMIs using S3 (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-store-restore.html#ami-s3-permissions)
24909// in the Amazon Elastic Compute Cloud User Guide.
24910//
24911// For more information, see Store and restore an AMI using S3 (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-store-restore.html)
24912// in the Amazon Elastic Compute Cloud User Guide.
24913//
24914// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24915// with awserr.Error's Code and Message methods to get detailed information about
24916// the error.
24917//
24918// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24919// API operation DescribeStoreImageTasks for usage and error information.
24920// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStoreImageTasks
24921func (c *EC2) DescribeStoreImageTasks(input *DescribeStoreImageTasksInput) (*DescribeStoreImageTasksOutput, error) {
24922	req, out := c.DescribeStoreImageTasksRequest(input)
24923	return out, req.Send()
24924}
24925
24926// DescribeStoreImageTasksWithContext is the same as DescribeStoreImageTasks with the addition of
24927// the ability to pass a context and additional request options.
24928//
24929// See DescribeStoreImageTasks for details on how to use this API operation.
24930//
24931// The context must be non-nil and will be used for request cancellation. If
24932// the context is nil a panic will occur. In the future the SDK may create
24933// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24934// for more information on using Contexts.
24935func (c *EC2) DescribeStoreImageTasksWithContext(ctx aws.Context, input *DescribeStoreImageTasksInput, opts ...request.Option) (*DescribeStoreImageTasksOutput, error) {
24936	req, out := c.DescribeStoreImageTasksRequest(input)
24937	req.SetContext(ctx)
24938	req.ApplyOptions(opts...)
24939	return out, req.Send()
24940}
24941
24942// DescribeStoreImageTasksPages iterates over the pages of a DescribeStoreImageTasks operation,
24943// calling the "fn" function with the response data for each page. To stop
24944// iterating, return false from the fn function.
24945//
24946// See DescribeStoreImageTasks method for more information on how to use this operation.
24947//
24948// Note: This operation can generate multiple requests to a service.
24949//
24950//    // Example iterating over at most 3 pages of a DescribeStoreImageTasks operation.
24951//    pageNum := 0
24952//    err := client.DescribeStoreImageTasksPages(params,
24953//        func(page *ec2.DescribeStoreImageTasksOutput, lastPage bool) bool {
24954//            pageNum++
24955//            fmt.Println(page)
24956//            return pageNum <= 3
24957//        })
24958//
24959func (c *EC2) DescribeStoreImageTasksPages(input *DescribeStoreImageTasksInput, fn func(*DescribeStoreImageTasksOutput, bool) bool) error {
24960	return c.DescribeStoreImageTasksPagesWithContext(aws.BackgroundContext(), input, fn)
24961}
24962
24963// DescribeStoreImageTasksPagesWithContext same as DescribeStoreImageTasksPages except
24964// it takes a Context and allows setting request options on the pages.
24965//
24966// The context must be non-nil and will be used for request cancellation. If
24967// the context is nil a panic will occur. In the future the SDK may create
24968// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24969// for more information on using Contexts.
24970func (c *EC2) DescribeStoreImageTasksPagesWithContext(ctx aws.Context, input *DescribeStoreImageTasksInput, fn func(*DescribeStoreImageTasksOutput, bool) bool, opts ...request.Option) error {
24971	p := request.Pagination{
24972		NewRequest: func() (*request.Request, error) {
24973			var inCpy *DescribeStoreImageTasksInput
24974			if input != nil {
24975				tmp := *input
24976				inCpy = &tmp
24977			}
24978			req, _ := c.DescribeStoreImageTasksRequest(inCpy)
24979			req.SetContext(ctx)
24980			req.ApplyOptions(opts...)
24981			return req, nil
24982		},
24983	}
24984
24985	for p.Next() {
24986		if !fn(p.Page().(*DescribeStoreImageTasksOutput), !p.HasNextPage()) {
24987			break
24988		}
24989	}
24990
24991	return p.Err()
24992}
24993
24994const opDescribeSubnets = "DescribeSubnets"
24995
24996// DescribeSubnetsRequest generates a "aws/request.Request" representing the
24997// client's request for the DescribeSubnets operation. The "output" return
24998// value will be populated with the request's response once the request completes
24999// successfully.
25000//
25001// Use "Send" method on the returned Request to send the API call to the service.
25002// the "output" return value is not valid until after Send returns without error.
25003//
25004// See DescribeSubnets for more information on using the DescribeSubnets
25005// API call, and error handling.
25006//
25007// This method is useful when you want to inject custom logic or configuration
25008// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25009//
25010//
25011//    // Example sending a request using the DescribeSubnetsRequest method.
25012//    req, resp := client.DescribeSubnetsRequest(params)
25013//
25014//    err := req.Send()
25015//    if err == nil { // resp is now filled
25016//        fmt.Println(resp)
25017//    }
25018//
25019// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
25020func (c *EC2) DescribeSubnetsRequest(input *DescribeSubnetsInput) (req *request.Request, output *DescribeSubnetsOutput) {
25021	op := &request.Operation{
25022		Name:       opDescribeSubnets,
25023		HTTPMethod: "POST",
25024		HTTPPath:   "/",
25025		Paginator: &request.Paginator{
25026			InputTokens:     []string{"NextToken"},
25027			OutputTokens:    []string{"NextToken"},
25028			LimitToken:      "MaxResults",
25029			TruncationToken: "",
25030		},
25031	}
25032
25033	if input == nil {
25034		input = &DescribeSubnetsInput{}
25035	}
25036
25037	output = &DescribeSubnetsOutput{}
25038	req = c.newRequest(op, input, output)
25039	return
25040}
25041
25042// DescribeSubnets API operation for Amazon Elastic Compute Cloud.
25043//
25044// Describes one or more of your subnets.
25045//
25046// For more information, see Your VPC and subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
25047// in the Amazon Virtual Private Cloud User Guide.
25048//
25049// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25050// with awserr.Error's Code and Message methods to get detailed information about
25051// the error.
25052//
25053// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25054// API operation DescribeSubnets for usage and error information.
25055// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
25056func (c *EC2) DescribeSubnets(input *DescribeSubnetsInput) (*DescribeSubnetsOutput, error) {
25057	req, out := c.DescribeSubnetsRequest(input)
25058	return out, req.Send()
25059}
25060
25061// DescribeSubnetsWithContext is the same as DescribeSubnets with the addition of
25062// the ability to pass a context and additional request options.
25063//
25064// See DescribeSubnets for details on how to use this API operation.
25065//
25066// The context must be non-nil and will be used for request cancellation. If
25067// the context is nil a panic will occur. In the future the SDK may create
25068// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25069// for more information on using Contexts.
25070func (c *EC2) DescribeSubnetsWithContext(ctx aws.Context, input *DescribeSubnetsInput, opts ...request.Option) (*DescribeSubnetsOutput, error) {
25071	req, out := c.DescribeSubnetsRequest(input)
25072	req.SetContext(ctx)
25073	req.ApplyOptions(opts...)
25074	return out, req.Send()
25075}
25076
25077// DescribeSubnetsPages iterates over the pages of a DescribeSubnets operation,
25078// calling the "fn" function with the response data for each page. To stop
25079// iterating, return false from the fn function.
25080//
25081// See DescribeSubnets method for more information on how to use this operation.
25082//
25083// Note: This operation can generate multiple requests to a service.
25084//
25085//    // Example iterating over at most 3 pages of a DescribeSubnets operation.
25086//    pageNum := 0
25087//    err := client.DescribeSubnetsPages(params,
25088//        func(page *ec2.DescribeSubnetsOutput, lastPage bool) bool {
25089//            pageNum++
25090//            fmt.Println(page)
25091//            return pageNum <= 3
25092//        })
25093//
25094func (c *EC2) DescribeSubnetsPages(input *DescribeSubnetsInput, fn func(*DescribeSubnetsOutput, bool) bool) error {
25095	return c.DescribeSubnetsPagesWithContext(aws.BackgroundContext(), input, fn)
25096}
25097
25098// DescribeSubnetsPagesWithContext same as DescribeSubnetsPages except
25099// it takes a Context and allows setting request options on the pages.
25100//
25101// The context must be non-nil and will be used for request cancellation. If
25102// the context is nil a panic will occur. In the future the SDK may create
25103// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25104// for more information on using Contexts.
25105func (c *EC2) DescribeSubnetsPagesWithContext(ctx aws.Context, input *DescribeSubnetsInput, fn func(*DescribeSubnetsOutput, bool) bool, opts ...request.Option) error {
25106	p := request.Pagination{
25107		NewRequest: func() (*request.Request, error) {
25108			var inCpy *DescribeSubnetsInput
25109			if input != nil {
25110				tmp := *input
25111				inCpy = &tmp
25112			}
25113			req, _ := c.DescribeSubnetsRequest(inCpy)
25114			req.SetContext(ctx)
25115			req.ApplyOptions(opts...)
25116			return req, nil
25117		},
25118	}
25119
25120	for p.Next() {
25121		if !fn(p.Page().(*DescribeSubnetsOutput), !p.HasNextPage()) {
25122			break
25123		}
25124	}
25125
25126	return p.Err()
25127}
25128
25129const opDescribeTags = "DescribeTags"
25130
25131// DescribeTagsRequest generates a "aws/request.Request" representing the
25132// client's request for the DescribeTags operation. The "output" return
25133// value will be populated with the request's response once the request completes
25134// successfully.
25135//
25136// Use "Send" method on the returned Request to send the API call to the service.
25137// the "output" return value is not valid until after Send returns without error.
25138//
25139// See DescribeTags for more information on using the DescribeTags
25140// API call, and error handling.
25141//
25142// This method is useful when you want to inject custom logic or configuration
25143// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25144//
25145//
25146//    // Example sending a request using the DescribeTagsRequest method.
25147//    req, resp := client.DescribeTagsRequest(params)
25148//
25149//    err := req.Send()
25150//    if err == nil { // resp is now filled
25151//        fmt.Println(resp)
25152//    }
25153//
25154// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
25155func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
25156	op := &request.Operation{
25157		Name:       opDescribeTags,
25158		HTTPMethod: "POST",
25159		HTTPPath:   "/",
25160		Paginator: &request.Paginator{
25161			InputTokens:     []string{"NextToken"},
25162			OutputTokens:    []string{"NextToken"},
25163			LimitToken:      "MaxResults",
25164			TruncationToken: "",
25165		},
25166	}
25167
25168	if input == nil {
25169		input = &DescribeTagsInput{}
25170	}
25171
25172	output = &DescribeTagsOutput{}
25173	req = c.newRequest(op, input, output)
25174	return
25175}
25176
25177// DescribeTags API operation for Amazon Elastic Compute Cloud.
25178//
25179// Describes the specified tags for your EC2 resources.
25180//
25181// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
25182// in the Amazon Elastic Compute Cloud User Guide.
25183//
25184// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25185// with awserr.Error's Code and Message methods to get detailed information about
25186// the error.
25187//
25188// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25189// API operation DescribeTags for usage and error information.
25190// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
25191func (c *EC2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
25192	req, out := c.DescribeTagsRequest(input)
25193	return out, req.Send()
25194}
25195
25196// DescribeTagsWithContext is the same as DescribeTags with the addition of
25197// the ability to pass a context and additional request options.
25198//
25199// See DescribeTags for details on how to use this API operation.
25200//
25201// The context must be non-nil and will be used for request cancellation. If
25202// the context is nil a panic will occur. In the future the SDK may create
25203// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25204// for more information on using Contexts.
25205func (c *EC2) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) {
25206	req, out := c.DescribeTagsRequest(input)
25207	req.SetContext(ctx)
25208	req.ApplyOptions(opts...)
25209	return out, req.Send()
25210}
25211
25212// DescribeTagsPages iterates over the pages of a DescribeTags operation,
25213// calling the "fn" function with the response data for each page. To stop
25214// iterating, return false from the fn function.
25215//
25216// See DescribeTags method for more information on how to use this operation.
25217//
25218// Note: This operation can generate multiple requests to a service.
25219//
25220//    // Example iterating over at most 3 pages of a DescribeTags operation.
25221//    pageNum := 0
25222//    err := client.DescribeTagsPages(params,
25223//        func(page *ec2.DescribeTagsOutput, lastPage bool) bool {
25224//            pageNum++
25225//            fmt.Println(page)
25226//            return pageNum <= 3
25227//        })
25228//
25229func (c *EC2) DescribeTagsPages(input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool) error {
25230	return c.DescribeTagsPagesWithContext(aws.BackgroundContext(), input, fn)
25231}
25232
25233// DescribeTagsPagesWithContext same as DescribeTagsPages except
25234// it takes a Context and allows setting request options on the pages.
25235//
25236// The context must be non-nil and will be used for request cancellation. If
25237// the context is nil a panic will occur. In the future the SDK may create
25238// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25239// for more information on using Contexts.
25240func (c *EC2) DescribeTagsPagesWithContext(ctx aws.Context, input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool, opts ...request.Option) error {
25241	p := request.Pagination{
25242		NewRequest: func() (*request.Request, error) {
25243			var inCpy *DescribeTagsInput
25244			if input != nil {
25245				tmp := *input
25246				inCpy = &tmp
25247			}
25248			req, _ := c.DescribeTagsRequest(inCpy)
25249			req.SetContext(ctx)
25250			req.ApplyOptions(opts...)
25251			return req, nil
25252		},
25253	}
25254
25255	for p.Next() {
25256		if !fn(p.Page().(*DescribeTagsOutput), !p.HasNextPage()) {
25257			break
25258		}
25259	}
25260
25261	return p.Err()
25262}
25263
25264const opDescribeTrafficMirrorFilters = "DescribeTrafficMirrorFilters"
25265
25266// DescribeTrafficMirrorFiltersRequest generates a "aws/request.Request" representing the
25267// client's request for the DescribeTrafficMirrorFilters operation. The "output" return
25268// value will be populated with the request's response once the request completes
25269// successfully.
25270//
25271// Use "Send" method on the returned Request to send the API call to the service.
25272// the "output" return value is not valid until after Send returns without error.
25273//
25274// See DescribeTrafficMirrorFilters for more information on using the DescribeTrafficMirrorFilters
25275// API call, and error handling.
25276//
25277// This method is useful when you want to inject custom logic or configuration
25278// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25279//
25280//
25281//    // Example sending a request using the DescribeTrafficMirrorFiltersRequest method.
25282//    req, resp := client.DescribeTrafficMirrorFiltersRequest(params)
25283//
25284//    err := req.Send()
25285//    if err == nil { // resp is now filled
25286//        fmt.Println(resp)
25287//    }
25288//
25289// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorFilters
25290func (c *EC2) DescribeTrafficMirrorFiltersRequest(input *DescribeTrafficMirrorFiltersInput) (req *request.Request, output *DescribeTrafficMirrorFiltersOutput) {
25291	op := &request.Operation{
25292		Name:       opDescribeTrafficMirrorFilters,
25293		HTTPMethod: "POST",
25294		HTTPPath:   "/",
25295		Paginator: &request.Paginator{
25296			InputTokens:     []string{"NextToken"},
25297			OutputTokens:    []string{"NextToken"},
25298			LimitToken:      "MaxResults",
25299			TruncationToken: "",
25300		},
25301	}
25302
25303	if input == nil {
25304		input = &DescribeTrafficMirrorFiltersInput{}
25305	}
25306
25307	output = &DescribeTrafficMirrorFiltersOutput{}
25308	req = c.newRequest(op, input, output)
25309	return
25310}
25311
25312// DescribeTrafficMirrorFilters API operation for Amazon Elastic Compute Cloud.
25313//
25314// Describes one or more Traffic Mirror filters.
25315//
25316// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25317// with awserr.Error's Code and Message methods to get detailed information about
25318// the error.
25319//
25320// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25321// API operation DescribeTrafficMirrorFilters for usage and error information.
25322// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorFilters
25323func (c *EC2) DescribeTrafficMirrorFilters(input *DescribeTrafficMirrorFiltersInput) (*DescribeTrafficMirrorFiltersOutput, error) {
25324	req, out := c.DescribeTrafficMirrorFiltersRequest(input)
25325	return out, req.Send()
25326}
25327
25328// DescribeTrafficMirrorFiltersWithContext is the same as DescribeTrafficMirrorFilters with the addition of
25329// the ability to pass a context and additional request options.
25330//
25331// See DescribeTrafficMirrorFilters for details on how to use this API operation.
25332//
25333// The context must be non-nil and will be used for request cancellation. If
25334// the context is nil a panic will occur. In the future the SDK may create
25335// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25336// for more information on using Contexts.
25337func (c *EC2) DescribeTrafficMirrorFiltersWithContext(ctx aws.Context, input *DescribeTrafficMirrorFiltersInput, opts ...request.Option) (*DescribeTrafficMirrorFiltersOutput, error) {
25338	req, out := c.DescribeTrafficMirrorFiltersRequest(input)
25339	req.SetContext(ctx)
25340	req.ApplyOptions(opts...)
25341	return out, req.Send()
25342}
25343
25344// DescribeTrafficMirrorFiltersPages iterates over the pages of a DescribeTrafficMirrorFilters operation,
25345// calling the "fn" function with the response data for each page. To stop
25346// iterating, return false from the fn function.
25347//
25348// See DescribeTrafficMirrorFilters method for more information on how to use this operation.
25349//
25350// Note: This operation can generate multiple requests to a service.
25351//
25352//    // Example iterating over at most 3 pages of a DescribeTrafficMirrorFilters operation.
25353//    pageNum := 0
25354//    err := client.DescribeTrafficMirrorFiltersPages(params,
25355//        func(page *ec2.DescribeTrafficMirrorFiltersOutput, lastPage bool) bool {
25356//            pageNum++
25357//            fmt.Println(page)
25358//            return pageNum <= 3
25359//        })
25360//
25361func (c *EC2) DescribeTrafficMirrorFiltersPages(input *DescribeTrafficMirrorFiltersInput, fn func(*DescribeTrafficMirrorFiltersOutput, bool) bool) error {
25362	return c.DescribeTrafficMirrorFiltersPagesWithContext(aws.BackgroundContext(), input, fn)
25363}
25364
25365// DescribeTrafficMirrorFiltersPagesWithContext same as DescribeTrafficMirrorFiltersPages except
25366// it takes a Context and allows setting request options on the pages.
25367//
25368// The context must be non-nil and will be used for request cancellation. If
25369// the context is nil a panic will occur. In the future the SDK may create
25370// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25371// for more information on using Contexts.
25372func (c *EC2) DescribeTrafficMirrorFiltersPagesWithContext(ctx aws.Context, input *DescribeTrafficMirrorFiltersInput, fn func(*DescribeTrafficMirrorFiltersOutput, bool) bool, opts ...request.Option) error {
25373	p := request.Pagination{
25374		NewRequest: func() (*request.Request, error) {
25375			var inCpy *DescribeTrafficMirrorFiltersInput
25376			if input != nil {
25377				tmp := *input
25378				inCpy = &tmp
25379			}
25380			req, _ := c.DescribeTrafficMirrorFiltersRequest(inCpy)
25381			req.SetContext(ctx)
25382			req.ApplyOptions(opts...)
25383			return req, nil
25384		},
25385	}
25386
25387	for p.Next() {
25388		if !fn(p.Page().(*DescribeTrafficMirrorFiltersOutput), !p.HasNextPage()) {
25389			break
25390		}
25391	}
25392
25393	return p.Err()
25394}
25395
25396const opDescribeTrafficMirrorSessions = "DescribeTrafficMirrorSessions"
25397
25398// DescribeTrafficMirrorSessionsRequest generates a "aws/request.Request" representing the
25399// client's request for the DescribeTrafficMirrorSessions operation. The "output" return
25400// value will be populated with the request's response once the request completes
25401// successfully.
25402//
25403// Use "Send" method on the returned Request to send the API call to the service.
25404// the "output" return value is not valid until after Send returns without error.
25405//
25406// See DescribeTrafficMirrorSessions for more information on using the DescribeTrafficMirrorSessions
25407// API call, and error handling.
25408//
25409// This method is useful when you want to inject custom logic or configuration
25410// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25411//
25412//
25413//    // Example sending a request using the DescribeTrafficMirrorSessionsRequest method.
25414//    req, resp := client.DescribeTrafficMirrorSessionsRequest(params)
25415//
25416//    err := req.Send()
25417//    if err == nil { // resp is now filled
25418//        fmt.Println(resp)
25419//    }
25420//
25421// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorSessions
25422func (c *EC2) DescribeTrafficMirrorSessionsRequest(input *DescribeTrafficMirrorSessionsInput) (req *request.Request, output *DescribeTrafficMirrorSessionsOutput) {
25423	op := &request.Operation{
25424		Name:       opDescribeTrafficMirrorSessions,
25425		HTTPMethod: "POST",
25426		HTTPPath:   "/",
25427		Paginator: &request.Paginator{
25428			InputTokens:     []string{"NextToken"},
25429			OutputTokens:    []string{"NextToken"},
25430			LimitToken:      "MaxResults",
25431			TruncationToken: "",
25432		},
25433	}
25434
25435	if input == nil {
25436		input = &DescribeTrafficMirrorSessionsInput{}
25437	}
25438
25439	output = &DescribeTrafficMirrorSessionsOutput{}
25440	req = c.newRequest(op, input, output)
25441	return
25442}
25443
25444// DescribeTrafficMirrorSessions API operation for Amazon Elastic Compute Cloud.
25445//
25446// Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror
25447// sessions are described. Alternatively, you can filter the results.
25448//
25449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25450// with awserr.Error's Code and Message methods to get detailed information about
25451// the error.
25452//
25453// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25454// API operation DescribeTrafficMirrorSessions for usage and error information.
25455// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorSessions
25456func (c *EC2) DescribeTrafficMirrorSessions(input *DescribeTrafficMirrorSessionsInput) (*DescribeTrafficMirrorSessionsOutput, error) {
25457	req, out := c.DescribeTrafficMirrorSessionsRequest(input)
25458	return out, req.Send()
25459}
25460
25461// DescribeTrafficMirrorSessionsWithContext is the same as DescribeTrafficMirrorSessions with the addition of
25462// the ability to pass a context and additional request options.
25463//
25464// See DescribeTrafficMirrorSessions for details on how to use this API operation.
25465//
25466// The context must be non-nil and will be used for request cancellation. If
25467// the context is nil a panic will occur. In the future the SDK may create
25468// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25469// for more information on using Contexts.
25470func (c *EC2) DescribeTrafficMirrorSessionsWithContext(ctx aws.Context, input *DescribeTrafficMirrorSessionsInput, opts ...request.Option) (*DescribeTrafficMirrorSessionsOutput, error) {
25471	req, out := c.DescribeTrafficMirrorSessionsRequest(input)
25472	req.SetContext(ctx)
25473	req.ApplyOptions(opts...)
25474	return out, req.Send()
25475}
25476
25477// DescribeTrafficMirrorSessionsPages iterates over the pages of a DescribeTrafficMirrorSessions operation,
25478// calling the "fn" function with the response data for each page. To stop
25479// iterating, return false from the fn function.
25480//
25481// See DescribeTrafficMirrorSessions method for more information on how to use this operation.
25482//
25483// Note: This operation can generate multiple requests to a service.
25484//
25485//    // Example iterating over at most 3 pages of a DescribeTrafficMirrorSessions operation.
25486//    pageNum := 0
25487//    err := client.DescribeTrafficMirrorSessionsPages(params,
25488//        func(page *ec2.DescribeTrafficMirrorSessionsOutput, lastPage bool) bool {
25489//            pageNum++
25490//            fmt.Println(page)
25491//            return pageNum <= 3
25492//        })
25493//
25494func (c *EC2) DescribeTrafficMirrorSessionsPages(input *DescribeTrafficMirrorSessionsInput, fn func(*DescribeTrafficMirrorSessionsOutput, bool) bool) error {
25495	return c.DescribeTrafficMirrorSessionsPagesWithContext(aws.BackgroundContext(), input, fn)
25496}
25497
25498// DescribeTrafficMirrorSessionsPagesWithContext same as DescribeTrafficMirrorSessionsPages except
25499// it takes a Context and allows setting request options on the pages.
25500//
25501// The context must be non-nil and will be used for request cancellation. If
25502// the context is nil a panic will occur. In the future the SDK may create
25503// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25504// for more information on using Contexts.
25505func (c *EC2) DescribeTrafficMirrorSessionsPagesWithContext(ctx aws.Context, input *DescribeTrafficMirrorSessionsInput, fn func(*DescribeTrafficMirrorSessionsOutput, bool) bool, opts ...request.Option) error {
25506	p := request.Pagination{
25507		NewRequest: func() (*request.Request, error) {
25508			var inCpy *DescribeTrafficMirrorSessionsInput
25509			if input != nil {
25510				tmp := *input
25511				inCpy = &tmp
25512			}
25513			req, _ := c.DescribeTrafficMirrorSessionsRequest(inCpy)
25514			req.SetContext(ctx)
25515			req.ApplyOptions(opts...)
25516			return req, nil
25517		},
25518	}
25519
25520	for p.Next() {
25521		if !fn(p.Page().(*DescribeTrafficMirrorSessionsOutput), !p.HasNextPage()) {
25522			break
25523		}
25524	}
25525
25526	return p.Err()
25527}
25528
25529const opDescribeTrafficMirrorTargets = "DescribeTrafficMirrorTargets"
25530
25531// DescribeTrafficMirrorTargetsRequest generates a "aws/request.Request" representing the
25532// client's request for the DescribeTrafficMirrorTargets operation. The "output" return
25533// value will be populated with the request's response once the request completes
25534// successfully.
25535//
25536// Use "Send" method on the returned Request to send the API call to the service.
25537// the "output" return value is not valid until after Send returns without error.
25538//
25539// See DescribeTrafficMirrorTargets for more information on using the DescribeTrafficMirrorTargets
25540// API call, and error handling.
25541//
25542// This method is useful when you want to inject custom logic or configuration
25543// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25544//
25545//
25546//    // Example sending a request using the DescribeTrafficMirrorTargetsRequest method.
25547//    req, resp := client.DescribeTrafficMirrorTargetsRequest(params)
25548//
25549//    err := req.Send()
25550//    if err == nil { // resp is now filled
25551//        fmt.Println(resp)
25552//    }
25553//
25554// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorTargets
25555func (c *EC2) DescribeTrafficMirrorTargetsRequest(input *DescribeTrafficMirrorTargetsInput) (req *request.Request, output *DescribeTrafficMirrorTargetsOutput) {
25556	op := &request.Operation{
25557		Name:       opDescribeTrafficMirrorTargets,
25558		HTTPMethod: "POST",
25559		HTTPPath:   "/",
25560		Paginator: &request.Paginator{
25561			InputTokens:     []string{"NextToken"},
25562			OutputTokens:    []string{"NextToken"},
25563			LimitToken:      "MaxResults",
25564			TruncationToken: "",
25565		},
25566	}
25567
25568	if input == nil {
25569		input = &DescribeTrafficMirrorTargetsInput{}
25570	}
25571
25572	output = &DescribeTrafficMirrorTargetsOutput{}
25573	req = c.newRequest(op, input, output)
25574	return
25575}
25576
25577// DescribeTrafficMirrorTargets API operation for Amazon Elastic Compute Cloud.
25578//
25579// Information about one or more Traffic Mirror targets.
25580//
25581// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25582// with awserr.Error's Code and Message methods to get detailed information about
25583// the error.
25584//
25585// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25586// API operation DescribeTrafficMirrorTargets for usage and error information.
25587// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorTargets
25588func (c *EC2) DescribeTrafficMirrorTargets(input *DescribeTrafficMirrorTargetsInput) (*DescribeTrafficMirrorTargetsOutput, error) {
25589	req, out := c.DescribeTrafficMirrorTargetsRequest(input)
25590	return out, req.Send()
25591}
25592
25593// DescribeTrafficMirrorTargetsWithContext is the same as DescribeTrafficMirrorTargets with the addition of
25594// the ability to pass a context and additional request options.
25595//
25596// See DescribeTrafficMirrorTargets for details on how to use this API operation.
25597//
25598// The context must be non-nil and will be used for request cancellation. If
25599// the context is nil a panic will occur. In the future the SDK may create
25600// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25601// for more information on using Contexts.
25602func (c *EC2) DescribeTrafficMirrorTargetsWithContext(ctx aws.Context, input *DescribeTrafficMirrorTargetsInput, opts ...request.Option) (*DescribeTrafficMirrorTargetsOutput, error) {
25603	req, out := c.DescribeTrafficMirrorTargetsRequest(input)
25604	req.SetContext(ctx)
25605	req.ApplyOptions(opts...)
25606	return out, req.Send()
25607}
25608
25609// DescribeTrafficMirrorTargetsPages iterates over the pages of a DescribeTrafficMirrorTargets operation,
25610// calling the "fn" function with the response data for each page. To stop
25611// iterating, return false from the fn function.
25612//
25613// See DescribeTrafficMirrorTargets method for more information on how to use this operation.
25614//
25615// Note: This operation can generate multiple requests to a service.
25616//
25617//    // Example iterating over at most 3 pages of a DescribeTrafficMirrorTargets operation.
25618//    pageNum := 0
25619//    err := client.DescribeTrafficMirrorTargetsPages(params,
25620//        func(page *ec2.DescribeTrafficMirrorTargetsOutput, lastPage bool) bool {
25621//            pageNum++
25622//            fmt.Println(page)
25623//            return pageNum <= 3
25624//        })
25625//
25626func (c *EC2) DescribeTrafficMirrorTargetsPages(input *DescribeTrafficMirrorTargetsInput, fn func(*DescribeTrafficMirrorTargetsOutput, bool) bool) error {
25627	return c.DescribeTrafficMirrorTargetsPagesWithContext(aws.BackgroundContext(), input, fn)
25628}
25629
25630// DescribeTrafficMirrorTargetsPagesWithContext same as DescribeTrafficMirrorTargetsPages except
25631// it takes a Context and allows setting request options on the pages.
25632//
25633// The context must be non-nil and will be used for request cancellation. If
25634// the context is nil a panic will occur. In the future the SDK may create
25635// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25636// for more information on using Contexts.
25637func (c *EC2) DescribeTrafficMirrorTargetsPagesWithContext(ctx aws.Context, input *DescribeTrafficMirrorTargetsInput, fn func(*DescribeTrafficMirrorTargetsOutput, bool) bool, opts ...request.Option) error {
25638	p := request.Pagination{
25639		NewRequest: func() (*request.Request, error) {
25640			var inCpy *DescribeTrafficMirrorTargetsInput
25641			if input != nil {
25642				tmp := *input
25643				inCpy = &tmp
25644			}
25645			req, _ := c.DescribeTrafficMirrorTargetsRequest(inCpy)
25646			req.SetContext(ctx)
25647			req.ApplyOptions(opts...)
25648			return req, nil
25649		},
25650	}
25651
25652	for p.Next() {
25653		if !fn(p.Page().(*DescribeTrafficMirrorTargetsOutput), !p.HasNextPage()) {
25654			break
25655		}
25656	}
25657
25658	return p.Err()
25659}
25660
25661const opDescribeTransitGatewayAttachments = "DescribeTransitGatewayAttachments"
25662
25663// DescribeTransitGatewayAttachmentsRequest generates a "aws/request.Request" representing the
25664// client's request for the DescribeTransitGatewayAttachments operation. The "output" return
25665// value will be populated with the request's response once the request completes
25666// successfully.
25667//
25668// Use "Send" method on the returned Request to send the API call to the service.
25669// the "output" return value is not valid until after Send returns without error.
25670//
25671// See DescribeTransitGatewayAttachments for more information on using the DescribeTransitGatewayAttachments
25672// API call, and error handling.
25673//
25674// This method is useful when you want to inject custom logic or configuration
25675// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25676//
25677//
25678//    // Example sending a request using the DescribeTransitGatewayAttachmentsRequest method.
25679//    req, resp := client.DescribeTransitGatewayAttachmentsRequest(params)
25680//
25681//    err := req.Send()
25682//    if err == nil { // resp is now filled
25683//        fmt.Println(resp)
25684//    }
25685//
25686// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayAttachments
25687func (c *EC2) DescribeTransitGatewayAttachmentsRequest(input *DescribeTransitGatewayAttachmentsInput) (req *request.Request, output *DescribeTransitGatewayAttachmentsOutput) {
25688	op := &request.Operation{
25689		Name:       opDescribeTransitGatewayAttachments,
25690		HTTPMethod: "POST",
25691		HTTPPath:   "/",
25692		Paginator: &request.Paginator{
25693			InputTokens:     []string{"NextToken"},
25694			OutputTokens:    []string{"NextToken"},
25695			LimitToken:      "MaxResults",
25696			TruncationToken: "",
25697		},
25698	}
25699
25700	if input == nil {
25701		input = &DescribeTransitGatewayAttachmentsInput{}
25702	}
25703
25704	output = &DescribeTransitGatewayAttachmentsOutput{}
25705	req = c.newRequest(op, input, output)
25706	return
25707}
25708
25709// DescribeTransitGatewayAttachments API operation for Amazon Elastic Compute Cloud.
25710//
25711// Describes one or more attachments between resources and transit gateways.
25712// By default, all attachments are described. Alternatively, you can filter
25713// the results by attachment ID, attachment state, resource ID, or resource
25714// owner.
25715//
25716// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25717// with awserr.Error's Code and Message methods to get detailed information about
25718// the error.
25719//
25720// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25721// API operation DescribeTransitGatewayAttachments for usage and error information.
25722// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayAttachments
25723func (c *EC2) DescribeTransitGatewayAttachments(input *DescribeTransitGatewayAttachmentsInput) (*DescribeTransitGatewayAttachmentsOutput, error) {
25724	req, out := c.DescribeTransitGatewayAttachmentsRequest(input)
25725	return out, req.Send()
25726}
25727
25728// DescribeTransitGatewayAttachmentsWithContext is the same as DescribeTransitGatewayAttachments with the addition of
25729// the ability to pass a context and additional request options.
25730//
25731// See DescribeTransitGatewayAttachments for details on how to use this API operation.
25732//
25733// The context must be non-nil and will be used for request cancellation. If
25734// the context is nil a panic will occur. In the future the SDK may create
25735// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25736// for more information on using Contexts.
25737func (c *EC2) DescribeTransitGatewayAttachmentsWithContext(ctx aws.Context, input *DescribeTransitGatewayAttachmentsInput, opts ...request.Option) (*DescribeTransitGatewayAttachmentsOutput, error) {
25738	req, out := c.DescribeTransitGatewayAttachmentsRequest(input)
25739	req.SetContext(ctx)
25740	req.ApplyOptions(opts...)
25741	return out, req.Send()
25742}
25743
25744// DescribeTransitGatewayAttachmentsPages iterates over the pages of a DescribeTransitGatewayAttachments operation,
25745// calling the "fn" function with the response data for each page. To stop
25746// iterating, return false from the fn function.
25747//
25748// See DescribeTransitGatewayAttachments method for more information on how to use this operation.
25749//
25750// Note: This operation can generate multiple requests to a service.
25751//
25752//    // Example iterating over at most 3 pages of a DescribeTransitGatewayAttachments operation.
25753//    pageNum := 0
25754//    err := client.DescribeTransitGatewayAttachmentsPages(params,
25755//        func(page *ec2.DescribeTransitGatewayAttachmentsOutput, lastPage bool) bool {
25756//            pageNum++
25757//            fmt.Println(page)
25758//            return pageNum <= 3
25759//        })
25760//
25761func (c *EC2) DescribeTransitGatewayAttachmentsPages(input *DescribeTransitGatewayAttachmentsInput, fn func(*DescribeTransitGatewayAttachmentsOutput, bool) bool) error {
25762	return c.DescribeTransitGatewayAttachmentsPagesWithContext(aws.BackgroundContext(), input, fn)
25763}
25764
25765// DescribeTransitGatewayAttachmentsPagesWithContext same as DescribeTransitGatewayAttachmentsPages except
25766// it takes a Context and allows setting request options on the pages.
25767//
25768// The context must be non-nil and will be used for request cancellation. If
25769// the context is nil a panic will occur. In the future the SDK may create
25770// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25771// for more information on using Contexts.
25772func (c *EC2) DescribeTransitGatewayAttachmentsPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayAttachmentsInput, fn func(*DescribeTransitGatewayAttachmentsOutput, bool) bool, opts ...request.Option) error {
25773	p := request.Pagination{
25774		NewRequest: func() (*request.Request, error) {
25775			var inCpy *DescribeTransitGatewayAttachmentsInput
25776			if input != nil {
25777				tmp := *input
25778				inCpy = &tmp
25779			}
25780			req, _ := c.DescribeTransitGatewayAttachmentsRequest(inCpy)
25781			req.SetContext(ctx)
25782			req.ApplyOptions(opts...)
25783			return req, nil
25784		},
25785	}
25786
25787	for p.Next() {
25788		if !fn(p.Page().(*DescribeTransitGatewayAttachmentsOutput), !p.HasNextPage()) {
25789			break
25790		}
25791	}
25792
25793	return p.Err()
25794}
25795
25796const opDescribeTransitGatewayConnectPeers = "DescribeTransitGatewayConnectPeers"
25797
25798// DescribeTransitGatewayConnectPeersRequest generates a "aws/request.Request" representing the
25799// client's request for the DescribeTransitGatewayConnectPeers operation. The "output" return
25800// value will be populated with the request's response once the request completes
25801// successfully.
25802//
25803// Use "Send" method on the returned Request to send the API call to the service.
25804// the "output" return value is not valid until after Send returns without error.
25805//
25806// See DescribeTransitGatewayConnectPeers for more information on using the DescribeTransitGatewayConnectPeers
25807// API call, and error handling.
25808//
25809// This method is useful when you want to inject custom logic or configuration
25810// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25811//
25812//
25813//    // Example sending a request using the DescribeTransitGatewayConnectPeersRequest method.
25814//    req, resp := client.DescribeTransitGatewayConnectPeersRequest(params)
25815//
25816//    err := req.Send()
25817//    if err == nil { // resp is now filled
25818//        fmt.Println(resp)
25819//    }
25820//
25821// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayConnectPeers
25822func (c *EC2) DescribeTransitGatewayConnectPeersRequest(input *DescribeTransitGatewayConnectPeersInput) (req *request.Request, output *DescribeTransitGatewayConnectPeersOutput) {
25823	op := &request.Operation{
25824		Name:       opDescribeTransitGatewayConnectPeers,
25825		HTTPMethod: "POST",
25826		HTTPPath:   "/",
25827		Paginator: &request.Paginator{
25828			InputTokens:     []string{"NextToken"},
25829			OutputTokens:    []string{"NextToken"},
25830			LimitToken:      "MaxResults",
25831			TruncationToken: "",
25832		},
25833	}
25834
25835	if input == nil {
25836		input = &DescribeTransitGatewayConnectPeersInput{}
25837	}
25838
25839	output = &DescribeTransitGatewayConnectPeersOutput{}
25840	req = c.newRequest(op, input, output)
25841	return
25842}
25843
25844// DescribeTransitGatewayConnectPeers API operation for Amazon Elastic Compute Cloud.
25845//
25846// Describes one or more Connect peers.
25847//
25848// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25849// with awserr.Error's Code and Message methods to get detailed information about
25850// the error.
25851//
25852// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25853// API operation DescribeTransitGatewayConnectPeers for usage and error information.
25854// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayConnectPeers
25855func (c *EC2) DescribeTransitGatewayConnectPeers(input *DescribeTransitGatewayConnectPeersInput) (*DescribeTransitGatewayConnectPeersOutput, error) {
25856	req, out := c.DescribeTransitGatewayConnectPeersRequest(input)
25857	return out, req.Send()
25858}
25859
25860// DescribeTransitGatewayConnectPeersWithContext is the same as DescribeTransitGatewayConnectPeers with the addition of
25861// the ability to pass a context and additional request options.
25862//
25863// See DescribeTransitGatewayConnectPeers for details on how to use this API operation.
25864//
25865// The context must be non-nil and will be used for request cancellation. If
25866// the context is nil a panic will occur. In the future the SDK may create
25867// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25868// for more information on using Contexts.
25869func (c *EC2) DescribeTransitGatewayConnectPeersWithContext(ctx aws.Context, input *DescribeTransitGatewayConnectPeersInput, opts ...request.Option) (*DescribeTransitGatewayConnectPeersOutput, error) {
25870	req, out := c.DescribeTransitGatewayConnectPeersRequest(input)
25871	req.SetContext(ctx)
25872	req.ApplyOptions(opts...)
25873	return out, req.Send()
25874}
25875
25876// DescribeTransitGatewayConnectPeersPages iterates over the pages of a DescribeTransitGatewayConnectPeers operation,
25877// calling the "fn" function with the response data for each page. To stop
25878// iterating, return false from the fn function.
25879//
25880// See DescribeTransitGatewayConnectPeers method for more information on how to use this operation.
25881//
25882// Note: This operation can generate multiple requests to a service.
25883//
25884//    // Example iterating over at most 3 pages of a DescribeTransitGatewayConnectPeers operation.
25885//    pageNum := 0
25886//    err := client.DescribeTransitGatewayConnectPeersPages(params,
25887//        func(page *ec2.DescribeTransitGatewayConnectPeersOutput, lastPage bool) bool {
25888//            pageNum++
25889//            fmt.Println(page)
25890//            return pageNum <= 3
25891//        })
25892//
25893func (c *EC2) DescribeTransitGatewayConnectPeersPages(input *DescribeTransitGatewayConnectPeersInput, fn func(*DescribeTransitGatewayConnectPeersOutput, bool) bool) error {
25894	return c.DescribeTransitGatewayConnectPeersPagesWithContext(aws.BackgroundContext(), input, fn)
25895}
25896
25897// DescribeTransitGatewayConnectPeersPagesWithContext same as DescribeTransitGatewayConnectPeersPages except
25898// it takes a Context and allows setting request options on the pages.
25899//
25900// The context must be non-nil and will be used for request cancellation. If
25901// the context is nil a panic will occur. In the future the SDK may create
25902// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25903// for more information on using Contexts.
25904func (c *EC2) DescribeTransitGatewayConnectPeersPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayConnectPeersInput, fn func(*DescribeTransitGatewayConnectPeersOutput, bool) bool, opts ...request.Option) error {
25905	p := request.Pagination{
25906		NewRequest: func() (*request.Request, error) {
25907			var inCpy *DescribeTransitGatewayConnectPeersInput
25908			if input != nil {
25909				tmp := *input
25910				inCpy = &tmp
25911			}
25912			req, _ := c.DescribeTransitGatewayConnectPeersRequest(inCpy)
25913			req.SetContext(ctx)
25914			req.ApplyOptions(opts...)
25915			return req, nil
25916		},
25917	}
25918
25919	for p.Next() {
25920		if !fn(p.Page().(*DescribeTransitGatewayConnectPeersOutput), !p.HasNextPage()) {
25921			break
25922		}
25923	}
25924
25925	return p.Err()
25926}
25927
25928const opDescribeTransitGatewayConnects = "DescribeTransitGatewayConnects"
25929
25930// DescribeTransitGatewayConnectsRequest generates a "aws/request.Request" representing the
25931// client's request for the DescribeTransitGatewayConnects operation. The "output" return
25932// value will be populated with the request's response once the request completes
25933// successfully.
25934//
25935// Use "Send" method on the returned Request to send the API call to the service.
25936// the "output" return value is not valid until after Send returns without error.
25937//
25938// See DescribeTransitGatewayConnects for more information on using the DescribeTransitGatewayConnects
25939// API call, and error handling.
25940//
25941// This method is useful when you want to inject custom logic or configuration
25942// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25943//
25944//
25945//    // Example sending a request using the DescribeTransitGatewayConnectsRequest method.
25946//    req, resp := client.DescribeTransitGatewayConnectsRequest(params)
25947//
25948//    err := req.Send()
25949//    if err == nil { // resp is now filled
25950//        fmt.Println(resp)
25951//    }
25952//
25953// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayConnects
25954func (c *EC2) DescribeTransitGatewayConnectsRequest(input *DescribeTransitGatewayConnectsInput) (req *request.Request, output *DescribeTransitGatewayConnectsOutput) {
25955	op := &request.Operation{
25956		Name:       opDescribeTransitGatewayConnects,
25957		HTTPMethod: "POST",
25958		HTTPPath:   "/",
25959		Paginator: &request.Paginator{
25960			InputTokens:     []string{"NextToken"},
25961			OutputTokens:    []string{"NextToken"},
25962			LimitToken:      "MaxResults",
25963			TruncationToken: "",
25964		},
25965	}
25966
25967	if input == nil {
25968		input = &DescribeTransitGatewayConnectsInput{}
25969	}
25970
25971	output = &DescribeTransitGatewayConnectsOutput{}
25972	req = c.newRequest(op, input, output)
25973	return
25974}
25975
25976// DescribeTransitGatewayConnects API operation for Amazon Elastic Compute Cloud.
25977//
25978// Describes one or more Connect attachments.
25979//
25980// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25981// with awserr.Error's Code and Message methods to get detailed information about
25982// the error.
25983//
25984// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25985// API operation DescribeTransitGatewayConnects for usage and error information.
25986// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayConnects
25987func (c *EC2) DescribeTransitGatewayConnects(input *DescribeTransitGatewayConnectsInput) (*DescribeTransitGatewayConnectsOutput, error) {
25988	req, out := c.DescribeTransitGatewayConnectsRequest(input)
25989	return out, req.Send()
25990}
25991
25992// DescribeTransitGatewayConnectsWithContext is the same as DescribeTransitGatewayConnects with the addition of
25993// the ability to pass a context and additional request options.
25994//
25995// See DescribeTransitGatewayConnects for details on how to use this API operation.
25996//
25997// The context must be non-nil and will be used for request cancellation. If
25998// the context is nil a panic will occur. In the future the SDK may create
25999// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26000// for more information on using Contexts.
26001func (c *EC2) DescribeTransitGatewayConnectsWithContext(ctx aws.Context, input *DescribeTransitGatewayConnectsInput, opts ...request.Option) (*DescribeTransitGatewayConnectsOutput, error) {
26002	req, out := c.DescribeTransitGatewayConnectsRequest(input)
26003	req.SetContext(ctx)
26004	req.ApplyOptions(opts...)
26005	return out, req.Send()
26006}
26007
26008// DescribeTransitGatewayConnectsPages iterates over the pages of a DescribeTransitGatewayConnects operation,
26009// calling the "fn" function with the response data for each page. To stop
26010// iterating, return false from the fn function.
26011//
26012// See DescribeTransitGatewayConnects method for more information on how to use this operation.
26013//
26014// Note: This operation can generate multiple requests to a service.
26015//
26016//    // Example iterating over at most 3 pages of a DescribeTransitGatewayConnects operation.
26017//    pageNum := 0
26018//    err := client.DescribeTransitGatewayConnectsPages(params,
26019//        func(page *ec2.DescribeTransitGatewayConnectsOutput, lastPage bool) bool {
26020//            pageNum++
26021//            fmt.Println(page)
26022//            return pageNum <= 3
26023//        })
26024//
26025func (c *EC2) DescribeTransitGatewayConnectsPages(input *DescribeTransitGatewayConnectsInput, fn func(*DescribeTransitGatewayConnectsOutput, bool) bool) error {
26026	return c.DescribeTransitGatewayConnectsPagesWithContext(aws.BackgroundContext(), input, fn)
26027}
26028
26029// DescribeTransitGatewayConnectsPagesWithContext same as DescribeTransitGatewayConnectsPages except
26030// it takes a Context and allows setting request options on the pages.
26031//
26032// The context must be non-nil and will be used for request cancellation. If
26033// the context is nil a panic will occur. In the future the SDK may create
26034// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26035// for more information on using Contexts.
26036func (c *EC2) DescribeTransitGatewayConnectsPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayConnectsInput, fn func(*DescribeTransitGatewayConnectsOutput, bool) bool, opts ...request.Option) error {
26037	p := request.Pagination{
26038		NewRequest: func() (*request.Request, error) {
26039			var inCpy *DescribeTransitGatewayConnectsInput
26040			if input != nil {
26041				tmp := *input
26042				inCpy = &tmp
26043			}
26044			req, _ := c.DescribeTransitGatewayConnectsRequest(inCpy)
26045			req.SetContext(ctx)
26046			req.ApplyOptions(opts...)
26047			return req, nil
26048		},
26049	}
26050
26051	for p.Next() {
26052		if !fn(p.Page().(*DescribeTransitGatewayConnectsOutput), !p.HasNextPage()) {
26053			break
26054		}
26055	}
26056
26057	return p.Err()
26058}
26059
26060const opDescribeTransitGatewayMulticastDomains = "DescribeTransitGatewayMulticastDomains"
26061
26062// DescribeTransitGatewayMulticastDomainsRequest generates a "aws/request.Request" representing the
26063// client's request for the DescribeTransitGatewayMulticastDomains operation. The "output" return
26064// value will be populated with the request's response once the request completes
26065// successfully.
26066//
26067// Use "Send" method on the returned Request to send the API call to the service.
26068// the "output" return value is not valid until after Send returns without error.
26069//
26070// See DescribeTransitGatewayMulticastDomains for more information on using the DescribeTransitGatewayMulticastDomains
26071// API call, and error handling.
26072//
26073// This method is useful when you want to inject custom logic or configuration
26074// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26075//
26076//
26077//    // Example sending a request using the DescribeTransitGatewayMulticastDomainsRequest method.
26078//    req, resp := client.DescribeTransitGatewayMulticastDomainsRequest(params)
26079//
26080//    err := req.Send()
26081//    if err == nil { // resp is now filled
26082//        fmt.Println(resp)
26083//    }
26084//
26085// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayMulticastDomains
26086func (c *EC2) DescribeTransitGatewayMulticastDomainsRequest(input *DescribeTransitGatewayMulticastDomainsInput) (req *request.Request, output *DescribeTransitGatewayMulticastDomainsOutput) {
26087	op := &request.Operation{
26088		Name:       opDescribeTransitGatewayMulticastDomains,
26089		HTTPMethod: "POST",
26090		HTTPPath:   "/",
26091		Paginator: &request.Paginator{
26092			InputTokens:     []string{"NextToken"},
26093			OutputTokens:    []string{"NextToken"},
26094			LimitToken:      "MaxResults",
26095			TruncationToken: "",
26096		},
26097	}
26098
26099	if input == nil {
26100		input = &DescribeTransitGatewayMulticastDomainsInput{}
26101	}
26102
26103	output = &DescribeTransitGatewayMulticastDomainsOutput{}
26104	req = c.newRequest(op, input, output)
26105	return
26106}
26107
26108// DescribeTransitGatewayMulticastDomains API operation for Amazon Elastic Compute Cloud.
26109//
26110// Describes one or more transit gateway multicast domains.
26111//
26112// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26113// with awserr.Error's Code and Message methods to get detailed information about
26114// the error.
26115//
26116// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26117// API operation DescribeTransitGatewayMulticastDomains for usage and error information.
26118// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayMulticastDomains
26119func (c *EC2) DescribeTransitGatewayMulticastDomains(input *DescribeTransitGatewayMulticastDomainsInput) (*DescribeTransitGatewayMulticastDomainsOutput, error) {
26120	req, out := c.DescribeTransitGatewayMulticastDomainsRequest(input)
26121	return out, req.Send()
26122}
26123
26124// DescribeTransitGatewayMulticastDomainsWithContext is the same as DescribeTransitGatewayMulticastDomains with the addition of
26125// the ability to pass a context and additional request options.
26126//
26127// See DescribeTransitGatewayMulticastDomains for details on how to use this API operation.
26128//
26129// The context must be non-nil and will be used for request cancellation. If
26130// the context is nil a panic will occur. In the future the SDK may create
26131// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26132// for more information on using Contexts.
26133func (c *EC2) DescribeTransitGatewayMulticastDomainsWithContext(ctx aws.Context, input *DescribeTransitGatewayMulticastDomainsInput, opts ...request.Option) (*DescribeTransitGatewayMulticastDomainsOutput, error) {
26134	req, out := c.DescribeTransitGatewayMulticastDomainsRequest(input)
26135	req.SetContext(ctx)
26136	req.ApplyOptions(opts...)
26137	return out, req.Send()
26138}
26139
26140// DescribeTransitGatewayMulticastDomainsPages iterates over the pages of a DescribeTransitGatewayMulticastDomains operation,
26141// calling the "fn" function with the response data for each page. To stop
26142// iterating, return false from the fn function.
26143//
26144// See DescribeTransitGatewayMulticastDomains method for more information on how to use this operation.
26145//
26146// Note: This operation can generate multiple requests to a service.
26147//
26148//    // Example iterating over at most 3 pages of a DescribeTransitGatewayMulticastDomains operation.
26149//    pageNum := 0
26150//    err := client.DescribeTransitGatewayMulticastDomainsPages(params,
26151//        func(page *ec2.DescribeTransitGatewayMulticastDomainsOutput, lastPage bool) bool {
26152//            pageNum++
26153//            fmt.Println(page)
26154//            return pageNum <= 3
26155//        })
26156//
26157func (c *EC2) DescribeTransitGatewayMulticastDomainsPages(input *DescribeTransitGatewayMulticastDomainsInput, fn func(*DescribeTransitGatewayMulticastDomainsOutput, bool) bool) error {
26158	return c.DescribeTransitGatewayMulticastDomainsPagesWithContext(aws.BackgroundContext(), input, fn)
26159}
26160
26161// DescribeTransitGatewayMulticastDomainsPagesWithContext same as DescribeTransitGatewayMulticastDomainsPages except
26162// it takes a Context and allows setting request options on the pages.
26163//
26164// The context must be non-nil and will be used for request cancellation. If
26165// the context is nil a panic will occur. In the future the SDK may create
26166// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26167// for more information on using Contexts.
26168func (c *EC2) DescribeTransitGatewayMulticastDomainsPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayMulticastDomainsInput, fn func(*DescribeTransitGatewayMulticastDomainsOutput, bool) bool, opts ...request.Option) error {
26169	p := request.Pagination{
26170		NewRequest: func() (*request.Request, error) {
26171			var inCpy *DescribeTransitGatewayMulticastDomainsInput
26172			if input != nil {
26173				tmp := *input
26174				inCpy = &tmp
26175			}
26176			req, _ := c.DescribeTransitGatewayMulticastDomainsRequest(inCpy)
26177			req.SetContext(ctx)
26178			req.ApplyOptions(opts...)
26179			return req, nil
26180		},
26181	}
26182
26183	for p.Next() {
26184		if !fn(p.Page().(*DescribeTransitGatewayMulticastDomainsOutput), !p.HasNextPage()) {
26185			break
26186		}
26187	}
26188
26189	return p.Err()
26190}
26191
26192const opDescribeTransitGatewayPeeringAttachments = "DescribeTransitGatewayPeeringAttachments"
26193
26194// DescribeTransitGatewayPeeringAttachmentsRequest generates a "aws/request.Request" representing the
26195// client's request for the DescribeTransitGatewayPeeringAttachments operation. The "output" return
26196// value will be populated with the request's response once the request completes
26197// successfully.
26198//
26199// Use "Send" method on the returned Request to send the API call to the service.
26200// the "output" return value is not valid until after Send returns without error.
26201//
26202// See DescribeTransitGatewayPeeringAttachments for more information on using the DescribeTransitGatewayPeeringAttachments
26203// API call, and error handling.
26204//
26205// This method is useful when you want to inject custom logic or configuration
26206// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26207//
26208//
26209//    // Example sending a request using the DescribeTransitGatewayPeeringAttachmentsRequest method.
26210//    req, resp := client.DescribeTransitGatewayPeeringAttachmentsRequest(params)
26211//
26212//    err := req.Send()
26213//    if err == nil { // resp is now filled
26214//        fmt.Println(resp)
26215//    }
26216//
26217// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayPeeringAttachments
26218func (c *EC2) DescribeTransitGatewayPeeringAttachmentsRequest(input *DescribeTransitGatewayPeeringAttachmentsInput) (req *request.Request, output *DescribeTransitGatewayPeeringAttachmentsOutput) {
26219	op := &request.Operation{
26220		Name:       opDescribeTransitGatewayPeeringAttachments,
26221		HTTPMethod: "POST",
26222		HTTPPath:   "/",
26223		Paginator: &request.Paginator{
26224			InputTokens:     []string{"NextToken"},
26225			OutputTokens:    []string{"NextToken"},
26226			LimitToken:      "MaxResults",
26227			TruncationToken: "",
26228		},
26229	}
26230
26231	if input == nil {
26232		input = &DescribeTransitGatewayPeeringAttachmentsInput{}
26233	}
26234
26235	output = &DescribeTransitGatewayPeeringAttachmentsOutput{}
26236	req = c.newRequest(op, input, output)
26237	return
26238}
26239
26240// DescribeTransitGatewayPeeringAttachments API operation for Amazon Elastic Compute Cloud.
26241//
26242// Describes your transit gateway peering attachments.
26243//
26244// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26245// with awserr.Error's Code and Message methods to get detailed information about
26246// the error.
26247//
26248// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26249// API operation DescribeTransitGatewayPeeringAttachments for usage and error information.
26250// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayPeeringAttachments
26251func (c *EC2) DescribeTransitGatewayPeeringAttachments(input *DescribeTransitGatewayPeeringAttachmentsInput) (*DescribeTransitGatewayPeeringAttachmentsOutput, error) {
26252	req, out := c.DescribeTransitGatewayPeeringAttachmentsRequest(input)
26253	return out, req.Send()
26254}
26255
26256// DescribeTransitGatewayPeeringAttachmentsWithContext is the same as DescribeTransitGatewayPeeringAttachments with the addition of
26257// the ability to pass a context and additional request options.
26258//
26259// See DescribeTransitGatewayPeeringAttachments for details on how to use this API operation.
26260//
26261// The context must be non-nil and will be used for request cancellation. If
26262// the context is nil a panic will occur. In the future the SDK may create
26263// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26264// for more information on using Contexts.
26265func (c *EC2) DescribeTransitGatewayPeeringAttachmentsWithContext(ctx aws.Context, input *DescribeTransitGatewayPeeringAttachmentsInput, opts ...request.Option) (*DescribeTransitGatewayPeeringAttachmentsOutput, error) {
26266	req, out := c.DescribeTransitGatewayPeeringAttachmentsRequest(input)
26267	req.SetContext(ctx)
26268	req.ApplyOptions(opts...)
26269	return out, req.Send()
26270}
26271
26272// DescribeTransitGatewayPeeringAttachmentsPages iterates over the pages of a DescribeTransitGatewayPeeringAttachments operation,
26273// calling the "fn" function with the response data for each page. To stop
26274// iterating, return false from the fn function.
26275//
26276// See DescribeTransitGatewayPeeringAttachments method for more information on how to use this operation.
26277//
26278// Note: This operation can generate multiple requests to a service.
26279//
26280//    // Example iterating over at most 3 pages of a DescribeTransitGatewayPeeringAttachments operation.
26281//    pageNum := 0
26282//    err := client.DescribeTransitGatewayPeeringAttachmentsPages(params,
26283//        func(page *ec2.DescribeTransitGatewayPeeringAttachmentsOutput, lastPage bool) bool {
26284//            pageNum++
26285//            fmt.Println(page)
26286//            return pageNum <= 3
26287//        })
26288//
26289func (c *EC2) DescribeTransitGatewayPeeringAttachmentsPages(input *DescribeTransitGatewayPeeringAttachmentsInput, fn func(*DescribeTransitGatewayPeeringAttachmentsOutput, bool) bool) error {
26290	return c.DescribeTransitGatewayPeeringAttachmentsPagesWithContext(aws.BackgroundContext(), input, fn)
26291}
26292
26293// DescribeTransitGatewayPeeringAttachmentsPagesWithContext same as DescribeTransitGatewayPeeringAttachmentsPages except
26294// it takes a Context and allows setting request options on the pages.
26295//
26296// The context must be non-nil and will be used for request cancellation. If
26297// the context is nil a panic will occur. In the future the SDK may create
26298// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26299// for more information on using Contexts.
26300func (c *EC2) DescribeTransitGatewayPeeringAttachmentsPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayPeeringAttachmentsInput, fn func(*DescribeTransitGatewayPeeringAttachmentsOutput, bool) bool, opts ...request.Option) error {
26301	p := request.Pagination{
26302		NewRequest: func() (*request.Request, error) {
26303			var inCpy *DescribeTransitGatewayPeeringAttachmentsInput
26304			if input != nil {
26305				tmp := *input
26306				inCpy = &tmp
26307			}
26308			req, _ := c.DescribeTransitGatewayPeeringAttachmentsRequest(inCpy)
26309			req.SetContext(ctx)
26310			req.ApplyOptions(opts...)
26311			return req, nil
26312		},
26313	}
26314
26315	for p.Next() {
26316		if !fn(p.Page().(*DescribeTransitGatewayPeeringAttachmentsOutput), !p.HasNextPage()) {
26317			break
26318		}
26319	}
26320
26321	return p.Err()
26322}
26323
26324const opDescribeTransitGatewayRouteTables = "DescribeTransitGatewayRouteTables"
26325
26326// DescribeTransitGatewayRouteTablesRequest generates a "aws/request.Request" representing the
26327// client's request for the DescribeTransitGatewayRouteTables operation. The "output" return
26328// value will be populated with the request's response once the request completes
26329// successfully.
26330//
26331// Use "Send" method on the returned Request to send the API call to the service.
26332// the "output" return value is not valid until after Send returns without error.
26333//
26334// See DescribeTransitGatewayRouteTables for more information on using the DescribeTransitGatewayRouteTables
26335// API call, and error handling.
26336//
26337// This method is useful when you want to inject custom logic or configuration
26338// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26339//
26340//
26341//    // Example sending a request using the DescribeTransitGatewayRouteTablesRequest method.
26342//    req, resp := client.DescribeTransitGatewayRouteTablesRequest(params)
26343//
26344//    err := req.Send()
26345//    if err == nil { // resp is now filled
26346//        fmt.Println(resp)
26347//    }
26348//
26349// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayRouteTables
26350func (c *EC2) DescribeTransitGatewayRouteTablesRequest(input *DescribeTransitGatewayRouteTablesInput) (req *request.Request, output *DescribeTransitGatewayRouteTablesOutput) {
26351	op := &request.Operation{
26352		Name:       opDescribeTransitGatewayRouteTables,
26353		HTTPMethod: "POST",
26354		HTTPPath:   "/",
26355		Paginator: &request.Paginator{
26356			InputTokens:     []string{"NextToken"},
26357			OutputTokens:    []string{"NextToken"},
26358			LimitToken:      "MaxResults",
26359			TruncationToken: "",
26360		},
26361	}
26362
26363	if input == nil {
26364		input = &DescribeTransitGatewayRouteTablesInput{}
26365	}
26366
26367	output = &DescribeTransitGatewayRouteTablesOutput{}
26368	req = c.newRequest(op, input, output)
26369	return
26370}
26371
26372// DescribeTransitGatewayRouteTables API operation for Amazon Elastic Compute Cloud.
26373//
26374// Describes one or more transit gateway route tables. By default, all transit
26375// gateway route tables are described. Alternatively, you can filter the results.
26376//
26377// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26378// with awserr.Error's Code and Message methods to get detailed information about
26379// the error.
26380//
26381// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26382// API operation DescribeTransitGatewayRouteTables for usage and error information.
26383// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayRouteTables
26384func (c *EC2) DescribeTransitGatewayRouteTables(input *DescribeTransitGatewayRouteTablesInput) (*DescribeTransitGatewayRouteTablesOutput, error) {
26385	req, out := c.DescribeTransitGatewayRouteTablesRequest(input)
26386	return out, req.Send()
26387}
26388
26389// DescribeTransitGatewayRouteTablesWithContext is the same as DescribeTransitGatewayRouteTables with the addition of
26390// the ability to pass a context and additional request options.
26391//
26392// See DescribeTransitGatewayRouteTables for details on how to use this API operation.
26393//
26394// The context must be non-nil and will be used for request cancellation. If
26395// the context is nil a panic will occur. In the future the SDK may create
26396// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26397// for more information on using Contexts.
26398func (c *EC2) DescribeTransitGatewayRouteTablesWithContext(ctx aws.Context, input *DescribeTransitGatewayRouteTablesInput, opts ...request.Option) (*DescribeTransitGatewayRouteTablesOutput, error) {
26399	req, out := c.DescribeTransitGatewayRouteTablesRequest(input)
26400	req.SetContext(ctx)
26401	req.ApplyOptions(opts...)
26402	return out, req.Send()
26403}
26404
26405// DescribeTransitGatewayRouteTablesPages iterates over the pages of a DescribeTransitGatewayRouteTables operation,
26406// calling the "fn" function with the response data for each page. To stop
26407// iterating, return false from the fn function.
26408//
26409// See DescribeTransitGatewayRouteTables method for more information on how to use this operation.
26410//
26411// Note: This operation can generate multiple requests to a service.
26412//
26413//    // Example iterating over at most 3 pages of a DescribeTransitGatewayRouteTables operation.
26414//    pageNum := 0
26415//    err := client.DescribeTransitGatewayRouteTablesPages(params,
26416//        func(page *ec2.DescribeTransitGatewayRouteTablesOutput, lastPage bool) bool {
26417//            pageNum++
26418//            fmt.Println(page)
26419//            return pageNum <= 3
26420//        })
26421//
26422func (c *EC2) DescribeTransitGatewayRouteTablesPages(input *DescribeTransitGatewayRouteTablesInput, fn func(*DescribeTransitGatewayRouteTablesOutput, bool) bool) error {
26423	return c.DescribeTransitGatewayRouteTablesPagesWithContext(aws.BackgroundContext(), input, fn)
26424}
26425
26426// DescribeTransitGatewayRouteTablesPagesWithContext same as DescribeTransitGatewayRouteTablesPages except
26427// it takes a Context and allows setting request options on the pages.
26428//
26429// The context must be non-nil and will be used for request cancellation. If
26430// the context is nil a panic will occur. In the future the SDK may create
26431// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26432// for more information on using Contexts.
26433func (c *EC2) DescribeTransitGatewayRouteTablesPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayRouteTablesInput, fn func(*DescribeTransitGatewayRouteTablesOutput, bool) bool, opts ...request.Option) error {
26434	p := request.Pagination{
26435		NewRequest: func() (*request.Request, error) {
26436			var inCpy *DescribeTransitGatewayRouteTablesInput
26437			if input != nil {
26438				tmp := *input
26439				inCpy = &tmp
26440			}
26441			req, _ := c.DescribeTransitGatewayRouteTablesRequest(inCpy)
26442			req.SetContext(ctx)
26443			req.ApplyOptions(opts...)
26444			return req, nil
26445		},
26446	}
26447
26448	for p.Next() {
26449		if !fn(p.Page().(*DescribeTransitGatewayRouteTablesOutput), !p.HasNextPage()) {
26450			break
26451		}
26452	}
26453
26454	return p.Err()
26455}
26456
26457const opDescribeTransitGatewayVpcAttachments = "DescribeTransitGatewayVpcAttachments"
26458
26459// DescribeTransitGatewayVpcAttachmentsRequest generates a "aws/request.Request" representing the
26460// client's request for the DescribeTransitGatewayVpcAttachments operation. The "output" return
26461// value will be populated with the request's response once the request completes
26462// successfully.
26463//
26464// Use "Send" method on the returned Request to send the API call to the service.
26465// the "output" return value is not valid until after Send returns without error.
26466//
26467// See DescribeTransitGatewayVpcAttachments for more information on using the DescribeTransitGatewayVpcAttachments
26468// API call, and error handling.
26469//
26470// This method is useful when you want to inject custom logic or configuration
26471// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26472//
26473//
26474//    // Example sending a request using the DescribeTransitGatewayVpcAttachmentsRequest method.
26475//    req, resp := client.DescribeTransitGatewayVpcAttachmentsRequest(params)
26476//
26477//    err := req.Send()
26478//    if err == nil { // resp is now filled
26479//        fmt.Println(resp)
26480//    }
26481//
26482// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayVpcAttachments
26483func (c *EC2) DescribeTransitGatewayVpcAttachmentsRequest(input *DescribeTransitGatewayVpcAttachmentsInput) (req *request.Request, output *DescribeTransitGatewayVpcAttachmentsOutput) {
26484	op := &request.Operation{
26485		Name:       opDescribeTransitGatewayVpcAttachments,
26486		HTTPMethod: "POST",
26487		HTTPPath:   "/",
26488		Paginator: &request.Paginator{
26489			InputTokens:     []string{"NextToken"},
26490			OutputTokens:    []string{"NextToken"},
26491			LimitToken:      "MaxResults",
26492			TruncationToken: "",
26493		},
26494	}
26495
26496	if input == nil {
26497		input = &DescribeTransitGatewayVpcAttachmentsInput{}
26498	}
26499
26500	output = &DescribeTransitGatewayVpcAttachmentsOutput{}
26501	req = c.newRequest(op, input, output)
26502	return
26503}
26504
26505// DescribeTransitGatewayVpcAttachments API operation for Amazon Elastic Compute Cloud.
26506//
26507// Describes one or more VPC attachments. By default, all VPC attachments are
26508// described. Alternatively, you can filter the results.
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 DescribeTransitGatewayVpcAttachments for usage and error information.
26516// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayVpcAttachments
26517func (c *EC2) DescribeTransitGatewayVpcAttachments(input *DescribeTransitGatewayVpcAttachmentsInput) (*DescribeTransitGatewayVpcAttachmentsOutput, error) {
26518	req, out := c.DescribeTransitGatewayVpcAttachmentsRequest(input)
26519	return out, req.Send()
26520}
26521
26522// DescribeTransitGatewayVpcAttachmentsWithContext is the same as DescribeTransitGatewayVpcAttachments with the addition of
26523// the ability to pass a context and additional request options.
26524//
26525// See DescribeTransitGatewayVpcAttachments 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) DescribeTransitGatewayVpcAttachmentsWithContext(ctx aws.Context, input *DescribeTransitGatewayVpcAttachmentsInput, opts ...request.Option) (*DescribeTransitGatewayVpcAttachmentsOutput, error) {
26532	req, out := c.DescribeTransitGatewayVpcAttachmentsRequest(input)
26533	req.SetContext(ctx)
26534	req.ApplyOptions(opts...)
26535	return out, req.Send()
26536}
26537
26538// DescribeTransitGatewayVpcAttachmentsPages iterates over the pages of a DescribeTransitGatewayVpcAttachments operation,
26539// calling the "fn" function with the response data for each page. To stop
26540// iterating, return false from the fn function.
26541//
26542// See DescribeTransitGatewayVpcAttachments method for more information on how to use this operation.
26543//
26544// Note: This operation can generate multiple requests to a service.
26545//
26546//    // Example iterating over at most 3 pages of a DescribeTransitGatewayVpcAttachments operation.
26547//    pageNum := 0
26548//    err := client.DescribeTransitGatewayVpcAttachmentsPages(params,
26549//        func(page *ec2.DescribeTransitGatewayVpcAttachmentsOutput, lastPage bool) bool {
26550//            pageNum++
26551//            fmt.Println(page)
26552//            return pageNum <= 3
26553//        })
26554//
26555func (c *EC2) DescribeTransitGatewayVpcAttachmentsPages(input *DescribeTransitGatewayVpcAttachmentsInput, fn func(*DescribeTransitGatewayVpcAttachmentsOutput, bool) bool) error {
26556	return c.DescribeTransitGatewayVpcAttachmentsPagesWithContext(aws.BackgroundContext(), input, fn)
26557}
26558
26559// DescribeTransitGatewayVpcAttachmentsPagesWithContext same as DescribeTransitGatewayVpcAttachmentsPages except
26560// it takes a Context and allows setting request options on the pages.
26561//
26562// The context must be non-nil and will be used for request cancellation. If
26563// the context is nil a panic will occur. In the future the SDK may create
26564// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26565// for more information on using Contexts.
26566func (c *EC2) DescribeTransitGatewayVpcAttachmentsPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayVpcAttachmentsInput, fn func(*DescribeTransitGatewayVpcAttachmentsOutput, bool) bool, opts ...request.Option) error {
26567	p := request.Pagination{
26568		NewRequest: func() (*request.Request, error) {
26569			var inCpy *DescribeTransitGatewayVpcAttachmentsInput
26570			if input != nil {
26571				tmp := *input
26572				inCpy = &tmp
26573			}
26574			req, _ := c.DescribeTransitGatewayVpcAttachmentsRequest(inCpy)
26575			req.SetContext(ctx)
26576			req.ApplyOptions(opts...)
26577			return req, nil
26578		},
26579	}
26580
26581	for p.Next() {
26582		if !fn(p.Page().(*DescribeTransitGatewayVpcAttachmentsOutput), !p.HasNextPage()) {
26583			break
26584		}
26585	}
26586
26587	return p.Err()
26588}
26589
26590const opDescribeTransitGateways = "DescribeTransitGateways"
26591
26592// DescribeTransitGatewaysRequest generates a "aws/request.Request" representing the
26593// client's request for the DescribeTransitGateways operation. The "output" return
26594// value will be populated with the request's response once the request completes
26595// successfully.
26596//
26597// Use "Send" method on the returned Request to send the API call to the service.
26598// the "output" return value is not valid until after Send returns without error.
26599//
26600// See DescribeTransitGateways for more information on using the DescribeTransitGateways
26601// API call, and error handling.
26602//
26603// This method is useful when you want to inject custom logic or configuration
26604// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26605//
26606//
26607//    // Example sending a request using the DescribeTransitGatewaysRequest method.
26608//    req, resp := client.DescribeTransitGatewaysRequest(params)
26609//
26610//    err := req.Send()
26611//    if err == nil { // resp is now filled
26612//        fmt.Println(resp)
26613//    }
26614//
26615// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGateways
26616func (c *EC2) DescribeTransitGatewaysRequest(input *DescribeTransitGatewaysInput) (req *request.Request, output *DescribeTransitGatewaysOutput) {
26617	op := &request.Operation{
26618		Name:       opDescribeTransitGateways,
26619		HTTPMethod: "POST",
26620		HTTPPath:   "/",
26621		Paginator: &request.Paginator{
26622			InputTokens:     []string{"NextToken"},
26623			OutputTokens:    []string{"NextToken"},
26624			LimitToken:      "MaxResults",
26625			TruncationToken: "",
26626		},
26627	}
26628
26629	if input == nil {
26630		input = &DescribeTransitGatewaysInput{}
26631	}
26632
26633	output = &DescribeTransitGatewaysOutput{}
26634	req = c.newRequest(op, input, output)
26635	return
26636}
26637
26638// DescribeTransitGateways API operation for Amazon Elastic Compute Cloud.
26639//
26640// Describes one or more transit gateways. By default, all transit gateways
26641// are described. Alternatively, you can filter the results.
26642//
26643// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26644// with awserr.Error's Code and Message methods to get detailed information about
26645// the error.
26646//
26647// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26648// API operation DescribeTransitGateways for usage and error information.
26649// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGateways
26650func (c *EC2) DescribeTransitGateways(input *DescribeTransitGatewaysInput) (*DescribeTransitGatewaysOutput, error) {
26651	req, out := c.DescribeTransitGatewaysRequest(input)
26652	return out, req.Send()
26653}
26654
26655// DescribeTransitGatewaysWithContext is the same as DescribeTransitGateways with the addition of
26656// the ability to pass a context and additional request options.
26657//
26658// See DescribeTransitGateways for details on how to use this API operation.
26659//
26660// The context must be non-nil and will be used for request cancellation. If
26661// the context is nil a panic will occur. In the future the SDK may create
26662// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26663// for more information on using Contexts.
26664func (c *EC2) DescribeTransitGatewaysWithContext(ctx aws.Context, input *DescribeTransitGatewaysInput, opts ...request.Option) (*DescribeTransitGatewaysOutput, error) {
26665	req, out := c.DescribeTransitGatewaysRequest(input)
26666	req.SetContext(ctx)
26667	req.ApplyOptions(opts...)
26668	return out, req.Send()
26669}
26670
26671// DescribeTransitGatewaysPages iterates over the pages of a DescribeTransitGateways operation,
26672// calling the "fn" function with the response data for each page. To stop
26673// iterating, return false from the fn function.
26674//
26675// See DescribeTransitGateways method for more information on how to use this operation.
26676//
26677// Note: This operation can generate multiple requests to a service.
26678//
26679//    // Example iterating over at most 3 pages of a DescribeTransitGateways operation.
26680//    pageNum := 0
26681//    err := client.DescribeTransitGatewaysPages(params,
26682//        func(page *ec2.DescribeTransitGatewaysOutput, lastPage bool) bool {
26683//            pageNum++
26684//            fmt.Println(page)
26685//            return pageNum <= 3
26686//        })
26687//
26688func (c *EC2) DescribeTransitGatewaysPages(input *DescribeTransitGatewaysInput, fn func(*DescribeTransitGatewaysOutput, bool) bool) error {
26689	return c.DescribeTransitGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
26690}
26691
26692// DescribeTransitGatewaysPagesWithContext same as DescribeTransitGatewaysPages except
26693// it takes a Context and allows setting request options on the pages.
26694//
26695// The context must be non-nil and will be used for request cancellation. If
26696// the context is nil a panic will occur. In the future the SDK may create
26697// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26698// for more information on using Contexts.
26699func (c *EC2) DescribeTransitGatewaysPagesWithContext(ctx aws.Context, input *DescribeTransitGatewaysInput, fn func(*DescribeTransitGatewaysOutput, bool) bool, opts ...request.Option) error {
26700	p := request.Pagination{
26701		NewRequest: func() (*request.Request, error) {
26702			var inCpy *DescribeTransitGatewaysInput
26703			if input != nil {
26704				tmp := *input
26705				inCpy = &tmp
26706			}
26707			req, _ := c.DescribeTransitGatewaysRequest(inCpy)
26708			req.SetContext(ctx)
26709			req.ApplyOptions(opts...)
26710			return req, nil
26711		},
26712	}
26713
26714	for p.Next() {
26715		if !fn(p.Page().(*DescribeTransitGatewaysOutput), !p.HasNextPage()) {
26716			break
26717		}
26718	}
26719
26720	return p.Err()
26721}
26722
26723const opDescribeTrunkInterfaceAssociations = "DescribeTrunkInterfaceAssociations"
26724
26725// DescribeTrunkInterfaceAssociationsRequest generates a "aws/request.Request" representing the
26726// client's request for the DescribeTrunkInterfaceAssociations operation. The "output" return
26727// value will be populated with the request's response once the request completes
26728// successfully.
26729//
26730// Use "Send" method on the returned Request to send the API call to the service.
26731// the "output" return value is not valid until after Send returns without error.
26732//
26733// See DescribeTrunkInterfaceAssociations for more information on using the DescribeTrunkInterfaceAssociations
26734// API call, and error handling.
26735//
26736// This method is useful when you want to inject custom logic or configuration
26737// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26738//
26739//
26740//    // Example sending a request using the DescribeTrunkInterfaceAssociationsRequest method.
26741//    req, resp := client.DescribeTrunkInterfaceAssociationsRequest(params)
26742//
26743//    err := req.Send()
26744//    if err == nil { // resp is now filled
26745//        fmt.Println(resp)
26746//    }
26747//
26748// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrunkInterfaceAssociations
26749func (c *EC2) DescribeTrunkInterfaceAssociationsRequest(input *DescribeTrunkInterfaceAssociationsInput) (req *request.Request, output *DescribeTrunkInterfaceAssociationsOutput) {
26750	op := &request.Operation{
26751		Name:       opDescribeTrunkInterfaceAssociations,
26752		HTTPMethod: "POST",
26753		HTTPPath:   "/",
26754		Paginator: &request.Paginator{
26755			InputTokens:     []string{"NextToken"},
26756			OutputTokens:    []string{"NextToken"},
26757			LimitToken:      "MaxResults",
26758			TruncationToken: "",
26759		},
26760	}
26761
26762	if input == nil {
26763		input = &DescribeTrunkInterfaceAssociationsInput{}
26764	}
26765
26766	output = &DescribeTrunkInterfaceAssociationsOutput{}
26767	req = c.newRequest(op, input, output)
26768	return
26769}
26770
26771// DescribeTrunkInterfaceAssociations API operation for Amazon Elastic Compute Cloud.
26772//
26773//
26774// This API action is currently in limited preview only. If you are interested
26775// in using this feature, contact your account manager.
26776//
26777// Describes one or more network interface trunk associations.
26778//
26779// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26780// with awserr.Error's Code and Message methods to get detailed information about
26781// the error.
26782//
26783// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26784// API operation DescribeTrunkInterfaceAssociations for usage and error information.
26785// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrunkInterfaceAssociations
26786func (c *EC2) DescribeTrunkInterfaceAssociations(input *DescribeTrunkInterfaceAssociationsInput) (*DescribeTrunkInterfaceAssociationsOutput, error) {
26787	req, out := c.DescribeTrunkInterfaceAssociationsRequest(input)
26788	return out, req.Send()
26789}
26790
26791// DescribeTrunkInterfaceAssociationsWithContext is the same as DescribeTrunkInterfaceAssociations with the addition of
26792// the ability to pass a context and additional request options.
26793//
26794// See DescribeTrunkInterfaceAssociations for details on how to use this API operation.
26795//
26796// The context must be non-nil and will be used for request cancellation. If
26797// the context is nil a panic will occur. In the future the SDK may create
26798// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26799// for more information on using Contexts.
26800func (c *EC2) DescribeTrunkInterfaceAssociationsWithContext(ctx aws.Context, input *DescribeTrunkInterfaceAssociationsInput, opts ...request.Option) (*DescribeTrunkInterfaceAssociationsOutput, error) {
26801	req, out := c.DescribeTrunkInterfaceAssociationsRequest(input)
26802	req.SetContext(ctx)
26803	req.ApplyOptions(opts...)
26804	return out, req.Send()
26805}
26806
26807// DescribeTrunkInterfaceAssociationsPages iterates over the pages of a DescribeTrunkInterfaceAssociations operation,
26808// calling the "fn" function with the response data for each page. To stop
26809// iterating, return false from the fn function.
26810//
26811// See DescribeTrunkInterfaceAssociations method for more information on how to use this operation.
26812//
26813// Note: This operation can generate multiple requests to a service.
26814//
26815//    // Example iterating over at most 3 pages of a DescribeTrunkInterfaceAssociations operation.
26816//    pageNum := 0
26817//    err := client.DescribeTrunkInterfaceAssociationsPages(params,
26818//        func(page *ec2.DescribeTrunkInterfaceAssociationsOutput, lastPage bool) bool {
26819//            pageNum++
26820//            fmt.Println(page)
26821//            return pageNum <= 3
26822//        })
26823//
26824func (c *EC2) DescribeTrunkInterfaceAssociationsPages(input *DescribeTrunkInterfaceAssociationsInput, fn func(*DescribeTrunkInterfaceAssociationsOutput, bool) bool) error {
26825	return c.DescribeTrunkInterfaceAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
26826}
26827
26828// DescribeTrunkInterfaceAssociationsPagesWithContext same as DescribeTrunkInterfaceAssociationsPages except
26829// it takes a Context and allows setting request options on the pages.
26830//
26831// The context must be non-nil and will be used for request cancellation. If
26832// the context is nil a panic will occur. In the future the SDK may create
26833// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26834// for more information on using Contexts.
26835func (c *EC2) DescribeTrunkInterfaceAssociationsPagesWithContext(ctx aws.Context, input *DescribeTrunkInterfaceAssociationsInput, fn func(*DescribeTrunkInterfaceAssociationsOutput, bool) bool, opts ...request.Option) error {
26836	p := request.Pagination{
26837		NewRequest: func() (*request.Request, error) {
26838			var inCpy *DescribeTrunkInterfaceAssociationsInput
26839			if input != nil {
26840				tmp := *input
26841				inCpy = &tmp
26842			}
26843			req, _ := c.DescribeTrunkInterfaceAssociationsRequest(inCpy)
26844			req.SetContext(ctx)
26845			req.ApplyOptions(opts...)
26846			return req, nil
26847		},
26848	}
26849
26850	for p.Next() {
26851		if !fn(p.Page().(*DescribeTrunkInterfaceAssociationsOutput), !p.HasNextPage()) {
26852			break
26853		}
26854	}
26855
26856	return p.Err()
26857}
26858
26859const opDescribeVolumeAttribute = "DescribeVolumeAttribute"
26860
26861// DescribeVolumeAttributeRequest generates a "aws/request.Request" representing the
26862// client's request for the DescribeVolumeAttribute operation. The "output" return
26863// value will be populated with the request's response once the request completes
26864// successfully.
26865//
26866// Use "Send" method on the returned Request to send the API call to the service.
26867// the "output" return value is not valid until after Send returns without error.
26868//
26869// See DescribeVolumeAttribute for more information on using the DescribeVolumeAttribute
26870// API call, and error handling.
26871//
26872// This method is useful when you want to inject custom logic or configuration
26873// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26874//
26875//
26876//    // Example sending a request using the DescribeVolumeAttributeRequest method.
26877//    req, resp := client.DescribeVolumeAttributeRequest(params)
26878//
26879//    err := req.Send()
26880//    if err == nil { // resp is now filled
26881//        fmt.Println(resp)
26882//    }
26883//
26884// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
26885func (c *EC2) DescribeVolumeAttributeRequest(input *DescribeVolumeAttributeInput) (req *request.Request, output *DescribeVolumeAttributeOutput) {
26886	op := &request.Operation{
26887		Name:       opDescribeVolumeAttribute,
26888		HTTPMethod: "POST",
26889		HTTPPath:   "/",
26890	}
26891
26892	if input == nil {
26893		input = &DescribeVolumeAttributeInput{}
26894	}
26895
26896	output = &DescribeVolumeAttributeOutput{}
26897	req = c.newRequest(op, input, output)
26898	return
26899}
26900
26901// DescribeVolumeAttribute API operation for Amazon Elastic Compute Cloud.
26902//
26903// Describes the specified attribute of the specified volume. You can specify
26904// only one attribute at a time.
26905//
26906// For more information about EBS volumes, see Amazon EBS volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
26907// in the Amazon Elastic Compute Cloud User Guide.
26908//
26909// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26910// with awserr.Error's Code and Message methods to get detailed information about
26911// the error.
26912//
26913// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26914// API operation DescribeVolumeAttribute for usage and error information.
26915// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
26916func (c *EC2) DescribeVolumeAttribute(input *DescribeVolumeAttributeInput) (*DescribeVolumeAttributeOutput, error) {
26917	req, out := c.DescribeVolumeAttributeRequest(input)
26918	return out, req.Send()
26919}
26920
26921// DescribeVolumeAttributeWithContext is the same as DescribeVolumeAttribute with the addition of
26922// the ability to pass a context and additional request options.
26923//
26924// See DescribeVolumeAttribute for details on how to use this API operation.
26925//
26926// The context must be non-nil and will be used for request cancellation. If
26927// the context is nil a panic will occur. In the future the SDK may create
26928// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26929// for more information on using Contexts.
26930func (c *EC2) DescribeVolumeAttributeWithContext(ctx aws.Context, input *DescribeVolumeAttributeInput, opts ...request.Option) (*DescribeVolumeAttributeOutput, error) {
26931	req, out := c.DescribeVolumeAttributeRequest(input)
26932	req.SetContext(ctx)
26933	req.ApplyOptions(opts...)
26934	return out, req.Send()
26935}
26936
26937const opDescribeVolumeStatus = "DescribeVolumeStatus"
26938
26939// DescribeVolumeStatusRequest generates a "aws/request.Request" representing the
26940// client's request for the DescribeVolumeStatus operation. The "output" return
26941// value will be populated with the request's response once the request completes
26942// successfully.
26943//
26944// Use "Send" method on the returned Request to send the API call to the service.
26945// the "output" return value is not valid until after Send returns without error.
26946//
26947// See DescribeVolumeStatus for more information on using the DescribeVolumeStatus
26948// API call, and error handling.
26949//
26950// This method is useful when you want to inject custom logic or configuration
26951// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26952//
26953//
26954//    // Example sending a request using the DescribeVolumeStatusRequest method.
26955//    req, resp := client.DescribeVolumeStatusRequest(params)
26956//
26957//    err := req.Send()
26958//    if err == nil { // resp is now filled
26959//        fmt.Println(resp)
26960//    }
26961//
26962// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
26963func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req *request.Request, output *DescribeVolumeStatusOutput) {
26964	op := &request.Operation{
26965		Name:       opDescribeVolumeStatus,
26966		HTTPMethod: "POST",
26967		HTTPPath:   "/",
26968		Paginator: &request.Paginator{
26969			InputTokens:     []string{"NextToken"},
26970			OutputTokens:    []string{"NextToken"},
26971			LimitToken:      "MaxResults",
26972			TruncationToken: "",
26973		},
26974	}
26975
26976	if input == nil {
26977		input = &DescribeVolumeStatusInput{}
26978	}
26979
26980	output = &DescribeVolumeStatusOutput{}
26981	req = c.newRequest(op, input, output)
26982	return
26983}
26984
26985// DescribeVolumeStatus API operation for Amazon Elastic Compute Cloud.
26986//
26987// Describes the status of the specified volumes. Volume status provides the
26988// result of the checks performed on your volumes to determine events that can
26989// impair the performance of your volumes. The performance of a volume can be
26990// affected if an issue occurs on the volume's underlying host. If the volume's
26991// underlying host experiences a power outage or system issue, after the system
26992// is restored, there could be data inconsistencies on the volume. Volume events
26993// notify you if this occurs. Volume actions notify you if any action needs
26994// to be taken in response to the event.
26995//
26996// The DescribeVolumeStatus operation provides the following information about
26997// the specified volumes:
26998//
26999// Status: Reflects the current status of the volume. The possible values are
27000// ok, impaired , warning, or insufficient-data. If all checks pass, the overall
27001// status of the volume is ok. If the check fails, the overall status is impaired.
27002// If the status is insufficient-data, then the checks might still be taking
27003// place on your volume at the time. We recommend that you retry the request.
27004// For more information about volume status, see Monitor the status of your
27005// volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html)
27006// in the Amazon Elastic Compute Cloud User Guide.
27007//
27008// Events: Reflect the cause of a volume status and might require you to take
27009// action. For example, if your volume returns an impaired status, then the
27010// volume event might be potential-data-inconsistency. This means that your
27011// volume has been affected by an issue with the underlying host, has all I/O
27012// operations disabled, and might have inconsistent data.
27013//
27014// Actions: Reflect the actions you might have to take in response to an event.
27015// For example, if the status of the volume is impaired and the volume event
27016// shows potential-data-inconsistency, then the action shows enable-volume-io.
27017// This means that you may want to enable the I/O operations for the volume
27018// by calling the EnableVolumeIO action and then check the volume for data consistency.
27019//
27020// Volume status is based on the volume status checks, and does not reflect
27021// the volume state. Therefore, volume status does not indicate volumes in the
27022// error state (for example, when a volume is incapable of accepting I/O.)
27023//
27024// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27025// with awserr.Error's Code and Message methods to get detailed information about
27026// the error.
27027//
27028// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27029// API operation DescribeVolumeStatus for usage and error information.
27030// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
27031func (c *EC2) DescribeVolumeStatus(input *DescribeVolumeStatusInput) (*DescribeVolumeStatusOutput, error) {
27032	req, out := c.DescribeVolumeStatusRequest(input)
27033	return out, req.Send()
27034}
27035
27036// DescribeVolumeStatusWithContext is the same as DescribeVolumeStatus with the addition of
27037// the ability to pass a context and additional request options.
27038//
27039// See DescribeVolumeStatus for details on how to use this API operation.
27040//
27041// The context must be non-nil and will be used for request cancellation. If
27042// the context is nil a panic will occur. In the future the SDK may create
27043// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27044// for more information on using Contexts.
27045func (c *EC2) DescribeVolumeStatusWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, opts ...request.Option) (*DescribeVolumeStatusOutput, error) {
27046	req, out := c.DescribeVolumeStatusRequest(input)
27047	req.SetContext(ctx)
27048	req.ApplyOptions(opts...)
27049	return out, req.Send()
27050}
27051
27052// DescribeVolumeStatusPages iterates over the pages of a DescribeVolumeStatus operation,
27053// calling the "fn" function with the response data for each page. To stop
27054// iterating, return false from the fn function.
27055//
27056// See DescribeVolumeStatus method for more information on how to use this operation.
27057//
27058// Note: This operation can generate multiple requests to a service.
27059//
27060//    // Example iterating over at most 3 pages of a DescribeVolumeStatus operation.
27061//    pageNum := 0
27062//    err := client.DescribeVolumeStatusPages(params,
27063//        func(page *ec2.DescribeVolumeStatusOutput, lastPage bool) bool {
27064//            pageNum++
27065//            fmt.Println(page)
27066//            return pageNum <= 3
27067//        })
27068//
27069func (c *EC2) DescribeVolumeStatusPages(input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool) error {
27070	return c.DescribeVolumeStatusPagesWithContext(aws.BackgroundContext(), input, fn)
27071}
27072
27073// DescribeVolumeStatusPagesWithContext same as DescribeVolumeStatusPages except
27074// it takes a Context and allows setting request options on the pages.
27075//
27076// The context must be non-nil and will be used for request cancellation. If
27077// the context is nil a panic will occur. In the future the SDK may create
27078// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27079// for more information on using Contexts.
27080func (c *EC2) DescribeVolumeStatusPagesWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool, opts ...request.Option) error {
27081	p := request.Pagination{
27082		NewRequest: func() (*request.Request, error) {
27083			var inCpy *DescribeVolumeStatusInput
27084			if input != nil {
27085				tmp := *input
27086				inCpy = &tmp
27087			}
27088			req, _ := c.DescribeVolumeStatusRequest(inCpy)
27089			req.SetContext(ctx)
27090			req.ApplyOptions(opts...)
27091			return req, nil
27092		},
27093	}
27094
27095	for p.Next() {
27096		if !fn(p.Page().(*DescribeVolumeStatusOutput), !p.HasNextPage()) {
27097			break
27098		}
27099	}
27100
27101	return p.Err()
27102}
27103
27104const opDescribeVolumes = "DescribeVolumes"
27105
27106// DescribeVolumesRequest generates a "aws/request.Request" representing the
27107// client's request for the DescribeVolumes operation. The "output" return
27108// value will be populated with the request's response once the request completes
27109// successfully.
27110//
27111// Use "Send" method on the returned Request to send the API call to the service.
27112// the "output" return value is not valid until after Send returns without error.
27113//
27114// See DescribeVolumes for more information on using the DescribeVolumes
27115// API call, and error handling.
27116//
27117// This method is useful when you want to inject custom logic or configuration
27118// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27119//
27120//
27121//    // Example sending a request using the DescribeVolumesRequest method.
27122//    req, resp := client.DescribeVolumesRequest(params)
27123//
27124//    err := req.Send()
27125//    if err == nil { // resp is now filled
27126//        fmt.Println(resp)
27127//    }
27128//
27129// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
27130func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) {
27131	op := &request.Operation{
27132		Name:       opDescribeVolumes,
27133		HTTPMethod: "POST",
27134		HTTPPath:   "/",
27135		Paginator: &request.Paginator{
27136			InputTokens:     []string{"NextToken"},
27137			OutputTokens:    []string{"NextToken"},
27138			LimitToken:      "MaxResults",
27139			TruncationToken: "",
27140		},
27141	}
27142
27143	if input == nil {
27144		input = &DescribeVolumesInput{}
27145	}
27146
27147	output = &DescribeVolumesOutput{}
27148	req = c.newRequest(op, input, output)
27149	return
27150}
27151
27152// DescribeVolumes API operation for Amazon Elastic Compute Cloud.
27153//
27154// Describes the specified EBS volumes or all of your EBS volumes.
27155//
27156// If you are describing a long list of volumes, we recommend that you paginate
27157// the output to make the list more manageable. The MaxResults parameter sets
27158// the maximum number of results returned in a single page. If the list of results
27159// exceeds your MaxResults value, then that number of results is returned along
27160// with a NextToken value that can be passed to a subsequent DescribeVolumes
27161// request to retrieve the remaining results.
27162//
27163// For more information about EBS volumes, see Amazon EBS volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
27164// in the Amazon Elastic Compute Cloud User Guide.
27165//
27166// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27167// with awserr.Error's Code and Message methods to get detailed information about
27168// the error.
27169//
27170// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27171// API operation DescribeVolumes for usage and error information.
27172// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
27173func (c *EC2) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) {
27174	req, out := c.DescribeVolumesRequest(input)
27175	return out, req.Send()
27176}
27177
27178// DescribeVolumesWithContext is the same as DescribeVolumes with the addition of
27179// the ability to pass a context and additional request options.
27180//
27181// See DescribeVolumes for details on how to use this API operation.
27182//
27183// The context must be non-nil and will be used for request cancellation. If
27184// the context is nil a panic will occur. In the future the SDK may create
27185// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27186// for more information on using Contexts.
27187func (c *EC2) DescribeVolumesWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.Option) (*DescribeVolumesOutput, error) {
27188	req, out := c.DescribeVolumesRequest(input)
27189	req.SetContext(ctx)
27190	req.ApplyOptions(opts...)
27191	return out, req.Send()
27192}
27193
27194// DescribeVolumesPages iterates over the pages of a DescribeVolumes operation,
27195// calling the "fn" function with the response data for each page. To stop
27196// iterating, return false from the fn function.
27197//
27198// See DescribeVolumes method for more information on how to use this operation.
27199//
27200// Note: This operation can generate multiple requests to a service.
27201//
27202//    // Example iterating over at most 3 pages of a DescribeVolumes operation.
27203//    pageNum := 0
27204//    err := client.DescribeVolumesPages(params,
27205//        func(page *ec2.DescribeVolumesOutput, lastPage bool) bool {
27206//            pageNum++
27207//            fmt.Println(page)
27208//            return pageNum <= 3
27209//        })
27210//
27211func (c *EC2) DescribeVolumesPages(input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool) error {
27212	return c.DescribeVolumesPagesWithContext(aws.BackgroundContext(), input, fn)
27213}
27214
27215// DescribeVolumesPagesWithContext same as DescribeVolumesPages except
27216// it takes a Context and allows setting request options on the pages.
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) DescribeVolumesPagesWithContext(ctx aws.Context, input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool, opts ...request.Option) error {
27223	p := request.Pagination{
27224		NewRequest: func() (*request.Request, error) {
27225			var inCpy *DescribeVolumesInput
27226			if input != nil {
27227				tmp := *input
27228				inCpy = &tmp
27229			}
27230			req, _ := c.DescribeVolumesRequest(inCpy)
27231			req.SetContext(ctx)
27232			req.ApplyOptions(opts...)
27233			return req, nil
27234		},
27235	}
27236
27237	for p.Next() {
27238		if !fn(p.Page().(*DescribeVolumesOutput), !p.HasNextPage()) {
27239			break
27240		}
27241	}
27242
27243	return p.Err()
27244}
27245
27246const opDescribeVolumesModifications = "DescribeVolumesModifications"
27247
27248// DescribeVolumesModificationsRequest generates a "aws/request.Request" representing the
27249// client's request for the DescribeVolumesModifications operation. The "output" return
27250// value will be populated with the request's response once the request completes
27251// successfully.
27252//
27253// Use "Send" method on the returned Request to send the API call to the service.
27254// the "output" return value is not valid until after Send returns without error.
27255//
27256// See DescribeVolumesModifications for more information on using the DescribeVolumesModifications
27257// API call, and error handling.
27258//
27259// This method is useful when you want to inject custom logic or configuration
27260// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27261//
27262//
27263//    // Example sending a request using the DescribeVolumesModificationsRequest method.
27264//    req, resp := client.DescribeVolumesModificationsRequest(params)
27265//
27266//    err := req.Send()
27267//    if err == nil { // resp is now filled
27268//        fmt.Println(resp)
27269//    }
27270//
27271// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
27272func (c *EC2) DescribeVolumesModificationsRequest(input *DescribeVolumesModificationsInput) (req *request.Request, output *DescribeVolumesModificationsOutput) {
27273	op := &request.Operation{
27274		Name:       opDescribeVolumesModifications,
27275		HTTPMethod: "POST",
27276		HTTPPath:   "/",
27277		Paginator: &request.Paginator{
27278			InputTokens:     []string{"NextToken"},
27279			OutputTokens:    []string{"NextToken"},
27280			LimitToken:      "MaxResults",
27281			TruncationToken: "",
27282		},
27283	}
27284
27285	if input == nil {
27286		input = &DescribeVolumesModificationsInput{}
27287	}
27288
27289	output = &DescribeVolumesModificationsOutput{}
27290	req = c.newRequest(op, input, output)
27291	return
27292}
27293
27294// DescribeVolumesModifications API operation for Amazon Elastic Compute Cloud.
27295//
27296// Describes the most recent volume modification request for the specified EBS
27297// volumes.
27298//
27299// If a volume has never been modified, some information in the output will
27300// be null. If a volume has been modified more than once, the output includes
27301// only the most recent modification request.
27302//
27303// You can also use CloudWatch Events to check the status of a modification
27304// to an EBS volume. For information about CloudWatch Events, see the Amazon
27305// CloudWatch Events User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
27306// For more information, see Monitor the progress of volume modifications (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-modifications.html)
27307// in the Amazon Elastic Compute Cloud User Guide.
27308//
27309// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27310// with awserr.Error's Code and Message methods to get detailed information about
27311// the error.
27312//
27313// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27314// API operation DescribeVolumesModifications for usage and error information.
27315// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
27316func (c *EC2) DescribeVolumesModifications(input *DescribeVolumesModificationsInput) (*DescribeVolumesModificationsOutput, error) {
27317	req, out := c.DescribeVolumesModificationsRequest(input)
27318	return out, req.Send()
27319}
27320
27321// DescribeVolumesModificationsWithContext is the same as DescribeVolumesModifications with the addition of
27322// the ability to pass a context and additional request options.
27323//
27324// See DescribeVolumesModifications for details on how to use this API operation.
27325//
27326// The context must be non-nil and will be used for request cancellation. If
27327// the context is nil a panic will occur. In the future the SDK may create
27328// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27329// for more information on using Contexts.
27330func (c *EC2) DescribeVolumesModificationsWithContext(ctx aws.Context, input *DescribeVolumesModificationsInput, opts ...request.Option) (*DescribeVolumesModificationsOutput, error) {
27331	req, out := c.DescribeVolumesModificationsRequest(input)
27332	req.SetContext(ctx)
27333	req.ApplyOptions(opts...)
27334	return out, req.Send()
27335}
27336
27337// DescribeVolumesModificationsPages iterates over the pages of a DescribeVolumesModifications operation,
27338// calling the "fn" function with the response data for each page. To stop
27339// iterating, return false from the fn function.
27340//
27341// See DescribeVolumesModifications method for more information on how to use this operation.
27342//
27343// Note: This operation can generate multiple requests to a service.
27344//
27345//    // Example iterating over at most 3 pages of a DescribeVolumesModifications operation.
27346//    pageNum := 0
27347//    err := client.DescribeVolumesModificationsPages(params,
27348//        func(page *ec2.DescribeVolumesModificationsOutput, lastPage bool) bool {
27349//            pageNum++
27350//            fmt.Println(page)
27351//            return pageNum <= 3
27352//        })
27353//
27354func (c *EC2) DescribeVolumesModificationsPages(input *DescribeVolumesModificationsInput, fn func(*DescribeVolumesModificationsOutput, bool) bool) error {
27355	return c.DescribeVolumesModificationsPagesWithContext(aws.BackgroundContext(), input, fn)
27356}
27357
27358// DescribeVolumesModificationsPagesWithContext same as DescribeVolumesModificationsPages except
27359// it takes a Context and allows setting request options on the pages.
27360//
27361// The context must be non-nil and will be used for request cancellation. If
27362// the context is nil a panic will occur. In the future the SDK may create
27363// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27364// for more information on using Contexts.
27365func (c *EC2) DescribeVolumesModificationsPagesWithContext(ctx aws.Context, input *DescribeVolumesModificationsInput, fn func(*DescribeVolumesModificationsOutput, bool) bool, opts ...request.Option) error {
27366	p := request.Pagination{
27367		NewRequest: func() (*request.Request, error) {
27368			var inCpy *DescribeVolumesModificationsInput
27369			if input != nil {
27370				tmp := *input
27371				inCpy = &tmp
27372			}
27373			req, _ := c.DescribeVolumesModificationsRequest(inCpy)
27374			req.SetContext(ctx)
27375			req.ApplyOptions(opts...)
27376			return req, nil
27377		},
27378	}
27379
27380	for p.Next() {
27381		if !fn(p.Page().(*DescribeVolumesModificationsOutput), !p.HasNextPage()) {
27382			break
27383		}
27384	}
27385
27386	return p.Err()
27387}
27388
27389const opDescribeVpcAttribute = "DescribeVpcAttribute"
27390
27391// DescribeVpcAttributeRequest generates a "aws/request.Request" representing the
27392// client's request for the DescribeVpcAttribute operation. The "output" return
27393// value will be populated with the request's response once the request completes
27394// successfully.
27395//
27396// Use "Send" method on the returned Request to send the API call to the service.
27397// the "output" return value is not valid until after Send returns without error.
27398//
27399// See DescribeVpcAttribute for more information on using the DescribeVpcAttribute
27400// API call, and error handling.
27401//
27402// This method is useful when you want to inject custom logic or configuration
27403// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27404//
27405//
27406//    // Example sending a request using the DescribeVpcAttributeRequest method.
27407//    req, resp := client.DescribeVpcAttributeRequest(params)
27408//
27409//    err := req.Send()
27410//    if err == nil { // resp is now filled
27411//        fmt.Println(resp)
27412//    }
27413//
27414// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
27415func (c *EC2) DescribeVpcAttributeRequest(input *DescribeVpcAttributeInput) (req *request.Request, output *DescribeVpcAttributeOutput) {
27416	op := &request.Operation{
27417		Name:       opDescribeVpcAttribute,
27418		HTTPMethod: "POST",
27419		HTTPPath:   "/",
27420	}
27421
27422	if input == nil {
27423		input = &DescribeVpcAttributeInput{}
27424	}
27425
27426	output = &DescribeVpcAttributeOutput{}
27427	req = c.newRequest(op, input, output)
27428	return
27429}
27430
27431// DescribeVpcAttribute API operation for Amazon Elastic Compute Cloud.
27432//
27433// Describes the specified attribute of the specified VPC. You can specify only
27434// one attribute at a time.
27435//
27436// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27437// with awserr.Error's Code and Message methods to get detailed information about
27438// the error.
27439//
27440// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27441// API operation DescribeVpcAttribute for usage and error information.
27442// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
27443func (c *EC2) DescribeVpcAttribute(input *DescribeVpcAttributeInput) (*DescribeVpcAttributeOutput, error) {
27444	req, out := c.DescribeVpcAttributeRequest(input)
27445	return out, req.Send()
27446}
27447
27448// DescribeVpcAttributeWithContext is the same as DescribeVpcAttribute with the addition of
27449// the ability to pass a context and additional request options.
27450//
27451// See DescribeVpcAttribute for details on how to use this API operation.
27452//
27453// The context must be non-nil and will be used for request cancellation. If
27454// the context is nil a panic will occur. In the future the SDK may create
27455// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27456// for more information on using Contexts.
27457func (c *EC2) DescribeVpcAttributeWithContext(ctx aws.Context, input *DescribeVpcAttributeInput, opts ...request.Option) (*DescribeVpcAttributeOutput, error) {
27458	req, out := c.DescribeVpcAttributeRequest(input)
27459	req.SetContext(ctx)
27460	req.ApplyOptions(opts...)
27461	return out, req.Send()
27462}
27463
27464const opDescribeVpcClassicLink = "DescribeVpcClassicLink"
27465
27466// DescribeVpcClassicLinkRequest generates a "aws/request.Request" representing the
27467// client's request for the DescribeVpcClassicLink operation. The "output" return
27468// value will be populated with the request's response once the request completes
27469// successfully.
27470//
27471// Use "Send" method on the returned Request to send the API call to the service.
27472// the "output" return value is not valid until after Send returns without error.
27473//
27474// See DescribeVpcClassicLink for more information on using the DescribeVpcClassicLink
27475// API call, and error handling.
27476//
27477// This method is useful when you want to inject custom logic or configuration
27478// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27479//
27480//
27481//    // Example sending a request using the DescribeVpcClassicLinkRequest method.
27482//    req, resp := client.DescribeVpcClassicLinkRequest(params)
27483//
27484//    err := req.Send()
27485//    if err == nil { // resp is now filled
27486//        fmt.Println(resp)
27487//    }
27488//
27489// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
27490func (c *EC2) DescribeVpcClassicLinkRequest(input *DescribeVpcClassicLinkInput) (req *request.Request, output *DescribeVpcClassicLinkOutput) {
27491	op := &request.Operation{
27492		Name:       opDescribeVpcClassicLink,
27493		HTTPMethod: "POST",
27494		HTTPPath:   "/",
27495	}
27496
27497	if input == nil {
27498		input = &DescribeVpcClassicLinkInput{}
27499	}
27500
27501	output = &DescribeVpcClassicLinkOutput{}
27502	req = c.newRequest(op, input, output)
27503	return
27504}
27505
27506// DescribeVpcClassicLink API operation for Amazon Elastic Compute Cloud.
27507//
27508// Describes the ClassicLink status of one or more VPCs.
27509//
27510// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27511// with awserr.Error's Code and Message methods to get detailed information about
27512// the error.
27513//
27514// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27515// API operation DescribeVpcClassicLink for usage and error information.
27516// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
27517func (c *EC2) DescribeVpcClassicLink(input *DescribeVpcClassicLinkInput) (*DescribeVpcClassicLinkOutput, error) {
27518	req, out := c.DescribeVpcClassicLinkRequest(input)
27519	return out, req.Send()
27520}
27521
27522// DescribeVpcClassicLinkWithContext is the same as DescribeVpcClassicLink with the addition of
27523// the ability to pass a context and additional request options.
27524//
27525// See DescribeVpcClassicLink for details on how to use this API operation.
27526//
27527// The context must be non-nil and will be used for request cancellation. If
27528// the context is nil a panic will occur. In the future the SDK may create
27529// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27530// for more information on using Contexts.
27531func (c *EC2) DescribeVpcClassicLinkWithContext(ctx aws.Context, input *DescribeVpcClassicLinkInput, opts ...request.Option) (*DescribeVpcClassicLinkOutput, error) {
27532	req, out := c.DescribeVpcClassicLinkRequest(input)
27533	req.SetContext(ctx)
27534	req.ApplyOptions(opts...)
27535	return out, req.Send()
27536}
27537
27538const opDescribeVpcClassicLinkDnsSupport = "DescribeVpcClassicLinkDnsSupport"
27539
27540// DescribeVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
27541// client's request for the DescribeVpcClassicLinkDnsSupport operation. The "output" return
27542// value will be populated with the request's response once the request completes
27543// successfully.
27544//
27545// Use "Send" method on the returned Request to send the API call to the service.
27546// the "output" return value is not valid until after Send returns without error.
27547//
27548// See DescribeVpcClassicLinkDnsSupport for more information on using the DescribeVpcClassicLinkDnsSupport
27549// API call, and error handling.
27550//
27551// This method is useful when you want to inject custom logic or configuration
27552// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27553//
27554//
27555//    // Example sending a request using the DescribeVpcClassicLinkDnsSupportRequest method.
27556//    req, resp := client.DescribeVpcClassicLinkDnsSupportRequest(params)
27557//
27558//    err := req.Send()
27559//    if err == nil { // resp is now filled
27560//        fmt.Println(resp)
27561//    }
27562//
27563// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
27564func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicLinkDnsSupportInput) (req *request.Request, output *DescribeVpcClassicLinkDnsSupportOutput) {
27565	op := &request.Operation{
27566		Name:       opDescribeVpcClassicLinkDnsSupport,
27567		HTTPMethod: "POST",
27568		HTTPPath:   "/",
27569		Paginator: &request.Paginator{
27570			InputTokens:     []string{"NextToken"},
27571			OutputTokens:    []string{"NextToken"},
27572			LimitToken:      "MaxResults",
27573			TruncationToken: "",
27574		},
27575	}
27576
27577	if input == nil {
27578		input = &DescribeVpcClassicLinkDnsSupportInput{}
27579	}
27580
27581	output = &DescribeVpcClassicLinkDnsSupportOutput{}
27582	req = c.newRequest(op, input, output)
27583	return
27584}
27585
27586// DescribeVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
27587//
27588// Describes the ClassicLink DNS support status of one or more VPCs. If enabled,
27589// the DNS hostname of a linked EC2-Classic instance resolves to its private
27590// IP address when addressed from an instance in the VPC to which it's linked.
27591// Similarly, the DNS hostname of an instance in a VPC resolves to its private
27592// IP address when addressed from a linked EC2-Classic instance. For more information,
27593// see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
27594// in the Amazon Elastic Compute Cloud User Guide.
27595//
27596// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27597// with awserr.Error's Code and Message methods to get detailed information about
27598// the error.
27599//
27600// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27601// API operation DescribeVpcClassicLinkDnsSupport for usage and error information.
27602// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
27603func (c *EC2) DescribeVpcClassicLinkDnsSupport(input *DescribeVpcClassicLinkDnsSupportInput) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
27604	req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
27605	return out, req.Send()
27606}
27607
27608// DescribeVpcClassicLinkDnsSupportWithContext is the same as DescribeVpcClassicLinkDnsSupport with the addition of
27609// the ability to pass a context and additional request options.
27610//
27611// See DescribeVpcClassicLinkDnsSupport for details on how to use this API operation.
27612//
27613// The context must be non-nil and will be used for request cancellation. If
27614// the context is nil a panic will occur. In the future the SDK may create
27615// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27616// for more information on using Contexts.
27617func (c *EC2) DescribeVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DescribeVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
27618	req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
27619	req.SetContext(ctx)
27620	req.ApplyOptions(opts...)
27621	return out, req.Send()
27622}
27623
27624// DescribeVpcClassicLinkDnsSupportPages iterates over the pages of a DescribeVpcClassicLinkDnsSupport operation,
27625// calling the "fn" function with the response data for each page. To stop
27626// iterating, return false from the fn function.
27627//
27628// See DescribeVpcClassicLinkDnsSupport method for more information on how to use this operation.
27629//
27630// Note: This operation can generate multiple requests to a service.
27631//
27632//    // Example iterating over at most 3 pages of a DescribeVpcClassicLinkDnsSupport operation.
27633//    pageNum := 0
27634//    err := client.DescribeVpcClassicLinkDnsSupportPages(params,
27635//        func(page *ec2.DescribeVpcClassicLinkDnsSupportOutput, lastPage bool) bool {
27636//            pageNum++
27637//            fmt.Println(page)
27638//            return pageNum <= 3
27639//        })
27640//
27641func (c *EC2) DescribeVpcClassicLinkDnsSupportPages(input *DescribeVpcClassicLinkDnsSupportInput, fn func(*DescribeVpcClassicLinkDnsSupportOutput, bool) bool) error {
27642	return c.DescribeVpcClassicLinkDnsSupportPagesWithContext(aws.BackgroundContext(), input, fn)
27643}
27644
27645// DescribeVpcClassicLinkDnsSupportPagesWithContext same as DescribeVpcClassicLinkDnsSupportPages except
27646// it takes a Context and allows setting request options on the pages.
27647//
27648// The context must be non-nil and will be used for request cancellation. If
27649// the context is nil a panic will occur. In the future the SDK may create
27650// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27651// for more information on using Contexts.
27652func (c *EC2) DescribeVpcClassicLinkDnsSupportPagesWithContext(ctx aws.Context, input *DescribeVpcClassicLinkDnsSupportInput, fn func(*DescribeVpcClassicLinkDnsSupportOutput, bool) bool, opts ...request.Option) error {
27653	p := request.Pagination{
27654		NewRequest: func() (*request.Request, error) {
27655			var inCpy *DescribeVpcClassicLinkDnsSupportInput
27656			if input != nil {
27657				tmp := *input
27658				inCpy = &tmp
27659			}
27660			req, _ := c.DescribeVpcClassicLinkDnsSupportRequest(inCpy)
27661			req.SetContext(ctx)
27662			req.ApplyOptions(opts...)
27663			return req, nil
27664		},
27665	}
27666
27667	for p.Next() {
27668		if !fn(p.Page().(*DescribeVpcClassicLinkDnsSupportOutput), !p.HasNextPage()) {
27669			break
27670		}
27671	}
27672
27673	return p.Err()
27674}
27675
27676const opDescribeVpcEndpointConnectionNotifications = "DescribeVpcEndpointConnectionNotifications"
27677
27678// DescribeVpcEndpointConnectionNotificationsRequest generates a "aws/request.Request" representing the
27679// client's request for the DescribeVpcEndpointConnectionNotifications operation. The "output" return
27680// value will be populated with the request's response once the request completes
27681// successfully.
27682//
27683// Use "Send" method on the returned Request to send the API call to the service.
27684// the "output" return value is not valid until after Send returns without error.
27685//
27686// See DescribeVpcEndpointConnectionNotifications for more information on using the DescribeVpcEndpointConnectionNotifications
27687// API call, and error handling.
27688//
27689// This method is useful when you want to inject custom logic or configuration
27690// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27691//
27692//
27693//    // Example sending a request using the DescribeVpcEndpointConnectionNotificationsRequest method.
27694//    req, resp := client.DescribeVpcEndpointConnectionNotificationsRequest(params)
27695//
27696//    err := req.Send()
27697//    if err == nil { // resp is now filled
27698//        fmt.Println(resp)
27699//    }
27700//
27701// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotifications
27702func (c *EC2) DescribeVpcEndpointConnectionNotificationsRequest(input *DescribeVpcEndpointConnectionNotificationsInput) (req *request.Request, output *DescribeVpcEndpointConnectionNotificationsOutput) {
27703	op := &request.Operation{
27704		Name:       opDescribeVpcEndpointConnectionNotifications,
27705		HTTPMethod: "POST",
27706		HTTPPath:   "/",
27707		Paginator: &request.Paginator{
27708			InputTokens:     []string{"NextToken"},
27709			OutputTokens:    []string{"NextToken"},
27710			LimitToken:      "MaxResults",
27711			TruncationToken: "",
27712		},
27713	}
27714
27715	if input == nil {
27716		input = &DescribeVpcEndpointConnectionNotificationsInput{}
27717	}
27718
27719	output = &DescribeVpcEndpointConnectionNotificationsOutput{}
27720	req = c.newRequest(op, input, output)
27721	return
27722}
27723
27724// DescribeVpcEndpointConnectionNotifications API operation for Amazon Elastic Compute Cloud.
27725//
27726// Describes the connection notifications for VPC endpoints and VPC endpoint
27727// services.
27728//
27729// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27730// with awserr.Error's Code and Message methods to get detailed information about
27731// the error.
27732//
27733// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27734// API operation DescribeVpcEndpointConnectionNotifications for usage and error information.
27735// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotifications
27736func (c *EC2) DescribeVpcEndpointConnectionNotifications(input *DescribeVpcEndpointConnectionNotificationsInput) (*DescribeVpcEndpointConnectionNotificationsOutput, error) {
27737	req, out := c.DescribeVpcEndpointConnectionNotificationsRequest(input)
27738	return out, req.Send()
27739}
27740
27741// DescribeVpcEndpointConnectionNotificationsWithContext is the same as DescribeVpcEndpointConnectionNotifications with the addition of
27742// the ability to pass a context and additional request options.
27743//
27744// See DescribeVpcEndpointConnectionNotifications for details on how to use this API operation.
27745//
27746// The context must be non-nil and will be used for request cancellation. If
27747// the context is nil a panic will occur. In the future the SDK may create
27748// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27749// for more information on using Contexts.
27750func (c *EC2) DescribeVpcEndpointConnectionNotificationsWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionNotificationsInput, opts ...request.Option) (*DescribeVpcEndpointConnectionNotificationsOutput, error) {
27751	req, out := c.DescribeVpcEndpointConnectionNotificationsRequest(input)
27752	req.SetContext(ctx)
27753	req.ApplyOptions(opts...)
27754	return out, req.Send()
27755}
27756
27757// DescribeVpcEndpointConnectionNotificationsPages iterates over the pages of a DescribeVpcEndpointConnectionNotifications operation,
27758// calling the "fn" function with the response data for each page. To stop
27759// iterating, return false from the fn function.
27760//
27761// See DescribeVpcEndpointConnectionNotifications method for more information on how to use this operation.
27762//
27763// Note: This operation can generate multiple requests to a service.
27764//
27765//    // Example iterating over at most 3 pages of a DescribeVpcEndpointConnectionNotifications operation.
27766//    pageNum := 0
27767//    err := client.DescribeVpcEndpointConnectionNotificationsPages(params,
27768//        func(page *ec2.DescribeVpcEndpointConnectionNotificationsOutput, lastPage bool) bool {
27769//            pageNum++
27770//            fmt.Println(page)
27771//            return pageNum <= 3
27772//        })
27773//
27774func (c *EC2) DescribeVpcEndpointConnectionNotificationsPages(input *DescribeVpcEndpointConnectionNotificationsInput, fn func(*DescribeVpcEndpointConnectionNotificationsOutput, bool) bool) error {
27775	return c.DescribeVpcEndpointConnectionNotificationsPagesWithContext(aws.BackgroundContext(), input, fn)
27776}
27777
27778// DescribeVpcEndpointConnectionNotificationsPagesWithContext same as DescribeVpcEndpointConnectionNotificationsPages except
27779// it takes a Context and allows setting request options on the pages.
27780//
27781// The context must be non-nil and will be used for request cancellation. If
27782// the context is nil a panic will occur. In the future the SDK may create
27783// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27784// for more information on using Contexts.
27785func (c *EC2) DescribeVpcEndpointConnectionNotificationsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionNotificationsInput, fn func(*DescribeVpcEndpointConnectionNotificationsOutput, bool) bool, opts ...request.Option) error {
27786	p := request.Pagination{
27787		NewRequest: func() (*request.Request, error) {
27788			var inCpy *DescribeVpcEndpointConnectionNotificationsInput
27789			if input != nil {
27790				tmp := *input
27791				inCpy = &tmp
27792			}
27793			req, _ := c.DescribeVpcEndpointConnectionNotificationsRequest(inCpy)
27794			req.SetContext(ctx)
27795			req.ApplyOptions(opts...)
27796			return req, nil
27797		},
27798	}
27799
27800	for p.Next() {
27801		if !fn(p.Page().(*DescribeVpcEndpointConnectionNotificationsOutput), !p.HasNextPage()) {
27802			break
27803		}
27804	}
27805
27806	return p.Err()
27807}
27808
27809const opDescribeVpcEndpointConnections = "DescribeVpcEndpointConnections"
27810
27811// DescribeVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
27812// client's request for the DescribeVpcEndpointConnections operation. The "output" return
27813// value will be populated with the request's response once the request completes
27814// successfully.
27815//
27816// Use "Send" method on the returned Request to send the API call to the service.
27817// the "output" return value is not valid until after Send returns without error.
27818//
27819// See DescribeVpcEndpointConnections for more information on using the DescribeVpcEndpointConnections
27820// API call, and error handling.
27821//
27822// This method is useful when you want to inject custom logic or configuration
27823// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27824//
27825//
27826//    // Example sending a request using the DescribeVpcEndpointConnectionsRequest method.
27827//    req, resp := client.DescribeVpcEndpointConnectionsRequest(params)
27828//
27829//    err := req.Send()
27830//    if err == nil { // resp is now filled
27831//        fmt.Println(resp)
27832//    }
27833//
27834// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnections
27835func (c *EC2) DescribeVpcEndpointConnectionsRequest(input *DescribeVpcEndpointConnectionsInput) (req *request.Request, output *DescribeVpcEndpointConnectionsOutput) {
27836	op := &request.Operation{
27837		Name:       opDescribeVpcEndpointConnections,
27838		HTTPMethod: "POST",
27839		HTTPPath:   "/",
27840		Paginator: &request.Paginator{
27841			InputTokens:     []string{"NextToken"},
27842			OutputTokens:    []string{"NextToken"},
27843			LimitToken:      "MaxResults",
27844			TruncationToken: "",
27845		},
27846	}
27847
27848	if input == nil {
27849		input = &DescribeVpcEndpointConnectionsInput{}
27850	}
27851
27852	output = &DescribeVpcEndpointConnectionsOutput{}
27853	req = c.newRequest(op, input, output)
27854	return
27855}
27856
27857// DescribeVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
27858//
27859// Describes the VPC endpoint connections to your VPC endpoint services, including
27860// any endpoints that are pending your acceptance.
27861//
27862// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27863// with awserr.Error's Code and Message methods to get detailed information about
27864// the error.
27865//
27866// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27867// API operation DescribeVpcEndpointConnections for usage and error information.
27868// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnections
27869func (c *EC2) DescribeVpcEndpointConnections(input *DescribeVpcEndpointConnectionsInput) (*DescribeVpcEndpointConnectionsOutput, error) {
27870	req, out := c.DescribeVpcEndpointConnectionsRequest(input)
27871	return out, req.Send()
27872}
27873
27874// DescribeVpcEndpointConnectionsWithContext is the same as DescribeVpcEndpointConnections with the addition of
27875// the ability to pass a context and additional request options.
27876//
27877// See DescribeVpcEndpointConnections for details on how to use this API operation.
27878//
27879// The context must be non-nil and will be used for request cancellation. If
27880// the context is nil a panic will occur. In the future the SDK may create
27881// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27882// for more information on using Contexts.
27883func (c *EC2) DescribeVpcEndpointConnectionsWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionsInput, opts ...request.Option) (*DescribeVpcEndpointConnectionsOutput, error) {
27884	req, out := c.DescribeVpcEndpointConnectionsRequest(input)
27885	req.SetContext(ctx)
27886	req.ApplyOptions(opts...)
27887	return out, req.Send()
27888}
27889
27890// DescribeVpcEndpointConnectionsPages iterates over the pages of a DescribeVpcEndpointConnections operation,
27891// calling the "fn" function with the response data for each page. To stop
27892// iterating, return false from the fn function.
27893//
27894// See DescribeVpcEndpointConnections method for more information on how to use this operation.
27895//
27896// Note: This operation can generate multiple requests to a service.
27897//
27898//    // Example iterating over at most 3 pages of a DescribeVpcEndpointConnections operation.
27899//    pageNum := 0
27900//    err := client.DescribeVpcEndpointConnectionsPages(params,
27901//        func(page *ec2.DescribeVpcEndpointConnectionsOutput, lastPage bool) bool {
27902//            pageNum++
27903//            fmt.Println(page)
27904//            return pageNum <= 3
27905//        })
27906//
27907func (c *EC2) DescribeVpcEndpointConnectionsPages(input *DescribeVpcEndpointConnectionsInput, fn func(*DescribeVpcEndpointConnectionsOutput, bool) bool) error {
27908	return c.DescribeVpcEndpointConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
27909}
27910
27911// DescribeVpcEndpointConnectionsPagesWithContext same as DescribeVpcEndpointConnectionsPages except
27912// it takes a Context and allows setting request options on the pages.
27913//
27914// The context must be non-nil and will be used for request cancellation. If
27915// the context is nil a panic will occur. In the future the SDK may create
27916// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27917// for more information on using Contexts.
27918func (c *EC2) DescribeVpcEndpointConnectionsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionsInput, fn func(*DescribeVpcEndpointConnectionsOutput, bool) bool, opts ...request.Option) error {
27919	p := request.Pagination{
27920		NewRequest: func() (*request.Request, error) {
27921			var inCpy *DescribeVpcEndpointConnectionsInput
27922			if input != nil {
27923				tmp := *input
27924				inCpy = &tmp
27925			}
27926			req, _ := c.DescribeVpcEndpointConnectionsRequest(inCpy)
27927			req.SetContext(ctx)
27928			req.ApplyOptions(opts...)
27929			return req, nil
27930		},
27931	}
27932
27933	for p.Next() {
27934		if !fn(p.Page().(*DescribeVpcEndpointConnectionsOutput), !p.HasNextPage()) {
27935			break
27936		}
27937	}
27938
27939	return p.Err()
27940}
27941
27942const opDescribeVpcEndpointServiceConfigurations = "DescribeVpcEndpointServiceConfigurations"
27943
27944// DescribeVpcEndpointServiceConfigurationsRequest generates a "aws/request.Request" representing the
27945// client's request for the DescribeVpcEndpointServiceConfigurations operation. The "output" return
27946// value will be populated with the request's response once the request completes
27947// successfully.
27948//
27949// Use "Send" method on the returned Request to send the API call to the service.
27950// the "output" return value is not valid until after Send returns without error.
27951//
27952// See DescribeVpcEndpointServiceConfigurations for more information on using the DescribeVpcEndpointServiceConfigurations
27953// API call, and error handling.
27954//
27955// This method is useful when you want to inject custom logic or configuration
27956// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27957//
27958//
27959//    // Example sending a request using the DescribeVpcEndpointServiceConfigurationsRequest method.
27960//    req, resp := client.DescribeVpcEndpointServiceConfigurationsRequest(params)
27961//
27962//    err := req.Send()
27963//    if err == nil { // resp is now filled
27964//        fmt.Println(resp)
27965//    }
27966//
27967// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurations
27968func (c *EC2) DescribeVpcEndpointServiceConfigurationsRequest(input *DescribeVpcEndpointServiceConfigurationsInput) (req *request.Request, output *DescribeVpcEndpointServiceConfigurationsOutput) {
27969	op := &request.Operation{
27970		Name:       opDescribeVpcEndpointServiceConfigurations,
27971		HTTPMethod: "POST",
27972		HTTPPath:   "/",
27973		Paginator: &request.Paginator{
27974			InputTokens:     []string{"NextToken"},
27975			OutputTokens:    []string{"NextToken"},
27976			LimitToken:      "MaxResults",
27977			TruncationToken: "",
27978		},
27979	}
27980
27981	if input == nil {
27982		input = &DescribeVpcEndpointServiceConfigurationsInput{}
27983	}
27984
27985	output = &DescribeVpcEndpointServiceConfigurationsOutput{}
27986	req = c.newRequest(op, input, output)
27987	return
27988}
27989
27990// DescribeVpcEndpointServiceConfigurations API operation for Amazon Elastic Compute Cloud.
27991//
27992// Describes the VPC endpoint service configurations in your account (your services).
27993//
27994// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27995// with awserr.Error's Code and Message methods to get detailed information about
27996// the error.
27997//
27998// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27999// API operation DescribeVpcEndpointServiceConfigurations for usage and error information.
28000// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurations
28001func (c *EC2) DescribeVpcEndpointServiceConfigurations(input *DescribeVpcEndpointServiceConfigurationsInput) (*DescribeVpcEndpointServiceConfigurationsOutput, error) {
28002	req, out := c.DescribeVpcEndpointServiceConfigurationsRequest(input)
28003	return out, req.Send()
28004}
28005
28006// DescribeVpcEndpointServiceConfigurationsWithContext is the same as DescribeVpcEndpointServiceConfigurations with the addition of
28007// the ability to pass a context and additional request options.
28008//
28009// See DescribeVpcEndpointServiceConfigurations for details on how to use this API operation.
28010//
28011// The context must be non-nil and will be used for request cancellation. If
28012// the context is nil a panic will occur. In the future the SDK may create
28013// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28014// for more information on using Contexts.
28015func (c *EC2) DescribeVpcEndpointServiceConfigurationsWithContext(ctx aws.Context, input *DescribeVpcEndpointServiceConfigurationsInput, opts ...request.Option) (*DescribeVpcEndpointServiceConfigurationsOutput, error) {
28016	req, out := c.DescribeVpcEndpointServiceConfigurationsRequest(input)
28017	req.SetContext(ctx)
28018	req.ApplyOptions(opts...)
28019	return out, req.Send()
28020}
28021
28022// DescribeVpcEndpointServiceConfigurationsPages iterates over the pages of a DescribeVpcEndpointServiceConfigurations operation,
28023// calling the "fn" function with the response data for each page. To stop
28024// iterating, return false from the fn function.
28025//
28026// See DescribeVpcEndpointServiceConfigurations method for more information on how to use this operation.
28027//
28028// Note: This operation can generate multiple requests to a service.
28029//
28030//    // Example iterating over at most 3 pages of a DescribeVpcEndpointServiceConfigurations operation.
28031//    pageNum := 0
28032//    err := client.DescribeVpcEndpointServiceConfigurationsPages(params,
28033//        func(page *ec2.DescribeVpcEndpointServiceConfigurationsOutput, lastPage bool) bool {
28034//            pageNum++
28035//            fmt.Println(page)
28036//            return pageNum <= 3
28037//        })
28038//
28039func (c *EC2) DescribeVpcEndpointServiceConfigurationsPages(input *DescribeVpcEndpointServiceConfigurationsInput, fn func(*DescribeVpcEndpointServiceConfigurationsOutput, bool) bool) error {
28040	return c.DescribeVpcEndpointServiceConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn)
28041}
28042
28043// DescribeVpcEndpointServiceConfigurationsPagesWithContext same as DescribeVpcEndpointServiceConfigurationsPages except
28044// it takes a Context and allows setting request options on the pages.
28045//
28046// The context must be non-nil and will be used for request cancellation. If
28047// the context is nil a panic will occur. In the future the SDK may create
28048// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28049// for more information on using Contexts.
28050func (c *EC2) DescribeVpcEndpointServiceConfigurationsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointServiceConfigurationsInput, fn func(*DescribeVpcEndpointServiceConfigurationsOutput, bool) bool, opts ...request.Option) error {
28051	p := request.Pagination{
28052		NewRequest: func() (*request.Request, error) {
28053			var inCpy *DescribeVpcEndpointServiceConfigurationsInput
28054			if input != nil {
28055				tmp := *input
28056				inCpy = &tmp
28057			}
28058			req, _ := c.DescribeVpcEndpointServiceConfigurationsRequest(inCpy)
28059			req.SetContext(ctx)
28060			req.ApplyOptions(opts...)
28061			return req, nil
28062		},
28063	}
28064
28065	for p.Next() {
28066		if !fn(p.Page().(*DescribeVpcEndpointServiceConfigurationsOutput), !p.HasNextPage()) {
28067			break
28068		}
28069	}
28070
28071	return p.Err()
28072}
28073
28074const opDescribeVpcEndpointServicePermissions = "DescribeVpcEndpointServicePermissions"
28075
28076// DescribeVpcEndpointServicePermissionsRequest generates a "aws/request.Request" representing the
28077// client's request for the DescribeVpcEndpointServicePermissions operation. The "output" return
28078// value will be populated with the request's response once the request completes
28079// successfully.
28080//
28081// Use "Send" method on the returned Request to send the API call to the service.
28082// the "output" return value is not valid until after Send returns without error.
28083//
28084// See DescribeVpcEndpointServicePermissions for more information on using the DescribeVpcEndpointServicePermissions
28085// API call, and error handling.
28086//
28087// This method is useful when you want to inject custom logic or configuration
28088// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28089//
28090//
28091//    // Example sending a request using the DescribeVpcEndpointServicePermissionsRequest method.
28092//    req, resp := client.DescribeVpcEndpointServicePermissionsRequest(params)
28093//
28094//    err := req.Send()
28095//    if err == nil { // resp is now filled
28096//        fmt.Println(resp)
28097//    }
28098//
28099// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissions
28100func (c *EC2) DescribeVpcEndpointServicePermissionsRequest(input *DescribeVpcEndpointServicePermissionsInput) (req *request.Request, output *DescribeVpcEndpointServicePermissionsOutput) {
28101	op := &request.Operation{
28102		Name:       opDescribeVpcEndpointServicePermissions,
28103		HTTPMethod: "POST",
28104		HTTPPath:   "/",
28105		Paginator: &request.Paginator{
28106			InputTokens:     []string{"NextToken"},
28107			OutputTokens:    []string{"NextToken"},
28108			LimitToken:      "MaxResults",
28109			TruncationToken: "",
28110		},
28111	}
28112
28113	if input == nil {
28114		input = &DescribeVpcEndpointServicePermissionsInput{}
28115	}
28116
28117	output = &DescribeVpcEndpointServicePermissionsOutput{}
28118	req = c.newRequest(op, input, output)
28119	return
28120}
28121
28122// DescribeVpcEndpointServicePermissions API operation for Amazon Elastic Compute Cloud.
28123//
28124// Describes the principals (service consumers) that are permitted to discover
28125// your VPC endpoint service.
28126//
28127// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28128// with awserr.Error's Code and Message methods to get detailed information about
28129// the error.
28130//
28131// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28132// API operation DescribeVpcEndpointServicePermissions for usage and error information.
28133// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissions
28134func (c *EC2) DescribeVpcEndpointServicePermissions(input *DescribeVpcEndpointServicePermissionsInput) (*DescribeVpcEndpointServicePermissionsOutput, error) {
28135	req, out := c.DescribeVpcEndpointServicePermissionsRequest(input)
28136	return out, req.Send()
28137}
28138
28139// DescribeVpcEndpointServicePermissionsWithContext is the same as DescribeVpcEndpointServicePermissions with the addition of
28140// the ability to pass a context and additional request options.
28141//
28142// See DescribeVpcEndpointServicePermissions for details on how to use this API operation.
28143//
28144// The context must be non-nil and will be used for request cancellation. If
28145// the context is nil a panic will occur. In the future the SDK may create
28146// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28147// for more information on using Contexts.
28148func (c *EC2) DescribeVpcEndpointServicePermissionsWithContext(ctx aws.Context, input *DescribeVpcEndpointServicePermissionsInput, opts ...request.Option) (*DescribeVpcEndpointServicePermissionsOutput, error) {
28149	req, out := c.DescribeVpcEndpointServicePermissionsRequest(input)
28150	req.SetContext(ctx)
28151	req.ApplyOptions(opts...)
28152	return out, req.Send()
28153}
28154
28155// DescribeVpcEndpointServicePermissionsPages iterates over the pages of a DescribeVpcEndpointServicePermissions operation,
28156// calling the "fn" function with the response data for each page. To stop
28157// iterating, return false from the fn function.
28158//
28159// See DescribeVpcEndpointServicePermissions method for more information on how to use this operation.
28160//
28161// Note: This operation can generate multiple requests to a service.
28162//
28163//    // Example iterating over at most 3 pages of a DescribeVpcEndpointServicePermissions operation.
28164//    pageNum := 0
28165//    err := client.DescribeVpcEndpointServicePermissionsPages(params,
28166//        func(page *ec2.DescribeVpcEndpointServicePermissionsOutput, lastPage bool) bool {
28167//            pageNum++
28168//            fmt.Println(page)
28169//            return pageNum <= 3
28170//        })
28171//
28172func (c *EC2) DescribeVpcEndpointServicePermissionsPages(input *DescribeVpcEndpointServicePermissionsInput, fn func(*DescribeVpcEndpointServicePermissionsOutput, bool) bool) error {
28173	return c.DescribeVpcEndpointServicePermissionsPagesWithContext(aws.BackgroundContext(), input, fn)
28174}
28175
28176// DescribeVpcEndpointServicePermissionsPagesWithContext same as DescribeVpcEndpointServicePermissionsPages except
28177// it takes a Context and allows setting request options on the pages.
28178//
28179// The context must be non-nil and will be used for request cancellation. If
28180// the context is nil a panic will occur. In the future the SDK may create
28181// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28182// for more information on using Contexts.
28183func (c *EC2) DescribeVpcEndpointServicePermissionsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointServicePermissionsInput, fn func(*DescribeVpcEndpointServicePermissionsOutput, bool) bool, opts ...request.Option) error {
28184	p := request.Pagination{
28185		NewRequest: func() (*request.Request, error) {
28186			var inCpy *DescribeVpcEndpointServicePermissionsInput
28187			if input != nil {
28188				tmp := *input
28189				inCpy = &tmp
28190			}
28191			req, _ := c.DescribeVpcEndpointServicePermissionsRequest(inCpy)
28192			req.SetContext(ctx)
28193			req.ApplyOptions(opts...)
28194			return req, nil
28195		},
28196	}
28197
28198	for p.Next() {
28199		if !fn(p.Page().(*DescribeVpcEndpointServicePermissionsOutput), !p.HasNextPage()) {
28200			break
28201		}
28202	}
28203
28204	return p.Err()
28205}
28206
28207const opDescribeVpcEndpointServices = "DescribeVpcEndpointServices"
28208
28209// DescribeVpcEndpointServicesRequest generates a "aws/request.Request" representing the
28210// client's request for the DescribeVpcEndpointServices operation. The "output" return
28211// value will be populated with the request's response once the request completes
28212// successfully.
28213//
28214// Use "Send" method on the returned Request to send the API call to the service.
28215// the "output" return value is not valid until after Send returns without error.
28216//
28217// See DescribeVpcEndpointServices for more information on using the DescribeVpcEndpointServices
28218// API call, and error handling.
28219//
28220// This method is useful when you want to inject custom logic or configuration
28221// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28222//
28223//
28224//    // Example sending a request using the DescribeVpcEndpointServicesRequest method.
28225//    req, resp := client.DescribeVpcEndpointServicesRequest(params)
28226//
28227//    err := req.Send()
28228//    if err == nil { // resp is now filled
28229//        fmt.Println(resp)
28230//    }
28231//
28232// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
28233func (c *EC2) DescribeVpcEndpointServicesRequest(input *DescribeVpcEndpointServicesInput) (req *request.Request, output *DescribeVpcEndpointServicesOutput) {
28234	op := &request.Operation{
28235		Name:       opDescribeVpcEndpointServices,
28236		HTTPMethod: "POST",
28237		HTTPPath:   "/",
28238	}
28239
28240	if input == nil {
28241		input = &DescribeVpcEndpointServicesInput{}
28242	}
28243
28244	output = &DescribeVpcEndpointServicesOutput{}
28245	req = c.newRequest(op, input, output)
28246	return
28247}
28248
28249// DescribeVpcEndpointServices API operation for Amazon Elastic Compute Cloud.
28250//
28251// Describes available services to which you can create a VPC endpoint.
28252//
28253// When the service provider and the consumer have different accounts in multiple
28254// Availability Zones, and the consumer views the VPC endpoint service information,
28255// the response only includes the common Availability Zones. For example, when
28256// the service provider account uses us-east-1a and us-east-1c and the consumer
28257// uses us-east-1a and us-east-1b, the response includes the VPC endpoint services
28258// in the common Availability Zone, us-east-1a.
28259//
28260// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28261// with awserr.Error's Code and Message methods to get detailed information about
28262// the error.
28263//
28264// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28265// API operation DescribeVpcEndpointServices for usage and error information.
28266// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
28267func (c *EC2) DescribeVpcEndpointServices(input *DescribeVpcEndpointServicesInput) (*DescribeVpcEndpointServicesOutput, error) {
28268	req, out := c.DescribeVpcEndpointServicesRequest(input)
28269	return out, req.Send()
28270}
28271
28272// DescribeVpcEndpointServicesWithContext is the same as DescribeVpcEndpointServices with the addition of
28273// the ability to pass a context and additional request options.
28274//
28275// See DescribeVpcEndpointServices for details on how to use this API operation.
28276//
28277// The context must be non-nil and will be used for request cancellation. If
28278// the context is nil a panic will occur. In the future the SDK may create
28279// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28280// for more information on using Contexts.
28281func (c *EC2) DescribeVpcEndpointServicesWithContext(ctx aws.Context, input *DescribeVpcEndpointServicesInput, opts ...request.Option) (*DescribeVpcEndpointServicesOutput, error) {
28282	req, out := c.DescribeVpcEndpointServicesRequest(input)
28283	req.SetContext(ctx)
28284	req.ApplyOptions(opts...)
28285	return out, req.Send()
28286}
28287
28288const opDescribeVpcEndpoints = "DescribeVpcEndpoints"
28289
28290// DescribeVpcEndpointsRequest generates a "aws/request.Request" representing the
28291// client's request for the DescribeVpcEndpoints operation. The "output" return
28292// value will be populated with the request's response once the request completes
28293// successfully.
28294//
28295// Use "Send" method on the returned Request to send the API call to the service.
28296// the "output" return value is not valid until after Send returns without error.
28297//
28298// See DescribeVpcEndpoints for more information on using the DescribeVpcEndpoints
28299// API call, and error handling.
28300//
28301// This method is useful when you want to inject custom logic or configuration
28302// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28303//
28304//
28305//    // Example sending a request using the DescribeVpcEndpointsRequest method.
28306//    req, resp := client.DescribeVpcEndpointsRequest(params)
28307//
28308//    err := req.Send()
28309//    if err == nil { // resp is now filled
28310//        fmt.Println(resp)
28311//    }
28312//
28313// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
28314func (c *EC2) DescribeVpcEndpointsRequest(input *DescribeVpcEndpointsInput) (req *request.Request, output *DescribeVpcEndpointsOutput) {
28315	op := &request.Operation{
28316		Name:       opDescribeVpcEndpoints,
28317		HTTPMethod: "POST",
28318		HTTPPath:   "/",
28319		Paginator: &request.Paginator{
28320			InputTokens:     []string{"NextToken"},
28321			OutputTokens:    []string{"NextToken"},
28322			LimitToken:      "MaxResults",
28323			TruncationToken: "",
28324		},
28325	}
28326
28327	if input == nil {
28328		input = &DescribeVpcEndpointsInput{}
28329	}
28330
28331	output = &DescribeVpcEndpointsOutput{}
28332	req = c.newRequest(op, input, output)
28333	return
28334}
28335
28336// DescribeVpcEndpoints API operation for Amazon Elastic Compute Cloud.
28337//
28338// Describes one or more of your VPC endpoints.
28339//
28340// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28341// with awserr.Error's Code and Message methods to get detailed information about
28342// the error.
28343//
28344// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28345// API operation DescribeVpcEndpoints for usage and error information.
28346// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
28347func (c *EC2) DescribeVpcEndpoints(input *DescribeVpcEndpointsInput) (*DescribeVpcEndpointsOutput, error) {
28348	req, out := c.DescribeVpcEndpointsRequest(input)
28349	return out, req.Send()
28350}
28351
28352// DescribeVpcEndpointsWithContext is the same as DescribeVpcEndpoints with the addition of
28353// the ability to pass a context and additional request options.
28354//
28355// See DescribeVpcEndpoints for details on how to use this API operation.
28356//
28357// The context must be non-nil and will be used for request cancellation. If
28358// the context is nil a panic will occur. In the future the SDK may create
28359// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28360// for more information on using Contexts.
28361func (c *EC2) DescribeVpcEndpointsWithContext(ctx aws.Context, input *DescribeVpcEndpointsInput, opts ...request.Option) (*DescribeVpcEndpointsOutput, error) {
28362	req, out := c.DescribeVpcEndpointsRequest(input)
28363	req.SetContext(ctx)
28364	req.ApplyOptions(opts...)
28365	return out, req.Send()
28366}
28367
28368// DescribeVpcEndpointsPages iterates over the pages of a DescribeVpcEndpoints operation,
28369// calling the "fn" function with the response data for each page. To stop
28370// iterating, return false from the fn function.
28371//
28372// See DescribeVpcEndpoints method for more information on how to use this operation.
28373//
28374// Note: This operation can generate multiple requests to a service.
28375//
28376//    // Example iterating over at most 3 pages of a DescribeVpcEndpoints operation.
28377//    pageNum := 0
28378//    err := client.DescribeVpcEndpointsPages(params,
28379//        func(page *ec2.DescribeVpcEndpointsOutput, lastPage bool) bool {
28380//            pageNum++
28381//            fmt.Println(page)
28382//            return pageNum <= 3
28383//        })
28384//
28385func (c *EC2) DescribeVpcEndpointsPages(input *DescribeVpcEndpointsInput, fn func(*DescribeVpcEndpointsOutput, bool) bool) error {
28386	return c.DescribeVpcEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
28387}
28388
28389// DescribeVpcEndpointsPagesWithContext same as DescribeVpcEndpointsPages except
28390// it takes a Context and allows setting request options on the pages.
28391//
28392// The context must be non-nil and will be used for request cancellation. If
28393// the context is nil a panic will occur. In the future the SDK may create
28394// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28395// for more information on using Contexts.
28396func (c *EC2) DescribeVpcEndpointsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointsInput, fn func(*DescribeVpcEndpointsOutput, bool) bool, opts ...request.Option) error {
28397	p := request.Pagination{
28398		NewRequest: func() (*request.Request, error) {
28399			var inCpy *DescribeVpcEndpointsInput
28400			if input != nil {
28401				tmp := *input
28402				inCpy = &tmp
28403			}
28404			req, _ := c.DescribeVpcEndpointsRequest(inCpy)
28405			req.SetContext(ctx)
28406			req.ApplyOptions(opts...)
28407			return req, nil
28408		},
28409	}
28410
28411	for p.Next() {
28412		if !fn(p.Page().(*DescribeVpcEndpointsOutput), !p.HasNextPage()) {
28413			break
28414		}
28415	}
28416
28417	return p.Err()
28418}
28419
28420const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections"
28421
28422// DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the
28423// client's request for the DescribeVpcPeeringConnections operation. The "output" return
28424// value will be populated with the request's response once the request completes
28425// successfully.
28426//
28427// Use "Send" method on the returned Request to send the API call to the service.
28428// the "output" return value is not valid until after Send returns without error.
28429//
28430// See DescribeVpcPeeringConnections for more information on using the DescribeVpcPeeringConnections
28431// API call, and error handling.
28432//
28433// This method is useful when you want to inject custom logic or configuration
28434// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28435//
28436//
28437//    // Example sending a request using the DescribeVpcPeeringConnectionsRequest method.
28438//    req, resp := client.DescribeVpcPeeringConnectionsRequest(params)
28439//
28440//    err := req.Send()
28441//    if err == nil { // resp is now filled
28442//        fmt.Println(resp)
28443//    }
28444//
28445// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
28446func (c *EC2) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConnectionsInput) (req *request.Request, output *DescribeVpcPeeringConnectionsOutput) {
28447	op := &request.Operation{
28448		Name:       opDescribeVpcPeeringConnections,
28449		HTTPMethod: "POST",
28450		HTTPPath:   "/",
28451		Paginator: &request.Paginator{
28452			InputTokens:     []string{"NextToken"},
28453			OutputTokens:    []string{"NextToken"},
28454			LimitToken:      "MaxResults",
28455			TruncationToken: "",
28456		},
28457	}
28458
28459	if input == nil {
28460		input = &DescribeVpcPeeringConnectionsInput{}
28461	}
28462
28463	output = &DescribeVpcPeeringConnectionsOutput{}
28464	req = c.newRequest(op, input, output)
28465	return
28466}
28467
28468// DescribeVpcPeeringConnections API operation for Amazon Elastic Compute Cloud.
28469//
28470// Describes one or more of your VPC peering connections.
28471//
28472// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28473// with awserr.Error's Code and Message methods to get detailed information about
28474// the error.
28475//
28476// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28477// API operation DescribeVpcPeeringConnections for usage and error information.
28478// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
28479func (c *EC2) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) {
28480	req, out := c.DescribeVpcPeeringConnectionsRequest(input)
28481	return out, req.Send()
28482}
28483
28484// DescribeVpcPeeringConnectionsWithContext is the same as DescribeVpcPeeringConnections with the addition of
28485// the ability to pass a context and additional request options.
28486//
28487// See DescribeVpcPeeringConnections for details on how to use this API operation.
28488//
28489// The context must be non-nil and will be used for request cancellation. If
28490// the context is nil a panic will occur. In the future the SDK may create
28491// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28492// for more information on using Contexts.
28493func (c *EC2) DescribeVpcPeeringConnectionsWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.Option) (*DescribeVpcPeeringConnectionsOutput, error) {
28494	req, out := c.DescribeVpcPeeringConnectionsRequest(input)
28495	req.SetContext(ctx)
28496	req.ApplyOptions(opts...)
28497	return out, req.Send()
28498}
28499
28500// DescribeVpcPeeringConnectionsPages iterates over the pages of a DescribeVpcPeeringConnections operation,
28501// calling the "fn" function with the response data for each page. To stop
28502// iterating, return false from the fn function.
28503//
28504// See DescribeVpcPeeringConnections method for more information on how to use this operation.
28505//
28506// Note: This operation can generate multiple requests to a service.
28507//
28508//    // Example iterating over at most 3 pages of a DescribeVpcPeeringConnections operation.
28509//    pageNum := 0
28510//    err := client.DescribeVpcPeeringConnectionsPages(params,
28511//        func(page *ec2.DescribeVpcPeeringConnectionsOutput, lastPage bool) bool {
28512//            pageNum++
28513//            fmt.Println(page)
28514//            return pageNum <= 3
28515//        })
28516//
28517func (c *EC2) DescribeVpcPeeringConnectionsPages(input *DescribeVpcPeeringConnectionsInput, fn func(*DescribeVpcPeeringConnectionsOutput, bool) bool) error {
28518	return c.DescribeVpcPeeringConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
28519}
28520
28521// DescribeVpcPeeringConnectionsPagesWithContext same as DescribeVpcPeeringConnectionsPages except
28522// it takes a Context and allows setting request options on the pages.
28523//
28524// The context must be non-nil and will be used for request cancellation. If
28525// the context is nil a panic will occur. In the future the SDK may create
28526// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28527// for more information on using Contexts.
28528func (c *EC2) DescribeVpcPeeringConnectionsPagesWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, fn func(*DescribeVpcPeeringConnectionsOutput, bool) bool, opts ...request.Option) error {
28529	p := request.Pagination{
28530		NewRequest: func() (*request.Request, error) {
28531			var inCpy *DescribeVpcPeeringConnectionsInput
28532			if input != nil {
28533				tmp := *input
28534				inCpy = &tmp
28535			}
28536			req, _ := c.DescribeVpcPeeringConnectionsRequest(inCpy)
28537			req.SetContext(ctx)
28538			req.ApplyOptions(opts...)
28539			return req, nil
28540		},
28541	}
28542
28543	for p.Next() {
28544		if !fn(p.Page().(*DescribeVpcPeeringConnectionsOutput), !p.HasNextPage()) {
28545			break
28546		}
28547	}
28548
28549	return p.Err()
28550}
28551
28552const opDescribeVpcs = "DescribeVpcs"
28553
28554// DescribeVpcsRequest generates a "aws/request.Request" representing the
28555// client's request for the DescribeVpcs operation. The "output" return
28556// value will be populated with the request's response once the request completes
28557// successfully.
28558//
28559// Use "Send" method on the returned Request to send the API call to the service.
28560// the "output" return value is not valid until after Send returns without error.
28561//
28562// See DescribeVpcs for more information on using the DescribeVpcs
28563// API call, and error handling.
28564//
28565// This method is useful when you want to inject custom logic or configuration
28566// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28567//
28568//
28569//    // Example sending a request using the DescribeVpcsRequest method.
28570//    req, resp := client.DescribeVpcsRequest(params)
28571//
28572//    err := req.Send()
28573//    if err == nil { // resp is now filled
28574//        fmt.Println(resp)
28575//    }
28576//
28577// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
28578func (c *EC2) DescribeVpcsRequest(input *DescribeVpcsInput) (req *request.Request, output *DescribeVpcsOutput) {
28579	op := &request.Operation{
28580		Name:       opDescribeVpcs,
28581		HTTPMethod: "POST",
28582		HTTPPath:   "/",
28583		Paginator: &request.Paginator{
28584			InputTokens:     []string{"NextToken"},
28585			OutputTokens:    []string{"NextToken"},
28586			LimitToken:      "MaxResults",
28587			TruncationToken: "",
28588		},
28589	}
28590
28591	if input == nil {
28592		input = &DescribeVpcsInput{}
28593	}
28594
28595	output = &DescribeVpcsOutput{}
28596	req = c.newRequest(op, input, output)
28597	return
28598}
28599
28600// DescribeVpcs API operation for Amazon Elastic Compute Cloud.
28601//
28602// Describes one or more of your VPCs.
28603//
28604// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28605// with awserr.Error's Code and Message methods to get detailed information about
28606// the error.
28607//
28608// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28609// API operation DescribeVpcs for usage and error information.
28610// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
28611func (c *EC2) DescribeVpcs(input *DescribeVpcsInput) (*DescribeVpcsOutput, error) {
28612	req, out := c.DescribeVpcsRequest(input)
28613	return out, req.Send()
28614}
28615
28616// DescribeVpcsWithContext is the same as DescribeVpcs with the addition of
28617// the ability to pass a context and additional request options.
28618//
28619// See DescribeVpcs for details on how to use this API operation.
28620//
28621// The context must be non-nil and will be used for request cancellation. If
28622// the context is nil a panic will occur. In the future the SDK may create
28623// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28624// for more information on using Contexts.
28625func (c *EC2) DescribeVpcsWithContext(ctx aws.Context, input *DescribeVpcsInput, opts ...request.Option) (*DescribeVpcsOutput, error) {
28626	req, out := c.DescribeVpcsRequest(input)
28627	req.SetContext(ctx)
28628	req.ApplyOptions(opts...)
28629	return out, req.Send()
28630}
28631
28632// DescribeVpcsPages iterates over the pages of a DescribeVpcs operation,
28633// calling the "fn" function with the response data for each page. To stop
28634// iterating, return false from the fn function.
28635//
28636// See DescribeVpcs method for more information on how to use this operation.
28637//
28638// Note: This operation can generate multiple requests to a service.
28639//
28640//    // Example iterating over at most 3 pages of a DescribeVpcs operation.
28641//    pageNum := 0
28642//    err := client.DescribeVpcsPages(params,
28643//        func(page *ec2.DescribeVpcsOutput, lastPage bool) bool {
28644//            pageNum++
28645//            fmt.Println(page)
28646//            return pageNum <= 3
28647//        })
28648//
28649func (c *EC2) DescribeVpcsPages(input *DescribeVpcsInput, fn func(*DescribeVpcsOutput, bool) bool) error {
28650	return c.DescribeVpcsPagesWithContext(aws.BackgroundContext(), input, fn)
28651}
28652
28653// DescribeVpcsPagesWithContext same as DescribeVpcsPages except
28654// it takes a Context and allows setting request options on the pages.
28655//
28656// The context must be non-nil and will be used for request cancellation. If
28657// the context is nil a panic will occur. In the future the SDK may create
28658// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28659// for more information on using Contexts.
28660func (c *EC2) DescribeVpcsPagesWithContext(ctx aws.Context, input *DescribeVpcsInput, fn func(*DescribeVpcsOutput, bool) bool, opts ...request.Option) error {
28661	p := request.Pagination{
28662		NewRequest: func() (*request.Request, error) {
28663			var inCpy *DescribeVpcsInput
28664			if input != nil {
28665				tmp := *input
28666				inCpy = &tmp
28667			}
28668			req, _ := c.DescribeVpcsRequest(inCpy)
28669			req.SetContext(ctx)
28670			req.ApplyOptions(opts...)
28671			return req, nil
28672		},
28673	}
28674
28675	for p.Next() {
28676		if !fn(p.Page().(*DescribeVpcsOutput), !p.HasNextPage()) {
28677			break
28678		}
28679	}
28680
28681	return p.Err()
28682}
28683
28684const opDescribeVpnConnections = "DescribeVpnConnections"
28685
28686// DescribeVpnConnectionsRequest generates a "aws/request.Request" representing the
28687// client's request for the DescribeVpnConnections operation. The "output" return
28688// value will be populated with the request's response once the request completes
28689// successfully.
28690//
28691// Use "Send" method on the returned Request to send the API call to the service.
28692// the "output" return value is not valid until after Send returns without error.
28693//
28694// See DescribeVpnConnections for more information on using the DescribeVpnConnections
28695// API call, and error handling.
28696//
28697// This method is useful when you want to inject custom logic or configuration
28698// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28699//
28700//
28701//    // Example sending a request using the DescribeVpnConnectionsRequest method.
28702//    req, resp := client.DescribeVpnConnectionsRequest(params)
28703//
28704//    err := req.Send()
28705//    if err == nil { // resp is now filled
28706//        fmt.Println(resp)
28707//    }
28708//
28709// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
28710func (c *EC2) DescribeVpnConnectionsRequest(input *DescribeVpnConnectionsInput) (req *request.Request, output *DescribeVpnConnectionsOutput) {
28711	op := &request.Operation{
28712		Name:       opDescribeVpnConnections,
28713		HTTPMethod: "POST",
28714		HTTPPath:   "/",
28715	}
28716
28717	if input == nil {
28718		input = &DescribeVpnConnectionsInput{}
28719	}
28720
28721	output = &DescribeVpnConnectionsOutput{}
28722	req = c.newRequest(op, input, output)
28723	return
28724}
28725
28726// DescribeVpnConnections API operation for Amazon Elastic Compute Cloud.
28727//
28728// Describes one or more of your VPN connections.
28729//
28730// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
28731// in the AWS Site-to-Site VPN User Guide.
28732//
28733// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28734// with awserr.Error's Code and Message methods to get detailed information about
28735// the error.
28736//
28737// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28738// API operation DescribeVpnConnections for usage and error information.
28739// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
28740func (c *EC2) DescribeVpnConnections(input *DescribeVpnConnectionsInput) (*DescribeVpnConnectionsOutput, error) {
28741	req, out := c.DescribeVpnConnectionsRequest(input)
28742	return out, req.Send()
28743}
28744
28745// DescribeVpnConnectionsWithContext is the same as DescribeVpnConnections with the addition of
28746// the ability to pass a context and additional request options.
28747//
28748// See DescribeVpnConnections for details on how to use this API operation.
28749//
28750// The context must be non-nil and will be used for request cancellation. If
28751// the context is nil a panic will occur. In the future the SDK may create
28752// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28753// for more information on using Contexts.
28754func (c *EC2) DescribeVpnConnectionsWithContext(ctx aws.Context, input *DescribeVpnConnectionsInput, opts ...request.Option) (*DescribeVpnConnectionsOutput, error) {
28755	req, out := c.DescribeVpnConnectionsRequest(input)
28756	req.SetContext(ctx)
28757	req.ApplyOptions(opts...)
28758	return out, req.Send()
28759}
28760
28761const opDescribeVpnGateways = "DescribeVpnGateways"
28762
28763// DescribeVpnGatewaysRequest generates a "aws/request.Request" representing the
28764// client's request for the DescribeVpnGateways operation. The "output" return
28765// value will be populated with the request's response once the request completes
28766// successfully.
28767//
28768// Use "Send" method on the returned Request to send the API call to the service.
28769// the "output" return value is not valid until after Send returns without error.
28770//
28771// See DescribeVpnGateways for more information on using the DescribeVpnGateways
28772// API call, and error handling.
28773//
28774// This method is useful when you want to inject custom logic or configuration
28775// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28776//
28777//
28778//    // Example sending a request using the DescribeVpnGatewaysRequest method.
28779//    req, resp := client.DescribeVpnGatewaysRequest(params)
28780//
28781//    err := req.Send()
28782//    if err == nil { // resp is now filled
28783//        fmt.Println(resp)
28784//    }
28785//
28786// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
28787func (c *EC2) DescribeVpnGatewaysRequest(input *DescribeVpnGatewaysInput) (req *request.Request, output *DescribeVpnGatewaysOutput) {
28788	op := &request.Operation{
28789		Name:       opDescribeVpnGateways,
28790		HTTPMethod: "POST",
28791		HTTPPath:   "/",
28792	}
28793
28794	if input == nil {
28795		input = &DescribeVpnGatewaysInput{}
28796	}
28797
28798	output = &DescribeVpnGatewaysOutput{}
28799	req = c.newRequest(op, input, output)
28800	return
28801}
28802
28803// DescribeVpnGateways API operation for Amazon Elastic Compute Cloud.
28804//
28805// Describes one or more of your virtual private gateways.
28806//
28807// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
28808// in the AWS Site-to-Site VPN User Guide.
28809//
28810// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28811// with awserr.Error's Code and Message methods to get detailed information about
28812// the error.
28813//
28814// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28815// API operation DescribeVpnGateways for usage and error information.
28816// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
28817func (c *EC2) DescribeVpnGateways(input *DescribeVpnGatewaysInput) (*DescribeVpnGatewaysOutput, error) {
28818	req, out := c.DescribeVpnGatewaysRequest(input)
28819	return out, req.Send()
28820}
28821
28822// DescribeVpnGatewaysWithContext is the same as DescribeVpnGateways with the addition of
28823// the ability to pass a context and additional request options.
28824//
28825// See DescribeVpnGateways for details on how to use this API operation.
28826//
28827// The context must be non-nil and will be used for request cancellation. If
28828// the context is nil a panic will occur. In the future the SDK may create
28829// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28830// for more information on using Contexts.
28831func (c *EC2) DescribeVpnGatewaysWithContext(ctx aws.Context, input *DescribeVpnGatewaysInput, opts ...request.Option) (*DescribeVpnGatewaysOutput, error) {
28832	req, out := c.DescribeVpnGatewaysRequest(input)
28833	req.SetContext(ctx)
28834	req.ApplyOptions(opts...)
28835	return out, req.Send()
28836}
28837
28838const opDetachClassicLinkVpc = "DetachClassicLinkVpc"
28839
28840// DetachClassicLinkVpcRequest generates a "aws/request.Request" representing the
28841// client's request for the DetachClassicLinkVpc operation. The "output" return
28842// value will be populated with the request's response once the request completes
28843// successfully.
28844//
28845// Use "Send" method on the returned Request to send the API call to the service.
28846// the "output" return value is not valid until after Send returns without error.
28847//
28848// See DetachClassicLinkVpc for more information on using the DetachClassicLinkVpc
28849// API call, and error handling.
28850//
28851// This method is useful when you want to inject custom logic or configuration
28852// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28853//
28854//
28855//    // Example sending a request using the DetachClassicLinkVpcRequest method.
28856//    req, resp := client.DetachClassicLinkVpcRequest(params)
28857//
28858//    err := req.Send()
28859//    if err == nil { // resp is now filled
28860//        fmt.Println(resp)
28861//    }
28862//
28863// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
28864func (c *EC2) DetachClassicLinkVpcRequest(input *DetachClassicLinkVpcInput) (req *request.Request, output *DetachClassicLinkVpcOutput) {
28865	op := &request.Operation{
28866		Name:       opDetachClassicLinkVpc,
28867		HTTPMethod: "POST",
28868		HTTPPath:   "/",
28869	}
28870
28871	if input == nil {
28872		input = &DetachClassicLinkVpcInput{}
28873	}
28874
28875	output = &DetachClassicLinkVpcOutput{}
28876	req = c.newRequest(op, input, output)
28877	return
28878}
28879
28880// DetachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
28881//
28882// Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance
28883// has been unlinked, the VPC security groups are no longer associated with
28884// it. An instance is automatically unlinked from a VPC when it's stopped.
28885//
28886// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28887// with awserr.Error's Code and Message methods to get detailed information about
28888// the error.
28889//
28890// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28891// API operation DetachClassicLinkVpc for usage and error information.
28892// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
28893func (c *EC2) DetachClassicLinkVpc(input *DetachClassicLinkVpcInput) (*DetachClassicLinkVpcOutput, error) {
28894	req, out := c.DetachClassicLinkVpcRequest(input)
28895	return out, req.Send()
28896}
28897
28898// DetachClassicLinkVpcWithContext is the same as DetachClassicLinkVpc with the addition of
28899// the ability to pass a context and additional request options.
28900//
28901// See DetachClassicLinkVpc for details on how to use this API operation.
28902//
28903// The context must be non-nil and will be used for request cancellation. If
28904// the context is nil a panic will occur. In the future the SDK may create
28905// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28906// for more information on using Contexts.
28907func (c *EC2) DetachClassicLinkVpcWithContext(ctx aws.Context, input *DetachClassicLinkVpcInput, opts ...request.Option) (*DetachClassicLinkVpcOutput, error) {
28908	req, out := c.DetachClassicLinkVpcRequest(input)
28909	req.SetContext(ctx)
28910	req.ApplyOptions(opts...)
28911	return out, req.Send()
28912}
28913
28914const opDetachInternetGateway = "DetachInternetGateway"
28915
28916// DetachInternetGatewayRequest generates a "aws/request.Request" representing the
28917// client's request for the DetachInternetGateway operation. The "output" return
28918// value will be populated with the request's response once the request completes
28919// successfully.
28920//
28921// Use "Send" method on the returned Request to send the API call to the service.
28922// the "output" return value is not valid until after Send returns without error.
28923//
28924// See DetachInternetGateway for more information on using the DetachInternetGateway
28925// API call, and error handling.
28926//
28927// This method is useful when you want to inject custom logic or configuration
28928// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28929//
28930//
28931//    // Example sending a request using the DetachInternetGatewayRequest method.
28932//    req, resp := client.DetachInternetGatewayRequest(params)
28933//
28934//    err := req.Send()
28935//    if err == nil { // resp is now filled
28936//        fmt.Println(resp)
28937//    }
28938//
28939// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
28940func (c *EC2) DetachInternetGatewayRequest(input *DetachInternetGatewayInput) (req *request.Request, output *DetachInternetGatewayOutput) {
28941	op := &request.Operation{
28942		Name:       opDetachInternetGateway,
28943		HTTPMethod: "POST",
28944		HTTPPath:   "/",
28945	}
28946
28947	if input == nil {
28948		input = &DetachInternetGatewayInput{}
28949	}
28950
28951	output = &DetachInternetGatewayOutput{}
28952	req = c.newRequest(op, input, output)
28953	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
28954	return
28955}
28956
28957// DetachInternetGateway API operation for Amazon Elastic Compute Cloud.
28958//
28959// Detaches an internet gateway from a VPC, disabling connectivity between the
28960// internet and the VPC. The VPC must not contain any running instances with
28961// Elastic IP addresses or public IPv4 addresses.
28962//
28963// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28964// with awserr.Error's Code and Message methods to get detailed information about
28965// the error.
28966//
28967// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28968// API operation DetachInternetGateway for usage and error information.
28969// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
28970func (c *EC2) DetachInternetGateway(input *DetachInternetGatewayInput) (*DetachInternetGatewayOutput, error) {
28971	req, out := c.DetachInternetGatewayRequest(input)
28972	return out, req.Send()
28973}
28974
28975// DetachInternetGatewayWithContext is the same as DetachInternetGateway with the addition of
28976// the ability to pass a context and additional request options.
28977//
28978// See DetachInternetGateway for details on how to use this API operation.
28979//
28980// The context must be non-nil and will be used for request cancellation. If
28981// the context is nil a panic will occur. In the future the SDK may create
28982// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28983// for more information on using Contexts.
28984func (c *EC2) DetachInternetGatewayWithContext(ctx aws.Context, input *DetachInternetGatewayInput, opts ...request.Option) (*DetachInternetGatewayOutput, error) {
28985	req, out := c.DetachInternetGatewayRequest(input)
28986	req.SetContext(ctx)
28987	req.ApplyOptions(opts...)
28988	return out, req.Send()
28989}
28990
28991const opDetachNetworkInterface = "DetachNetworkInterface"
28992
28993// DetachNetworkInterfaceRequest generates a "aws/request.Request" representing the
28994// client's request for the DetachNetworkInterface operation. The "output" return
28995// value will be populated with the request's response once the request completes
28996// successfully.
28997//
28998// Use "Send" method on the returned Request to send the API call to the service.
28999// the "output" return value is not valid until after Send returns without error.
29000//
29001// See DetachNetworkInterface for more information on using the DetachNetworkInterface
29002// API call, and error handling.
29003//
29004// This method is useful when you want to inject custom logic or configuration
29005// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29006//
29007//
29008//    // Example sending a request using the DetachNetworkInterfaceRequest method.
29009//    req, resp := client.DetachNetworkInterfaceRequest(params)
29010//
29011//    err := req.Send()
29012//    if err == nil { // resp is now filled
29013//        fmt.Println(resp)
29014//    }
29015//
29016// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
29017func (c *EC2) DetachNetworkInterfaceRequest(input *DetachNetworkInterfaceInput) (req *request.Request, output *DetachNetworkInterfaceOutput) {
29018	op := &request.Operation{
29019		Name:       opDetachNetworkInterface,
29020		HTTPMethod: "POST",
29021		HTTPPath:   "/",
29022	}
29023
29024	if input == nil {
29025		input = &DetachNetworkInterfaceInput{}
29026	}
29027
29028	output = &DetachNetworkInterfaceOutput{}
29029	req = c.newRequest(op, input, output)
29030	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
29031	return
29032}
29033
29034// DetachNetworkInterface API operation for Amazon Elastic Compute Cloud.
29035//
29036// Detaches a network interface from an instance.
29037//
29038// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29039// with awserr.Error's Code and Message methods to get detailed information about
29040// the error.
29041//
29042// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29043// API operation DetachNetworkInterface for usage and error information.
29044// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
29045func (c *EC2) DetachNetworkInterface(input *DetachNetworkInterfaceInput) (*DetachNetworkInterfaceOutput, error) {
29046	req, out := c.DetachNetworkInterfaceRequest(input)
29047	return out, req.Send()
29048}
29049
29050// DetachNetworkInterfaceWithContext is the same as DetachNetworkInterface with the addition of
29051// the ability to pass a context and additional request options.
29052//
29053// See DetachNetworkInterface for details on how to use this API operation.
29054//
29055// The context must be non-nil and will be used for request cancellation. If
29056// the context is nil a panic will occur. In the future the SDK may create
29057// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29058// for more information on using Contexts.
29059func (c *EC2) DetachNetworkInterfaceWithContext(ctx aws.Context, input *DetachNetworkInterfaceInput, opts ...request.Option) (*DetachNetworkInterfaceOutput, error) {
29060	req, out := c.DetachNetworkInterfaceRequest(input)
29061	req.SetContext(ctx)
29062	req.ApplyOptions(opts...)
29063	return out, req.Send()
29064}
29065
29066const opDetachVolume = "DetachVolume"
29067
29068// DetachVolumeRequest generates a "aws/request.Request" representing the
29069// client's request for the DetachVolume operation. The "output" return
29070// value will be populated with the request's response once the request completes
29071// successfully.
29072//
29073// Use "Send" method on the returned Request to send the API call to the service.
29074// the "output" return value is not valid until after Send returns without error.
29075//
29076// See DetachVolume for more information on using the DetachVolume
29077// API call, and error handling.
29078//
29079// This method is useful when you want to inject custom logic or configuration
29080// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29081//
29082//
29083//    // Example sending a request using the DetachVolumeRequest method.
29084//    req, resp := client.DetachVolumeRequest(params)
29085//
29086//    err := req.Send()
29087//    if err == nil { // resp is now filled
29088//        fmt.Println(resp)
29089//    }
29090//
29091// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
29092func (c *EC2) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Request, output *VolumeAttachment) {
29093	op := &request.Operation{
29094		Name:       opDetachVolume,
29095		HTTPMethod: "POST",
29096		HTTPPath:   "/",
29097	}
29098
29099	if input == nil {
29100		input = &DetachVolumeInput{}
29101	}
29102
29103	output = &VolumeAttachment{}
29104	req = c.newRequest(op, input, output)
29105	return
29106}
29107
29108// DetachVolume API operation for Amazon Elastic Compute Cloud.
29109//
29110// Detaches an EBS volume from an instance. Make sure to unmount any file systems
29111// on the device within your operating system before detaching the volume. Failure
29112// to do so can result in the volume becoming stuck in the busy state while
29113// detaching. If this happens, detachment can be delayed indefinitely until
29114// you unmount the volume, force detachment, reboot the instance, or all three.
29115// If an EBS volume is the root device of an instance, it can't be detached
29116// while the instance is running. To detach the root volume, stop the instance
29117// first.
29118//
29119// When a volume with an Amazon Web Services Marketplace product code is detached
29120// from an instance, the product code is no longer associated with the instance.
29121//
29122// For more information, see Detach an Amazon EBS volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html)
29123// in the Amazon Elastic Compute Cloud User Guide.
29124//
29125// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29126// with awserr.Error's Code and Message methods to get detailed information about
29127// the error.
29128//
29129// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29130// API operation DetachVolume for usage and error information.
29131// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
29132func (c *EC2) DetachVolume(input *DetachVolumeInput) (*VolumeAttachment, error) {
29133	req, out := c.DetachVolumeRequest(input)
29134	return out, req.Send()
29135}
29136
29137// DetachVolumeWithContext is the same as DetachVolume with the addition of
29138// the ability to pass a context and additional request options.
29139//
29140// See DetachVolume for details on how to use this API operation.
29141//
29142// The context must be non-nil and will be used for request cancellation. If
29143// the context is nil a panic will occur. In the future the SDK may create
29144// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29145// for more information on using Contexts.
29146func (c *EC2) DetachVolumeWithContext(ctx aws.Context, input *DetachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
29147	req, out := c.DetachVolumeRequest(input)
29148	req.SetContext(ctx)
29149	req.ApplyOptions(opts...)
29150	return out, req.Send()
29151}
29152
29153const opDetachVpnGateway = "DetachVpnGateway"
29154
29155// DetachVpnGatewayRequest generates a "aws/request.Request" representing the
29156// client's request for the DetachVpnGateway operation. The "output" return
29157// value will be populated with the request's response once the request completes
29158// successfully.
29159//
29160// Use "Send" method on the returned Request to send the API call to the service.
29161// the "output" return value is not valid until after Send returns without error.
29162//
29163// See DetachVpnGateway for more information on using the DetachVpnGateway
29164// API call, and error handling.
29165//
29166// This method is useful when you want to inject custom logic or configuration
29167// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29168//
29169//
29170//    // Example sending a request using the DetachVpnGatewayRequest method.
29171//    req, resp := client.DetachVpnGatewayRequest(params)
29172//
29173//    err := req.Send()
29174//    if err == nil { // resp is now filled
29175//        fmt.Println(resp)
29176//    }
29177//
29178// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
29179func (c *EC2) DetachVpnGatewayRequest(input *DetachVpnGatewayInput) (req *request.Request, output *DetachVpnGatewayOutput) {
29180	op := &request.Operation{
29181		Name:       opDetachVpnGateway,
29182		HTTPMethod: "POST",
29183		HTTPPath:   "/",
29184	}
29185
29186	if input == nil {
29187		input = &DetachVpnGatewayInput{}
29188	}
29189
29190	output = &DetachVpnGatewayOutput{}
29191	req = c.newRequest(op, input, output)
29192	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
29193	return
29194}
29195
29196// DetachVpnGateway API operation for Amazon Elastic Compute Cloud.
29197//
29198// Detaches a virtual private gateway from a VPC. You do this if you're planning
29199// to turn off the VPC and not use it anymore. You can confirm a virtual private
29200// gateway has been completely detached from a VPC by describing the virtual
29201// private gateway (any attachments to the virtual private gateway are also
29202// described).
29203//
29204// You must wait for the attachment's state to switch to detached before you
29205// can delete the VPC or attach a different VPC to the virtual private gateway.
29206//
29207// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29208// with awserr.Error's Code and Message methods to get detailed information about
29209// the error.
29210//
29211// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29212// API operation DetachVpnGateway for usage and error information.
29213// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
29214func (c *EC2) DetachVpnGateway(input *DetachVpnGatewayInput) (*DetachVpnGatewayOutput, error) {
29215	req, out := c.DetachVpnGatewayRequest(input)
29216	return out, req.Send()
29217}
29218
29219// DetachVpnGatewayWithContext is the same as DetachVpnGateway with the addition of
29220// the ability to pass a context and additional request options.
29221//
29222// See DetachVpnGateway for details on how to use this API operation.
29223//
29224// The context must be non-nil and will be used for request cancellation. If
29225// the context is nil a panic will occur. In the future the SDK may create
29226// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29227// for more information on using Contexts.
29228func (c *EC2) DetachVpnGatewayWithContext(ctx aws.Context, input *DetachVpnGatewayInput, opts ...request.Option) (*DetachVpnGatewayOutput, error) {
29229	req, out := c.DetachVpnGatewayRequest(input)
29230	req.SetContext(ctx)
29231	req.ApplyOptions(opts...)
29232	return out, req.Send()
29233}
29234
29235const opDisableEbsEncryptionByDefault = "DisableEbsEncryptionByDefault"
29236
29237// DisableEbsEncryptionByDefaultRequest generates a "aws/request.Request" representing the
29238// client's request for the DisableEbsEncryptionByDefault operation. The "output" return
29239// value will be populated with the request's response once the request completes
29240// successfully.
29241//
29242// Use "Send" method on the returned Request to send the API call to the service.
29243// the "output" return value is not valid until after Send returns without error.
29244//
29245// See DisableEbsEncryptionByDefault for more information on using the DisableEbsEncryptionByDefault
29246// API call, and error handling.
29247//
29248// This method is useful when you want to inject custom logic or configuration
29249// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29250//
29251//
29252//    // Example sending a request using the DisableEbsEncryptionByDefaultRequest method.
29253//    req, resp := client.DisableEbsEncryptionByDefaultRequest(params)
29254//
29255//    err := req.Send()
29256//    if err == nil { // resp is now filled
29257//        fmt.Println(resp)
29258//    }
29259//
29260// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableEbsEncryptionByDefault
29261func (c *EC2) DisableEbsEncryptionByDefaultRequest(input *DisableEbsEncryptionByDefaultInput) (req *request.Request, output *DisableEbsEncryptionByDefaultOutput) {
29262	op := &request.Operation{
29263		Name:       opDisableEbsEncryptionByDefault,
29264		HTTPMethod: "POST",
29265		HTTPPath:   "/",
29266	}
29267
29268	if input == nil {
29269		input = &DisableEbsEncryptionByDefaultInput{}
29270	}
29271
29272	output = &DisableEbsEncryptionByDefaultOutput{}
29273	req = c.newRequest(op, input, output)
29274	return
29275}
29276
29277// DisableEbsEncryptionByDefault API operation for Amazon Elastic Compute Cloud.
29278//
29279// Disables EBS encryption by default for your account in the current Region.
29280//
29281// After you disable encryption by default, you can still create encrypted volumes
29282// by enabling encryption when you create each volume.
29283//
29284// Disabling encryption by default does not change the encryption status of
29285// your existing volumes.
29286//
29287// For more information, see Amazon EBS encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
29288// in the Amazon Elastic Compute Cloud User Guide.
29289//
29290// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29291// with awserr.Error's Code and Message methods to get detailed information about
29292// the error.
29293//
29294// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29295// API operation DisableEbsEncryptionByDefault for usage and error information.
29296// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableEbsEncryptionByDefault
29297func (c *EC2) DisableEbsEncryptionByDefault(input *DisableEbsEncryptionByDefaultInput) (*DisableEbsEncryptionByDefaultOutput, error) {
29298	req, out := c.DisableEbsEncryptionByDefaultRequest(input)
29299	return out, req.Send()
29300}
29301
29302// DisableEbsEncryptionByDefaultWithContext is the same as DisableEbsEncryptionByDefault with the addition of
29303// the ability to pass a context and additional request options.
29304//
29305// See DisableEbsEncryptionByDefault for details on how to use this API operation.
29306//
29307// The context must be non-nil and will be used for request cancellation. If
29308// the context is nil a panic will occur. In the future the SDK may create
29309// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29310// for more information on using Contexts.
29311func (c *EC2) DisableEbsEncryptionByDefaultWithContext(ctx aws.Context, input *DisableEbsEncryptionByDefaultInput, opts ...request.Option) (*DisableEbsEncryptionByDefaultOutput, error) {
29312	req, out := c.DisableEbsEncryptionByDefaultRequest(input)
29313	req.SetContext(ctx)
29314	req.ApplyOptions(opts...)
29315	return out, req.Send()
29316}
29317
29318const opDisableFastSnapshotRestores = "DisableFastSnapshotRestores"
29319
29320// DisableFastSnapshotRestoresRequest generates a "aws/request.Request" representing the
29321// client's request for the DisableFastSnapshotRestores operation. The "output" return
29322// value will be populated with the request's response once the request completes
29323// successfully.
29324//
29325// Use "Send" method on the returned Request to send the API call to the service.
29326// the "output" return value is not valid until after Send returns without error.
29327//
29328// See DisableFastSnapshotRestores for more information on using the DisableFastSnapshotRestores
29329// API call, and error handling.
29330//
29331// This method is useful when you want to inject custom logic or configuration
29332// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29333//
29334//
29335//    // Example sending a request using the DisableFastSnapshotRestoresRequest method.
29336//    req, resp := client.DisableFastSnapshotRestoresRequest(params)
29337//
29338//    err := req.Send()
29339//    if err == nil { // resp is now filled
29340//        fmt.Println(resp)
29341//    }
29342//
29343// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableFastSnapshotRestores
29344func (c *EC2) DisableFastSnapshotRestoresRequest(input *DisableFastSnapshotRestoresInput) (req *request.Request, output *DisableFastSnapshotRestoresOutput) {
29345	op := &request.Operation{
29346		Name:       opDisableFastSnapshotRestores,
29347		HTTPMethod: "POST",
29348		HTTPPath:   "/",
29349	}
29350
29351	if input == nil {
29352		input = &DisableFastSnapshotRestoresInput{}
29353	}
29354
29355	output = &DisableFastSnapshotRestoresOutput{}
29356	req = c.newRequest(op, input, output)
29357	return
29358}
29359
29360// DisableFastSnapshotRestores API operation for Amazon Elastic Compute Cloud.
29361//
29362// Disables fast snapshot restores for the specified snapshots in the specified
29363// Availability Zones.
29364//
29365// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29366// with awserr.Error's Code and Message methods to get detailed information about
29367// the error.
29368//
29369// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29370// API operation DisableFastSnapshotRestores for usage and error information.
29371// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableFastSnapshotRestores
29372func (c *EC2) DisableFastSnapshotRestores(input *DisableFastSnapshotRestoresInput) (*DisableFastSnapshotRestoresOutput, error) {
29373	req, out := c.DisableFastSnapshotRestoresRequest(input)
29374	return out, req.Send()
29375}
29376
29377// DisableFastSnapshotRestoresWithContext is the same as DisableFastSnapshotRestores with the addition of
29378// the ability to pass a context and additional request options.
29379//
29380// See DisableFastSnapshotRestores for details on how to use this API operation.
29381//
29382// The context must be non-nil and will be used for request cancellation. If
29383// the context is nil a panic will occur. In the future the SDK may create
29384// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29385// for more information on using Contexts.
29386func (c *EC2) DisableFastSnapshotRestoresWithContext(ctx aws.Context, input *DisableFastSnapshotRestoresInput, opts ...request.Option) (*DisableFastSnapshotRestoresOutput, error) {
29387	req, out := c.DisableFastSnapshotRestoresRequest(input)
29388	req.SetContext(ctx)
29389	req.ApplyOptions(opts...)
29390	return out, req.Send()
29391}
29392
29393const opDisableImageDeprecation = "DisableImageDeprecation"
29394
29395// DisableImageDeprecationRequest generates a "aws/request.Request" representing the
29396// client's request for the DisableImageDeprecation operation. The "output" return
29397// value will be populated with the request's response once the request completes
29398// successfully.
29399//
29400// Use "Send" method on the returned Request to send the API call to the service.
29401// the "output" return value is not valid until after Send returns without error.
29402//
29403// See DisableImageDeprecation for more information on using the DisableImageDeprecation
29404// API call, and error handling.
29405//
29406// This method is useful when you want to inject custom logic or configuration
29407// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29408//
29409//
29410//    // Example sending a request using the DisableImageDeprecationRequest method.
29411//    req, resp := client.DisableImageDeprecationRequest(params)
29412//
29413//    err := req.Send()
29414//    if err == nil { // resp is now filled
29415//        fmt.Println(resp)
29416//    }
29417//
29418// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableImageDeprecation
29419func (c *EC2) DisableImageDeprecationRequest(input *DisableImageDeprecationInput) (req *request.Request, output *DisableImageDeprecationOutput) {
29420	op := &request.Operation{
29421		Name:       opDisableImageDeprecation,
29422		HTTPMethod: "POST",
29423		HTTPPath:   "/",
29424	}
29425
29426	if input == nil {
29427		input = &DisableImageDeprecationInput{}
29428	}
29429
29430	output = &DisableImageDeprecationOutput{}
29431	req = c.newRequest(op, input, output)
29432	return
29433}
29434
29435// DisableImageDeprecation API operation for Amazon Elastic Compute Cloud.
29436//
29437// Cancels the deprecation of the specified AMI.
29438//
29439// For more information, see Deprecate an AMI (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-deprecate.html)
29440// in the Amazon Elastic Compute Cloud User Guide.
29441//
29442// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29443// with awserr.Error's Code and Message methods to get detailed information about
29444// the error.
29445//
29446// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29447// API operation DisableImageDeprecation for usage and error information.
29448// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableImageDeprecation
29449func (c *EC2) DisableImageDeprecation(input *DisableImageDeprecationInput) (*DisableImageDeprecationOutput, error) {
29450	req, out := c.DisableImageDeprecationRequest(input)
29451	return out, req.Send()
29452}
29453
29454// DisableImageDeprecationWithContext is the same as DisableImageDeprecation with the addition of
29455// the ability to pass a context and additional request options.
29456//
29457// See DisableImageDeprecation for details on how to use this API operation.
29458//
29459// The context must be non-nil and will be used for request cancellation. If
29460// the context is nil a panic will occur. In the future the SDK may create
29461// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29462// for more information on using Contexts.
29463func (c *EC2) DisableImageDeprecationWithContext(ctx aws.Context, input *DisableImageDeprecationInput, opts ...request.Option) (*DisableImageDeprecationOutput, error) {
29464	req, out := c.DisableImageDeprecationRequest(input)
29465	req.SetContext(ctx)
29466	req.ApplyOptions(opts...)
29467	return out, req.Send()
29468}
29469
29470const opDisableSerialConsoleAccess = "DisableSerialConsoleAccess"
29471
29472// DisableSerialConsoleAccessRequest generates a "aws/request.Request" representing the
29473// client's request for the DisableSerialConsoleAccess operation. The "output" return
29474// value will be populated with the request's response once the request completes
29475// successfully.
29476//
29477// Use "Send" method on the returned Request to send the API call to the service.
29478// the "output" return value is not valid until after Send returns without error.
29479//
29480// See DisableSerialConsoleAccess for more information on using the DisableSerialConsoleAccess
29481// API call, and error handling.
29482//
29483// This method is useful when you want to inject custom logic or configuration
29484// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29485//
29486//
29487//    // Example sending a request using the DisableSerialConsoleAccessRequest method.
29488//    req, resp := client.DisableSerialConsoleAccessRequest(params)
29489//
29490//    err := req.Send()
29491//    if err == nil { // resp is now filled
29492//        fmt.Println(resp)
29493//    }
29494//
29495// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableSerialConsoleAccess
29496func (c *EC2) DisableSerialConsoleAccessRequest(input *DisableSerialConsoleAccessInput) (req *request.Request, output *DisableSerialConsoleAccessOutput) {
29497	op := &request.Operation{
29498		Name:       opDisableSerialConsoleAccess,
29499		HTTPMethod: "POST",
29500		HTTPPath:   "/",
29501	}
29502
29503	if input == nil {
29504		input = &DisableSerialConsoleAccessInput{}
29505	}
29506
29507	output = &DisableSerialConsoleAccessOutput{}
29508	req = c.newRequest(op, input, output)
29509	return
29510}
29511
29512// DisableSerialConsoleAccess API operation for Amazon Elastic Compute Cloud.
29513//
29514// Disables access to the EC2 serial console of all instances for your account.
29515// By default, access to the EC2 serial console is disabled for your account.
29516// For more information, see Manage account access to the EC2 serial console
29517// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-access-to-serial-console.html#serial-console-account-access)
29518// in the Amazon EC2 User Guide.
29519//
29520// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29521// with awserr.Error's Code and Message methods to get detailed information about
29522// the error.
29523//
29524// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29525// API operation DisableSerialConsoleAccess for usage and error information.
29526// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableSerialConsoleAccess
29527func (c *EC2) DisableSerialConsoleAccess(input *DisableSerialConsoleAccessInput) (*DisableSerialConsoleAccessOutput, error) {
29528	req, out := c.DisableSerialConsoleAccessRequest(input)
29529	return out, req.Send()
29530}
29531
29532// DisableSerialConsoleAccessWithContext is the same as DisableSerialConsoleAccess with the addition of
29533// the ability to pass a context and additional request options.
29534//
29535// See DisableSerialConsoleAccess for details on how to use this API operation.
29536//
29537// The context must be non-nil and will be used for request cancellation. If
29538// the context is nil a panic will occur. In the future the SDK may create
29539// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29540// for more information on using Contexts.
29541func (c *EC2) DisableSerialConsoleAccessWithContext(ctx aws.Context, input *DisableSerialConsoleAccessInput, opts ...request.Option) (*DisableSerialConsoleAccessOutput, error) {
29542	req, out := c.DisableSerialConsoleAccessRequest(input)
29543	req.SetContext(ctx)
29544	req.ApplyOptions(opts...)
29545	return out, req.Send()
29546}
29547
29548const opDisableTransitGatewayRouteTablePropagation = "DisableTransitGatewayRouteTablePropagation"
29549
29550// DisableTransitGatewayRouteTablePropagationRequest generates a "aws/request.Request" representing the
29551// client's request for the DisableTransitGatewayRouteTablePropagation operation. The "output" return
29552// value will be populated with the request's response once the request completes
29553// successfully.
29554//
29555// Use "Send" method on the returned Request to send the API call to the service.
29556// the "output" return value is not valid until after Send returns without error.
29557//
29558// See DisableTransitGatewayRouteTablePropagation for more information on using the DisableTransitGatewayRouteTablePropagation
29559// API call, and error handling.
29560//
29561// This method is useful when you want to inject custom logic or configuration
29562// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29563//
29564//
29565//    // Example sending a request using the DisableTransitGatewayRouteTablePropagationRequest method.
29566//    req, resp := client.DisableTransitGatewayRouteTablePropagationRequest(params)
29567//
29568//    err := req.Send()
29569//    if err == nil { // resp is now filled
29570//        fmt.Println(resp)
29571//    }
29572//
29573// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableTransitGatewayRouteTablePropagation
29574func (c *EC2) DisableTransitGatewayRouteTablePropagationRequest(input *DisableTransitGatewayRouteTablePropagationInput) (req *request.Request, output *DisableTransitGatewayRouteTablePropagationOutput) {
29575	op := &request.Operation{
29576		Name:       opDisableTransitGatewayRouteTablePropagation,
29577		HTTPMethod: "POST",
29578		HTTPPath:   "/",
29579	}
29580
29581	if input == nil {
29582		input = &DisableTransitGatewayRouteTablePropagationInput{}
29583	}
29584
29585	output = &DisableTransitGatewayRouteTablePropagationOutput{}
29586	req = c.newRequest(op, input, output)
29587	return
29588}
29589
29590// DisableTransitGatewayRouteTablePropagation API operation for Amazon Elastic Compute Cloud.
29591//
29592// Disables the specified resource attachment from propagating routes to the
29593// specified propagation route table.
29594//
29595// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29596// with awserr.Error's Code and Message methods to get detailed information about
29597// the error.
29598//
29599// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29600// API operation DisableTransitGatewayRouteTablePropagation for usage and error information.
29601// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableTransitGatewayRouteTablePropagation
29602func (c *EC2) DisableTransitGatewayRouteTablePropagation(input *DisableTransitGatewayRouteTablePropagationInput) (*DisableTransitGatewayRouteTablePropagationOutput, error) {
29603	req, out := c.DisableTransitGatewayRouteTablePropagationRequest(input)
29604	return out, req.Send()
29605}
29606
29607// DisableTransitGatewayRouteTablePropagationWithContext is the same as DisableTransitGatewayRouteTablePropagation with the addition of
29608// the ability to pass a context and additional request options.
29609//
29610// See DisableTransitGatewayRouteTablePropagation for details on how to use this API operation.
29611//
29612// The context must be non-nil and will be used for request cancellation. If
29613// the context is nil a panic will occur. In the future the SDK may create
29614// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29615// for more information on using Contexts.
29616func (c *EC2) DisableTransitGatewayRouteTablePropagationWithContext(ctx aws.Context, input *DisableTransitGatewayRouteTablePropagationInput, opts ...request.Option) (*DisableTransitGatewayRouteTablePropagationOutput, error) {
29617	req, out := c.DisableTransitGatewayRouteTablePropagationRequest(input)
29618	req.SetContext(ctx)
29619	req.ApplyOptions(opts...)
29620	return out, req.Send()
29621}
29622
29623const opDisableVgwRoutePropagation = "DisableVgwRoutePropagation"
29624
29625// DisableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
29626// client's request for the DisableVgwRoutePropagation operation. The "output" return
29627// value will be populated with the request's response once the request completes
29628// successfully.
29629//
29630// Use "Send" method on the returned Request to send the API call to the service.
29631// the "output" return value is not valid until after Send returns without error.
29632//
29633// See DisableVgwRoutePropagation for more information on using the DisableVgwRoutePropagation
29634// API call, and error handling.
29635//
29636// This method is useful when you want to inject custom logic or configuration
29637// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29638//
29639//
29640//    // Example sending a request using the DisableVgwRoutePropagationRequest method.
29641//    req, resp := client.DisableVgwRoutePropagationRequest(params)
29642//
29643//    err := req.Send()
29644//    if err == nil { // resp is now filled
29645//        fmt.Println(resp)
29646//    }
29647//
29648// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
29649func (c *EC2) DisableVgwRoutePropagationRequest(input *DisableVgwRoutePropagationInput) (req *request.Request, output *DisableVgwRoutePropagationOutput) {
29650	op := &request.Operation{
29651		Name:       opDisableVgwRoutePropagation,
29652		HTTPMethod: "POST",
29653		HTTPPath:   "/",
29654	}
29655
29656	if input == nil {
29657		input = &DisableVgwRoutePropagationInput{}
29658	}
29659
29660	output = &DisableVgwRoutePropagationOutput{}
29661	req = c.newRequest(op, input, output)
29662	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
29663	return
29664}
29665
29666// DisableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
29667//
29668// Disables a virtual private gateway (VGW) from propagating routes to a specified
29669// route table of a VPC.
29670//
29671// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29672// with awserr.Error's Code and Message methods to get detailed information about
29673// the error.
29674//
29675// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29676// API operation DisableVgwRoutePropagation for usage and error information.
29677// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
29678func (c *EC2) DisableVgwRoutePropagation(input *DisableVgwRoutePropagationInput) (*DisableVgwRoutePropagationOutput, error) {
29679	req, out := c.DisableVgwRoutePropagationRequest(input)
29680	return out, req.Send()
29681}
29682
29683// DisableVgwRoutePropagationWithContext is the same as DisableVgwRoutePropagation with the addition of
29684// the ability to pass a context and additional request options.
29685//
29686// See DisableVgwRoutePropagation for details on how to use this API operation.
29687//
29688// The context must be non-nil and will be used for request cancellation. If
29689// the context is nil a panic will occur. In the future the SDK may create
29690// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29691// for more information on using Contexts.
29692func (c *EC2) DisableVgwRoutePropagationWithContext(ctx aws.Context, input *DisableVgwRoutePropagationInput, opts ...request.Option) (*DisableVgwRoutePropagationOutput, error) {
29693	req, out := c.DisableVgwRoutePropagationRequest(input)
29694	req.SetContext(ctx)
29695	req.ApplyOptions(opts...)
29696	return out, req.Send()
29697}
29698
29699const opDisableVpcClassicLink = "DisableVpcClassicLink"
29700
29701// DisableVpcClassicLinkRequest generates a "aws/request.Request" representing the
29702// client's request for the DisableVpcClassicLink operation. The "output" return
29703// value will be populated with the request's response once the request completes
29704// successfully.
29705//
29706// Use "Send" method on the returned Request to send the API call to the service.
29707// the "output" return value is not valid until after Send returns without error.
29708//
29709// See DisableVpcClassicLink for more information on using the DisableVpcClassicLink
29710// API call, and error handling.
29711//
29712// This method is useful when you want to inject custom logic or configuration
29713// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29714//
29715//
29716//    // Example sending a request using the DisableVpcClassicLinkRequest method.
29717//    req, resp := client.DisableVpcClassicLinkRequest(params)
29718//
29719//    err := req.Send()
29720//    if err == nil { // resp is now filled
29721//        fmt.Println(resp)
29722//    }
29723//
29724// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
29725func (c *EC2) DisableVpcClassicLinkRequest(input *DisableVpcClassicLinkInput) (req *request.Request, output *DisableVpcClassicLinkOutput) {
29726	op := &request.Operation{
29727		Name:       opDisableVpcClassicLink,
29728		HTTPMethod: "POST",
29729		HTTPPath:   "/",
29730	}
29731
29732	if input == nil {
29733		input = &DisableVpcClassicLinkInput{}
29734	}
29735
29736	output = &DisableVpcClassicLinkOutput{}
29737	req = c.newRequest(op, input, output)
29738	return
29739}
29740
29741// DisableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
29742//
29743// Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC
29744// that has EC2-Classic instances linked to it.
29745//
29746// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29747// with awserr.Error's Code and Message methods to get detailed information about
29748// the error.
29749//
29750// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29751// API operation DisableVpcClassicLink for usage and error information.
29752// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
29753func (c *EC2) DisableVpcClassicLink(input *DisableVpcClassicLinkInput) (*DisableVpcClassicLinkOutput, error) {
29754	req, out := c.DisableVpcClassicLinkRequest(input)
29755	return out, req.Send()
29756}
29757
29758// DisableVpcClassicLinkWithContext is the same as DisableVpcClassicLink with the addition of
29759// the ability to pass a context and additional request options.
29760//
29761// See DisableVpcClassicLink for details on how to use this API operation.
29762//
29763// The context must be non-nil and will be used for request cancellation. If
29764// the context is nil a panic will occur. In the future the SDK may create
29765// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29766// for more information on using Contexts.
29767func (c *EC2) DisableVpcClassicLinkWithContext(ctx aws.Context, input *DisableVpcClassicLinkInput, opts ...request.Option) (*DisableVpcClassicLinkOutput, error) {
29768	req, out := c.DisableVpcClassicLinkRequest(input)
29769	req.SetContext(ctx)
29770	req.ApplyOptions(opts...)
29771	return out, req.Send()
29772}
29773
29774const opDisableVpcClassicLinkDnsSupport = "DisableVpcClassicLinkDnsSupport"
29775
29776// DisableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
29777// client's request for the DisableVpcClassicLinkDnsSupport operation. The "output" return
29778// value will be populated with the request's response once the request completes
29779// successfully.
29780//
29781// Use "Send" method on the returned Request to send the API call to the service.
29782// the "output" return value is not valid until after Send returns without error.
29783//
29784// See DisableVpcClassicLinkDnsSupport for more information on using the DisableVpcClassicLinkDnsSupport
29785// API call, and error handling.
29786//
29787// This method is useful when you want to inject custom logic or configuration
29788// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29789//
29790//
29791//    // Example sending a request using the DisableVpcClassicLinkDnsSupportRequest method.
29792//    req, resp := client.DisableVpcClassicLinkDnsSupportRequest(params)
29793//
29794//    err := req.Send()
29795//    if err == nil { // resp is now filled
29796//        fmt.Println(resp)
29797//    }
29798//
29799// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
29800func (c *EC2) DisableVpcClassicLinkDnsSupportRequest(input *DisableVpcClassicLinkDnsSupportInput) (req *request.Request, output *DisableVpcClassicLinkDnsSupportOutput) {
29801	op := &request.Operation{
29802		Name:       opDisableVpcClassicLinkDnsSupport,
29803		HTTPMethod: "POST",
29804		HTTPPath:   "/",
29805	}
29806
29807	if input == nil {
29808		input = &DisableVpcClassicLinkDnsSupportInput{}
29809	}
29810
29811	output = &DisableVpcClassicLinkDnsSupportOutput{}
29812	req = c.newRequest(op, input, output)
29813	return
29814}
29815
29816// DisableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
29817//
29818// Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve
29819// to public IP addresses when addressed between a linked EC2-Classic instance
29820// and instances in the VPC to which it's linked. For more information, see
29821// ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
29822// in the Amazon Elastic Compute Cloud User Guide.
29823//
29824// You must specify a VPC ID in the request.
29825//
29826// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29827// with awserr.Error's Code and Message methods to get detailed information about
29828// the error.
29829//
29830// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29831// API operation DisableVpcClassicLinkDnsSupport for usage and error information.
29832// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
29833func (c *EC2) DisableVpcClassicLinkDnsSupport(input *DisableVpcClassicLinkDnsSupportInput) (*DisableVpcClassicLinkDnsSupportOutput, error) {
29834	req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
29835	return out, req.Send()
29836}
29837
29838// DisableVpcClassicLinkDnsSupportWithContext is the same as DisableVpcClassicLinkDnsSupport with the addition of
29839// the ability to pass a context and additional request options.
29840//
29841// See DisableVpcClassicLinkDnsSupport for details on how to use this API operation.
29842//
29843// The context must be non-nil and will be used for request cancellation. If
29844// the context is nil a panic will occur. In the future the SDK may create
29845// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29846// for more information on using Contexts.
29847func (c *EC2) DisableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DisableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DisableVpcClassicLinkDnsSupportOutput, error) {
29848	req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
29849	req.SetContext(ctx)
29850	req.ApplyOptions(opts...)
29851	return out, req.Send()
29852}
29853
29854const opDisassociateAddress = "DisassociateAddress"
29855
29856// DisassociateAddressRequest generates a "aws/request.Request" representing the
29857// client's request for the DisassociateAddress operation. The "output" return
29858// value will be populated with the request's response once the request completes
29859// successfully.
29860//
29861// Use "Send" method on the returned Request to send the API call to the service.
29862// the "output" return value is not valid until after Send returns without error.
29863//
29864// See DisassociateAddress for more information on using the DisassociateAddress
29865// API call, and error handling.
29866//
29867// This method is useful when you want to inject custom logic or configuration
29868// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29869//
29870//
29871//    // Example sending a request using the DisassociateAddressRequest method.
29872//    req, resp := client.DisassociateAddressRequest(params)
29873//
29874//    err := req.Send()
29875//    if err == nil { // resp is now filled
29876//        fmt.Println(resp)
29877//    }
29878//
29879// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
29880func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req *request.Request, output *DisassociateAddressOutput) {
29881	op := &request.Operation{
29882		Name:       opDisassociateAddress,
29883		HTTPMethod: "POST",
29884		HTTPPath:   "/",
29885	}
29886
29887	if input == nil {
29888		input = &DisassociateAddressInput{}
29889	}
29890
29891	output = &DisassociateAddressOutput{}
29892	req = c.newRequest(op, input, output)
29893	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
29894	return
29895}
29896
29897// DisassociateAddress API operation for Amazon Elastic Compute Cloud.
29898//
29899// Disassociates an Elastic IP address from the instance or network interface
29900// it's associated with.
29901//
29902// An Elastic IP address is for use in either the EC2-Classic platform or in
29903// a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
29904// in the Amazon Elastic Compute Cloud User Guide.
29905//
29906// This is an idempotent operation. If you perform the operation more than once,
29907// Amazon EC2 doesn't return an error.
29908//
29909// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29910// with awserr.Error's Code and Message methods to get detailed information about
29911// the error.
29912//
29913// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29914// API operation DisassociateAddress for usage and error information.
29915// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
29916func (c *EC2) DisassociateAddress(input *DisassociateAddressInput) (*DisassociateAddressOutput, error) {
29917	req, out := c.DisassociateAddressRequest(input)
29918	return out, req.Send()
29919}
29920
29921// DisassociateAddressWithContext is the same as DisassociateAddress with the addition of
29922// the ability to pass a context and additional request options.
29923//
29924// See DisassociateAddress for details on how to use this API operation.
29925//
29926// The context must be non-nil and will be used for request cancellation. If
29927// the context is nil a panic will occur. In the future the SDK may create
29928// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29929// for more information on using Contexts.
29930func (c *EC2) DisassociateAddressWithContext(ctx aws.Context, input *DisassociateAddressInput, opts ...request.Option) (*DisassociateAddressOutput, error) {
29931	req, out := c.DisassociateAddressRequest(input)
29932	req.SetContext(ctx)
29933	req.ApplyOptions(opts...)
29934	return out, req.Send()
29935}
29936
29937const opDisassociateClientVpnTargetNetwork = "DisassociateClientVpnTargetNetwork"
29938
29939// DisassociateClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the
29940// client's request for the DisassociateClientVpnTargetNetwork operation. The "output" return
29941// value will be populated with the request's response once the request completes
29942// successfully.
29943//
29944// Use "Send" method on the returned Request to send the API call to the service.
29945// the "output" return value is not valid until after Send returns without error.
29946//
29947// See DisassociateClientVpnTargetNetwork for more information on using the DisassociateClientVpnTargetNetwork
29948// API call, and error handling.
29949//
29950// This method is useful when you want to inject custom logic or configuration
29951// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29952//
29953//
29954//    // Example sending a request using the DisassociateClientVpnTargetNetworkRequest method.
29955//    req, resp := client.DisassociateClientVpnTargetNetworkRequest(params)
29956//
29957//    err := req.Send()
29958//    if err == nil { // resp is now filled
29959//        fmt.Println(resp)
29960//    }
29961//
29962// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateClientVpnTargetNetwork
29963func (c *EC2) DisassociateClientVpnTargetNetworkRequest(input *DisassociateClientVpnTargetNetworkInput) (req *request.Request, output *DisassociateClientVpnTargetNetworkOutput) {
29964	op := &request.Operation{
29965		Name:       opDisassociateClientVpnTargetNetwork,
29966		HTTPMethod: "POST",
29967		HTTPPath:   "/",
29968	}
29969
29970	if input == nil {
29971		input = &DisassociateClientVpnTargetNetworkInput{}
29972	}
29973
29974	output = &DisassociateClientVpnTargetNetworkOutput{}
29975	req = c.newRequest(op, input, output)
29976	return
29977}
29978
29979// DisassociateClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud.
29980//
29981// Disassociates a target network from the specified Client VPN endpoint. When
29982// you disassociate the last target network from a Client VPN, the following
29983// happens:
29984//
29985//    * The route that was automatically added for the VPC is deleted
29986//
29987//    * All active client connections are terminated
29988//
29989//    * New client connections are disallowed
29990//
29991//    * The Client VPN endpoint's status changes to pending-associate
29992//
29993// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29994// with awserr.Error's Code and Message methods to get detailed information about
29995// the error.
29996//
29997// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29998// API operation DisassociateClientVpnTargetNetwork for usage and error information.
29999// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateClientVpnTargetNetwork
30000func (c *EC2) DisassociateClientVpnTargetNetwork(input *DisassociateClientVpnTargetNetworkInput) (*DisassociateClientVpnTargetNetworkOutput, error) {
30001	req, out := c.DisassociateClientVpnTargetNetworkRequest(input)
30002	return out, req.Send()
30003}
30004
30005// DisassociateClientVpnTargetNetworkWithContext is the same as DisassociateClientVpnTargetNetwork with the addition of
30006// the ability to pass a context and additional request options.
30007//
30008// See DisassociateClientVpnTargetNetwork for details on how to use this API operation.
30009//
30010// The context must be non-nil and will be used for request cancellation. If
30011// the context is nil a panic will occur. In the future the SDK may create
30012// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30013// for more information on using Contexts.
30014func (c *EC2) DisassociateClientVpnTargetNetworkWithContext(ctx aws.Context, input *DisassociateClientVpnTargetNetworkInput, opts ...request.Option) (*DisassociateClientVpnTargetNetworkOutput, error) {
30015	req, out := c.DisassociateClientVpnTargetNetworkRequest(input)
30016	req.SetContext(ctx)
30017	req.ApplyOptions(opts...)
30018	return out, req.Send()
30019}
30020
30021const opDisassociateEnclaveCertificateIamRole = "DisassociateEnclaveCertificateIamRole"
30022
30023// DisassociateEnclaveCertificateIamRoleRequest generates a "aws/request.Request" representing the
30024// client's request for the DisassociateEnclaveCertificateIamRole operation. The "output" return
30025// value will be populated with the request's response once the request completes
30026// successfully.
30027//
30028// Use "Send" method on the returned Request to send the API call to the service.
30029// the "output" return value is not valid until after Send returns without error.
30030//
30031// See DisassociateEnclaveCertificateIamRole for more information on using the DisassociateEnclaveCertificateIamRole
30032// API call, and error handling.
30033//
30034// This method is useful when you want to inject custom logic or configuration
30035// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30036//
30037//
30038//    // Example sending a request using the DisassociateEnclaveCertificateIamRoleRequest method.
30039//    req, resp := client.DisassociateEnclaveCertificateIamRoleRequest(params)
30040//
30041//    err := req.Send()
30042//    if err == nil { // resp is now filled
30043//        fmt.Println(resp)
30044//    }
30045//
30046// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateEnclaveCertificateIamRole
30047func (c *EC2) DisassociateEnclaveCertificateIamRoleRequest(input *DisassociateEnclaveCertificateIamRoleInput) (req *request.Request, output *DisassociateEnclaveCertificateIamRoleOutput) {
30048	op := &request.Operation{
30049		Name:       opDisassociateEnclaveCertificateIamRole,
30050		HTTPMethod: "POST",
30051		HTTPPath:   "/",
30052	}
30053
30054	if input == nil {
30055		input = &DisassociateEnclaveCertificateIamRoleInput{}
30056	}
30057
30058	output = &DisassociateEnclaveCertificateIamRoleOutput{}
30059	req = c.newRequest(op, input, output)
30060	return
30061}
30062
30063// DisassociateEnclaveCertificateIamRole API operation for Amazon Elastic Compute Cloud.
30064//
30065// Disassociates an IAM role from an Certificate Manager (ACM) certificate.
30066// Disassociating an IAM role from an ACM certificate removes the Amazon S3
30067// object that contains the certificate, certificate chain, and encrypted private
30068// key from the Amazon S3 bucket. It also revokes the IAM role's permission
30069// to use the KMS key used to encrypt the private key. This effectively revokes
30070// the role's permission to use the certificate.
30071//
30072// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30073// with awserr.Error's Code and Message methods to get detailed information about
30074// the error.
30075//
30076// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30077// API operation DisassociateEnclaveCertificateIamRole for usage and error information.
30078// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateEnclaveCertificateIamRole
30079func (c *EC2) DisassociateEnclaveCertificateIamRole(input *DisassociateEnclaveCertificateIamRoleInput) (*DisassociateEnclaveCertificateIamRoleOutput, error) {
30080	req, out := c.DisassociateEnclaveCertificateIamRoleRequest(input)
30081	return out, req.Send()
30082}
30083
30084// DisassociateEnclaveCertificateIamRoleWithContext is the same as DisassociateEnclaveCertificateIamRole with the addition of
30085// the ability to pass a context and additional request options.
30086//
30087// See DisassociateEnclaveCertificateIamRole for details on how to use this API operation.
30088//
30089// The context must be non-nil and will be used for request cancellation. If
30090// the context is nil a panic will occur. In the future the SDK may create
30091// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30092// for more information on using Contexts.
30093func (c *EC2) DisassociateEnclaveCertificateIamRoleWithContext(ctx aws.Context, input *DisassociateEnclaveCertificateIamRoleInput, opts ...request.Option) (*DisassociateEnclaveCertificateIamRoleOutput, error) {
30094	req, out := c.DisassociateEnclaveCertificateIamRoleRequest(input)
30095	req.SetContext(ctx)
30096	req.ApplyOptions(opts...)
30097	return out, req.Send()
30098}
30099
30100const opDisassociateIamInstanceProfile = "DisassociateIamInstanceProfile"
30101
30102// DisassociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
30103// client's request for the DisassociateIamInstanceProfile operation. The "output" return
30104// value will be populated with the request's response once the request completes
30105// successfully.
30106//
30107// Use "Send" method on the returned Request to send the API call to the service.
30108// the "output" return value is not valid until after Send returns without error.
30109//
30110// See DisassociateIamInstanceProfile for more information on using the DisassociateIamInstanceProfile
30111// API call, and error handling.
30112//
30113// This method is useful when you want to inject custom logic or configuration
30114// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30115//
30116//
30117//    // Example sending a request using the DisassociateIamInstanceProfileRequest method.
30118//    req, resp := client.DisassociateIamInstanceProfileRequest(params)
30119//
30120//    err := req.Send()
30121//    if err == nil { // resp is now filled
30122//        fmt.Println(resp)
30123//    }
30124//
30125// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
30126func (c *EC2) DisassociateIamInstanceProfileRequest(input *DisassociateIamInstanceProfileInput) (req *request.Request, output *DisassociateIamInstanceProfileOutput) {
30127	op := &request.Operation{
30128		Name:       opDisassociateIamInstanceProfile,
30129		HTTPMethod: "POST",
30130		HTTPPath:   "/",
30131	}
30132
30133	if input == nil {
30134		input = &DisassociateIamInstanceProfileInput{}
30135	}
30136
30137	output = &DisassociateIamInstanceProfileOutput{}
30138	req = c.newRequest(op, input, output)
30139	return
30140}
30141
30142// DisassociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
30143//
30144// Disassociates an IAM instance profile from a running or stopped instance.
30145//
30146// Use DescribeIamInstanceProfileAssociations to get the association ID.
30147//
30148// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30149// with awserr.Error's Code and Message methods to get detailed information about
30150// the error.
30151//
30152// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30153// API operation DisassociateIamInstanceProfile for usage and error information.
30154// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
30155func (c *EC2) DisassociateIamInstanceProfile(input *DisassociateIamInstanceProfileInput) (*DisassociateIamInstanceProfileOutput, error) {
30156	req, out := c.DisassociateIamInstanceProfileRequest(input)
30157	return out, req.Send()
30158}
30159
30160// DisassociateIamInstanceProfileWithContext is the same as DisassociateIamInstanceProfile with the addition of
30161// the ability to pass a context and additional request options.
30162//
30163// See DisassociateIamInstanceProfile for details on how to use this API operation.
30164//
30165// The context must be non-nil and will be used for request cancellation. If
30166// the context is nil a panic will occur. In the future the SDK may create
30167// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30168// for more information on using Contexts.
30169func (c *EC2) DisassociateIamInstanceProfileWithContext(ctx aws.Context, input *DisassociateIamInstanceProfileInput, opts ...request.Option) (*DisassociateIamInstanceProfileOutput, error) {
30170	req, out := c.DisassociateIamInstanceProfileRequest(input)
30171	req.SetContext(ctx)
30172	req.ApplyOptions(opts...)
30173	return out, req.Send()
30174}
30175
30176const opDisassociateInstanceEventWindow = "DisassociateInstanceEventWindow"
30177
30178// DisassociateInstanceEventWindowRequest generates a "aws/request.Request" representing the
30179// client's request for the DisassociateInstanceEventWindow operation. The "output" return
30180// value will be populated with the request's response once the request completes
30181// successfully.
30182//
30183// Use "Send" method on the returned Request to send the API call to the service.
30184// the "output" return value is not valid until after Send returns without error.
30185//
30186// See DisassociateInstanceEventWindow for more information on using the DisassociateInstanceEventWindow
30187// API call, and error handling.
30188//
30189// This method is useful when you want to inject custom logic or configuration
30190// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30191//
30192//
30193//    // Example sending a request using the DisassociateInstanceEventWindowRequest method.
30194//    req, resp := client.DisassociateInstanceEventWindowRequest(params)
30195//
30196//    err := req.Send()
30197//    if err == nil { // resp is now filled
30198//        fmt.Println(resp)
30199//    }
30200//
30201// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateInstanceEventWindow
30202func (c *EC2) DisassociateInstanceEventWindowRequest(input *DisassociateInstanceEventWindowInput) (req *request.Request, output *DisassociateInstanceEventWindowOutput) {
30203	op := &request.Operation{
30204		Name:       opDisassociateInstanceEventWindow,
30205		HTTPMethod: "POST",
30206		HTTPPath:   "/",
30207	}
30208
30209	if input == nil {
30210		input = &DisassociateInstanceEventWindowInput{}
30211	}
30212
30213	output = &DisassociateInstanceEventWindowOutput{}
30214	req = c.newRequest(op, input, output)
30215	return
30216}
30217
30218// DisassociateInstanceEventWindow API operation for Amazon Elastic Compute Cloud.
30219//
30220// Disassociates one or more targets from an event window.
30221//
30222// For more information, see Define event windows for scheduled events (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/event-windows.html)
30223// in the Amazon EC2 User Guide.
30224//
30225// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30226// with awserr.Error's Code and Message methods to get detailed information about
30227// the error.
30228//
30229// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30230// API operation DisassociateInstanceEventWindow for usage and error information.
30231// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateInstanceEventWindow
30232func (c *EC2) DisassociateInstanceEventWindow(input *DisassociateInstanceEventWindowInput) (*DisassociateInstanceEventWindowOutput, error) {
30233	req, out := c.DisassociateInstanceEventWindowRequest(input)
30234	return out, req.Send()
30235}
30236
30237// DisassociateInstanceEventWindowWithContext is the same as DisassociateInstanceEventWindow with the addition of
30238// the ability to pass a context and additional request options.
30239//
30240// See DisassociateInstanceEventWindow for details on how to use this API operation.
30241//
30242// The context must be non-nil and will be used for request cancellation. If
30243// the context is nil a panic will occur. In the future the SDK may create
30244// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30245// for more information on using Contexts.
30246func (c *EC2) DisassociateInstanceEventWindowWithContext(ctx aws.Context, input *DisassociateInstanceEventWindowInput, opts ...request.Option) (*DisassociateInstanceEventWindowOutput, error) {
30247	req, out := c.DisassociateInstanceEventWindowRequest(input)
30248	req.SetContext(ctx)
30249	req.ApplyOptions(opts...)
30250	return out, req.Send()
30251}
30252
30253const opDisassociateRouteTable = "DisassociateRouteTable"
30254
30255// DisassociateRouteTableRequest generates a "aws/request.Request" representing the
30256// client's request for the DisassociateRouteTable operation. The "output" return
30257// value will be populated with the request's response once the request completes
30258// successfully.
30259//
30260// Use "Send" method on the returned Request to send the API call to the service.
30261// the "output" return value is not valid until after Send returns without error.
30262//
30263// See DisassociateRouteTable for more information on using the DisassociateRouteTable
30264// API call, and error handling.
30265//
30266// This method is useful when you want to inject custom logic or configuration
30267// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30268//
30269//
30270//    // Example sending a request using the DisassociateRouteTableRequest method.
30271//    req, resp := client.DisassociateRouteTableRequest(params)
30272//
30273//    err := req.Send()
30274//    if err == nil { // resp is now filled
30275//        fmt.Println(resp)
30276//    }
30277//
30278// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
30279func (c *EC2) DisassociateRouteTableRequest(input *DisassociateRouteTableInput) (req *request.Request, output *DisassociateRouteTableOutput) {
30280	op := &request.Operation{
30281		Name:       opDisassociateRouteTable,
30282		HTTPMethod: "POST",
30283		HTTPPath:   "/",
30284	}
30285
30286	if input == nil {
30287		input = &DisassociateRouteTableInput{}
30288	}
30289
30290	output = &DisassociateRouteTableOutput{}
30291	req = c.newRequest(op, input, output)
30292	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
30293	return
30294}
30295
30296// DisassociateRouteTable API operation for Amazon Elastic Compute Cloud.
30297//
30298// Disassociates a subnet or gateway from a route table.
30299//
30300// After you perform this action, the subnet no longer uses the routes in the
30301// route table. Instead, it uses the routes in the VPC's main route table. For
30302// more information about route tables, see Route tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
30303// in the Amazon Virtual Private Cloud User Guide.
30304//
30305// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30306// with awserr.Error's Code and Message methods to get detailed information about
30307// the error.
30308//
30309// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30310// API operation DisassociateRouteTable for usage and error information.
30311// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
30312func (c *EC2) DisassociateRouteTable(input *DisassociateRouteTableInput) (*DisassociateRouteTableOutput, error) {
30313	req, out := c.DisassociateRouteTableRequest(input)
30314	return out, req.Send()
30315}
30316
30317// DisassociateRouteTableWithContext is the same as DisassociateRouteTable with the addition of
30318// the ability to pass a context and additional request options.
30319//
30320// See DisassociateRouteTable for details on how to use this API operation.
30321//
30322// The context must be non-nil and will be used for request cancellation. If
30323// the context is nil a panic will occur. In the future the SDK may create
30324// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30325// for more information on using Contexts.
30326func (c *EC2) DisassociateRouteTableWithContext(ctx aws.Context, input *DisassociateRouteTableInput, opts ...request.Option) (*DisassociateRouteTableOutput, error) {
30327	req, out := c.DisassociateRouteTableRequest(input)
30328	req.SetContext(ctx)
30329	req.ApplyOptions(opts...)
30330	return out, req.Send()
30331}
30332
30333const opDisassociateSubnetCidrBlock = "DisassociateSubnetCidrBlock"
30334
30335// DisassociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
30336// client's request for the DisassociateSubnetCidrBlock operation. The "output" return
30337// value will be populated with the request's response once the request completes
30338// successfully.
30339//
30340// Use "Send" method on the returned Request to send the API call to the service.
30341// the "output" return value is not valid until after Send returns without error.
30342//
30343// See DisassociateSubnetCidrBlock for more information on using the DisassociateSubnetCidrBlock
30344// API call, and error handling.
30345//
30346// This method is useful when you want to inject custom logic or configuration
30347// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30348//
30349//
30350//    // Example sending a request using the DisassociateSubnetCidrBlockRequest method.
30351//    req, resp := client.DisassociateSubnetCidrBlockRequest(params)
30352//
30353//    err := req.Send()
30354//    if err == nil { // resp is now filled
30355//        fmt.Println(resp)
30356//    }
30357//
30358// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
30359func (c *EC2) DisassociateSubnetCidrBlockRequest(input *DisassociateSubnetCidrBlockInput) (req *request.Request, output *DisassociateSubnetCidrBlockOutput) {
30360	op := &request.Operation{
30361		Name:       opDisassociateSubnetCidrBlock,
30362		HTTPMethod: "POST",
30363		HTTPPath:   "/",
30364	}
30365
30366	if input == nil {
30367		input = &DisassociateSubnetCidrBlockInput{}
30368	}
30369
30370	output = &DisassociateSubnetCidrBlockOutput{}
30371	req = c.newRequest(op, input, output)
30372	return
30373}
30374
30375// DisassociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
30376//
30377// Disassociates a CIDR block from a subnet. Currently, you can disassociate
30378// an IPv6 CIDR block only. You must detach or delete all gateways and resources
30379// that are associated with the CIDR block before you can disassociate it.
30380//
30381// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30382// with awserr.Error's Code and Message methods to get detailed information about
30383// the error.
30384//
30385// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30386// API operation DisassociateSubnetCidrBlock for usage and error information.
30387// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
30388func (c *EC2) DisassociateSubnetCidrBlock(input *DisassociateSubnetCidrBlockInput) (*DisassociateSubnetCidrBlockOutput, error) {
30389	req, out := c.DisassociateSubnetCidrBlockRequest(input)
30390	return out, req.Send()
30391}
30392
30393// DisassociateSubnetCidrBlockWithContext is the same as DisassociateSubnetCidrBlock with the addition of
30394// the ability to pass a context and additional request options.
30395//
30396// See DisassociateSubnetCidrBlock for details on how to use this API operation.
30397//
30398// The context must be non-nil and will be used for request cancellation. If
30399// the context is nil a panic will occur. In the future the SDK may create
30400// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30401// for more information on using Contexts.
30402func (c *EC2) DisassociateSubnetCidrBlockWithContext(ctx aws.Context, input *DisassociateSubnetCidrBlockInput, opts ...request.Option) (*DisassociateSubnetCidrBlockOutput, error) {
30403	req, out := c.DisassociateSubnetCidrBlockRequest(input)
30404	req.SetContext(ctx)
30405	req.ApplyOptions(opts...)
30406	return out, req.Send()
30407}
30408
30409const opDisassociateTransitGatewayMulticastDomain = "DisassociateTransitGatewayMulticastDomain"
30410
30411// DisassociateTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
30412// client's request for the DisassociateTransitGatewayMulticastDomain operation. The "output" return
30413// value will be populated with the request's response once the request completes
30414// successfully.
30415//
30416// Use "Send" method on the returned Request to send the API call to the service.
30417// the "output" return value is not valid until after Send returns without error.
30418//
30419// See DisassociateTransitGatewayMulticastDomain for more information on using the DisassociateTransitGatewayMulticastDomain
30420// API call, and error handling.
30421//
30422// This method is useful when you want to inject custom logic or configuration
30423// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30424//
30425//
30426//    // Example sending a request using the DisassociateTransitGatewayMulticastDomainRequest method.
30427//    req, resp := client.DisassociateTransitGatewayMulticastDomainRequest(params)
30428//
30429//    err := req.Send()
30430//    if err == nil { // resp is now filled
30431//        fmt.Println(resp)
30432//    }
30433//
30434// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayMulticastDomain
30435func (c *EC2) DisassociateTransitGatewayMulticastDomainRequest(input *DisassociateTransitGatewayMulticastDomainInput) (req *request.Request, output *DisassociateTransitGatewayMulticastDomainOutput) {
30436	op := &request.Operation{
30437		Name:       opDisassociateTransitGatewayMulticastDomain,
30438		HTTPMethod: "POST",
30439		HTTPPath:   "/",
30440	}
30441
30442	if input == nil {
30443		input = &DisassociateTransitGatewayMulticastDomainInput{}
30444	}
30445
30446	output = &DisassociateTransitGatewayMulticastDomainOutput{}
30447	req = c.newRequest(op, input, output)
30448	return
30449}
30450
30451// DisassociateTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
30452//
30453// Disassociates the specified subnets from the transit gateway multicast domain.
30454//
30455// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30456// with awserr.Error's Code and Message methods to get detailed information about
30457// the error.
30458//
30459// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30460// API operation DisassociateTransitGatewayMulticastDomain for usage and error information.
30461// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayMulticastDomain
30462func (c *EC2) DisassociateTransitGatewayMulticastDomain(input *DisassociateTransitGatewayMulticastDomainInput) (*DisassociateTransitGatewayMulticastDomainOutput, error) {
30463	req, out := c.DisassociateTransitGatewayMulticastDomainRequest(input)
30464	return out, req.Send()
30465}
30466
30467// DisassociateTransitGatewayMulticastDomainWithContext is the same as DisassociateTransitGatewayMulticastDomain with the addition of
30468// the ability to pass a context and additional request options.
30469//
30470// See DisassociateTransitGatewayMulticastDomain for details on how to use this API operation.
30471//
30472// The context must be non-nil and will be used for request cancellation. If
30473// the context is nil a panic will occur. In the future the SDK may create
30474// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30475// for more information on using Contexts.
30476func (c *EC2) DisassociateTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *DisassociateTransitGatewayMulticastDomainInput, opts ...request.Option) (*DisassociateTransitGatewayMulticastDomainOutput, error) {
30477	req, out := c.DisassociateTransitGatewayMulticastDomainRequest(input)
30478	req.SetContext(ctx)
30479	req.ApplyOptions(opts...)
30480	return out, req.Send()
30481}
30482
30483const opDisassociateTransitGatewayRouteTable = "DisassociateTransitGatewayRouteTable"
30484
30485// DisassociateTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
30486// client's request for the DisassociateTransitGatewayRouteTable operation. The "output" return
30487// value will be populated with the request's response once the request completes
30488// successfully.
30489//
30490// Use "Send" method on the returned Request to send the API call to the service.
30491// the "output" return value is not valid until after Send returns without error.
30492//
30493// See DisassociateTransitGatewayRouteTable for more information on using the DisassociateTransitGatewayRouteTable
30494// API call, and error handling.
30495//
30496// This method is useful when you want to inject custom logic or configuration
30497// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30498//
30499//
30500//    // Example sending a request using the DisassociateTransitGatewayRouteTableRequest method.
30501//    req, resp := client.DisassociateTransitGatewayRouteTableRequest(params)
30502//
30503//    err := req.Send()
30504//    if err == nil { // resp is now filled
30505//        fmt.Println(resp)
30506//    }
30507//
30508// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayRouteTable
30509func (c *EC2) DisassociateTransitGatewayRouteTableRequest(input *DisassociateTransitGatewayRouteTableInput) (req *request.Request, output *DisassociateTransitGatewayRouteTableOutput) {
30510	op := &request.Operation{
30511		Name:       opDisassociateTransitGatewayRouteTable,
30512		HTTPMethod: "POST",
30513		HTTPPath:   "/",
30514	}
30515
30516	if input == nil {
30517		input = &DisassociateTransitGatewayRouteTableInput{}
30518	}
30519
30520	output = &DisassociateTransitGatewayRouteTableOutput{}
30521	req = c.newRequest(op, input, output)
30522	return
30523}
30524
30525// DisassociateTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
30526//
30527// Disassociates a resource attachment from a transit gateway route table.
30528//
30529// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30530// with awserr.Error's Code and Message methods to get detailed information about
30531// the error.
30532//
30533// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30534// API operation DisassociateTransitGatewayRouteTable for usage and error information.
30535// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayRouteTable
30536func (c *EC2) DisassociateTransitGatewayRouteTable(input *DisassociateTransitGatewayRouteTableInput) (*DisassociateTransitGatewayRouteTableOutput, error) {
30537	req, out := c.DisassociateTransitGatewayRouteTableRequest(input)
30538	return out, req.Send()
30539}
30540
30541// DisassociateTransitGatewayRouteTableWithContext is the same as DisassociateTransitGatewayRouteTable with the addition of
30542// the ability to pass a context and additional request options.
30543//
30544// See DisassociateTransitGatewayRouteTable for details on how to use this API operation.
30545//
30546// The context must be non-nil and will be used for request cancellation. If
30547// the context is nil a panic will occur. In the future the SDK may create
30548// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30549// for more information on using Contexts.
30550func (c *EC2) DisassociateTransitGatewayRouteTableWithContext(ctx aws.Context, input *DisassociateTransitGatewayRouteTableInput, opts ...request.Option) (*DisassociateTransitGatewayRouteTableOutput, error) {
30551	req, out := c.DisassociateTransitGatewayRouteTableRequest(input)
30552	req.SetContext(ctx)
30553	req.ApplyOptions(opts...)
30554	return out, req.Send()
30555}
30556
30557const opDisassociateTrunkInterface = "DisassociateTrunkInterface"
30558
30559// DisassociateTrunkInterfaceRequest generates a "aws/request.Request" representing the
30560// client's request for the DisassociateTrunkInterface operation. The "output" return
30561// value will be populated with the request's response once the request completes
30562// successfully.
30563//
30564// Use "Send" method on the returned Request to send the API call to the service.
30565// the "output" return value is not valid until after Send returns without error.
30566//
30567// See DisassociateTrunkInterface for more information on using the DisassociateTrunkInterface
30568// API call, and error handling.
30569//
30570// This method is useful when you want to inject custom logic or configuration
30571// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30572//
30573//
30574//    // Example sending a request using the DisassociateTrunkInterfaceRequest method.
30575//    req, resp := client.DisassociateTrunkInterfaceRequest(params)
30576//
30577//    err := req.Send()
30578//    if err == nil { // resp is now filled
30579//        fmt.Println(resp)
30580//    }
30581//
30582// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTrunkInterface
30583func (c *EC2) DisassociateTrunkInterfaceRequest(input *DisassociateTrunkInterfaceInput) (req *request.Request, output *DisassociateTrunkInterfaceOutput) {
30584	op := &request.Operation{
30585		Name:       opDisassociateTrunkInterface,
30586		HTTPMethod: "POST",
30587		HTTPPath:   "/",
30588	}
30589
30590	if input == nil {
30591		input = &DisassociateTrunkInterfaceInput{}
30592	}
30593
30594	output = &DisassociateTrunkInterfaceOutput{}
30595	req = c.newRequest(op, input, output)
30596	return
30597}
30598
30599// DisassociateTrunkInterface API operation for Amazon Elastic Compute Cloud.
30600//
30601//
30602// This API action is currently in limited preview only. If you are interested
30603// in using this feature, contact your account manager.
30604//
30605// Removes an association between a branch network interface with a trunk network
30606// interface.
30607//
30608// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30609// with awserr.Error's Code and Message methods to get detailed information about
30610// the error.
30611//
30612// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30613// API operation DisassociateTrunkInterface for usage and error information.
30614// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTrunkInterface
30615func (c *EC2) DisassociateTrunkInterface(input *DisassociateTrunkInterfaceInput) (*DisassociateTrunkInterfaceOutput, error) {
30616	req, out := c.DisassociateTrunkInterfaceRequest(input)
30617	return out, req.Send()
30618}
30619
30620// DisassociateTrunkInterfaceWithContext is the same as DisassociateTrunkInterface with the addition of
30621// the ability to pass a context and additional request options.
30622//
30623// See DisassociateTrunkInterface for details on how to use this API operation.
30624//
30625// The context must be non-nil and will be used for request cancellation. If
30626// the context is nil a panic will occur. In the future the SDK may create
30627// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30628// for more information on using Contexts.
30629func (c *EC2) DisassociateTrunkInterfaceWithContext(ctx aws.Context, input *DisassociateTrunkInterfaceInput, opts ...request.Option) (*DisassociateTrunkInterfaceOutput, error) {
30630	req, out := c.DisassociateTrunkInterfaceRequest(input)
30631	req.SetContext(ctx)
30632	req.ApplyOptions(opts...)
30633	return out, req.Send()
30634}
30635
30636const opDisassociateVpcCidrBlock = "DisassociateVpcCidrBlock"
30637
30638// DisassociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
30639// client's request for the DisassociateVpcCidrBlock operation. The "output" return
30640// value will be populated with the request's response once the request completes
30641// successfully.
30642//
30643// Use "Send" method on the returned Request to send the API call to the service.
30644// the "output" return value is not valid until after Send returns without error.
30645//
30646// See DisassociateVpcCidrBlock for more information on using the DisassociateVpcCidrBlock
30647// API call, and error handling.
30648//
30649// This method is useful when you want to inject custom logic or configuration
30650// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30651//
30652//
30653//    // Example sending a request using the DisassociateVpcCidrBlockRequest method.
30654//    req, resp := client.DisassociateVpcCidrBlockRequest(params)
30655//
30656//    err := req.Send()
30657//    if err == nil { // resp is now filled
30658//        fmt.Println(resp)
30659//    }
30660//
30661// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
30662func (c *EC2) DisassociateVpcCidrBlockRequest(input *DisassociateVpcCidrBlockInput) (req *request.Request, output *DisassociateVpcCidrBlockOutput) {
30663	op := &request.Operation{
30664		Name:       opDisassociateVpcCidrBlock,
30665		HTTPMethod: "POST",
30666		HTTPPath:   "/",
30667	}
30668
30669	if input == nil {
30670		input = &DisassociateVpcCidrBlockInput{}
30671	}
30672
30673	output = &DisassociateVpcCidrBlockOutput{}
30674	req = c.newRequest(op, input, output)
30675	return
30676}
30677
30678// DisassociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
30679//
30680// Disassociates a CIDR block from a VPC. To disassociate the CIDR block, you
30681// must specify its association ID. You can get the association ID by using
30682// DescribeVpcs. You must detach or delete all gateways and resources that are
30683// associated with the CIDR block before you can disassociate it.
30684//
30685// You cannot disassociate the CIDR block with which you originally created
30686// the VPC (the primary CIDR block).
30687//
30688// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30689// with awserr.Error's Code and Message methods to get detailed information about
30690// the error.
30691//
30692// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30693// API operation DisassociateVpcCidrBlock for usage and error information.
30694// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
30695func (c *EC2) DisassociateVpcCidrBlock(input *DisassociateVpcCidrBlockInput) (*DisassociateVpcCidrBlockOutput, error) {
30696	req, out := c.DisassociateVpcCidrBlockRequest(input)
30697	return out, req.Send()
30698}
30699
30700// DisassociateVpcCidrBlockWithContext is the same as DisassociateVpcCidrBlock with the addition of
30701// the ability to pass a context and additional request options.
30702//
30703// See DisassociateVpcCidrBlock for details on how to use this API operation.
30704//
30705// The context must be non-nil and will be used for request cancellation. If
30706// the context is nil a panic will occur. In the future the SDK may create
30707// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30708// for more information on using Contexts.
30709func (c *EC2) DisassociateVpcCidrBlockWithContext(ctx aws.Context, input *DisassociateVpcCidrBlockInput, opts ...request.Option) (*DisassociateVpcCidrBlockOutput, error) {
30710	req, out := c.DisassociateVpcCidrBlockRequest(input)
30711	req.SetContext(ctx)
30712	req.ApplyOptions(opts...)
30713	return out, req.Send()
30714}
30715
30716const opEnableEbsEncryptionByDefault = "EnableEbsEncryptionByDefault"
30717
30718// EnableEbsEncryptionByDefaultRequest generates a "aws/request.Request" representing the
30719// client's request for the EnableEbsEncryptionByDefault operation. The "output" return
30720// value will be populated with the request's response once the request completes
30721// successfully.
30722//
30723// Use "Send" method on the returned Request to send the API call to the service.
30724// the "output" return value is not valid until after Send returns without error.
30725//
30726// See EnableEbsEncryptionByDefault for more information on using the EnableEbsEncryptionByDefault
30727// API call, and error handling.
30728//
30729// This method is useful when you want to inject custom logic or configuration
30730// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30731//
30732//
30733//    // Example sending a request using the EnableEbsEncryptionByDefaultRequest method.
30734//    req, resp := client.EnableEbsEncryptionByDefaultRequest(params)
30735//
30736//    err := req.Send()
30737//    if err == nil { // resp is now filled
30738//        fmt.Println(resp)
30739//    }
30740//
30741// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableEbsEncryptionByDefault
30742func (c *EC2) EnableEbsEncryptionByDefaultRequest(input *EnableEbsEncryptionByDefaultInput) (req *request.Request, output *EnableEbsEncryptionByDefaultOutput) {
30743	op := &request.Operation{
30744		Name:       opEnableEbsEncryptionByDefault,
30745		HTTPMethod: "POST",
30746		HTTPPath:   "/",
30747	}
30748
30749	if input == nil {
30750		input = &EnableEbsEncryptionByDefaultInput{}
30751	}
30752
30753	output = &EnableEbsEncryptionByDefaultOutput{}
30754	req = c.newRequest(op, input, output)
30755	return
30756}
30757
30758// EnableEbsEncryptionByDefault API operation for Amazon Elastic Compute Cloud.
30759//
30760// Enables EBS encryption by default for your account in the current Region.
30761//
30762// After you enable encryption by default, the EBS volumes that you create are
30763// always encrypted, either using the default KMS key or the KMS key that you
30764// specified when you created each volume. For more information, see Amazon
30765// EBS encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
30766// in the Amazon Elastic Compute Cloud User Guide.
30767//
30768// You can specify the default KMS key for encryption by default using ModifyEbsDefaultKmsKeyId
30769// or ResetEbsDefaultKmsKeyId.
30770//
30771// Enabling encryption by default has no effect on the encryption status of
30772// your existing volumes.
30773//
30774// After you enable encryption by default, you can no longer launch instances
30775// using instance types that do not support encryption. For more information,
30776// see Supported instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances).
30777//
30778// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30779// with awserr.Error's Code and Message methods to get detailed information about
30780// the error.
30781//
30782// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30783// API operation EnableEbsEncryptionByDefault for usage and error information.
30784// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableEbsEncryptionByDefault
30785func (c *EC2) EnableEbsEncryptionByDefault(input *EnableEbsEncryptionByDefaultInput) (*EnableEbsEncryptionByDefaultOutput, error) {
30786	req, out := c.EnableEbsEncryptionByDefaultRequest(input)
30787	return out, req.Send()
30788}
30789
30790// EnableEbsEncryptionByDefaultWithContext is the same as EnableEbsEncryptionByDefault with the addition of
30791// the ability to pass a context and additional request options.
30792//
30793// See EnableEbsEncryptionByDefault for details on how to use this API operation.
30794//
30795// The context must be non-nil and will be used for request cancellation. If
30796// the context is nil a panic will occur. In the future the SDK may create
30797// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30798// for more information on using Contexts.
30799func (c *EC2) EnableEbsEncryptionByDefaultWithContext(ctx aws.Context, input *EnableEbsEncryptionByDefaultInput, opts ...request.Option) (*EnableEbsEncryptionByDefaultOutput, error) {
30800	req, out := c.EnableEbsEncryptionByDefaultRequest(input)
30801	req.SetContext(ctx)
30802	req.ApplyOptions(opts...)
30803	return out, req.Send()
30804}
30805
30806const opEnableFastSnapshotRestores = "EnableFastSnapshotRestores"
30807
30808// EnableFastSnapshotRestoresRequest generates a "aws/request.Request" representing the
30809// client's request for the EnableFastSnapshotRestores operation. The "output" return
30810// value will be populated with the request's response once the request completes
30811// successfully.
30812//
30813// Use "Send" method on the returned Request to send the API call to the service.
30814// the "output" return value is not valid until after Send returns without error.
30815//
30816// See EnableFastSnapshotRestores for more information on using the EnableFastSnapshotRestores
30817// API call, and error handling.
30818//
30819// This method is useful when you want to inject custom logic or configuration
30820// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30821//
30822//
30823//    // Example sending a request using the EnableFastSnapshotRestoresRequest method.
30824//    req, resp := client.EnableFastSnapshotRestoresRequest(params)
30825//
30826//    err := req.Send()
30827//    if err == nil { // resp is now filled
30828//        fmt.Println(resp)
30829//    }
30830//
30831// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableFastSnapshotRestores
30832func (c *EC2) EnableFastSnapshotRestoresRequest(input *EnableFastSnapshotRestoresInput) (req *request.Request, output *EnableFastSnapshotRestoresOutput) {
30833	op := &request.Operation{
30834		Name:       opEnableFastSnapshotRestores,
30835		HTTPMethod: "POST",
30836		HTTPPath:   "/",
30837	}
30838
30839	if input == nil {
30840		input = &EnableFastSnapshotRestoresInput{}
30841	}
30842
30843	output = &EnableFastSnapshotRestoresOutput{}
30844	req = c.newRequest(op, input, output)
30845	return
30846}
30847
30848// EnableFastSnapshotRestores API operation for Amazon Elastic Compute Cloud.
30849//
30850// Enables fast snapshot restores for the specified snapshots in the specified
30851// Availability Zones.
30852//
30853// You get the full benefit of fast snapshot restores after they enter the enabled
30854// state. To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores.
30855// To disable fast snapshot restores, use DisableFastSnapshotRestores.
30856//
30857// For more information, see Amazon EBS fast snapshot restore (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-fast-snapshot-restore.html)
30858// in the Amazon Elastic Compute Cloud User Guide.
30859//
30860// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30861// with awserr.Error's Code and Message methods to get detailed information about
30862// the error.
30863//
30864// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30865// API operation EnableFastSnapshotRestores for usage and error information.
30866// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableFastSnapshotRestores
30867func (c *EC2) EnableFastSnapshotRestores(input *EnableFastSnapshotRestoresInput) (*EnableFastSnapshotRestoresOutput, error) {
30868	req, out := c.EnableFastSnapshotRestoresRequest(input)
30869	return out, req.Send()
30870}
30871
30872// EnableFastSnapshotRestoresWithContext is the same as EnableFastSnapshotRestores with the addition of
30873// the ability to pass a context and additional request options.
30874//
30875// See EnableFastSnapshotRestores for details on how to use this API operation.
30876//
30877// The context must be non-nil and will be used for request cancellation. If
30878// the context is nil a panic will occur. In the future the SDK may create
30879// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30880// for more information on using Contexts.
30881func (c *EC2) EnableFastSnapshotRestoresWithContext(ctx aws.Context, input *EnableFastSnapshotRestoresInput, opts ...request.Option) (*EnableFastSnapshotRestoresOutput, error) {
30882	req, out := c.EnableFastSnapshotRestoresRequest(input)
30883	req.SetContext(ctx)
30884	req.ApplyOptions(opts...)
30885	return out, req.Send()
30886}
30887
30888const opEnableImageDeprecation = "EnableImageDeprecation"
30889
30890// EnableImageDeprecationRequest generates a "aws/request.Request" representing the
30891// client's request for the EnableImageDeprecation operation. The "output" return
30892// value will be populated with the request's response once the request completes
30893// successfully.
30894//
30895// Use "Send" method on the returned Request to send the API call to the service.
30896// the "output" return value is not valid until after Send returns without error.
30897//
30898// See EnableImageDeprecation for more information on using the EnableImageDeprecation
30899// API call, and error handling.
30900//
30901// This method is useful when you want to inject custom logic or configuration
30902// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30903//
30904//
30905//    // Example sending a request using the EnableImageDeprecationRequest method.
30906//    req, resp := client.EnableImageDeprecationRequest(params)
30907//
30908//    err := req.Send()
30909//    if err == nil { // resp is now filled
30910//        fmt.Println(resp)
30911//    }
30912//
30913// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableImageDeprecation
30914func (c *EC2) EnableImageDeprecationRequest(input *EnableImageDeprecationInput) (req *request.Request, output *EnableImageDeprecationOutput) {
30915	op := &request.Operation{
30916		Name:       opEnableImageDeprecation,
30917		HTTPMethod: "POST",
30918		HTTPPath:   "/",
30919	}
30920
30921	if input == nil {
30922		input = &EnableImageDeprecationInput{}
30923	}
30924
30925	output = &EnableImageDeprecationOutput{}
30926	req = c.newRequest(op, input, output)
30927	return
30928}
30929
30930// EnableImageDeprecation API operation for Amazon Elastic Compute Cloud.
30931//
30932// Enables deprecation of the specified AMI at the specified date and time.
30933//
30934// For more information, see Deprecate an AMI (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-deprecate.html)
30935// in the Amazon Elastic Compute Cloud User Guide.
30936//
30937// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30938// with awserr.Error's Code and Message methods to get detailed information about
30939// the error.
30940//
30941// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30942// API operation EnableImageDeprecation for usage and error information.
30943// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableImageDeprecation
30944func (c *EC2) EnableImageDeprecation(input *EnableImageDeprecationInput) (*EnableImageDeprecationOutput, error) {
30945	req, out := c.EnableImageDeprecationRequest(input)
30946	return out, req.Send()
30947}
30948
30949// EnableImageDeprecationWithContext is the same as EnableImageDeprecation with the addition of
30950// the ability to pass a context and additional request options.
30951//
30952// See EnableImageDeprecation for details on how to use this API operation.
30953//
30954// The context must be non-nil and will be used for request cancellation. If
30955// the context is nil a panic will occur. In the future the SDK may create
30956// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30957// for more information on using Contexts.
30958func (c *EC2) EnableImageDeprecationWithContext(ctx aws.Context, input *EnableImageDeprecationInput, opts ...request.Option) (*EnableImageDeprecationOutput, error) {
30959	req, out := c.EnableImageDeprecationRequest(input)
30960	req.SetContext(ctx)
30961	req.ApplyOptions(opts...)
30962	return out, req.Send()
30963}
30964
30965const opEnableSerialConsoleAccess = "EnableSerialConsoleAccess"
30966
30967// EnableSerialConsoleAccessRequest generates a "aws/request.Request" representing the
30968// client's request for the EnableSerialConsoleAccess operation. The "output" return
30969// value will be populated with the request's response once the request completes
30970// successfully.
30971//
30972// Use "Send" method on the returned Request to send the API call to the service.
30973// the "output" return value is not valid until after Send returns without error.
30974//
30975// See EnableSerialConsoleAccess for more information on using the EnableSerialConsoleAccess
30976// API call, and error handling.
30977//
30978// This method is useful when you want to inject custom logic or configuration
30979// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30980//
30981//
30982//    // Example sending a request using the EnableSerialConsoleAccessRequest method.
30983//    req, resp := client.EnableSerialConsoleAccessRequest(params)
30984//
30985//    err := req.Send()
30986//    if err == nil { // resp is now filled
30987//        fmt.Println(resp)
30988//    }
30989//
30990// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableSerialConsoleAccess
30991func (c *EC2) EnableSerialConsoleAccessRequest(input *EnableSerialConsoleAccessInput) (req *request.Request, output *EnableSerialConsoleAccessOutput) {
30992	op := &request.Operation{
30993		Name:       opEnableSerialConsoleAccess,
30994		HTTPMethod: "POST",
30995		HTTPPath:   "/",
30996	}
30997
30998	if input == nil {
30999		input = &EnableSerialConsoleAccessInput{}
31000	}
31001
31002	output = &EnableSerialConsoleAccessOutput{}
31003	req = c.newRequest(op, input, output)
31004	return
31005}
31006
31007// EnableSerialConsoleAccess API operation for Amazon Elastic Compute Cloud.
31008//
31009// Enables access to the EC2 serial console of all instances for your account.
31010// By default, access to the EC2 serial console is disabled for your account.
31011// For more information, see Manage account access to the EC2 serial console
31012// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-access-to-serial-console.html#serial-console-account-access)
31013// in the Amazon EC2 User Guide.
31014//
31015// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31016// with awserr.Error's Code and Message methods to get detailed information about
31017// the error.
31018//
31019// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31020// API operation EnableSerialConsoleAccess for usage and error information.
31021// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableSerialConsoleAccess
31022func (c *EC2) EnableSerialConsoleAccess(input *EnableSerialConsoleAccessInput) (*EnableSerialConsoleAccessOutput, error) {
31023	req, out := c.EnableSerialConsoleAccessRequest(input)
31024	return out, req.Send()
31025}
31026
31027// EnableSerialConsoleAccessWithContext is the same as EnableSerialConsoleAccess with the addition of
31028// the ability to pass a context and additional request options.
31029//
31030// See EnableSerialConsoleAccess for details on how to use this API operation.
31031//
31032// The context must be non-nil and will be used for request cancellation. If
31033// the context is nil a panic will occur. In the future the SDK may create
31034// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31035// for more information on using Contexts.
31036func (c *EC2) EnableSerialConsoleAccessWithContext(ctx aws.Context, input *EnableSerialConsoleAccessInput, opts ...request.Option) (*EnableSerialConsoleAccessOutput, error) {
31037	req, out := c.EnableSerialConsoleAccessRequest(input)
31038	req.SetContext(ctx)
31039	req.ApplyOptions(opts...)
31040	return out, req.Send()
31041}
31042
31043const opEnableTransitGatewayRouteTablePropagation = "EnableTransitGatewayRouteTablePropagation"
31044
31045// EnableTransitGatewayRouteTablePropagationRequest generates a "aws/request.Request" representing the
31046// client's request for the EnableTransitGatewayRouteTablePropagation operation. The "output" return
31047// value will be populated with the request's response once the request completes
31048// successfully.
31049//
31050// Use "Send" method on the returned Request to send the API call to the service.
31051// the "output" return value is not valid until after Send returns without error.
31052//
31053// See EnableTransitGatewayRouteTablePropagation for more information on using the EnableTransitGatewayRouteTablePropagation
31054// API call, and error handling.
31055//
31056// This method is useful when you want to inject custom logic or configuration
31057// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31058//
31059//
31060//    // Example sending a request using the EnableTransitGatewayRouteTablePropagationRequest method.
31061//    req, resp := client.EnableTransitGatewayRouteTablePropagationRequest(params)
31062//
31063//    err := req.Send()
31064//    if err == nil { // resp is now filled
31065//        fmt.Println(resp)
31066//    }
31067//
31068// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableTransitGatewayRouteTablePropagation
31069func (c *EC2) EnableTransitGatewayRouteTablePropagationRequest(input *EnableTransitGatewayRouteTablePropagationInput) (req *request.Request, output *EnableTransitGatewayRouteTablePropagationOutput) {
31070	op := &request.Operation{
31071		Name:       opEnableTransitGatewayRouteTablePropagation,
31072		HTTPMethod: "POST",
31073		HTTPPath:   "/",
31074	}
31075
31076	if input == nil {
31077		input = &EnableTransitGatewayRouteTablePropagationInput{}
31078	}
31079
31080	output = &EnableTransitGatewayRouteTablePropagationOutput{}
31081	req = c.newRequest(op, input, output)
31082	return
31083}
31084
31085// EnableTransitGatewayRouteTablePropagation API operation for Amazon Elastic Compute Cloud.
31086//
31087// Enables the specified attachment to propagate routes to the specified propagation
31088// route table.
31089//
31090// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31091// with awserr.Error's Code and Message methods to get detailed information about
31092// the error.
31093//
31094// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31095// API operation EnableTransitGatewayRouteTablePropagation for usage and error information.
31096// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableTransitGatewayRouteTablePropagation
31097func (c *EC2) EnableTransitGatewayRouteTablePropagation(input *EnableTransitGatewayRouteTablePropagationInput) (*EnableTransitGatewayRouteTablePropagationOutput, error) {
31098	req, out := c.EnableTransitGatewayRouteTablePropagationRequest(input)
31099	return out, req.Send()
31100}
31101
31102// EnableTransitGatewayRouteTablePropagationWithContext is the same as EnableTransitGatewayRouteTablePropagation with the addition of
31103// the ability to pass a context and additional request options.
31104//
31105// See EnableTransitGatewayRouteTablePropagation for details on how to use this API operation.
31106//
31107// The context must be non-nil and will be used for request cancellation. If
31108// the context is nil a panic will occur. In the future the SDK may create
31109// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31110// for more information on using Contexts.
31111func (c *EC2) EnableTransitGatewayRouteTablePropagationWithContext(ctx aws.Context, input *EnableTransitGatewayRouteTablePropagationInput, opts ...request.Option) (*EnableTransitGatewayRouteTablePropagationOutput, error) {
31112	req, out := c.EnableTransitGatewayRouteTablePropagationRequest(input)
31113	req.SetContext(ctx)
31114	req.ApplyOptions(opts...)
31115	return out, req.Send()
31116}
31117
31118const opEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
31119
31120// EnableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
31121// client's request for the EnableVgwRoutePropagation operation. The "output" return
31122// value will be populated with the request's response once the request completes
31123// successfully.
31124//
31125// Use "Send" method on the returned Request to send the API call to the service.
31126// the "output" return value is not valid until after Send returns without error.
31127//
31128// See EnableVgwRoutePropagation for more information on using the EnableVgwRoutePropagation
31129// API call, and error handling.
31130//
31131// This method is useful when you want to inject custom logic or configuration
31132// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31133//
31134//
31135//    // Example sending a request using the EnableVgwRoutePropagationRequest method.
31136//    req, resp := client.EnableVgwRoutePropagationRequest(params)
31137//
31138//    err := req.Send()
31139//    if err == nil { // resp is now filled
31140//        fmt.Println(resp)
31141//    }
31142//
31143// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
31144func (c *EC2) EnableVgwRoutePropagationRequest(input *EnableVgwRoutePropagationInput) (req *request.Request, output *EnableVgwRoutePropagationOutput) {
31145	op := &request.Operation{
31146		Name:       opEnableVgwRoutePropagation,
31147		HTTPMethod: "POST",
31148		HTTPPath:   "/",
31149	}
31150
31151	if input == nil {
31152		input = &EnableVgwRoutePropagationInput{}
31153	}
31154
31155	output = &EnableVgwRoutePropagationOutput{}
31156	req = c.newRequest(op, input, output)
31157	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
31158	return
31159}
31160
31161// EnableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
31162//
31163// Enables a virtual private gateway (VGW) to propagate routes to the specified
31164// route table of a VPC.
31165//
31166// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31167// with awserr.Error's Code and Message methods to get detailed information about
31168// the error.
31169//
31170// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31171// API operation EnableVgwRoutePropagation for usage and error information.
31172// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
31173func (c *EC2) EnableVgwRoutePropagation(input *EnableVgwRoutePropagationInput) (*EnableVgwRoutePropagationOutput, error) {
31174	req, out := c.EnableVgwRoutePropagationRequest(input)
31175	return out, req.Send()
31176}
31177
31178// EnableVgwRoutePropagationWithContext is the same as EnableVgwRoutePropagation with the addition of
31179// the ability to pass a context and additional request options.
31180//
31181// See EnableVgwRoutePropagation for details on how to use this API operation.
31182//
31183// The context must be non-nil and will be used for request cancellation. If
31184// the context is nil a panic will occur. In the future the SDK may create
31185// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31186// for more information on using Contexts.
31187func (c *EC2) EnableVgwRoutePropagationWithContext(ctx aws.Context, input *EnableVgwRoutePropagationInput, opts ...request.Option) (*EnableVgwRoutePropagationOutput, error) {
31188	req, out := c.EnableVgwRoutePropagationRequest(input)
31189	req.SetContext(ctx)
31190	req.ApplyOptions(opts...)
31191	return out, req.Send()
31192}
31193
31194const opEnableVolumeIO = "EnableVolumeIO"
31195
31196// EnableVolumeIORequest generates a "aws/request.Request" representing the
31197// client's request for the EnableVolumeIO operation. The "output" return
31198// value will be populated with the request's response once the request completes
31199// successfully.
31200//
31201// Use "Send" method on the returned Request to send the API call to the service.
31202// the "output" return value is not valid until after Send returns without error.
31203//
31204// See EnableVolumeIO for more information on using the EnableVolumeIO
31205// API call, and error handling.
31206//
31207// This method is useful when you want to inject custom logic or configuration
31208// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31209//
31210//
31211//    // Example sending a request using the EnableVolumeIORequest method.
31212//    req, resp := client.EnableVolumeIORequest(params)
31213//
31214//    err := req.Send()
31215//    if err == nil { // resp is now filled
31216//        fmt.Println(resp)
31217//    }
31218//
31219// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
31220func (c *EC2) EnableVolumeIORequest(input *EnableVolumeIOInput) (req *request.Request, output *EnableVolumeIOOutput) {
31221	op := &request.Operation{
31222		Name:       opEnableVolumeIO,
31223		HTTPMethod: "POST",
31224		HTTPPath:   "/",
31225	}
31226
31227	if input == nil {
31228		input = &EnableVolumeIOInput{}
31229	}
31230
31231	output = &EnableVolumeIOOutput{}
31232	req = c.newRequest(op, input, output)
31233	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
31234	return
31235}
31236
31237// EnableVolumeIO API operation for Amazon Elastic Compute Cloud.
31238//
31239// Enables I/O operations for a volume that had I/O operations disabled because
31240// the data on the volume was potentially inconsistent.
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 EnableVolumeIO for usage and error information.
31248// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
31249func (c *EC2) EnableVolumeIO(input *EnableVolumeIOInput) (*EnableVolumeIOOutput, error) {
31250	req, out := c.EnableVolumeIORequest(input)
31251	return out, req.Send()
31252}
31253
31254// EnableVolumeIOWithContext is the same as EnableVolumeIO with the addition of
31255// the ability to pass a context and additional request options.
31256//
31257// See EnableVolumeIO 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) EnableVolumeIOWithContext(ctx aws.Context, input *EnableVolumeIOInput, opts ...request.Option) (*EnableVolumeIOOutput, error) {
31264	req, out := c.EnableVolumeIORequest(input)
31265	req.SetContext(ctx)
31266	req.ApplyOptions(opts...)
31267	return out, req.Send()
31268}
31269
31270const opEnableVpcClassicLink = "EnableVpcClassicLink"
31271
31272// EnableVpcClassicLinkRequest generates a "aws/request.Request" representing the
31273// client's request for the EnableVpcClassicLink 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 EnableVpcClassicLink for more information on using the EnableVpcClassicLink
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 EnableVpcClassicLinkRequest method.
31288//    req, resp := client.EnableVpcClassicLinkRequest(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/EnableVpcClassicLink
31296func (c *EC2) EnableVpcClassicLinkRequest(input *EnableVpcClassicLinkInput) (req *request.Request, output *EnableVpcClassicLinkOutput) {
31297	op := &request.Operation{
31298		Name:       opEnableVpcClassicLink,
31299		HTTPMethod: "POST",
31300		HTTPPath:   "/",
31301	}
31302
31303	if input == nil {
31304		input = &EnableVpcClassicLinkInput{}
31305	}
31306
31307	output = &EnableVpcClassicLinkOutput{}
31308	req = c.newRequest(op, input, output)
31309	return
31310}
31311
31312// EnableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
31313//
31314// Enables a VPC for ClassicLink. You can then link EC2-Classic instances to
31315// your ClassicLink-enabled VPC to allow communication over private IP addresses.
31316// You cannot enable your VPC for ClassicLink if any of your VPC route tables
31317// have existing routes for address ranges within the 10.0.0.0/8 IP address
31318// range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16
31319// IP address ranges. For more information, see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
31320// in the Amazon Elastic Compute Cloud User Guide.
31321//
31322// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31323// with awserr.Error's Code and Message methods to get detailed information about
31324// the error.
31325//
31326// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31327// API operation EnableVpcClassicLink for usage and error information.
31328// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
31329func (c *EC2) EnableVpcClassicLink(input *EnableVpcClassicLinkInput) (*EnableVpcClassicLinkOutput, error) {
31330	req, out := c.EnableVpcClassicLinkRequest(input)
31331	return out, req.Send()
31332}
31333
31334// EnableVpcClassicLinkWithContext is the same as EnableVpcClassicLink with the addition of
31335// the ability to pass a context and additional request options.
31336//
31337// See EnableVpcClassicLink for details on how to use this API operation.
31338//
31339// The context must be non-nil and will be used for request cancellation. If
31340// the context is nil a panic will occur. In the future the SDK may create
31341// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31342// for more information on using Contexts.
31343func (c *EC2) EnableVpcClassicLinkWithContext(ctx aws.Context, input *EnableVpcClassicLinkInput, opts ...request.Option) (*EnableVpcClassicLinkOutput, error) {
31344	req, out := c.EnableVpcClassicLinkRequest(input)
31345	req.SetContext(ctx)
31346	req.ApplyOptions(opts...)
31347	return out, req.Send()
31348}
31349
31350const opEnableVpcClassicLinkDnsSupport = "EnableVpcClassicLinkDnsSupport"
31351
31352// EnableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
31353// client's request for the EnableVpcClassicLinkDnsSupport operation. The "output" return
31354// value will be populated with the request's response once the request completes
31355// successfully.
31356//
31357// Use "Send" method on the returned Request to send the API call to the service.
31358// the "output" return value is not valid until after Send returns without error.
31359//
31360// See EnableVpcClassicLinkDnsSupport for more information on using the EnableVpcClassicLinkDnsSupport
31361// API call, and error handling.
31362//
31363// This method is useful when you want to inject custom logic or configuration
31364// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31365//
31366//
31367//    // Example sending a request using the EnableVpcClassicLinkDnsSupportRequest method.
31368//    req, resp := client.EnableVpcClassicLinkDnsSupportRequest(params)
31369//
31370//    err := req.Send()
31371//    if err == nil { // resp is now filled
31372//        fmt.Println(resp)
31373//    }
31374//
31375// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
31376func (c *EC2) EnableVpcClassicLinkDnsSupportRequest(input *EnableVpcClassicLinkDnsSupportInput) (req *request.Request, output *EnableVpcClassicLinkDnsSupportOutput) {
31377	op := &request.Operation{
31378		Name:       opEnableVpcClassicLinkDnsSupport,
31379		HTTPMethod: "POST",
31380		HTTPPath:   "/",
31381	}
31382
31383	if input == nil {
31384		input = &EnableVpcClassicLinkDnsSupportInput{}
31385	}
31386
31387	output = &EnableVpcClassicLinkDnsSupportOutput{}
31388	req = c.newRequest(op, input, output)
31389	return
31390}
31391
31392// EnableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
31393//
31394// Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled,
31395// the DNS hostname of a linked EC2-Classic instance resolves to its private
31396// IP address when addressed from an instance in the VPC to which it's linked.
31397// Similarly, the DNS hostname of an instance in a VPC resolves to its private
31398// IP address when addressed from a linked EC2-Classic instance. For more information,
31399// see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
31400// in the Amazon Elastic Compute Cloud User Guide.
31401//
31402// You must specify a VPC ID in the request.
31403//
31404// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31405// with awserr.Error's Code and Message methods to get detailed information about
31406// the error.
31407//
31408// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31409// API operation EnableVpcClassicLinkDnsSupport for usage and error information.
31410// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
31411func (c *EC2) EnableVpcClassicLinkDnsSupport(input *EnableVpcClassicLinkDnsSupportInput) (*EnableVpcClassicLinkDnsSupportOutput, error) {
31412	req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
31413	return out, req.Send()
31414}
31415
31416// EnableVpcClassicLinkDnsSupportWithContext is the same as EnableVpcClassicLinkDnsSupport with the addition of
31417// the ability to pass a context and additional request options.
31418//
31419// See EnableVpcClassicLinkDnsSupport for details on how to use this API operation.
31420//
31421// The context must be non-nil and will be used for request cancellation. If
31422// the context is nil a panic will occur. In the future the SDK may create
31423// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31424// for more information on using Contexts.
31425func (c *EC2) EnableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *EnableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*EnableVpcClassicLinkDnsSupportOutput, error) {
31426	req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
31427	req.SetContext(ctx)
31428	req.ApplyOptions(opts...)
31429	return out, req.Send()
31430}
31431
31432const opExportClientVpnClientCertificateRevocationList = "ExportClientVpnClientCertificateRevocationList"
31433
31434// ExportClientVpnClientCertificateRevocationListRequest generates a "aws/request.Request" representing the
31435// client's request for the ExportClientVpnClientCertificateRevocationList operation. The "output" return
31436// value will be populated with the request's response once the request completes
31437// successfully.
31438//
31439// Use "Send" method on the returned Request to send the API call to the service.
31440// the "output" return value is not valid until after Send returns without error.
31441//
31442// See ExportClientVpnClientCertificateRevocationList for more information on using the ExportClientVpnClientCertificateRevocationList
31443// API call, and error handling.
31444//
31445// This method is useful when you want to inject custom logic or configuration
31446// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31447//
31448//
31449//    // Example sending a request using the ExportClientVpnClientCertificateRevocationListRequest method.
31450//    req, resp := client.ExportClientVpnClientCertificateRevocationListRequest(params)
31451//
31452//    err := req.Send()
31453//    if err == nil { // resp is now filled
31454//        fmt.Println(resp)
31455//    }
31456//
31457// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientCertificateRevocationList
31458func (c *EC2) ExportClientVpnClientCertificateRevocationListRequest(input *ExportClientVpnClientCertificateRevocationListInput) (req *request.Request, output *ExportClientVpnClientCertificateRevocationListOutput) {
31459	op := &request.Operation{
31460		Name:       opExportClientVpnClientCertificateRevocationList,
31461		HTTPMethod: "POST",
31462		HTTPPath:   "/",
31463	}
31464
31465	if input == nil {
31466		input = &ExportClientVpnClientCertificateRevocationListInput{}
31467	}
31468
31469	output = &ExportClientVpnClientCertificateRevocationListOutput{}
31470	req = c.newRequest(op, input, output)
31471	return
31472}
31473
31474// ExportClientVpnClientCertificateRevocationList API operation for Amazon Elastic Compute Cloud.
31475//
31476// Downloads the client certificate revocation list for the specified Client
31477// VPN endpoint.
31478//
31479// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31480// with awserr.Error's Code and Message methods to get detailed information about
31481// the error.
31482//
31483// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31484// API operation ExportClientVpnClientCertificateRevocationList for usage and error information.
31485// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientCertificateRevocationList
31486func (c *EC2) ExportClientVpnClientCertificateRevocationList(input *ExportClientVpnClientCertificateRevocationListInput) (*ExportClientVpnClientCertificateRevocationListOutput, error) {
31487	req, out := c.ExportClientVpnClientCertificateRevocationListRequest(input)
31488	return out, req.Send()
31489}
31490
31491// ExportClientVpnClientCertificateRevocationListWithContext is the same as ExportClientVpnClientCertificateRevocationList with the addition of
31492// the ability to pass a context and additional request options.
31493//
31494// See ExportClientVpnClientCertificateRevocationList for details on how to use this API operation.
31495//
31496// The context must be non-nil and will be used for request cancellation. If
31497// the context is nil a panic will occur. In the future the SDK may create
31498// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31499// for more information on using Contexts.
31500func (c *EC2) ExportClientVpnClientCertificateRevocationListWithContext(ctx aws.Context, input *ExportClientVpnClientCertificateRevocationListInput, opts ...request.Option) (*ExportClientVpnClientCertificateRevocationListOutput, error) {
31501	req, out := c.ExportClientVpnClientCertificateRevocationListRequest(input)
31502	req.SetContext(ctx)
31503	req.ApplyOptions(opts...)
31504	return out, req.Send()
31505}
31506
31507const opExportClientVpnClientConfiguration = "ExportClientVpnClientConfiguration"
31508
31509// ExportClientVpnClientConfigurationRequest generates a "aws/request.Request" representing the
31510// client's request for the ExportClientVpnClientConfiguration operation. The "output" return
31511// value will be populated with the request's response once the request completes
31512// successfully.
31513//
31514// Use "Send" method on the returned Request to send the API call to the service.
31515// the "output" return value is not valid until after Send returns without error.
31516//
31517// See ExportClientVpnClientConfiguration for more information on using the ExportClientVpnClientConfiguration
31518// API call, and error handling.
31519//
31520// This method is useful when you want to inject custom logic or configuration
31521// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31522//
31523//
31524//    // Example sending a request using the ExportClientVpnClientConfigurationRequest method.
31525//    req, resp := client.ExportClientVpnClientConfigurationRequest(params)
31526//
31527//    err := req.Send()
31528//    if err == nil { // resp is now filled
31529//        fmt.Println(resp)
31530//    }
31531//
31532// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientConfiguration
31533func (c *EC2) ExportClientVpnClientConfigurationRequest(input *ExportClientVpnClientConfigurationInput) (req *request.Request, output *ExportClientVpnClientConfigurationOutput) {
31534	op := &request.Operation{
31535		Name:       opExportClientVpnClientConfiguration,
31536		HTTPMethod: "POST",
31537		HTTPPath:   "/",
31538	}
31539
31540	if input == nil {
31541		input = &ExportClientVpnClientConfigurationInput{}
31542	}
31543
31544	output = &ExportClientVpnClientConfigurationOutput{}
31545	req = c.newRequest(op, input, output)
31546	return
31547}
31548
31549// ExportClientVpnClientConfiguration API operation for Amazon Elastic Compute Cloud.
31550//
31551// Downloads the contents of the Client VPN endpoint configuration file for
31552// the specified Client VPN endpoint. The Client VPN endpoint configuration
31553// file includes the Client VPN endpoint and certificate information clients
31554// need to establish a connection with the Client VPN endpoint.
31555//
31556// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31557// with awserr.Error's Code and Message methods to get detailed information about
31558// the error.
31559//
31560// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31561// API operation ExportClientVpnClientConfiguration for usage and error information.
31562// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientConfiguration
31563func (c *EC2) ExportClientVpnClientConfiguration(input *ExportClientVpnClientConfigurationInput) (*ExportClientVpnClientConfigurationOutput, error) {
31564	req, out := c.ExportClientVpnClientConfigurationRequest(input)
31565	return out, req.Send()
31566}
31567
31568// ExportClientVpnClientConfigurationWithContext is the same as ExportClientVpnClientConfiguration with the addition of
31569// the ability to pass a context and additional request options.
31570//
31571// See ExportClientVpnClientConfiguration for details on how to use this API operation.
31572//
31573// The context must be non-nil and will be used for request cancellation. If
31574// the context is nil a panic will occur. In the future the SDK may create
31575// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31576// for more information on using Contexts.
31577func (c *EC2) ExportClientVpnClientConfigurationWithContext(ctx aws.Context, input *ExportClientVpnClientConfigurationInput, opts ...request.Option) (*ExportClientVpnClientConfigurationOutput, error) {
31578	req, out := c.ExportClientVpnClientConfigurationRequest(input)
31579	req.SetContext(ctx)
31580	req.ApplyOptions(opts...)
31581	return out, req.Send()
31582}
31583
31584const opExportImage = "ExportImage"
31585
31586// ExportImageRequest generates a "aws/request.Request" representing the
31587// client's request for the ExportImage operation. The "output" return
31588// value will be populated with the request's response once the request completes
31589// successfully.
31590//
31591// Use "Send" method on the returned Request to send the API call to the service.
31592// the "output" return value is not valid until after Send returns without error.
31593//
31594// See ExportImage for more information on using the ExportImage
31595// API call, and error handling.
31596//
31597// This method is useful when you want to inject custom logic or configuration
31598// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31599//
31600//
31601//    // Example sending a request using the ExportImageRequest method.
31602//    req, resp := client.ExportImageRequest(params)
31603//
31604//    err := req.Send()
31605//    if err == nil { // resp is now filled
31606//        fmt.Println(resp)
31607//    }
31608//
31609// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportImage
31610func (c *EC2) ExportImageRequest(input *ExportImageInput) (req *request.Request, output *ExportImageOutput) {
31611	op := &request.Operation{
31612		Name:       opExportImage,
31613		HTTPMethod: "POST",
31614		HTTPPath:   "/",
31615	}
31616
31617	if input == nil {
31618		input = &ExportImageInput{}
31619	}
31620
31621	output = &ExportImageOutput{}
31622	req = c.newRequest(op, input, output)
31623	return
31624}
31625
31626// ExportImage API operation for Amazon Elastic Compute Cloud.
31627//
31628// Exports an Amazon Machine Image (AMI) to a VM file. For more information,
31629// see Exporting a VM directly from an Amazon Machine Image (AMI) (https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport_image.html)
31630// in the VM Import/Export User Guide.
31631//
31632// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31633// with awserr.Error's Code and Message methods to get detailed information about
31634// the error.
31635//
31636// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31637// API operation ExportImage for usage and error information.
31638// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportImage
31639func (c *EC2) ExportImage(input *ExportImageInput) (*ExportImageOutput, error) {
31640	req, out := c.ExportImageRequest(input)
31641	return out, req.Send()
31642}
31643
31644// ExportImageWithContext is the same as ExportImage with the addition of
31645// the ability to pass a context and additional request options.
31646//
31647// See ExportImage for details on how to use this API operation.
31648//
31649// The context must be non-nil and will be used for request cancellation. If
31650// the context is nil a panic will occur. In the future the SDK may create
31651// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31652// for more information on using Contexts.
31653func (c *EC2) ExportImageWithContext(ctx aws.Context, input *ExportImageInput, opts ...request.Option) (*ExportImageOutput, error) {
31654	req, out := c.ExportImageRequest(input)
31655	req.SetContext(ctx)
31656	req.ApplyOptions(opts...)
31657	return out, req.Send()
31658}
31659
31660const opExportTransitGatewayRoutes = "ExportTransitGatewayRoutes"
31661
31662// ExportTransitGatewayRoutesRequest generates a "aws/request.Request" representing the
31663// client's request for the ExportTransitGatewayRoutes operation. The "output" return
31664// value will be populated with the request's response once the request completes
31665// successfully.
31666//
31667// Use "Send" method on the returned Request to send the API call to the service.
31668// the "output" return value is not valid until after Send returns without error.
31669//
31670// See ExportTransitGatewayRoutes for more information on using the ExportTransitGatewayRoutes
31671// API call, and error handling.
31672//
31673// This method is useful when you want to inject custom logic or configuration
31674// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31675//
31676//
31677//    // Example sending a request using the ExportTransitGatewayRoutesRequest method.
31678//    req, resp := client.ExportTransitGatewayRoutesRequest(params)
31679//
31680//    err := req.Send()
31681//    if err == nil { // resp is now filled
31682//        fmt.Println(resp)
31683//    }
31684//
31685// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportTransitGatewayRoutes
31686func (c *EC2) ExportTransitGatewayRoutesRequest(input *ExportTransitGatewayRoutesInput) (req *request.Request, output *ExportTransitGatewayRoutesOutput) {
31687	op := &request.Operation{
31688		Name:       opExportTransitGatewayRoutes,
31689		HTTPMethod: "POST",
31690		HTTPPath:   "/",
31691	}
31692
31693	if input == nil {
31694		input = &ExportTransitGatewayRoutesInput{}
31695	}
31696
31697	output = &ExportTransitGatewayRoutesOutput{}
31698	req = c.newRequest(op, input, output)
31699	return
31700}
31701
31702// ExportTransitGatewayRoutes API operation for Amazon Elastic Compute Cloud.
31703//
31704// Exports routes from the specified transit gateway route table to the specified
31705// S3 bucket. By default, all routes are exported. Alternatively, you can filter
31706// by CIDR range.
31707//
31708// The routes are saved to the specified bucket in a JSON file. For more information,
31709// see Export Route Tables to Amazon S3 (https://docs.aws.amazon.com/vpc/latest/tgw/tgw-route-tables.html#tgw-export-route-tables)
31710// in Transit Gateways.
31711//
31712// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31713// with awserr.Error's Code and Message methods to get detailed information about
31714// the error.
31715//
31716// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31717// API operation ExportTransitGatewayRoutes for usage and error information.
31718// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportTransitGatewayRoutes
31719func (c *EC2) ExportTransitGatewayRoutes(input *ExportTransitGatewayRoutesInput) (*ExportTransitGatewayRoutesOutput, error) {
31720	req, out := c.ExportTransitGatewayRoutesRequest(input)
31721	return out, req.Send()
31722}
31723
31724// ExportTransitGatewayRoutesWithContext is the same as ExportTransitGatewayRoutes with the addition of
31725// the ability to pass a context and additional request options.
31726//
31727// See ExportTransitGatewayRoutes for details on how to use this API operation.
31728//
31729// The context must be non-nil and will be used for request cancellation. If
31730// the context is nil a panic will occur. In the future the SDK may create
31731// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31732// for more information on using Contexts.
31733func (c *EC2) ExportTransitGatewayRoutesWithContext(ctx aws.Context, input *ExportTransitGatewayRoutesInput, opts ...request.Option) (*ExportTransitGatewayRoutesOutput, error) {
31734	req, out := c.ExportTransitGatewayRoutesRequest(input)
31735	req.SetContext(ctx)
31736	req.ApplyOptions(opts...)
31737	return out, req.Send()
31738}
31739
31740const opGetAssociatedEnclaveCertificateIamRoles = "GetAssociatedEnclaveCertificateIamRoles"
31741
31742// GetAssociatedEnclaveCertificateIamRolesRequest generates a "aws/request.Request" representing the
31743// client's request for the GetAssociatedEnclaveCertificateIamRoles operation. The "output" return
31744// value will be populated with the request's response once the request completes
31745// successfully.
31746//
31747// Use "Send" method on the returned Request to send the API call to the service.
31748// the "output" return value is not valid until after Send returns without error.
31749//
31750// See GetAssociatedEnclaveCertificateIamRoles for more information on using the GetAssociatedEnclaveCertificateIamRoles
31751// API call, and error handling.
31752//
31753// This method is useful when you want to inject custom logic or configuration
31754// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31755//
31756//
31757//    // Example sending a request using the GetAssociatedEnclaveCertificateIamRolesRequest method.
31758//    req, resp := client.GetAssociatedEnclaveCertificateIamRolesRequest(params)
31759//
31760//    err := req.Send()
31761//    if err == nil { // resp is now filled
31762//        fmt.Println(resp)
31763//    }
31764//
31765// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetAssociatedEnclaveCertificateIamRoles
31766func (c *EC2) GetAssociatedEnclaveCertificateIamRolesRequest(input *GetAssociatedEnclaveCertificateIamRolesInput) (req *request.Request, output *GetAssociatedEnclaveCertificateIamRolesOutput) {
31767	op := &request.Operation{
31768		Name:       opGetAssociatedEnclaveCertificateIamRoles,
31769		HTTPMethod: "POST",
31770		HTTPPath:   "/",
31771	}
31772
31773	if input == nil {
31774		input = &GetAssociatedEnclaveCertificateIamRolesInput{}
31775	}
31776
31777	output = &GetAssociatedEnclaveCertificateIamRolesOutput{}
31778	req = c.newRequest(op, input, output)
31779	return
31780}
31781
31782// GetAssociatedEnclaveCertificateIamRoles API operation for Amazon Elastic Compute Cloud.
31783//
31784// Returns the IAM roles that are associated with the specified ACM (ACM) certificate.
31785// It also returns the name of the Amazon S3 bucket and the Amazon S3 object
31786// key where the certificate, certificate chain, and encrypted private key bundle
31787// are stored, and the ARN of the KMS key that's used to encrypt the private
31788// key.
31789//
31790// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31791// with awserr.Error's Code and Message methods to get detailed information about
31792// the error.
31793//
31794// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31795// API operation GetAssociatedEnclaveCertificateIamRoles for usage and error information.
31796// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetAssociatedEnclaveCertificateIamRoles
31797func (c *EC2) GetAssociatedEnclaveCertificateIamRoles(input *GetAssociatedEnclaveCertificateIamRolesInput) (*GetAssociatedEnclaveCertificateIamRolesOutput, error) {
31798	req, out := c.GetAssociatedEnclaveCertificateIamRolesRequest(input)
31799	return out, req.Send()
31800}
31801
31802// GetAssociatedEnclaveCertificateIamRolesWithContext is the same as GetAssociatedEnclaveCertificateIamRoles with the addition of
31803// the ability to pass a context and additional request options.
31804//
31805// See GetAssociatedEnclaveCertificateIamRoles for details on how to use this API operation.
31806//
31807// The context must be non-nil and will be used for request cancellation. If
31808// the context is nil a panic will occur. In the future the SDK may create
31809// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31810// for more information on using Contexts.
31811func (c *EC2) GetAssociatedEnclaveCertificateIamRolesWithContext(ctx aws.Context, input *GetAssociatedEnclaveCertificateIamRolesInput, opts ...request.Option) (*GetAssociatedEnclaveCertificateIamRolesOutput, error) {
31812	req, out := c.GetAssociatedEnclaveCertificateIamRolesRequest(input)
31813	req.SetContext(ctx)
31814	req.ApplyOptions(opts...)
31815	return out, req.Send()
31816}
31817
31818const opGetAssociatedIpv6PoolCidrs = "GetAssociatedIpv6PoolCidrs"
31819
31820// GetAssociatedIpv6PoolCidrsRequest generates a "aws/request.Request" representing the
31821// client's request for the GetAssociatedIpv6PoolCidrs operation. The "output" return
31822// value will be populated with the request's response once the request completes
31823// successfully.
31824//
31825// Use "Send" method on the returned Request to send the API call to the service.
31826// the "output" return value is not valid until after Send returns without error.
31827//
31828// See GetAssociatedIpv6PoolCidrs for more information on using the GetAssociatedIpv6PoolCidrs
31829// API call, and error handling.
31830//
31831// This method is useful when you want to inject custom logic or configuration
31832// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31833//
31834//
31835//    // Example sending a request using the GetAssociatedIpv6PoolCidrsRequest method.
31836//    req, resp := client.GetAssociatedIpv6PoolCidrsRequest(params)
31837//
31838//    err := req.Send()
31839//    if err == nil { // resp is now filled
31840//        fmt.Println(resp)
31841//    }
31842//
31843// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetAssociatedIpv6PoolCidrs
31844func (c *EC2) GetAssociatedIpv6PoolCidrsRequest(input *GetAssociatedIpv6PoolCidrsInput) (req *request.Request, output *GetAssociatedIpv6PoolCidrsOutput) {
31845	op := &request.Operation{
31846		Name:       opGetAssociatedIpv6PoolCidrs,
31847		HTTPMethod: "POST",
31848		HTTPPath:   "/",
31849		Paginator: &request.Paginator{
31850			InputTokens:     []string{"NextToken"},
31851			OutputTokens:    []string{"NextToken"},
31852			LimitToken:      "MaxResults",
31853			TruncationToken: "",
31854		},
31855	}
31856
31857	if input == nil {
31858		input = &GetAssociatedIpv6PoolCidrsInput{}
31859	}
31860
31861	output = &GetAssociatedIpv6PoolCidrsOutput{}
31862	req = c.newRequest(op, input, output)
31863	return
31864}
31865
31866// GetAssociatedIpv6PoolCidrs API operation for Amazon Elastic Compute Cloud.
31867//
31868// Gets information about the IPv6 CIDR block associations for a specified IPv6
31869// address pool.
31870//
31871// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31872// with awserr.Error's Code and Message methods to get detailed information about
31873// the error.
31874//
31875// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31876// API operation GetAssociatedIpv6PoolCidrs for usage and error information.
31877// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetAssociatedIpv6PoolCidrs
31878func (c *EC2) GetAssociatedIpv6PoolCidrs(input *GetAssociatedIpv6PoolCidrsInput) (*GetAssociatedIpv6PoolCidrsOutput, error) {
31879	req, out := c.GetAssociatedIpv6PoolCidrsRequest(input)
31880	return out, req.Send()
31881}
31882
31883// GetAssociatedIpv6PoolCidrsWithContext is the same as GetAssociatedIpv6PoolCidrs with the addition of
31884// the ability to pass a context and additional request options.
31885//
31886// See GetAssociatedIpv6PoolCidrs for details on how to use this API operation.
31887//
31888// The context must be non-nil and will be used for request cancellation. If
31889// the context is nil a panic will occur. In the future the SDK may create
31890// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31891// for more information on using Contexts.
31892func (c *EC2) GetAssociatedIpv6PoolCidrsWithContext(ctx aws.Context, input *GetAssociatedIpv6PoolCidrsInput, opts ...request.Option) (*GetAssociatedIpv6PoolCidrsOutput, error) {
31893	req, out := c.GetAssociatedIpv6PoolCidrsRequest(input)
31894	req.SetContext(ctx)
31895	req.ApplyOptions(opts...)
31896	return out, req.Send()
31897}
31898
31899// GetAssociatedIpv6PoolCidrsPages iterates over the pages of a GetAssociatedIpv6PoolCidrs operation,
31900// calling the "fn" function with the response data for each page. To stop
31901// iterating, return false from the fn function.
31902//
31903// See GetAssociatedIpv6PoolCidrs method for more information on how to use this operation.
31904//
31905// Note: This operation can generate multiple requests to a service.
31906//
31907//    // Example iterating over at most 3 pages of a GetAssociatedIpv6PoolCidrs operation.
31908//    pageNum := 0
31909//    err := client.GetAssociatedIpv6PoolCidrsPages(params,
31910//        func(page *ec2.GetAssociatedIpv6PoolCidrsOutput, lastPage bool) bool {
31911//            pageNum++
31912//            fmt.Println(page)
31913//            return pageNum <= 3
31914//        })
31915//
31916func (c *EC2) GetAssociatedIpv6PoolCidrsPages(input *GetAssociatedIpv6PoolCidrsInput, fn func(*GetAssociatedIpv6PoolCidrsOutput, bool) bool) error {
31917	return c.GetAssociatedIpv6PoolCidrsPagesWithContext(aws.BackgroundContext(), input, fn)
31918}
31919
31920// GetAssociatedIpv6PoolCidrsPagesWithContext same as GetAssociatedIpv6PoolCidrsPages except
31921// it takes a Context and allows setting request options on the pages.
31922//
31923// The context must be non-nil and will be used for request cancellation. If
31924// the context is nil a panic will occur. In the future the SDK may create
31925// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31926// for more information on using Contexts.
31927func (c *EC2) GetAssociatedIpv6PoolCidrsPagesWithContext(ctx aws.Context, input *GetAssociatedIpv6PoolCidrsInput, fn func(*GetAssociatedIpv6PoolCidrsOutput, bool) bool, opts ...request.Option) error {
31928	p := request.Pagination{
31929		NewRequest: func() (*request.Request, error) {
31930			var inCpy *GetAssociatedIpv6PoolCidrsInput
31931			if input != nil {
31932				tmp := *input
31933				inCpy = &tmp
31934			}
31935			req, _ := c.GetAssociatedIpv6PoolCidrsRequest(inCpy)
31936			req.SetContext(ctx)
31937			req.ApplyOptions(opts...)
31938			return req, nil
31939		},
31940	}
31941
31942	for p.Next() {
31943		if !fn(p.Page().(*GetAssociatedIpv6PoolCidrsOutput), !p.HasNextPage()) {
31944			break
31945		}
31946	}
31947
31948	return p.Err()
31949}
31950
31951const opGetCapacityReservationUsage = "GetCapacityReservationUsage"
31952
31953// GetCapacityReservationUsageRequest generates a "aws/request.Request" representing the
31954// client's request for the GetCapacityReservationUsage operation. The "output" return
31955// value will be populated with the request's response once the request completes
31956// successfully.
31957//
31958// Use "Send" method on the returned Request to send the API call to the service.
31959// the "output" return value is not valid until after Send returns without error.
31960//
31961// See GetCapacityReservationUsage for more information on using the GetCapacityReservationUsage
31962// API call, and error handling.
31963//
31964// This method is useful when you want to inject custom logic or configuration
31965// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31966//
31967//
31968//    // Example sending a request using the GetCapacityReservationUsageRequest method.
31969//    req, resp := client.GetCapacityReservationUsageRequest(params)
31970//
31971//    err := req.Send()
31972//    if err == nil { // resp is now filled
31973//        fmt.Println(resp)
31974//    }
31975//
31976// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCapacityReservationUsage
31977func (c *EC2) GetCapacityReservationUsageRequest(input *GetCapacityReservationUsageInput) (req *request.Request, output *GetCapacityReservationUsageOutput) {
31978	op := &request.Operation{
31979		Name:       opGetCapacityReservationUsage,
31980		HTTPMethod: "POST",
31981		HTTPPath:   "/",
31982	}
31983
31984	if input == nil {
31985		input = &GetCapacityReservationUsageInput{}
31986	}
31987
31988	output = &GetCapacityReservationUsageOutput{}
31989	req = c.newRequest(op, input, output)
31990	return
31991}
31992
31993// GetCapacityReservationUsage API operation for Amazon Elastic Compute Cloud.
31994//
31995// Gets usage information about a Capacity Reservation. If the Capacity Reservation
31996// is shared, it shows usage information for the Capacity Reservation owner
31997// and each Amazon Web Services account that is currently using the shared capacity.
31998// If the Capacity Reservation is not shared, it shows only the Capacity Reservation
31999// owner's usage.
32000//
32001// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32002// with awserr.Error's Code and Message methods to get detailed information about
32003// the error.
32004//
32005// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32006// API operation GetCapacityReservationUsage for usage and error information.
32007// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCapacityReservationUsage
32008func (c *EC2) GetCapacityReservationUsage(input *GetCapacityReservationUsageInput) (*GetCapacityReservationUsageOutput, error) {
32009	req, out := c.GetCapacityReservationUsageRequest(input)
32010	return out, req.Send()
32011}
32012
32013// GetCapacityReservationUsageWithContext is the same as GetCapacityReservationUsage with the addition of
32014// the ability to pass a context and additional request options.
32015//
32016// See GetCapacityReservationUsage for details on how to use this API operation.
32017//
32018// The context must be non-nil and will be used for request cancellation. If
32019// the context is nil a panic will occur. In the future the SDK may create
32020// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32021// for more information on using Contexts.
32022func (c *EC2) GetCapacityReservationUsageWithContext(ctx aws.Context, input *GetCapacityReservationUsageInput, opts ...request.Option) (*GetCapacityReservationUsageOutput, error) {
32023	req, out := c.GetCapacityReservationUsageRequest(input)
32024	req.SetContext(ctx)
32025	req.ApplyOptions(opts...)
32026	return out, req.Send()
32027}
32028
32029const opGetCoipPoolUsage = "GetCoipPoolUsage"
32030
32031// GetCoipPoolUsageRequest generates a "aws/request.Request" representing the
32032// client's request for the GetCoipPoolUsage operation. The "output" return
32033// value will be populated with the request's response once the request completes
32034// successfully.
32035//
32036// Use "Send" method on the returned Request to send the API call to the service.
32037// the "output" return value is not valid until after Send returns without error.
32038//
32039// See GetCoipPoolUsage for more information on using the GetCoipPoolUsage
32040// API call, and error handling.
32041//
32042// This method is useful when you want to inject custom logic or configuration
32043// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32044//
32045//
32046//    // Example sending a request using the GetCoipPoolUsageRequest method.
32047//    req, resp := client.GetCoipPoolUsageRequest(params)
32048//
32049//    err := req.Send()
32050//    if err == nil { // resp is now filled
32051//        fmt.Println(resp)
32052//    }
32053//
32054// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCoipPoolUsage
32055func (c *EC2) GetCoipPoolUsageRequest(input *GetCoipPoolUsageInput) (req *request.Request, output *GetCoipPoolUsageOutput) {
32056	op := &request.Operation{
32057		Name:       opGetCoipPoolUsage,
32058		HTTPMethod: "POST",
32059		HTTPPath:   "/",
32060	}
32061
32062	if input == nil {
32063		input = &GetCoipPoolUsageInput{}
32064	}
32065
32066	output = &GetCoipPoolUsageOutput{}
32067	req = c.newRequest(op, input, output)
32068	return
32069}
32070
32071// GetCoipPoolUsage API operation for Amazon Elastic Compute Cloud.
32072//
32073// Describes the allocations from the specified customer-owned address pool.
32074//
32075// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32076// with awserr.Error's Code and Message methods to get detailed information about
32077// the error.
32078//
32079// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32080// API operation GetCoipPoolUsage for usage and error information.
32081// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCoipPoolUsage
32082func (c *EC2) GetCoipPoolUsage(input *GetCoipPoolUsageInput) (*GetCoipPoolUsageOutput, error) {
32083	req, out := c.GetCoipPoolUsageRequest(input)
32084	return out, req.Send()
32085}
32086
32087// GetCoipPoolUsageWithContext is the same as GetCoipPoolUsage with the addition of
32088// the ability to pass a context and additional request options.
32089//
32090// See GetCoipPoolUsage for details on how to use this API operation.
32091//
32092// The context must be non-nil and will be used for request cancellation. If
32093// the context is nil a panic will occur. In the future the SDK may create
32094// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32095// for more information on using Contexts.
32096func (c *EC2) GetCoipPoolUsageWithContext(ctx aws.Context, input *GetCoipPoolUsageInput, opts ...request.Option) (*GetCoipPoolUsageOutput, error) {
32097	req, out := c.GetCoipPoolUsageRequest(input)
32098	req.SetContext(ctx)
32099	req.ApplyOptions(opts...)
32100	return out, req.Send()
32101}
32102
32103const opGetConsoleOutput = "GetConsoleOutput"
32104
32105// GetConsoleOutputRequest generates a "aws/request.Request" representing the
32106// client's request for the GetConsoleOutput operation. The "output" return
32107// value will be populated with the request's response once the request completes
32108// successfully.
32109//
32110// Use "Send" method on the returned Request to send the API call to the service.
32111// the "output" return value is not valid until after Send returns without error.
32112//
32113// See GetConsoleOutput for more information on using the GetConsoleOutput
32114// API call, and error handling.
32115//
32116// This method is useful when you want to inject custom logic or configuration
32117// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32118//
32119//
32120//    // Example sending a request using the GetConsoleOutputRequest method.
32121//    req, resp := client.GetConsoleOutputRequest(params)
32122//
32123//    err := req.Send()
32124//    if err == nil { // resp is now filled
32125//        fmt.Println(resp)
32126//    }
32127//
32128// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
32129func (c *EC2) GetConsoleOutputRequest(input *GetConsoleOutputInput) (req *request.Request, output *GetConsoleOutputOutput) {
32130	op := &request.Operation{
32131		Name:       opGetConsoleOutput,
32132		HTTPMethod: "POST",
32133		HTTPPath:   "/",
32134	}
32135
32136	if input == nil {
32137		input = &GetConsoleOutputInput{}
32138	}
32139
32140	output = &GetConsoleOutputOutput{}
32141	req = c.newRequest(op, input, output)
32142	return
32143}
32144
32145// GetConsoleOutput API operation for Amazon Elastic Compute Cloud.
32146//
32147// Gets the console output for the specified instance. For Linux instances,
32148// the instance console output displays the exact console output that would
32149// normally be displayed on a physical monitor attached to a computer. For Windows
32150// instances, the instance console output includes the last three system event
32151// log errors.
32152//
32153// By default, the console output returns buffered information that was posted
32154// shortly after an instance transition state (start, stop, reboot, or terminate).
32155// This information is available for at least one hour after the most recent
32156// post. Only the most recent 64 KB of console output is available.
32157//
32158// You can optionally retrieve the latest serial console output at any time
32159// during the instance lifecycle. This option is supported on instance types
32160// that use the Nitro hypervisor.
32161//
32162// For more information, see Instance console output (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html#instance-console-console-output)
32163// in the Amazon EC2 User Guide.
32164//
32165// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32166// with awserr.Error's Code and Message methods to get detailed information about
32167// the error.
32168//
32169// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32170// API operation GetConsoleOutput for usage and error information.
32171// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
32172func (c *EC2) GetConsoleOutput(input *GetConsoleOutputInput) (*GetConsoleOutputOutput, error) {
32173	req, out := c.GetConsoleOutputRequest(input)
32174	return out, req.Send()
32175}
32176
32177// GetConsoleOutputWithContext is the same as GetConsoleOutput with the addition of
32178// the ability to pass a context and additional request options.
32179//
32180// See GetConsoleOutput for details on how to use this API operation.
32181//
32182// The context must be non-nil and will be used for request cancellation. If
32183// the context is nil a panic will occur. In the future the SDK may create
32184// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32185// for more information on using Contexts.
32186func (c *EC2) GetConsoleOutputWithContext(ctx aws.Context, input *GetConsoleOutputInput, opts ...request.Option) (*GetConsoleOutputOutput, error) {
32187	req, out := c.GetConsoleOutputRequest(input)
32188	req.SetContext(ctx)
32189	req.ApplyOptions(opts...)
32190	return out, req.Send()
32191}
32192
32193const opGetConsoleScreenshot = "GetConsoleScreenshot"
32194
32195// GetConsoleScreenshotRequest generates a "aws/request.Request" representing the
32196// client's request for the GetConsoleScreenshot operation. The "output" return
32197// value will be populated with the request's response once the request completes
32198// successfully.
32199//
32200// Use "Send" method on the returned Request to send the API call to the service.
32201// the "output" return value is not valid until after Send returns without error.
32202//
32203// See GetConsoleScreenshot for more information on using the GetConsoleScreenshot
32204// API call, and error handling.
32205//
32206// This method is useful when you want to inject custom logic or configuration
32207// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32208//
32209//
32210//    // Example sending a request using the GetConsoleScreenshotRequest method.
32211//    req, resp := client.GetConsoleScreenshotRequest(params)
32212//
32213//    err := req.Send()
32214//    if err == nil { // resp is now filled
32215//        fmt.Println(resp)
32216//    }
32217//
32218// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
32219func (c *EC2) GetConsoleScreenshotRequest(input *GetConsoleScreenshotInput) (req *request.Request, output *GetConsoleScreenshotOutput) {
32220	op := &request.Operation{
32221		Name:       opGetConsoleScreenshot,
32222		HTTPMethod: "POST",
32223		HTTPPath:   "/",
32224	}
32225
32226	if input == nil {
32227		input = &GetConsoleScreenshotInput{}
32228	}
32229
32230	output = &GetConsoleScreenshotOutput{}
32231	req = c.newRequest(op, input, output)
32232	return
32233}
32234
32235// GetConsoleScreenshot API operation for Amazon Elastic Compute Cloud.
32236//
32237// Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.
32238//
32239// The returned content is Base64-encoded.
32240//
32241// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32242// with awserr.Error's Code and Message methods to get detailed information about
32243// the error.
32244//
32245// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32246// API operation GetConsoleScreenshot for usage and error information.
32247// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
32248func (c *EC2) GetConsoleScreenshot(input *GetConsoleScreenshotInput) (*GetConsoleScreenshotOutput, error) {
32249	req, out := c.GetConsoleScreenshotRequest(input)
32250	return out, req.Send()
32251}
32252
32253// GetConsoleScreenshotWithContext is the same as GetConsoleScreenshot with the addition of
32254// the ability to pass a context and additional request options.
32255//
32256// See GetConsoleScreenshot for details on how to use this API operation.
32257//
32258// The context must be non-nil and will be used for request cancellation. If
32259// the context is nil a panic will occur. In the future the SDK may create
32260// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32261// for more information on using Contexts.
32262func (c *EC2) GetConsoleScreenshotWithContext(ctx aws.Context, input *GetConsoleScreenshotInput, opts ...request.Option) (*GetConsoleScreenshotOutput, error) {
32263	req, out := c.GetConsoleScreenshotRequest(input)
32264	req.SetContext(ctx)
32265	req.ApplyOptions(opts...)
32266	return out, req.Send()
32267}
32268
32269const opGetDefaultCreditSpecification = "GetDefaultCreditSpecification"
32270
32271// GetDefaultCreditSpecificationRequest generates a "aws/request.Request" representing the
32272// client's request for the GetDefaultCreditSpecification operation. The "output" return
32273// value will be populated with the request's response once the request completes
32274// successfully.
32275//
32276// Use "Send" method on the returned Request to send the API call to the service.
32277// the "output" return value is not valid until after Send returns without error.
32278//
32279// See GetDefaultCreditSpecification for more information on using the GetDefaultCreditSpecification
32280// API call, and error handling.
32281//
32282// This method is useful when you want to inject custom logic or configuration
32283// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32284//
32285//
32286//    // Example sending a request using the GetDefaultCreditSpecificationRequest method.
32287//    req, resp := client.GetDefaultCreditSpecificationRequest(params)
32288//
32289//    err := req.Send()
32290//    if err == nil { // resp is now filled
32291//        fmt.Println(resp)
32292//    }
32293//
32294// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetDefaultCreditSpecification
32295func (c *EC2) GetDefaultCreditSpecificationRequest(input *GetDefaultCreditSpecificationInput) (req *request.Request, output *GetDefaultCreditSpecificationOutput) {
32296	op := &request.Operation{
32297		Name:       opGetDefaultCreditSpecification,
32298		HTTPMethod: "POST",
32299		HTTPPath:   "/",
32300	}
32301
32302	if input == nil {
32303		input = &GetDefaultCreditSpecificationInput{}
32304	}
32305
32306	output = &GetDefaultCreditSpecificationOutput{}
32307	req = c.newRequest(op, input, output)
32308	return
32309}
32310
32311// GetDefaultCreditSpecification API operation for Amazon Elastic Compute Cloud.
32312//
32313// Describes the default credit option for CPU usage of a burstable performance
32314// instance family.
32315//
32316// For more information, see Burstable performance instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
32317// in the Amazon EC2 User Guide.
32318//
32319// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32320// with awserr.Error's Code and Message methods to get detailed information about
32321// the error.
32322//
32323// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32324// API operation GetDefaultCreditSpecification for usage and error information.
32325// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetDefaultCreditSpecification
32326func (c *EC2) GetDefaultCreditSpecification(input *GetDefaultCreditSpecificationInput) (*GetDefaultCreditSpecificationOutput, error) {
32327	req, out := c.GetDefaultCreditSpecificationRequest(input)
32328	return out, req.Send()
32329}
32330
32331// GetDefaultCreditSpecificationWithContext is the same as GetDefaultCreditSpecification with the addition of
32332// the ability to pass a context and additional request options.
32333//
32334// See GetDefaultCreditSpecification for details on how to use this API operation.
32335//
32336// The context must be non-nil and will be used for request cancellation. If
32337// the context is nil a panic will occur. In the future the SDK may create
32338// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32339// for more information on using Contexts.
32340func (c *EC2) GetDefaultCreditSpecificationWithContext(ctx aws.Context, input *GetDefaultCreditSpecificationInput, opts ...request.Option) (*GetDefaultCreditSpecificationOutput, error) {
32341	req, out := c.GetDefaultCreditSpecificationRequest(input)
32342	req.SetContext(ctx)
32343	req.ApplyOptions(opts...)
32344	return out, req.Send()
32345}
32346
32347const opGetEbsDefaultKmsKeyId = "GetEbsDefaultKmsKeyId"
32348
32349// GetEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the
32350// client's request for the GetEbsDefaultKmsKeyId operation. The "output" return
32351// value will be populated with the request's response once the request completes
32352// successfully.
32353//
32354// Use "Send" method on the returned Request to send the API call to the service.
32355// the "output" return value is not valid until after Send returns without error.
32356//
32357// See GetEbsDefaultKmsKeyId for more information on using the GetEbsDefaultKmsKeyId
32358// API call, and error handling.
32359//
32360// This method is useful when you want to inject custom logic or configuration
32361// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32362//
32363//
32364//    // Example sending a request using the GetEbsDefaultKmsKeyIdRequest method.
32365//    req, resp := client.GetEbsDefaultKmsKeyIdRequest(params)
32366//
32367//    err := req.Send()
32368//    if err == nil { // resp is now filled
32369//        fmt.Println(resp)
32370//    }
32371//
32372// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsDefaultKmsKeyId
32373func (c *EC2) GetEbsDefaultKmsKeyIdRequest(input *GetEbsDefaultKmsKeyIdInput) (req *request.Request, output *GetEbsDefaultKmsKeyIdOutput) {
32374	op := &request.Operation{
32375		Name:       opGetEbsDefaultKmsKeyId,
32376		HTTPMethod: "POST",
32377		HTTPPath:   "/",
32378	}
32379
32380	if input == nil {
32381		input = &GetEbsDefaultKmsKeyIdInput{}
32382	}
32383
32384	output = &GetEbsDefaultKmsKeyIdOutput{}
32385	req = c.newRequest(op, input, output)
32386	return
32387}
32388
32389// GetEbsDefaultKmsKeyId API operation for Amazon Elastic Compute Cloud.
32390//
32391// Describes the default KMS key for EBS encryption by default for your account
32392// in this Region. You can change the default KMS key for encryption by default
32393// using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.
32394//
32395// For more information, see Amazon EBS encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
32396// in the Amazon Elastic Compute Cloud User Guide.
32397//
32398// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32399// with awserr.Error's Code and Message methods to get detailed information about
32400// the error.
32401//
32402// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32403// API operation GetEbsDefaultKmsKeyId for usage and error information.
32404// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsDefaultKmsKeyId
32405func (c *EC2) GetEbsDefaultKmsKeyId(input *GetEbsDefaultKmsKeyIdInput) (*GetEbsDefaultKmsKeyIdOutput, error) {
32406	req, out := c.GetEbsDefaultKmsKeyIdRequest(input)
32407	return out, req.Send()
32408}
32409
32410// GetEbsDefaultKmsKeyIdWithContext is the same as GetEbsDefaultKmsKeyId with the addition of
32411// the ability to pass a context and additional request options.
32412//
32413// See GetEbsDefaultKmsKeyId for details on how to use this API operation.
32414//
32415// The context must be non-nil and will be used for request cancellation. If
32416// the context is nil a panic will occur. In the future the SDK may create
32417// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32418// for more information on using Contexts.
32419func (c *EC2) GetEbsDefaultKmsKeyIdWithContext(ctx aws.Context, input *GetEbsDefaultKmsKeyIdInput, opts ...request.Option) (*GetEbsDefaultKmsKeyIdOutput, error) {
32420	req, out := c.GetEbsDefaultKmsKeyIdRequest(input)
32421	req.SetContext(ctx)
32422	req.ApplyOptions(opts...)
32423	return out, req.Send()
32424}
32425
32426const opGetEbsEncryptionByDefault = "GetEbsEncryptionByDefault"
32427
32428// GetEbsEncryptionByDefaultRequest generates a "aws/request.Request" representing the
32429// client's request for the GetEbsEncryptionByDefault 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 GetEbsEncryptionByDefault for more information on using the GetEbsEncryptionByDefault
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 GetEbsEncryptionByDefaultRequest method.
32444//    req, resp := client.GetEbsEncryptionByDefaultRequest(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/GetEbsEncryptionByDefault
32452func (c *EC2) GetEbsEncryptionByDefaultRequest(input *GetEbsEncryptionByDefaultInput) (req *request.Request, output *GetEbsEncryptionByDefaultOutput) {
32453	op := &request.Operation{
32454		Name:       opGetEbsEncryptionByDefault,
32455		HTTPMethod: "POST",
32456		HTTPPath:   "/",
32457	}
32458
32459	if input == nil {
32460		input = &GetEbsEncryptionByDefaultInput{}
32461	}
32462
32463	output = &GetEbsEncryptionByDefaultOutput{}
32464	req = c.newRequest(op, input, output)
32465	return
32466}
32467
32468// GetEbsEncryptionByDefault API operation for Amazon Elastic Compute Cloud.
32469//
32470// Describes whether EBS encryption by default is enabled for your account in
32471// the current Region.
32472//
32473// For more information, see Amazon EBS encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
32474// in the Amazon Elastic Compute Cloud User Guide.
32475//
32476// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32477// with awserr.Error's Code and Message methods to get detailed information about
32478// the error.
32479//
32480// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32481// API operation GetEbsEncryptionByDefault for usage and error information.
32482// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsEncryptionByDefault
32483func (c *EC2) GetEbsEncryptionByDefault(input *GetEbsEncryptionByDefaultInput) (*GetEbsEncryptionByDefaultOutput, error) {
32484	req, out := c.GetEbsEncryptionByDefaultRequest(input)
32485	return out, req.Send()
32486}
32487
32488// GetEbsEncryptionByDefaultWithContext is the same as GetEbsEncryptionByDefault with the addition of
32489// the ability to pass a context and additional request options.
32490//
32491// See GetEbsEncryptionByDefault for details on how to use this API operation.
32492//
32493// The context must be non-nil and will be used for request cancellation. If
32494// the context is nil a panic will occur. In the future the SDK may create
32495// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32496// for more information on using Contexts.
32497func (c *EC2) GetEbsEncryptionByDefaultWithContext(ctx aws.Context, input *GetEbsEncryptionByDefaultInput, opts ...request.Option) (*GetEbsEncryptionByDefaultOutput, error) {
32498	req, out := c.GetEbsEncryptionByDefaultRequest(input)
32499	req.SetContext(ctx)
32500	req.ApplyOptions(opts...)
32501	return out, req.Send()
32502}
32503
32504const opGetFlowLogsIntegrationTemplate = "GetFlowLogsIntegrationTemplate"
32505
32506// GetFlowLogsIntegrationTemplateRequest generates a "aws/request.Request" representing the
32507// client's request for the GetFlowLogsIntegrationTemplate operation. The "output" return
32508// value will be populated with the request's response once the request completes
32509// successfully.
32510//
32511// Use "Send" method on the returned Request to send the API call to the service.
32512// the "output" return value is not valid until after Send returns without error.
32513//
32514// See GetFlowLogsIntegrationTemplate for more information on using the GetFlowLogsIntegrationTemplate
32515// API call, and error handling.
32516//
32517// This method is useful when you want to inject custom logic or configuration
32518// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32519//
32520//
32521//    // Example sending a request using the GetFlowLogsIntegrationTemplateRequest method.
32522//    req, resp := client.GetFlowLogsIntegrationTemplateRequest(params)
32523//
32524//    err := req.Send()
32525//    if err == nil { // resp is now filled
32526//        fmt.Println(resp)
32527//    }
32528//
32529// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetFlowLogsIntegrationTemplate
32530func (c *EC2) GetFlowLogsIntegrationTemplateRequest(input *GetFlowLogsIntegrationTemplateInput) (req *request.Request, output *GetFlowLogsIntegrationTemplateOutput) {
32531	op := &request.Operation{
32532		Name:       opGetFlowLogsIntegrationTemplate,
32533		HTTPMethod: "POST",
32534		HTTPPath:   "/",
32535	}
32536
32537	if input == nil {
32538		input = &GetFlowLogsIntegrationTemplateInput{}
32539	}
32540
32541	output = &GetFlowLogsIntegrationTemplateOutput{}
32542	req = c.newRequest(op, input, output)
32543	return
32544}
32545
32546// GetFlowLogsIntegrationTemplate API operation for Amazon Elastic Compute Cloud.
32547//
32548// Generates a CloudFormation template that streamlines and automates the integration
32549// of VPC flow logs with Amazon Athena. This make it easier for you to query
32550// and gain insights from VPC flow logs data. Based on the information that
32551// you provide, we configure resources in the template to do the following:
32552//
32553//    * Create a table in Athena that maps fields to a custom log format
32554//
32555//    * Create a Lambda function that updates the table with new partitions
32556//    on a daily, weekly, or monthly basis
32557//
32558//    * Create a table partitioned between two timestamps in the past
32559//
32560//    * Create a set of named queries in Athena that you can use to get started
32561//    quickly
32562//
32563// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32564// with awserr.Error's Code and Message methods to get detailed information about
32565// the error.
32566//
32567// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32568// API operation GetFlowLogsIntegrationTemplate for usage and error information.
32569// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetFlowLogsIntegrationTemplate
32570func (c *EC2) GetFlowLogsIntegrationTemplate(input *GetFlowLogsIntegrationTemplateInput) (*GetFlowLogsIntegrationTemplateOutput, error) {
32571	req, out := c.GetFlowLogsIntegrationTemplateRequest(input)
32572	return out, req.Send()
32573}
32574
32575// GetFlowLogsIntegrationTemplateWithContext is the same as GetFlowLogsIntegrationTemplate with the addition of
32576// the ability to pass a context and additional request options.
32577//
32578// See GetFlowLogsIntegrationTemplate for details on how to use this API operation.
32579//
32580// The context must be non-nil and will be used for request cancellation. If
32581// the context is nil a panic will occur. In the future the SDK may create
32582// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32583// for more information on using Contexts.
32584func (c *EC2) GetFlowLogsIntegrationTemplateWithContext(ctx aws.Context, input *GetFlowLogsIntegrationTemplateInput, opts ...request.Option) (*GetFlowLogsIntegrationTemplateOutput, error) {
32585	req, out := c.GetFlowLogsIntegrationTemplateRequest(input)
32586	req.SetContext(ctx)
32587	req.ApplyOptions(opts...)
32588	return out, req.Send()
32589}
32590
32591const opGetGroupsForCapacityReservation = "GetGroupsForCapacityReservation"
32592
32593// GetGroupsForCapacityReservationRequest generates a "aws/request.Request" representing the
32594// client's request for the GetGroupsForCapacityReservation operation. The "output" return
32595// value will be populated with the request's response once the request completes
32596// successfully.
32597//
32598// Use "Send" method on the returned Request to send the API call to the service.
32599// the "output" return value is not valid until after Send returns without error.
32600//
32601// See GetGroupsForCapacityReservation for more information on using the GetGroupsForCapacityReservation
32602// API call, and error handling.
32603//
32604// This method is useful when you want to inject custom logic or configuration
32605// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32606//
32607//
32608//    // Example sending a request using the GetGroupsForCapacityReservationRequest method.
32609//    req, resp := client.GetGroupsForCapacityReservationRequest(params)
32610//
32611//    err := req.Send()
32612//    if err == nil { // resp is now filled
32613//        fmt.Println(resp)
32614//    }
32615//
32616// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetGroupsForCapacityReservation
32617func (c *EC2) GetGroupsForCapacityReservationRequest(input *GetGroupsForCapacityReservationInput) (req *request.Request, output *GetGroupsForCapacityReservationOutput) {
32618	op := &request.Operation{
32619		Name:       opGetGroupsForCapacityReservation,
32620		HTTPMethod: "POST",
32621		HTTPPath:   "/",
32622		Paginator: &request.Paginator{
32623			InputTokens:     []string{"NextToken"},
32624			OutputTokens:    []string{"NextToken"},
32625			LimitToken:      "MaxResults",
32626			TruncationToken: "",
32627		},
32628	}
32629
32630	if input == nil {
32631		input = &GetGroupsForCapacityReservationInput{}
32632	}
32633
32634	output = &GetGroupsForCapacityReservationOutput{}
32635	req = c.newRequest(op, input, output)
32636	return
32637}
32638
32639// GetGroupsForCapacityReservation API operation for Amazon Elastic Compute Cloud.
32640//
32641// Lists the resource groups to which a Capacity Reservation has been added.
32642//
32643// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32644// with awserr.Error's Code and Message methods to get detailed information about
32645// the error.
32646//
32647// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32648// API operation GetGroupsForCapacityReservation for usage and error information.
32649// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetGroupsForCapacityReservation
32650func (c *EC2) GetGroupsForCapacityReservation(input *GetGroupsForCapacityReservationInput) (*GetGroupsForCapacityReservationOutput, error) {
32651	req, out := c.GetGroupsForCapacityReservationRequest(input)
32652	return out, req.Send()
32653}
32654
32655// GetGroupsForCapacityReservationWithContext is the same as GetGroupsForCapacityReservation with the addition of
32656// the ability to pass a context and additional request options.
32657//
32658// See GetGroupsForCapacityReservation for details on how to use this API operation.
32659//
32660// The context must be non-nil and will be used for request cancellation. If
32661// the context is nil a panic will occur. In the future the SDK may create
32662// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32663// for more information on using Contexts.
32664func (c *EC2) GetGroupsForCapacityReservationWithContext(ctx aws.Context, input *GetGroupsForCapacityReservationInput, opts ...request.Option) (*GetGroupsForCapacityReservationOutput, error) {
32665	req, out := c.GetGroupsForCapacityReservationRequest(input)
32666	req.SetContext(ctx)
32667	req.ApplyOptions(opts...)
32668	return out, req.Send()
32669}
32670
32671// GetGroupsForCapacityReservationPages iterates over the pages of a GetGroupsForCapacityReservation operation,
32672// calling the "fn" function with the response data for each page. To stop
32673// iterating, return false from the fn function.
32674//
32675// See GetGroupsForCapacityReservation method for more information on how to use this operation.
32676//
32677// Note: This operation can generate multiple requests to a service.
32678//
32679//    // Example iterating over at most 3 pages of a GetGroupsForCapacityReservation operation.
32680//    pageNum := 0
32681//    err := client.GetGroupsForCapacityReservationPages(params,
32682//        func(page *ec2.GetGroupsForCapacityReservationOutput, lastPage bool) bool {
32683//            pageNum++
32684//            fmt.Println(page)
32685//            return pageNum <= 3
32686//        })
32687//
32688func (c *EC2) GetGroupsForCapacityReservationPages(input *GetGroupsForCapacityReservationInput, fn func(*GetGroupsForCapacityReservationOutput, bool) bool) error {
32689	return c.GetGroupsForCapacityReservationPagesWithContext(aws.BackgroundContext(), input, fn)
32690}
32691
32692// GetGroupsForCapacityReservationPagesWithContext same as GetGroupsForCapacityReservationPages except
32693// it takes a Context and allows setting request options on the pages.
32694//
32695// The context must be non-nil and will be used for request cancellation. If
32696// the context is nil a panic will occur. In the future the SDK may create
32697// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32698// for more information on using Contexts.
32699func (c *EC2) GetGroupsForCapacityReservationPagesWithContext(ctx aws.Context, input *GetGroupsForCapacityReservationInput, fn func(*GetGroupsForCapacityReservationOutput, bool) bool, opts ...request.Option) error {
32700	p := request.Pagination{
32701		NewRequest: func() (*request.Request, error) {
32702			var inCpy *GetGroupsForCapacityReservationInput
32703			if input != nil {
32704				tmp := *input
32705				inCpy = &tmp
32706			}
32707			req, _ := c.GetGroupsForCapacityReservationRequest(inCpy)
32708			req.SetContext(ctx)
32709			req.ApplyOptions(opts...)
32710			return req, nil
32711		},
32712	}
32713
32714	for p.Next() {
32715		if !fn(p.Page().(*GetGroupsForCapacityReservationOutput), !p.HasNextPage()) {
32716			break
32717		}
32718	}
32719
32720	return p.Err()
32721}
32722
32723const opGetHostReservationPurchasePreview = "GetHostReservationPurchasePreview"
32724
32725// GetHostReservationPurchasePreviewRequest generates a "aws/request.Request" representing the
32726// client's request for the GetHostReservationPurchasePreview operation. The "output" return
32727// value will be populated with the request's response once the request completes
32728// successfully.
32729//
32730// Use "Send" method on the returned Request to send the API call to the service.
32731// the "output" return value is not valid until after Send returns without error.
32732//
32733// See GetHostReservationPurchasePreview for more information on using the GetHostReservationPurchasePreview
32734// API call, and error handling.
32735//
32736// This method is useful when you want to inject custom logic or configuration
32737// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32738//
32739//
32740//    // Example sending a request using the GetHostReservationPurchasePreviewRequest method.
32741//    req, resp := client.GetHostReservationPurchasePreviewRequest(params)
32742//
32743//    err := req.Send()
32744//    if err == nil { // resp is now filled
32745//        fmt.Println(resp)
32746//    }
32747//
32748// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
32749func (c *EC2) GetHostReservationPurchasePreviewRequest(input *GetHostReservationPurchasePreviewInput) (req *request.Request, output *GetHostReservationPurchasePreviewOutput) {
32750	op := &request.Operation{
32751		Name:       opGetHostReservationPurchasePreview,
32752		HTTPMethod: "POST",
32753		HTTPPath:   "/",
32754	}
32755
32756	if input == nil {
32757		input = &GetHostReservationPurchasePreviewInput{}
32758	}
32759
32760	output = &GetHostReservationPurchasePreviewOutput{}
32761	req = c.newRequest(op, input, output)
32762	return
32763}
32764
32765// GetHostReservationPurchasePreview API operation for Amazon Elastic Compute Cloud.
32766//
32767// Preview a reservation purchase with configurations that match those of your
32768// Dedicated Host. You must have active Dedicated Hosts in your account before
32769// you purchase a reservation.
32770//
32771// This is a preview of the PurchaseHostReservation action and does not result
32772// in the offering being purchased.
32773//
32774// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32775// with awserr.Error's Code and Message methods to get detailed information about
32776// the error.
32777//
32778// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32779// API operation GetHostReservationPurchasePreview for usage and error information.
32780// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
32781func (c *EC2) GetHostReservationPurchasePreview(input *GetHostReservationPurchasePreviewInput) (*GetHostReservationPurchasePreviewOutput, error) {
32782	req, out := c.GetHostReservationPurchasePreviewRequest(input)
32783	return out, req.Send()
32784}
32785
32786// GetHostReservationPurchasePreviewWithContext is the same as GetHostReservationPurchasePreview with the addition of
32787// the ability to pass a context and additional request options.
32788//
32789// See GetHostReservationPurchasePreview for details on how to use this API operation.
32790//
32791// The context must be non-nil and will be used for request cancellation. If
32792// the context is nil a panic will occur. In the future the SDK may create
32793// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32794// for more information on using Contexts.
32795func (c *EC2) GetHostReservationPurchasePreviewWithContext(ctx aws.Context, input *GetHostReservationPurchasePreviewInput, opts ...request.Option) (*GetHostReservationPurchasePreviewOutput, error) {
32796	req, out := c.GetHostReservationPurchasePreviewRequest(input)
32797	req.SetContext(ctx)
32798	req.ApplyOptions(opts...)
32799	return out, req.Send()
32800}
32801
32802const opGetLaunchTemplateData = "GetLaunchTemplateData"
32803
32804// GetLaunchTemplateDataRequest generates a "aws/request.Request" representing the
32805// client's request for the GetLaunchTemplateData operation. The "output" return
32806// value will be populated with the request's response once the request completes
32807// successfully.
32808//
32809// Use "Send" method on the returned Request to send the API call to the service.
32810// the "output" return value is not valid until after Send returns without error.
32811//
32812// See GetLaunchTemplateData for more information on using the GetLaunchTemplateData
32813// API call, and error handling.
32814//
32815// This method is useful when you want to inject custom logic or configuration
32816// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32817//
32818//
32819//    // Example sending a request using the GetLaunchTemplateDataRequest method.
32820//    req, resp := client.GetLaunchTemplateDataRequest(params)
32821//
32822//    err := req.Send()
32823//    if err == nil { // resp is now filled
32824//        fmt.Println(resp)
32825//    }
32826//
32827// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateData
32828func (c *EC2) GetLaunchTemplateDataRequest(input *GetLaunchTemplateDataInput) (req *request.Request, output *GetLaunchTemplateDataOutput) {
32829	op := &request.Operation{
32830		Name:       opGetLaunchTemplateData,
32831		HTTPMethod: "POST",
32832		HTTPPath:   "/",
32833	}
32834
32835	if input == nil {
32836		input = &GetLaunchTemplateDataInput{}
32837	}
32838
32839	output = &GetLaunchTemplateDataOutput{}
32840	req = c.newRequest(op, input, output)
32841	return
32842}
32843
32844// GetLaunchTemplateData API operation for Amazon Elastic Compute Cloud.
32845//
32846// Retrieves the configuration data of the specified instance. You can use this
32847// data to create a launch template.
32848//
32849// This action calls on other describe actions to get instance information.
32850// Depending on your instance configuration, you may need to allow the following
32851// actions in your IAM policy: DescribeSpotInstanceRequests, DescribeInstanceCreditSpecifications,
32852// DescribeVolumes, DescribeInstanceAttribute, and DescribeElasticGpus. Or,
32853// you can allow describe* depending on your instance requirements.
32854//
32855// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32856// with awserr.Error's Code and Message methods to get detailed information about
32857// the error.
32858//
32859// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32860// API operation GetLaunchTemplateData for usage and error information.
32861// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateData
32862func (c *EC2) GetLaunchTemplateData(input *GetLaunchTemplateDataInput) (*GetLaunchTemplateDataOutput, error) {
32863	req, out := c.GetLaunchTemplateDataRequest(input)
32864	return out, req.Send()
32865}
32866
32867// GetLaunchTemplateDataWithContext is the same as GetLaunchTemplateData with the addition of
32868// the ability to pass a context and additional request options.
32869//
32870// See GetLaunchTemplateData for details on how to use this API operation.
32871//
32872// The context must be non-nil and will be used for request cancellation. If
32873// the context is nil a panic will occur. In the future the SDK may create
32874// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32875// for more information on using Contexts.
32876func (c *EC2) GetLaunchTemplateDataWithContext(ctx aws.Context, input *GetLaunchTemplateDataInput, opts ...request.Option) (*GetLaunchTemplateDataOutput, error) {
32877	req, out := c.GetLaunchTemplateDataRequest(input)
32878	req.SetContext(ctx)
32879	req.ApplyOptions(opts...)
32880	return out, req.Send()
32881}
32882
32883const opGetManagedPrefixListAssociations = "GetManagedPrefixListAssociations"
32884
32885// GetManagedPrefixListAssociationsRequest generates a "aws/request.Request" representing the
32886// client's request for the GetManagedPrefixListAssociations operation. The "output" return
32887// value will be populated with the request's response once the request completes
32888// successfully.
32889//
32890// Use "Send" method on the returned Request to send the API call to the service.
32891// the "output" return value is not valid until after Send returns without error.
32892//
32893// See GetManagedPrefixListAssociations for more information on using the GetManagedPrefixListAssociations
32894// API call, and error handling.
32895//
32896// This method is useful when you want to inject custom logic or configuration
32897// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32898//
32899//
32900//    // Example sending a request using the GetManagedPrefixListAssociationsRequest method.
32901//    req, resp := client.GetManagedPrefixListAssociationsRequest(params)
32902//
32903//    err := req.Send()
32904//    if err == nil { // resp is now filled
32905//        fmt.Println(resp)
32906//    }
32907//
32908// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetManagedPrefixListAssociations
32909func (c *EC2) GetManagedPrefixListAssociationsRequest(input *GetManagedPrefixListAssociationsInput) (req *request.Request, output *GetManagedPrefixListAssociationsOutput) {
32910	op := &request.Operation{
32911		Name:       opGetManagedPrefixListAssociations,
32912		HTTPMethod: "POST",
32913		HTTPPath:   "/",
32914		Paginator: &request.Paginator{
32915			InputTokens:     []string{"NextToken"},
32916			OutputTokens:    []string{"NextToken"},
32917			LimitToken:      "MaxResults",
32918			TruncationToken: "",
32919		},
32920	}
32921
32922	if input == nil {
32923		input = &GetManagedPrefixListAssociationsInput{}
32924	}
32925
32926	output = &GetManagedPrefixListAssociationsOutput{}
32927	req = c.newRequest(op, input, output)
32928	return
32929}
32930
32931// GetManagedPrefixListAssociations API operation for Amazon Elastic Compute Cloud.
32932//
32933// Gets information about the resources that are associated with the specified
32934// managed prefix list.
32935//
32936// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32937// with awserr.Error's Code and Message methods to get detailed information about
32938// the error.
32939//
32940// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32941// API operation GetManagedPrefixListAssociations for usage and error information.
32942// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetManagedPrefixListAssociations
32943func (c *EC2) GetManagedPrefixListAssociations(input *GetManagedPrefixListAssociationsInput) (*GetManagedPrefixListAssociationsOutput, error) {
32944	req, out := c.GetManagedPrefixListAssociationsRequest(input)
32945	return out, req.Send()
32946}
32947
32948// GetManagedPrefixListAssociationsWithContext is the same as GetManagedPrefixListAssociations with the addition of
32949// the ability to pass a context and additional request options.
32950//
32951// See GetManagedPrefixListAssociations for details on how to use this API operation.
32952//
32953// The context must be non-nil and will be used for request cancellation. If
32954// the context is nil a panic will occur. In the future the SDK may create
32955// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32956// for more information on using Contexts.
32957func (c *EC2) GetManagedPrefixListAssociationsWithContext(ctx aws.Context, input *GetManagedPrefixListAssociationsInput, opts ...request.Option) (*GetManagedPrefixListAssociationsOutput, error) {
32958	req, out := c.GetManagedPrefixListAssociationsRequest(input)
32959	req.SetContext(ctx)
32960	req.ApplyOptions(opts...)
32961	return out, req.Send()
32962}
32963
32964// GetManagedPrefixListAssociationsPages iterates over the pages of a GetManagedPrefixListAssociations operation,
32965// calling the "fn" function with the response data for each page. To stop
32966// iterating, return false from the fn function.
32967//
32968// See GetManagedPrefixListAssociations method for more information on how to use this operation.
32969//
32970// Note: This operation can generate multiple requests to a service.
32971//
32972//    // Example iterating over at most 3 pages of a GetManagedPrefixListAssociations operation.
32973//    pageNum := 0
32974//    err := client.GetManagedPrefixListAssociationsPages(params,
32975//        func(page *ec2.GetManagedPrefixListAssociationsOutput, lastPage bool) bool {
32976//            pageNum++
32977//            fmt.Println(page)
32978//            return pageNum <= 3
32979//        })
32980//
32981func (c *EC2) GetManagedPrefixListAssociationsPages(input *GetManagedPrefixListAssociationsInput, fn func(*GetManagedPrefixListAssociationsOutput, bool) bool) error {
32982	return c.GetManagedPrefixListAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
32983}
32984
32985// GetManagedPrefixListAssociationsPagesWithContext same as GetManagedPrefixListAssociationsPages except
32986// it takes a Context and allows setting request options on the pages.
32987//
32988// The context must be non-nil and will be used for request cancellation. If
32989// the context is nil a panic will occur. In the future the SDK may create
32990// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32991// for more information on using Contexts.
32992func (c *EC2) GetManagedPrefixListAssociationsPagesWithContext(ctx aws.Context, input *GetManagedPrefixListAssociationsInput, fn func(*GetManagedPrefixListAssociationsOutput, bool) bool, opts ...request.Option) error {
32993	p := request.Pagination{
32994		NewRequest: func() (*request.Request, error) {
32995			var inCpy *GetManagedPrefixListAssociationsInput
32996			if input != nil {
32997				tmp := *input
32998				inCpy = &tmp
32999			}
33000			req, _ := c.GetManagedPrefixListAssociationsRequest(inCpy)
33001			req.SetContext(ctx)
33002			req.ApplyOptions(opts...)
33003			return req, nil
33004		},
33005	}
33006
33007	for p.Next() {
33008		if !fn(p.Page().(*GetManagedPrefixListAssociationsOutput), !p.HasNextPage()) {
33009			break
33010		}
33011	}
33012
33013	return p.Err()
33014}
33015
33016const opGetManagedPrefixListEntries = "GetManagedPrefixListEntries"
33017
33018// GetManagedPrefixListEntriesRequest generates a "aws/request.Request" representing the
33019// client's request for the GetManagedPrefixListEntries operation. The "output" return
33020// value will be populated with the request's response once the request completes
33021// successfully.
33022//
33023// Use "Send" method on the returned Request to send the API call to the service.
33024// the "output" return value is not valid until after Send returns without error.
33025//
33026// See GetManagedPrefixListEntries for more information on using the GetManagedPrefixListEntries
33027// API call, and error handling.
33028//
33029// This method is useful when you want to inject custom logic or configuration
33030// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33031//
33032//
33033//    // Example sending a request using the GetManagedPrefixListEntriesRequest method.
33034//    req, resp := client.GetManagedPrefixListEntriesRequest(params)
33035//
33036//    err := req.Send()
33037//    if err == nil { // resp is now filled
33038//        fmt.Println(resp)
33039//    }
33040//
33041// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetManagedPrefixListEntries
33042func (c *EC2) GetManagedPrefixListEntriesRequest(input *GetManagedPrefixListEntriesInput) (req *request.Request, output *GetManagedPrefixListEntriesOutput) {
33043	op := &request.Operation{
33044		Name:       opGetManagedPrefixListEntries,
33045		HTTPMethod: "POST",
33046		HTTPPath:   "/",
33047		Paginator: &request.Paginator{
33048			InputTokens:     []string{"NextToken"},
33049			OutputTokens:    []string{"NextToken"},
33050			LimitToken:      "MaxResults",
33051			TruncationToken: "",
33052		},
33053	}
33054
33055	if input == nil {
33056		input = &GetManagedPrefixListEntriesInput{}
33057	}
33058
33059	output = &GetManagedPrefixListEntriesOutput{}
33060	req = c.newRequest(op, input, output)
33061	return
33062}
33063
33064// GetManagedPrefixListEntries API operation for Amazon Elastic Compute Cloud.
33065//
33066// Gets information about the entries for a specified managed prefix list.
33067//
33068// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33069// with awserr.Error's Code and Message methods to get detailed information about
33070// the error.
33071//
33072// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33073// API operation GetManagedPrefixListEntries for usage and error information.
33074// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetManagedPrefixListEntries
33075func (c *EC2) GetManagedPrefixListEntries(input *GetManagedPrefixListEntriesInput) (*GetManagedPrefixListEntriesOutput, error) {
33076	req, out := c.GetManagedPrefixListEntriesRequest(input)
33077	return out, req.Send()
33078}
33079
33080// GetManagedPrefixListEntriesWithContext is the same as GetManagedPrefixListEntries with the addition of
33081// the ability to pass a context and additional request options.
33082//
33083// See GetManagedPrefixListEntries for details on how to use this API operation.
33084//
33085// The context must be non-nil and will be used for request cancellation. If
33086// the context is nil a panic will occur. In the future the SDK may create
33087// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33088// for more information on using Contexts.
33089func (c *EC2) GetManagedPrefixListEntriesWithContext(ctx aws.Context, input *GetManagedPrefixListEntriesInput, opts ...request.Option) (*GetManagedPrefixListEntriesOutput, error) {
33090	req, out := c.GetManagedPrefixListEntriesRequest(input)
33091	req.SetContext(ctx)
33092	req.ApplyOptions(opts...)
33093	return out, req.Send()
33094}
33095
33096// GetManagedPrefixListEntriesPages iterates over the pages of a GetManagedPrefixListEntries operation,
33097// calling the "fn" function with the response data for each page. To stop
33098// iterating, return false from the fn function.
33099//
33100// See GetManagedPrefixListEntries method for more information on how to use this operation.
33101//
33102// Note: This operation can generate multiple requests to a service.
33103//
33104//    // Example iterating over at most 3 pages of a GetManagedPrefixListEntries operation.
33105//    pageNum := 0
33106//    err := client.GetManagedPrefixListEntriesPages(params,
33107//        func(page *ec2.GetManagedPrefixListEntriesOutput, lastPage bool) bool {
33108//            pageNum++
33109//            fmt.Println(page)
33110//            return pageNum <= 3
33111//        })
33112//
33113func (c *EC2) GetManagedPrefixListEntriesPages(input *GetManagedPrefixListEntriesInput, fn func(*GetManagedPrefixListEntriesOutput, bool) bool) error {
33114	return c.GetManagedPrefixListEntriesPagesWithContext(aws.BackgroundContext(), input, fn)
33115}
33116
33117// GetManagedPrefixListEntriesPagesWithContext same as GetManagedPrefixListEntriesPages except
33118// it takes a Context and allows setting request options on the pages.
33119//
33120// The context must be non-nil and will be used for request cancellation. If
33121// the context is nil a panic will occur. In the future the SDK may create
33122// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33123// for more information on using Contexts.
33124func (c *EC2) GetManagedPrefixListEntriesPagesWithContext(ctx aws.Context, input *GetManagedPrefixListEntriesInput, fn func(*GetManagedPrefixListEntriesOutput, bool) bool, opts ...request.Option) error {
33125	p := request.Pagination{
33126		NewRequest: func() (*request.Request, error) {
33127			var inCpy *GetManagedPrefixListEntriesInput
33128			if input != nil {
33129				tmp := *input
33130				inCpy = &tmp
33131			}
33132			req, _ := c.GetManagedPrefixListEntriesRequest(inCpy)
33133			req.SetContext(ctx)
33134			req.ApplyOptions(opts...)
33135			return req, nil
33136		},
33137	}
33138
33139	for p.Next() {
33140		if !fn(p.Page().(*GetManagedPrefixListEntriesOutput), !p.HasNextPage()) {
33141			break
33142		}
33143	}
33144
33145	return p.Err()
33146}
33147
33148const opGetPasswordData = "GetPasswordData"
33149
33150// GetPasswordDataRequest generates a "aws/request.Request" representing the
33151// client's request for the GetPasswordData 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 GetPasswordData for more information on using the GetPasswordData
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 GetPasswordDataRequest method.
33166//    req, resp := client.GetPasswordDataRequest(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/GetPasswordData
33174func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *request.Request, output *GetPasswordDataOutput) {
33175	op := &request.Operation{
33176		Name:       opGetPasswordData,
33177		HTTPMethod: "POST",
33178		HTTPPath:   "/",
33179	}
33180
33181	if input == nil {
33182		input = &GetPasswordDataInput{}
33183	}
33184
33185	output = &GetPasswordDataOutput{}
33186	req = c.newRequest(op, input, output)
33187	return
33188}
33189
33190// GetPasswordData API operation for Amazon Elastic Compute Cloud.
33191//
33192// Retrieves the encrypted administrator password for a running Windows instance.
33193//
33194// The Windows password is generated at boot by the EC2Config service or EC2Launch
33195// scripts (Windows Server 2016 and later). This usually only happens the first
33196// time an instance is launched. For more information, see EC2Config (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/UsingConfig_WinAMI.html)
33197// and EC2Launch (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch.html)
33198// in the Amazon EC2 User Guide.
33199//
33200// For the EC2Config service, the password is not generated for rebundled AMIs
33201// unless Ec2SetPassword is enabled before bundling.
33202//
33203// The password is encrypted using the key pair that you specified when you
33204// launched the instance. You must provide the corresponding key pair file.
33205//
33206// When you launch an instance, password generation and encryption may take
33207// a few minutes. If you try to retrieve the password before it's available,
33208// the output returns an empty string. We recommend that you wait up to 15 minutes
33209// after launching an instance before trying to retrieve the generated password.
33210//
33211// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33212// with awserr.Error's Code and Message methods to get detailed information about
33213// the error.
33214//
33215// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33216// API operation GetPasswordData for usage and error information.
33217// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
33218func (c *EC2) GetPasswordData(input *GetPasswordDataInput) (*GetPasswordDataOutput, error) {
33219	req, out := c.GetPasswordDataRequest(input)
33220	return out, req.Send()
33221}
33222
33223// GetPasswordDataWithContext is the same as GetPasswordData with the addition of
33224// the ability to pass a context and additional request options.
33225//
33226// See GetPasswordData for details on how to use this API operation.
33227//
33228// The context must be non-nil and will be used for request cancellation. If
33229// the context is nil a panic will occur. In the future the SDK may create
33230// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33231// for more information on using Contexts.
33232func (c *EC2) GetPasswordDataWithContext(ctx aws.Context, input *GetPasswordDataInput, opts ...request.Option) (*GetPasswordDataOutput, error) {
33233	req, out := c.GetPasswordDataRequest(input)
33234	req.SetContext(ctx)
33235	req.ApplyOptions(opts...)
33236	return out, req.Send()
33237}
33238
33239const opGetReservedInstancesExchangeQuote = "GetReservedInstancesExchangeQuote"
33240
33241// GetReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
33242// client's request for the GetReservedInstancesExchangeQuote operation. The "output" return
33243// value will be populated with the request's response once the request completes
33244// successfully.
33245//
33246// Use "Send" method on the returned Request to send the API call to the service.
33247// the "output" return value is not valid until after Send returns without error.
33248//
33249// See GetReservedInstancesExchangeQuote for more information on using the GetReservedInstancesExchangeQuote
33250// API call, and error handling.
33251//
33252// This method is useful when you want to inject custom logic or configuration
33253// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33254//
33255//
33256//    // Example sending a request using the GetReservedInstancesExchangeQuoteRequest method.
33257//    req, resp := client.GetReservedInstancesExchangeQuoteRequest(params)
33258//
33259//    err := req.Send()
33260//    if err == nil { // resp is now filled
33261//        fmt.Println(resp)
33262//    }
33263//
33264// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
33265func (c *EC2) GetReservedInstancesExchangeQuoteRequest(input *GetReservedInstancesExchangeQuoteInput) (req *request.Request, output *GetReservedInstancesExchangeQuoteOutput) {
33266	op := &request.Operation{
33267		Name:       opGetReservedInstancesExchangeQuote,
33268		HTTPMethod: "POST",
33269		HTTPPath:   "/",
33270	}
33271
33272	if input == nil {
33273		input = &GetReservedInstancesExchangeQuoteInput{}
33274	}
33275
33276	output = &GetReservedInstancesExchangeQuoteOutput{}
33277	req = c.newRequest(op, input, output)
33278	return
33279}
33280
33281// GetReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud.
33282//
33283// Returns a quote and exchange information for exchanging one or more specified
33284// Convertible Reserved Instances for a new Convertible Reserved Instance. If
33285// the exchange cannot be performed, the reason is returned in the response.
33286// Use AcceptReservedInstancesExchangeQuote to perform the exchange.
33287//
33288// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33289// with awserr.Error's Code and Message methods to get detailed information about
33290// the error.
33291//
33292// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33293// API operation GetReservedInstancesExchangeQuote for usage and error information.
33294// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
33295func (c *EC2) GetReservedInstancesExchangeQuote(input *GetReservedInstancesExchangeQuoteInput) (*GetReservedInstancesExchangeQuoteOutput, error) {
33296	req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
33297	return out, req.Send()
33298}
33299
33300// GetReservedInstancesExchangeQuoteWithContext is the same as GetReservedInstancesExchangeQuote with the addition of
33301// the ability to pass a context and additional request options.
33302//
33303// See GetReservedInstancesExchangeQuote for details on how to use this API operation.
33304//
33305// The context must be non-nil and will be used for request cancellation. If
33306// the context is nil a panic will occur. In the future the SDK may create
33307// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33308// for more information on using Contexts.
33309func (c *EC2) GetReservedInstancesExchangeQuoteWithContext(ctx aws.Context, input *GetReservedInstancesExchangeQuoteInput, opts ...request.Option) (*GetReservedInstancesExchangeQuoteOutput, error) {
33310	req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
33311	req.SetContext(ctx)
33312	req.ApplyOptions(opts...)
33313	return out, req.Send()
33314}
33315
33316const opGetSerialConsoleAccessStatus = "GetSerialConsoleAccessStatus"
33317
33318// GetSerialConsoleAccessStatusRequest generates a "aws/request.Request" representing the
33319// client's request for the GetSerialConsoleAccessStatus operation. The "output" return
33320// value will be populated with the request's response once the request completes
33321// successfully.
33322//
33323// Use "Send" method on the returned Request to send the API call to the service.
33324// the "output" return value is not valid until after Send returns without error.
33325//
33326// See GetSerialConsoleAccessStatus for more information on using the GetSerialConsoleAccessStatus
33327// API call, and error handling.
33328//
33329// This method is useful when you want to inject custom logic or configuration
33330// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33331//
33332//
33333//    // Example sending a request using the GetSerialConsoleAccessStatusRequest method.
33334//    req, resp := client.GetSerialConsoleAccessStatusRequest(params)
33335//
33336//    err := req.Send()
33337//    if err == nil { // resp is now filled
33338//        fmt.Println(resp)
33339//    }
33340//
33341// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetSerialConsoleAccessStatus
33342func (c *EC2) GetSerialConsoleAccessStatusRequest(input *GetSerialConsoleAccessStatusInput) (req *request.Request, output *GetSerialConsoleAccessStatusOutput) {
33343	op := &request.Operation{
33344		Name:       opGetSerialConsoleAccessStatus,
33345		HTTPMethod: "POST",
33346		HTTPPath:   "/",
33347	}
33348
33349	if input == nil {
33350		input = &GetSerialConsoleAccessStatusInput{}
33351	}
33352
33353	output = &GetSerialConsoleAccessStatusOutput{}
33354	req = c.newRequest(op, input, output)
33355	return
33356}
33357
33358// GetSerialConsoleAccessStatus API operation for Amazon Elastic Compute Cloud.
33359//
33360// Retrieves the access status of your account to the EC2 serial console of
33361// all instances. By default, access to the EC2 serial console is disabled for
33362// your account. For more information, see Manage account access to the EC2
33363// serial console (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-access-to-serial-console.html#serial-console-account-access)
33364// in the Amazon EC2 User Guide.
33365//
33366// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33367// with awserr.Error's Code and Message methods to get detailed information about
33368// the error.
33369//
33370// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33371// API operation GetSerialConsoleAccessStatus for usage and error information.
33372// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetSerialConsoleAccessStatus
33373func (c *EC2) GetSerialConsoleAccessStatus(input *GetSerialConsoleAccessStatusInput) (*GetSerialConsoleAccessStatusOutput, error) {
33374	req, out := c.GetSerialConsoleAccessStatusRequest(input)
33375	return out, req.Send()
33376}
33377
33378// GetSerialConsoleAccessStatusWithContext is the same as GetSerialConsoleAccessStatus with the addition of
33379// the ability to pass a context and additional request options.
33380//
33381// See GetSerialConsoleAccessStatus for details on how to use this API operation.
33382//
33383// The context must be non-nil and will be used for request cancellation. If
33384// the context is nil a panic will occur. In the future the SDK may create
33385// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33386// for more information on using Contexts.
33387func (c *EC2) GetSerialConsoleAccessStatusWithContext(ctx aws.Context, input *GetSerialConsoleAccessStatusInput, opts ...request.Option) (*GetSerialConsoleAccessStatusOutput, error) {
33388	req, out := c.GetSerialConsoleAccessStatusRequest(input)
33389	req.SetContext(ctx)
33390	req.ApplyOptions(opts...)
33391	return out, req.Send()
33392}
33393
33394const opGetSubnetCidrReservations = "GetSubnetCidrReservations"
33395
33396// GetSubnetCidrReservationsRequest generates a "aws/request.Request" representing the
33397// client's request for the GetSubnetCidrReservations operation. The "output" return
33398// value will be populated with the request's response once the request completes
33399// successfully.
33400//
33401// Use "Send" method on the returned Request to send the API call to the service.
33402// the "output" return value is not valid until after Send returns without error.
33403//
33404// See GetSubnetCidrReservations for more information on using the GetSubnetCidrReservations
33405// API call, and error handling.
33406//
33407// This method is useful when you want to inject custom logic or configuration
33408// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33409//
33410//
33411//    // Example sending a request using the GetSubnetCidrReservationsRequest method.
33412//    req, resp := client.GetSubnetCidrReservationsRequest(params)
33413//
33414//    err := req.Send()
33415//    if err == nil { // resp is now filled
33416//        fmt.Println(resp)
33417//    }
33418//
33419// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetSubnetCidrReservations
33420func (c *EC2) GetSubnetCidrReservationsRequest(input *GetSubnetCidrReservationsInput) (req *request.Request, output *GetSubnetCidrReservationsOutput) {
33421	op := &request.Operation{
33422		Name:       opGetSubnetCidrReservations,
33423		HTTPMethod: "POST",
33424		HTTPPath:   "/",
33425	}
33426
33427	if input == nil {
33428		input = &GetSubnetCidrReservationsInput{}
33429	}
33430
33431	output = &GetSubnetCidrReservationsOutput{}
33432	req = c.newRequest(op, input, output)
33433	return
33434}
33435
33436// GetSubnetCidrReservations API operation for Amazon Elastic Compute Cloud.
33437//
33438// Gets information about the subnet CIDR reservations.
33439//
33440// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33441// with awserr.Error's Code and Message methods to get detailed information about
33442// the error.
33443//
33444// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33445// API operation GetSubnetCidrReservations for usage and error information.
33446// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetSubnetCidrReservations
33447func (c *EC2) GetSubnetCidrReservations(input *GetSubnetCidrReservationsInput) (*GetSubnetCidrReservationsOutput, error) {
33448	req, out := c.GetSubnetCidrReservationsRequest(input)
33449	return out, req.Send()
33450}
33451
33452// GetSubnetCidrReservationsWithContext is the same as GetSubnetCidrReservations with the addition of
33453// the ability to pass a context and additional request options.
33454//
33455// See GetSubnetCidrReservations for details on how to use this API operation.
33456//
33457// The context must be non-nil and will be used for request cancellation. If
33458// the context is nil a panic will occur. In the future the SDK may create
33459// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33460// for more information on using Contexts.
33461func (c *EC2) GetSubnetCidrReservationsWithContext(ctx aws.Context, input *GetSubnetCidrReservationsInput, opts ...request.Option) (*GetSubnetCidrReservationsOutput, error) {
33462	req, out := c.GetSubnetCidrReservationsRequest(input)
33463	req.SetContext(ctx)
33464	req.ApplyOptions(opts...)
33465	return out, req.Send()
33466}
33467
33468const opGetTransitGatewayAttachmentPropagations = "GetTransitGatewayAttachmentPropagations"
33469
33470// GetTransitGatewayAttachmentPropagationsRequest generates a "aws/request.Request" representing the
33471// client's request for the GetTransitGatewayAttachmentPropagations operation. The "output" return
33472// value will be populated with the request's response once the request completes
33473// successfully.
33474//
33475// Use "Send" method on the returned Request to send the API call to the service.
33476// the "output" return value is not valid until after Send returns without error.
33477//
33478// See GetTransitGatewayAttachmentPropagations for more information on using the GetTransitGatewayAttachmentPropagations
33479// API call, and error handling.
33480//
33481// This method is useful when you want to inject custom logic or configuration
33482// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33483//
33484//
33485//    // Example sending a request using the GetTransitGatewayAttachmentPropagationsRequest method.
33486//    req, resp := client.GetTransitGatewayAttachmentPropagationsRequest(params)
33487//
33488//    err := req.Send()
33489//    if err == nil { // resp is now filled
33490//        fmt.Println(resp)
33491//    }
33492//
33493// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayAttachmentPropagations
33494func (c *EC2) GetTransitGatewayAttachmentPropagationsRequest(input *GetTransitGatewayAttachmentPropagationsInput) (req *request.Request, output *GetTransitGatewayAttachmentPropagationsOutput) {
33495	op := &request.Operation{
33496		Name:       opGetTransitGatewayAttachmentPropagations,
33497		HTTPMethod: "POST",
33498		HTTPPath:   "/",
33499		Paginator: &request.Paginator{
33500			InputTokens:     []string{"NextToken"},
33501			OutputTokens:    []string{"NextToken"},
33502			LimitToken:      "MaxResults",
33503			TruncationToken: "",
33504		},
33505	}
33506
33507	if input == nil {
33508		input = &GetTransitGatewayAttachmentPropagationsInput{}
33509	}
33510
33511	output = &GetTransitGatewayAttachmentPropagationsOutput{}
33512	req = c.newRequest(op, input, output)
33513	return
33514}
33515
33516// GetTransitGatewayAttachmentPropagations API operation for Amazon Elastic Compute Cloud.
33517//
33518// Lists the route tables to which the specified resource attachment propagates
33519// routes.
33520//
33521// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33522// with awserr.Error's Code and Message methods to get detailed information about
33523// the error.
33524//
33525// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33526// API operation GetTransitGatewayAttachmentPropagations for usage and error information.
33527// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayAttachmentPropagations
33528func (c *EC2) GetTransitGatewayAttachmentPropagations(input *GetTransitGatewayAttachmentPropagationsInput) (*GetTransitGatewayAttachmentPropagationsOutput, error) {
33529	req, out := c.GetTransitGatewayAttachmentPropagationsRequest(input)
33530	return out, req.Send()
33531}
33532
33533// GetTransitGatewayAttachmentPropagationsWithContext is the same as GetTransitGatewayAttachmentPropagations with the addition of
33534// the ability to pass a context and additional request options.
33535//
33536// See GetTransitGatewayAttachmentPropagations for details on how to use this API operation.
33537//
33538// The context must be non-nil and will be used for request cancellation. If
33539// the context is nil a panic will occur. In the future the SDK may create
33540// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33541// for more information on using Contexts.
33542func (c *EC2) GetTransitGatewayAttachmentPropagationsWithContext(ctx aws.Context, input *GetTransitGatewayAttachmentPropagationsInput, opts ...request.Option) (*GetTransitGatewayAttachmentPropagationsOutput, error) {
33543	req, out := c.GetTransitGatewayAttachmentPropagationsRequest(input)
33544	req.SetContext(ctx)
33545	req.ApplyOptions(opts...)
33546	return out, req.Send()
33547}
33548
33549// GetTransitGatewayAttachmentPropagationsPages iterates over the pages of a GetTransitGatewayAttachmentPropagations operation,
33550// calling the "fn" function with the response data for each page. To stop
33551// iterating, return false from the fn function.
33552//
33553// See GetTransitGatewayAttachmentPropagations method for more information on how to use this operation.
33554//
33555// Note: This operation can generate multiple requests to a service.
33556//
33557//    // Example iterating over at most 3 pages of a GetTransitGatewayAttachmentPropagations operation.
33558//    pageNum := 0
33559//    err := client.GetTransitGatewayAttachmentPropagationsPages(params,
33560//        func(page *ec2.GetTransitGatewayAttachmentPropagationsOutput, lastPage bool) bool {
33561//            pageNum++
33562//            fmt.Println(page)
33563//            return pageNum <= 3
33564//        })
33565//
33566func (c *EC2) GetTransitGatewayAttachmentPropagationsPages(input *GetTransitGatewayAttachmentPropagationsInput, fn func(*GetTransitGatewayAttachmentPropagationsOutput, bool) bool) error {
33567	return c.GetTransitGatewayAttachmentPropagationsPagesWithContext(aws.BackgroundContext(), input, fn)
33568}
33569
33570// GetTransitGatewayAttachmentPropagationsPagesWithContext same as GetTransitGatewayAttachmentPropagationsPages except
33571// it takes a Context and allows setting request options on the pages.
33572//
33573// The context must be non-nil and will be used for request cancellation. If
33574// the context is nil a panic will occur. In the future the SDK may create
33575// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33576// for more information on using Contexts.
33577func (c *EC2) GetTransitGatewayAttachmentPropagationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayAttachmentPropagationsInput, fn func(*GetTransitGatewayAttachmentPropagationsOutput, bool) bool, opts ...request.Option) error {
33578	p := request.Pagination{
33579		NewRequest: func() (*request.Request, error) {
33580			var inCpy *GetTransitGatewayAttachmentPropagationsInput
33581			if input != nil {
33582				tmp := *input
33583				inCpy = &tmp
33584			}
33585			req, _ := c.GetTransitGatewayAttachmentPropagationsRequest(inCpy)
33586			req.SetContext(ctx)
33587			req.ApplyOptions(opts...)
33588			return req, nil
33589		},
33590	}
33591
33592	for p.Next() {
33593		if !fn(p.Page().(*GetTransitGatewayAttachmentPropagationsOutput), !p.HasNextPage()) {
33594			break
33595		}
33596	}
33597
33598	return p.Err()
33599}
33600
33601const opGetTransitGatewayMulticastDomainAssociations = "GetTransitGatewayMulticastDomainAssociations"
33602
33603// GetTransitGatewayMulticastDomainAssociationsRequest generates a "aws/request.Request" representing the
33604// client's request for the GetTransitGatewayMulticastDomainAssociations operation. The "output" return
33605// value will be populated with the request's response once the request completes
33606// successfully.
33607//
33608// Use "Send" method on the returned Request to send the API call to the service.
33609// the "output" return value is not valid until after Send returns without error.
33610//
33611// See GetTransitGatewayMulticastDomainAssociations for more information on using the GetTransitGatewayMulticastDomainAssociations
33612// API call, and error handling.
33613//
33614// This method is useful when you want to inject custom logic or configuration
33615// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33616//
33617//
33618//    // Example sending a request using the GetTransitGatewayMulticastDomainAssociationsRequest method.
33619//    req, resp := client.GetTransitGatewayMulticastDomainAssociationsRequest(params)
33620//
33621//    err := req.Send()
33622//    if err == nil { // resp is now filled
33623//        fmt.Println(resp)
33624//    }
33625//
33626// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayMulticastDomainAssociations
33627func (c *EC2) GetTransitGatewayMulticastDomainAssociationsRequest(input *GetTransitGatewayMulticastDomainAssociationsInput) (req *request.Request, output *GetTransitGatewayMulticastDomainAssociationsOutput) {
33628	op := &request.Operation{
33629		Name:       opGetTransitGatewayMulticastDomainAssociations,
33630		HTTPMethod: "POST",
33631		HTTPPath:   "/",
33632		Paginator: &request.Paginator{
33633			InputTokens:     []string{"NextToken"},
33634			OutputTokens:    []string{"NextToken"},
33635			LimitToken:      "MaxResults",
33636			TruncationToken: "",
33637		},
33638	}
33639
33640	if input == nil {
33641		input = &GetTransitGatewayMulticastDomainAssociationsInput{}
33642	}
33643
33644	output = &GetTransitGatewayMulticastDomainAssociationsOutput{}
33645	req = c.newRequest(op, input, output)
33646	return
33647}
33648
33649// GetTransitGatewayMulticastDomainAssociations API operation for Amazon Elastic Compute Cloud.
33650//
33651// Gets information about the associations for the transit gateway multicast
33652// domain.
33653//
33654// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33655// with awserr.Error's Code and Message methods to get detailed information about
33656// the error.
33657//
33658// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33659// API operation GetTransitGatewayMulticastDomainAssociations for usage and error information.
33660// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayMulticastDomainAssociations
33661func (c *EC2) GetTransitGatewayMulticastDomainAssociations(input *GetTransitGatewayMulticastDomainAssociationsInput) (*GetTransitGatewayMulticastDomainAssociationsOutput, error) {
33662	req, out := c.GetTransitGatewayMulticastDomainAssociationsRequest(input)
33663	return out, req.Send()
33664}
33665
33666// GetTransitGatewayMulticastDomainAssociationsWithContext is the same as GetTransitGatewayMulticastDomainAssociations with the addition of
33667// the ability to pass a context and additional request options.
33668//
33669// See GetTransitGatewayMulticastDomainAssociations for details on how to use this API operation.
33670//
33671// The context must be non-nil and will be used for request cancellation. If
33672// the context is nil a panic will occur. In the future the SDK may create
33673// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33674// for more information on using Contexts.
33675func (c *EC2) GetTransitGatewayMulticastDomainAssociationsWithContext(ctx aws.Context, input *GetTransitGatewayMulticastDomainAssociationsInput, opts ...request.Option) (*GetTransitGatewayMulticastDomainAssociationsOutput, error) {
33676	req, out := c.GetTransitGatewayMulticastDomainAssociationsRequest(input)
33677	req.SetContext(ctx)
33678	req.ApplyOptions(opts...)
33679	return out, req.Send()
33680}
33681
33682// GetTransitGatewayMulticastDomainAssociationsPages iterates over the pages of a GetTransitGatewayMulticastDomainAssociations operation,
33683// calling the "fn" function with the response data for each page. To stop
33684// iterating, return false from the fn function.
33685//
33686// See GetTransitGatewayMulticastDomainAssociations method for more information on how to use this operation.
33687//
33688// Note: This operation can generate multiple requests to a service.
33689//
33690//    // Example iterating over at most 3 pages of a GetTransitGatewayMulticastDomainAssociations operation.
33691//    pageNum := 0
33692//    err := client.GetTransitGatewayMulticastDomainAssociationsPages(params,
33693//        func(page *ec2.GetTransitGatewayMulticastDomainAssociationsOutput, lastPage bool) bool {
33694//            pageNum++
33695//            fmt.Println(page)
33696//            return pageNum <= 3
33697//        })
33698//
33699func (c *EC2) GetTransitGatewayMulticastDomainAssociationsPages(input *GetTransitGatewayMulticastDomainAssociationsInput, fn func(*GetTransitGatewayMulticastDomainAssociationsOutput, bool) bool) error {
33700	return c.GetTransitGatewayMulticastDomainAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
33701}
33702
33703// GetTransitGatewayMulticastDomainAssociationsPagesWithContext same as GetTransitGatewayMulticastDomainAssociationsPages except
33704// it takes a Context and allows setting request options on the pages.
33705//
33706// The context must be non-nil and will be used for request cancellation. If
33707// the context is nil a panic will occur. In the future the SDK may create
33708// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33709// for more information on using Contexts.
33710func (c *EC2) GetTransitGatewayMulticastDomainAssociationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayMulticastDomainAssociationsInput, fn func(*GetTransitGatewayMulticastDomainAssociationsOutput, bool) bool, opts ...request.Option) error {
33711	p := request.Pagination{
33712		NewRequest: func() (*request.Request, error) {
33713			var inCpy *GetTransitGatewayMulticastDomainAssociationsInput
33714			if input != nil {
33715				tmp := *input
33716				inCpy = &tmp
33717			}
33718			req, _ := c.GetTransitGatewayMulticastDomainAssociationsRequest(inCpy)
33719			req.SetContext(ctx)
33720			req.ApplyOptions(opts...)
33721			return req, nil
33722		},
33723	}
33724
33725	for p.Next() {
33726		if !fn(p.Page().(*GetTransitGatewayMulticastDomainAssociationsOutput), !p.HasNextPage()) {
33727			break
33728		}
33729	}
33730
33731	return p.Err()
33732}
33733
33734const opGetTransitGatewayPrefixListReferences = "GetTransitGatewayPrefixListReferences"
33735
33736// GetTransitGatewayPrefixListReferencesRequest generates a "aws/request.Request" representing the
33737// client's request for the GetTransitGatewayPrefixListReferences operation. The "output" return
33738// value will be populated with the request's response once the request completes
33739// successfully.
33740//
33741// Use "Send" method on the returned Request to send the API call to the service.
33742// the "output" return value is not valid until after Send returns without error.
33743//
33744// See GetTransitGatewayPrefixListReferences for more information on using the GetTransitGatewayPrefixListReferences
33745// API call, and error handling.
33746//
33747// This method is useful when you want to inject custom logic or configuration
33748// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33749//
33750//
33751//    // Example sending a request using the GetTransitGatewayPrefixListReferencesRequest method.
33752//    req, resp := client.GetTransitGatewayPrefixListReferencesRequest(params)
33753//
33754//    err := req.Send()
33755//    if err == nil { // resp is now filled
33756//        fmt.Println(resp)
33757//    }
33758//
33759// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayPrefixListReferences
33760func (c *EC2) GetTransitGatewayPrefixListReferencesRequest(input *GetTransitGatewayPrefixListReferencesInput) (req *request.Request, output *GetTransitGatewayPrefixListReferencesOutput) {
33761	op := &request.Operation{
33762		Name:       opGetTransitGatewayPrefixListReferences,
33763		HTTPMethod: "POST",
33764		HTTPPath:   "/",
33765		Paginator: &request.Paginator{
33766			InputTokens:     []string{"NextToken"},
33767			OutputTokens:    []string{"NextToken"},
33768			LimitToken:      "MaxResults",
33769			TruncationToken: "",
33770		},
33771	}
33772
33773	if input == nil {
33774		input = &GetTransitGatewayPrefixListReferencesInput{}
33775	}
33776
33777	output = &GetTransitGatewayPrefixListReferencesOutput{}
33778	req = c.newRequest(op, input, output)
33779	return
33780}
33781
33782// GetTransitGatewayPrefixListReferences API operation for Amazon Elastic Compute Cloud.
33783//
33784// Gets information about the prefix list references in a specified transit
33785// gateway route table.
33786//
33787// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33788// with awserr.Error's Code and Message methods to get detailed information about
33789// the error.
33790//
33791// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33792// API operation GetTransitGatewayPrefixListReferences for usage and error information.
33793// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayPrefixListReferences
33794func (c *EC2) GetTransitGatewayPrefixListReferences(input *GetTransitGatewayPrefixListReferencesInput) (*GetTransitGatewayPrefixListReferencesOutput, error) {
33795	req, out := c.GetTransitGatewayPrefixListReferencesRequest(input)
33796	return out, req.Send()
33797}
33798
33799// GetTransitGatewayPrefixListReferencesWithContext is the same as GetTransitGatewayPrefixListReferences with the addition of
33800// the ability to pass a context and additional request options.
33801//
33802// See GetTransitGatewayPrefixListReferences for details on how to use this API operation.
33803//
33804// The context must be non-nil and will be used for request cancellation. If
33805// the context is nil a panic will occur. In the future the SDK may create
33806// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33807// for more information on using Contexts.
33808func (c *EC2) GetTransitGatewayPrefixListReferencesWithContext(ctx aws.Context, input *GetTransitGatewayPrefixListReferencesInput, opts ...request.Option) (*GetTransitGatewayPrefixListReferencesOutput, error) {
33809	req, out := c.GetTransitGatewayPrefixListReferencesRequest(input)
33810	req.SetContext(ctx)
33811	req.ApplyOptions(opts...)
33812	return out, req.Send()
33813}
33814
33815// GetTransitGatewayPrefixListReferencesPages iterates over the pages of a GetTransitGatewayPrefixListReferences operation,
33816// calling the "fn" function with the response data for each page. To stop
33817// iterating, return false from the fn function.
33818//
33819// See GetTransitGatewayPrefixListReferences method for more information on how to use this operation.
33820//
33821// Note: This operation can generate multiple requests to a service.
33822//
33823//    // Example iterating over at most 3 pages of a GetTransitGatewayPrefixListReferences operation.
33824//    pageNum := 0
33825//    err := client.GetTransitGatewayPrefixListReferencesPages(params,
33826//        func(page *ec2.GetTransitGatewayPrefixListReferencesOutput, lastPage bool) bool {
33827//            pageNum++
33828//            fmt.Println(page)
33829//            return pageNum <= 3
33830//        })
33831//
33832func (c *EC2) GetTransitGatewayPrefixListReferencesPages(input *GetTransitGatewayPrefixListReferencesInput, fn func(*GetTransitGatewayPrefixListReferencesOutput, bool) bool) error {
33833	return c.GetTransitGatewayPrefixListReferencesPagesWithContext(aws.BackgroundContext(), input, fn)
33834}
33835
33836// GetTransitGatewayPrefixListReferencesPagesWithContext same as GetTransitGatewayPrefixListReferencesPages except
33837// it takes a Context and allows setting request options on the pages.
33838//
33839// The context must be non-nil and will be used for request cancellation. If
33840// the context is nil a panic will occur. In the future the SDK may create
33841// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33842// for more information on using Contexts.
33843func (c *EC2) GetTransitGatewayPrefixListReferencesPagesWithContext(ctx aws.Context, input *GetTransitGatewayPrefixListReferencesInput, fn func(*GetTransitGatewayPrefixListReferencesOutput, bool) bool, opts ...request.Option) error {
33844	p := request.Pagination{
33845		NewRequest: func() (*request.Request, error) {
33846			var inCpy *GetTransitGatewayPrefixListReferencesInput
33847			if input != nil {
33848				tmp := *input
33849				inCpy = &tmp
33850			}
33851			req, _ := c.GetTransitGatewayPrefixListReferencesRequest(inCpy)
33852			req.SetContext(ctx)
33853			req.ApplyOptions(opts...)
33854			return req, nil
33855		},
33856	}
33857
33858	for p.Next() {
33859		if !fn(p.Page().(*GetTransitGatewayPrefixListReferencesOutput), !p.HasNextPage()) {
33860			break
33861		}
33862	}
33863
33864	return p.Err()
33865}
33866
33867const opGetTransitGatewayRouteTableAssociations = "GetTransitGatewayRouteTableAssociations"
33868
33869// GetTransitGatewayRouteTableAssociationsRequest generates a "aws/request.Request" representing the
33870// client's request for the GetTransitGatewayRouteTableAssociations operation. The "output" return
33871// value will be populated with the request's response once the request completes
33872// successfully.
33873//
33874// Use "Send" method on the returned Request to send the API call to the service.
33875// the "output" return value is not valid until after Send returns without error.
33876//
33877// See GetTransitGatewayRouteTableAssociations for more information on using the GetTransitGatewayRouteTableAssociations
33878// API call, and error handling.
33879//
33880// This method is useful when you want to inject custom logic or configuration
33881// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33882//
33883//
33884//    // Example sending a request using the GetTransitGatewayRouteTableAssociationsRequest method.
33885//    req, resp := client.GetTransitGatewayRouteTableAssociationsRequest(params)
33886//
33887//    err := req.Send()
33888//    if err == nil { // resp is now filled
33889//        fmt.Println(resp)
33890//    }
33891//
33892// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTableAssociations
33893func (c *EC2) GetTransitGatewayRouteTableAssociationsRequest(input *GetTransitGatewayRouteTableAssociationsInput) (req *request.Request, output *GetTransitGatewayRouteTableAssociationsOutput) {
33894	op := &request.Operation{
33895		Name:       opGetTransitGatewayRouteTableAssociations,
33896		HTTPMethod: "POST",
33897		HTTPPath:   "/",
33898		Paginator: &request.Paginator{
33899			InputTokens:     []string{"NextToken"},
33900			OutputTokens:    []string{"NextToken"},
33901			LimitToken:      "MaxResults",
33902			TruncationToken: "",
33903		},
33904	}
33905
33906	if input == nil {
33907		input = &GetTransitGatewayRouteTableAssociationsInput{}
33908	}
33909
33910	output = &GetTransitGatewayRouteTableAssociationsOutput{}
33911	req = c.newRequest(op, input, output)
33912	return
33913}
33914
33915// GetTransitGatewayRouteTableAssociations API operation for Amazon Elastic Compute Cloud.
33916//
33917// Gets information about the associations for the specified transit gateway
33918// route table.
33919//
33920// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33921// with awserr.Error's Code and Message methods to get detailed information about
33922// the error.
33923//
33924// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33925// API operation GetTransitGatewayRouteTableAssociations for usage and error information.
33926// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTableAssociations
33927func (c *EC2) GetTransitGatewayRouteTableAssociations(input *GetTransitGatewayRouteTableAssociationsInput) (*GetTransitGatewayRouteTableAssociationsOutput, error) {
33928	req, out := c.GetTransitGatewayRouteTableAssociationsRequest(input)
33929	return out, req.Send()
33930}
33931
33932// GetTransitGatewayRouteTableAssociationsWithContext is the same as GetTransitGatewayRouteTableAssociations with the addition of
33933// the ability to pass a context and additional request options.
33934//
33935// See GetTransitGatewayRouteTableAssociations for details on how to use this API operation.
33936//
33937// The context must be non-nil and will be used for request cancellation. If
33938// the context is nil a panic will occur. In the future the SDK may create
33939// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33940// for more information on using Contexts.
33941func (c *EC2) GetTransitGatewayRouteTableAssociationsWithContext(ctx aws.Context, input *GetTransitGatewayRouteTableAssociationsInput, opts ...request.Option) (*GetTransitGatewayRouteTableAssociationsOutput, error) {
33942	req, out := c.GetTransitGatewayRouteTableAssociationsRequest(input)
33943	req.SetContext(ctx)
33944	req.ApplyOptions(opts...)
33945	return out, req.Send()
33946}
33947
33948// GetTransitGatewayRouteTableAssociationsPages iterates over the pages of a GetTransitGatewayRouteTableAssociations operation,
33949// calling the "fn" function with the response data for each page. To stop
33950// iterating, return false from the fn function.
33951//
33952// See GetTransitGatewayRouteTableAssociations method for more information on how to use this operation.
33953//
33954// Note: This operation can generate multiple requests to a service.
33955//
33956//    // Example iterating over at most 3 pages of a GetTransitGatewayRouteTableAssociations operation.
33957//    pageNum := 0
33958//    err := client.GetTransitGatewayRouteTableAssociationsPages(params,
33959//        func(page *ec2.GetTransitGatewayRouteTableAssociationsOutput, lastPage bool) bool {
33960//            pageNum++
33961//            fmt.Println(page)
33962//            return pageNum <= 3
33963//        })
33964//
33965func (c *EC2) GetTransitGatewayRouteTableAssociationsPages(input *GetTransitGatewayRouteTableAssociationsInput, fn func(*GetTransitGatewayRouteTableAssociationsOutput, bool) bool) error {
33966	return c.GetTransitGatewayRouteTableAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
33967}
33968
33969// GetTransitGatewayRouteTableAssociationsPagesWithContext same as GetTransitGatewayRouteTableAssociationsPages except
33970// it takes a Context and allows setting request options on the pages.
33971//
33972// The context must be non-nil and will be used for request cancellation. If
33973// the context is nil a panic will occur. In the future the SDK may create
33974// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33975// for more information on using Contexts.
33976func (c *EC2) GetTransitGatewayRouteTableAssociationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayRouteTableAssociationsInput, fn func(*GetTransitGatewayRouteTableAssociationsOutput, bool) bool, opts ...request.Option) error {
33977	p := request.Pagination{
33978		NewRequest: func() (*request.Request, error) {
33979			var inCpy *GetTransitGatewayRouteTableAssociationsInput
33980			if input != nil {
33981				tmp := *input
33982				inCpy = &tmp
33983			}
33984			req, _ := c.GetTransitGatewayRouteTableAssociationsRequest(inCpy)
33985			req.SetContext(ctx)
33986			req.ApplyOptions(opts...)
33987			return req, nil
33988		},
33989	}
33990
33991	for p.Next() {
33992		if !fn(p.Page().(*GetTransitGatewayRouteTableAssociationsOutput), !p.HasNextPage()) {
33993			break
33994		}
33995	}
33996
33997	return p.Err()
33998}
33999
34000const opGetTransitGatewayRouteTablePropagations = "GetTransitGatewayRouteTablePropagations"
34001
34002// GetTransitGatewayRouteTablePropagationsRequest generates a "aws/request.Request" representing the
34003// client's request for the GetTransitGatewayRouteTablePropagations operation. The "output" return
34004// value will be populated with the request's response once the request completes
34005// successfully.
34006//
34007// Use "Send" method on the returned Request to send the API call to the service.
34008// the "output" return value is not valid until after Send returns without error.
34009//
34010// See GetTransitGatewayRouteTablePropagations for more information on using the GetTransitGatewayRouteTablePropagations
34011// API call, and error handling.
34012//
34013// This method is useful when you want to inject custom logic or configuration
34014// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34015//
34016//
34017//    // Example sending a request using the GetTransitGatewayRouteTablePropagationsRequest method.
34018//    req, resp := client.GetTransitGatewayRouteTablePropagationsRequest(params)
34019//
34020//    err := req.Send()
34021//    if err == nil { // resp is now filled
34022//        fmt.Println(resp)
34023//    }
34024//
34025// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTablePropagations
34026func (c *EC2) GetTransitGatewayRouteTablePropagationsRequest(input *GetTransitGatewayRouteTablePropagationsInput) (req *request.Request, output *GetTransitGatewayRouteTablePropagationsOutput) {
34027	op := &request.Operation{
34028		Name:       opGetTransitGatewayRouteTablePropagations,
34029		HTTPMethod: "POST",
34030		HTTPPath:   "/",
34031		Paginator: &request.Paginator{
34032			InputTokens:     []string{"NextToken"},
34033			OutputTokens:    []string{"NextToken"},
34034			LimitToken:      "MaxResults",
34035			TruncationToken: "",
34036		},
34037	}
34038
34039	if input == nil {
34040		input = &GetTransitGatewayRouteTablePropagationsInput{}
34041	}
34042
34043	output = &GetTransitGatewayRouteTablePropagationsOutput{}
34044	req = c.newRequest(op, input, output)
34045	return
34046}
34047
34048// GetTransitGatewayRouteTablePropagations API operation for Amazon Elastic Compute Cloud.
34049//
34050// Gets information about the route table propagations for the specified transit
34051// gateway route table.
34052//
34053// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34054// with awserr.Error's Code and Message methods to get detailed information about
34055// the error.
34056//
34057// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34058// API operation GetTransitGatewayRouteTablePropagations for usage and error information.
34059// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTablePropagations
34060func (c *EC2) GetTransitGatewayRouteTablePropagations(input *GetTransitGatewayRouteTablePropagationsInput) (*GetTransitGatewayRouteTablePropagationsOutput, error) {
34061	req, out := c.GetTransitGatewayRouteTablePropagationsRequest(input)
34062	return out, req.Send()
34063}
34064
34065// GetTransitGatewayRouteTablePropagationsWithContext is the same as GetTransitGatewayRouteTablePropagations with the addition of
34066// the ability to pass a context and additional request options.
34067//
34068// See GetTransitGatewayRouteTablePropagations for details on how to use this API operation.
34069//
34070// The context must be non-nil and will be used for request cancellation. If
34071// the context is nil a panic will occur. In the future the SDK may create
34072// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34073// for more information on using Contexts.
34074func (c *EC2) GetTransitGatewayRouteTablePropagationsWithContext(ctx aws.Context, input *GetTransitGatewayRouteTablePropagationsInput, opts ...request.Option) (*GetTransitGatewayRouteTablePropagationsOutput, error) {
34075	req, out := c.GetTransitGatewayRouteTablePropagationsRequest(input)
34076	req.SetContext(ctx)
34077	req.ApplyOptions(opts...)
34078	return out, req.Send()
34079}
34080
34081// GetTransitGatewayRouteTablePropagationsPages iterates over the pages of a GetTransitGatewayRouteTablePropagations operation,
34082// calling the "fn" function with the response data for each page. To stop
34083// iterating, return false from the fn function.
34084//
34085// See GetTransitGatewayRouteTablePropagations method for more information on how to use this operation.
34086//
34087// Note: This operation can generate multiple requests to a service.
34088//
34089//    // Example iterating over at most 3 pages of a GetTransitGatewayRouteTablePropagations operation.
34090//    pageNum := 0
34091//    err := client.GetTransitGatewayRouteTablePropagationsPages(params,
34092//        func(page *ec2.GetTransitGatewayRouteTablePropagationsOutput, lastPage bool) bool {
34093//            pageNum++
34094//            fmt.Println(page)
34095//            return pageNum <= 3
34096//        })
34097//
34098func (c *EC2) GetTransitGatewayRouteTablePropagationsPages(input *GetTransitGatewayRouteTablePropagationsInput, fn func(*GetTransitGatewayRouteTablePropagationsOutput, bool) bool) error {
34099	return c.GetTransitGatewayRouteTablePropagationsPagesWithContext(aws.BackgroundContext(), input, fn)
34100}
34101
34102// GetTransitGatewayRouteTablePropagationsPagesWithContext same as GetTransitGatewayRouteTablePropagationsPages except
34103// it takes a Context and allows setting request options on the pages.
34104//
34105// The context must be non-nil and will be used for request cancellation. If
34106// the context is nil a panic will occur. In the future the SDK may create
34107// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34108// for more information on using Contexts.
34109func (c *EC2) GetTransitGatewayRouteTablePropagationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayRouteTablePropagationsInput, fn func(*GetTransitGatewayRouteTablePropagationsOutput, bool) bool, opts ...request.Option) error {
34110	p := request.Pagination{
34111		NewRequest: func() (*request.Request, error) {
34112			var inCpy *GetTransitGatewayRouteTablePropagationsInput
34113			if input != nil {
34114				tmp := *input
34115				inCpy = &tmp
34116			}
34117			req, _ := c.GetTransitGatewayRouteTablePropagationsRequest(inCpy)
34118			req.SetContext(ctx)
34119			req.ApplyOptions(opts...)
34120			return req, nil
34121		},
34122	}
34123
34124	for p.Next() {
34125		if !fn(p.Page().(*GetTransitGatewayRouteTablePropagationsOutput), !p.HasNextPage()) {
34126			break
34127		}
34128	}
34129
34130	return p.Err()
34131}
34132
34133const opImportClientVpnClientCertificateRevocationList = "ImportClientVpnClientCertificateRevocationList"
34134
34135// ImportClientVpnClientCertificateRevocationListRequest generates a "aws/request.Request" representing the
34136// client's request for the ImportClientVpnClientCertificateRevocationList operation. The "output" return
34137// value will be populated with the request's response once the request completes
34138// successfully.
34139//
34140// Use "Send" method on the returned Request to send the API call to the service.
34141// the "output" return value is not valid until after Send returns without error.
34142//
34143// See ImportClientVpnClientCertificateRevocationList for more information on using the ImportClientVpnClientCertificateRevocationList
34144// API call, and error handling.
34145//
34146// This method is useful when you want to inject custom logic or configuration
34147// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34148//
34149//
34150//    // Example sending a request using the ImportClientVpnClientCertificateRevocationListRequest method.
34151//    req, resp := client.ImportClientVpnClientCertificateRevocationListRequest(params)
34152//
34153//    err := req.Send()
34154//    if err == nil { // resp is now filled
34155//        fmt.Println(resp)
34156//    }
34157//
34158// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportClientVpnClientCertificateRevocationList
34159func (c *EC2) ImportClientVpnClientCertificateRevocationListRequest(input *ImportClientVpnClientCertificateRevocationListInput) (req *request.Request, output *ImportClientVpnClientCertificateRevocationListOutput) {
34160	op := &request.Operation{
34161		Name:       opImportClientVpnClientCertificateRevocationList,
34162		HTTPMethod: "POST",
34163		HTTPPath:   "/",
34164	}
34165
34166	if input == nil {
34167		input = &ImportClientVpnClientCertificateRevocationListInput{}
34168	}
34169
34170	output = &ImportClientVpnClientCertificateRevocationListOutput{}
34171	req = c.newRequest(op, input, output)
34172	return
34173}
34174
34175// ImportClientVpnClientCertificateRevocationList API operation for Amazon Elastic Compute Cloud.
34176//
34177// Uploads a client certificate revocation list to the specified Client VPN
34178// endpoint. Uploading a client certificate revocation list overwrites the existing
34179// client certificate revocation list.
34180//
34181// Uploading a client certificate revocation list resets existing client connections.
34182//
34183// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34184// with awserr.Error's Code and Message methods to get detailed information about
34185// the error.
34186//
34187// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34188// API operation ImportClientVpnClientCertificateRevocationList for usage and error information.
34189// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportClientVpnClientCertificateRevocationList
34190func (c *EC2) ImportClientVpnClientCertificateRevocationList(input *ImportClientVpnClientCertificateRevocationListInput) (*ImportClientVpnClientCertificateRevocationListOutput, error) {
34191	req, out := c.ImportClientVpnClientCertificateRevocationListRequest(input)
34192	return out, req.Send()
34193}
34194
34195// ImportClientVpnClientCertificateRevocationListWithContext is the same as ImportClientVpnClientCertificateRevocationList with the addition of
34196// the ability to pass a context and additional request options.
34197//
34198// See ImportClientVpnClientCertificateRevocationList for details on how to use this API operation.
34199//
34200// The context must be non-nil and will be used for request cancellation. If
34201// the context is nil a panic will occur. In the future the SDK may create
34202// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34203// for more information on using Contexts.
34204func (c *EC2) ImportClientVpnClientCertificateRevocationListWithContext(ctx aws.Context, input *ImportClientVpnClientCertificateRevocationListInput, opts ...request.Option) (*ImportClientVpnClientCertificateRevocationListOutput, error) {
34205	req, out := c.ImportClientVpnClientCertificateRevocationListRequest(input)
34206	req.SetContext(ctx)
34207	req.ApplyOptions(opts...)
34208	return out, req.Send()
34209}
34210
34211const opImportImage = "ImportImage"
34212
34213// ImportImageRequest generates a "aws/request.Request" representing the
34214// client's request for the ImportImage operation. The "output" return
34215// value will be populated with the request's response once the request completes
34216// successfully.
34217//
34218// Use "Send" method on the returned Request to send the API call to the service.
34219// the "output" return value is not valid until after Send returns without error.
34220//
34221// See ImportImage for more information on using the ImportImage
34222// API call, and error handling.
34223//
34224// This method is useful when you want to inject custom logic or configuration
34225// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34226//
34227//
34228//    // Example sending a request using the ImportImageRequest method.
34229//    req, resp := client.ImportImageRequest(params)
34230//
34231//    err := req.Send()
34232//    if err == nil { // resp is now filled
34233//        fmt.Println(resp)
34234//    }
34235//
34236// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
34237func (c *EC2) ImportImageRequest(input *ImportImageInput) (req *request.Request, output *ImportImageOutput) {
34238	op := &request.Operation{
34239		Name:       opImportImage,
34240		HTTPMethod: "POST",
34241		HTTPPath:   "/",
34242	}
34243
34244	if input == nil {
34245		input = &ImportImageInput{}
34246	}
34247
34248	output = &ImportImageOutput{}
34249	req = c.newRequest(op, input, output)
34250	return
34251}
34252
34253// ImportImage API operation for Amazon Elastic Compute Cloud.
34254//
34255// Import single or multi-volume disk images or EBS snapshots into an Amazon
34256// Machine Image (AMI).
34257//
34258// For more information, see Importing a VM as an image using VM Import/Export
34259// (https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html)
34260// in the VM Import/Export User Guide.
34261//
34262// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34263// with awserr.Error's Code and Message methods to get detailed information about
34264// the error.
34265//
34266// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34267// API operation ImportImage for usage and error information.
34268// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
34269func (c *EC2) ImportImage(input *ImportImageInput) (*ImportImageOutput, error) {
34270	req, out := c.ImportImageRequest(input)
34271	return out, req.Send()
34272}
34273
34274// ImportImageWithContext is the same as ImportImage with the addition of
34275// the ability to pass a context and additional request options.
34276//
34277// See ImportImage for details on how to use this API operation.
34278//
34279// The context must be non-nil and will be used for request cancellation. If
34280// the context is nil a panic will occur. In the future the SDK may create
34281// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34282// for more information on using Contexts.
34283func (c *EC2) ImportImageWithContext(ctx aws.Context, input *ImportImageInput, opts ...request.Option) (*ImportImageOutput, error) {
34284	req, out := c.ImportImageRequest(input)
34285	req.SetContext(ctx)
34286	req.ApplyOptions(opts...)
34287	return out, req.Send()
34288}
34289
34290const opImportInstance = "ImportInstance"
34291
34292// ImportInstanceRequest generates a "aws/request.Request" representing the
34293// client's request for the ImportInstance operation. The "output" return
34294// value will be populated with the request's response once the request completes
34295// successfully.
34296//
34297// Use "Send" method on the returned Request to send the API call to the service.
34298// the "output" return value is not valid until after Send returns without error.
34299//
34300// See ImportInstance for more information on using the ImportInstance
34301// API call, and error handling.
34302//
34303// This method is useful when you want to inject custom logic or configuration
34304// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34305//
34306//
34307//    // Example sending a request using the ImportInstanceRequest method.
34308//    req, resp := client.ImportInstanceRequest(params)
34309//
34310//    err := req.Send()
34311//    if err == nil { // resp is now filled
34312//        fmt.Println(resp)
34313//    }
34314//
34315// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
34316func (c *EC2) ImportInstanceRequest(input *ImportInstanceInput) (req *request.Request, output *ImportInstanceOutput) {
34317	op := &request.Operation{
34318		Name:       opImportInstance,
34319		HTTPMethod: "POST",
34320		HTTPPath:   "/",
34321	}
34322
34323	if input == nil {
34324		input = &ImportInstanceInput{}
34325	}
34326
34327	output = &ImportInstanceOutput{}
34328	req = c.newRequest(op, input, output)
34329	return
34330}
34331
34332// ImportInstance API operation for Amazon Elastic Compute Cloud.
34333//
34334// Creates an import instance task using metadata from the specified disk image.
34335//
34336// This API action supports only single-volume VMs. To import multi-volume VMs,
34337// use ImportImage instead.
34338//
34339// This API action is not supported by the Command Line Interface (CLI). For
34340// information about using the Amazon EC2 CLI, which is deprecated, see Importing
34341// a VM to Amazon EC2 (https://awsdocs.s3.amazonaws.com/EC2/ec2-clt.pdf#UsingVirtualMachinesinAmazonEC2)
34342// in the Amazon EC2 CLI Reference PDF file.
34343//
34344// For information about the import manifest referenced by this API action,
34345// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
34346//
34347// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34348// with awserr.Error's Code and Message methods to get detailed information about
34349// the error.
34350//
34351// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34352// API operation ImportInstance for usage and error information.
34353// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
34354func (c *EC2) ImportInstance(input *ImportInstanceInput) (*ImportInstanceOutput, error) {
34355	req, out := c.ImportInstanceRequest(input)
34356	return out, req.Send()
34357}
34358
34359// ImportInstanceWithContext is the same as ImportInstance with the addition of
34360// the ability to pass a context and additional request options.
34361//
34362// See ImportInstance for details on how to use this API operation.
34363//
34364// The context must be non-nil and will be used for request cancellation. If
34365// the context is nil a panic will occur. In the future the SDK may create
34366// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34367// for more information on using Contexts.
34368func (c *EC2) ImportInstanceWithContext(ctx aws.Context, input *ImportInstanceInput, opts ...request.Option) (*ImportInstanceOutput, error) {
34369	req, out := c.ImportInstanceRequest(input)
34370	req.SetContext(ctx)
34371	req.ApplyOptions(opts...)
34372	return out, req.Send()
34373}
34374
34375const opImportKeyPair = "ImportKeyPair"
34376
34377// ImportKeyPairRequest generates a "aws/request.Request" representing the
34378// client's request for the ImportKeyPair operation. The "output" return
34379// value will be populated with the request's response once the request completes
34380// successfully.
34381//
34382// Use "Send" method on the returned Request to send the API call to the service.
34383// the "output" return value is not valid until after Send returns without error.
34384//
34385// See ImportKeyPair for more information on using the ImportKeyPair
34386// API call, and error handling.
34387//
34388// This method is useful when you want to inject custom logic or configuration
34389// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34390//
34391//
34392//    // Example sending a request using the ImportKeyPairRequest method.
34393//    req, resp := client.ImportKeyPairRequest(params)
34394//
34395//    err := req.Send()
34396//    if err == nil { // resp is now filled
34397//        fmt.Println(resp)
34398//    }
34399//
34400// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
34401func (c *EC2) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) {
34402	op := &request.Operation{
34403		Name:       opImportKeyPair,
34404		HTTPMethod: "POST",
34405		HTTPPath:   "/",
34406	}
34407
34408	if input == nil {
34409		input = &ImportKeyPairInput{}
34410	}
34411
34412	output = &ImportKeyPairOutput{}
34413	req = c.newRequest(op, input, output)
34414	return
34415}
34416
34417// ImportKeyPair API operation for Amazon Elastic Compute Cloud.
34418//
34419// Imports the public key from an RSA or ED25519 key pair that you created with
34420// a third-party tool. Compare this with CreateKeyPair, in which Amazon Web
34421// Services creates the key pair and gives the keys to you (Amazon Web Services
34422// keeps a copy of the public key). With ImportKeyPair, you create the key pair
34423// and give Amazon Web Services just the public key. The private key is never
34424// transferred between you and Amazon Web Services.
34425//
34426// For more information about key pairs, see Amazon EC2 key pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
34427// in the Amazon Elastic Compute Cloud User Guide.
34428//
34429// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34430// with awserr.Error's Code and Message methods to get detailed information about
34431// the error.
34432//
34433// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34434// API operation ImportKeyPair for usage and error information.
34435// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
34436func (c *EC2) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
34437	req, out := c.ImportKeyPairRequest(input)
34438	return out, req.Send()
34439}
34440
34441// ImportKeyPairWithContext is the same as ImportKeyPair with the addition of
34442// the ability to pass a context and additional request options.
34443//
34444// See ImportKeyPair for details on how to use this API operation.
34445//
34446// The context must be non-nil and will be used for request cancellation. If
34447// the context is nil a panic will occur. In the future the SDK may create
34448// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34449// for more information on using Contexts.
34450func (c *EC2) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) {
34451	req, out := c.ImportKeyPairRequest(input)
34452	req.SetContext(ctx)
34453	req.ApplyOptions(opts...)
34454	return out, req.Send()
34455}
34456
34457const opImportSnapshot = "ImportSnapshot"
34458
34459// ImportSnapshotRequest generates a "aws/request.Request" representing the
34460// client's request for the ImportSnapshot operation. The "output" return
34461// value will be populated with the request's response once the request completes
34462// successfully.
34463//
34464// Use "Send" method on the returned Request to send the API call to the service.
34465// the "output" return value is not valid until after Send returns without error.
34466//
34467// See ImportSnapshot for more information on using the ImportSnapshot
34468// API call, and error handling.
34469//
34470// This method is useful when you want to inject custom logic or configuration
34471// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34472//
34473//
34474//    // Example sending a request using the ImportSnapshotRequest method.
34475//    req, resp := client.ImportSnapshotRequest(params)
34476//
34477//    err := req.Send()
34478//    if err == nil { // resp is now filled
34479//        fmt.Println(resp)
34480//    }
34481//
34482// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
34483func (c *EC2) ImportSnapshotRequest(input *ImportSnapshotInput) (req *request.Request, output *ImportSnapshotOutput) {
34484	op := &request.Operation{
34485		Name:       opImportSnapshot,
34486		HTTPMethod: "POST",
34487		HTTPPath:   "/",
34488	}
34489
34490	if input == nil {
34491		input = &ImportSnapshotInput{}
34492	}
34493
34494	output = &ImportSnapshotOutput{}
34495	req = c.newRequest(op, input, output)
34496	return
34497}
34498
34499// ImportSnapshot API operation for Amazon Elastic Compute Cloud.
34500//
34501// Imports a disk into an EBS snapshot.
34502//
34503// For more information, see Importing a disk as a snapshot using VM Import/Export
34504// (https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-import-snapshot.html)
34505// in the VM Import/Export User Guide.
34506//
34507// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34508// with awserr.Error's Code and Message methods to get detailed information about
34509// the error.
34510//
34511// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34512// API operation ImportSnapshot for usage and error information.
34513// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
34514func (c *EC2) ImportSnapshot(input *ImportSnapshotInput) (*ImportSnapshotOutput, error) {
34515	req, out := c.ImportSnapshotRequest(input)
34516	return out, req.Send()
34517}
34518
34519// ImportSnapshotWithContext is the same as ImportSnapshot with the addition of
34520// the ability to pass a context and additional request options.
34521//
34522// See ImportSnapshot for details on how to use this API operation.
34523//
34524// The context must be non-nil and will be used for request cancellation. If
34525// the context is nil a panic will occur. In the future the SDK may create
34526// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34527// for more information on using Contexts.
34528func (c *EC2) ImportSnapshotWithContext(ctx aws.Context, input *ImportSnapshotInput, opts ...request.Option) (*ImportSnapshotOutput, error) {
34529	req, out := c.ImportSnapshotRequest(input)
34530	req.SetContext(ctx)
34531	req.ApplyOptions(opts...)
34532	return out, req.Send()
34533}
34534
34535const opImportVolume = "ImportVolume"
34536
34537// ImportVolumeRequest generates a "aws/request.Request" representing the
34538// client's request for the ImportVolume operation. The "output" return
34539// value will be populated with the request's response once the request completes
34540// successfully.
34541//
34542// Use "Send" method on the returned Request to send the API call to the service.
34543// the "output" return value is not valid until after Send returns without error.
34544//
34545// See ImportVolume for more information on using the ImportVolume
34546// API call, and error handling.
34547//
34548// This method is useful when you want to inject custom logic or configuration
34549// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34550//
34551//
34552//    // Example sending a request using the ImportVolumeRequest method.
34553//    req, resp := client.ImportVolumeRequest(params)
34554//
34555//    err := req.Send()
34556//    if err == nil { // resp is now filled
34557//        fmt.Println(resp)
34558//    }
34559//
34560// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
34561func (c *EC2) ImportVolumeRequest(input *ImportVolumeInput) (req *request.Request, output *ImportVolumeOutput) {
34562	op := &request.Operation{
34563		Name:       opImportVolume,
34564		HTTPMethod: "POST",
34565		HTTPPath:   "/",
34566	}
34567
34568	if input == nil {
34569		input = &ImportVolumeInput{}
34570	}
34571
34572	output = &ImportVolumeOutput{}
34573	req = c.newRequest(op, input, output)
34574	return
34575}
34576
34577// ImportVolume API operation for Amazon Elastic Compute Cloud.
34578//
34579// Creates an import volume task using metadata from the specified disk image.
34580//
34581// This API action supports only single-volume VMs. To import multi-volume VMs,
34582// use ImportImage instead. To import a disk to a snapshot, use ImportSnapshot
34583// instead.
34584//
34585// This API action is not supported by the Command Line Interface (CLI). For
34586// information about using the Amazon EC2 CLI, which is deprecated, see Importing
34587// Disks to Amazon EBS (https://awsdocs.s3.amazonaws.com/EC2/ec2-clt.pdf#importing-your-volumes-into-amazon-ebs)
34588// in the Amazon EC2 CLI Reference PDF file.
34589//
34590// For information about the import manifest referenced by this API action,
34591// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
34592//
34593// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34594// with awserr.Error's Code and Message methods to get detailed information about
34595// the error.
34596//
34597// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34598// API operation ImportVolume for usage and error information.
34599// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
34600func (c *EC2) ImportVolume(input *ImportVolumeInput) (*ImportVolumeOutput, error) {
34601	req, out := c.ImportVolumeRequest(input)
34602	return out, req.Send()
34603}
34604
34605// ImportVolumeWithContext is the same as ImportVolume with the addition of
34606// the ability to pass a context and additional request options.
34607//
34608// See ImportVolume for details on how to use this API operation.
34609//
34610// The context must be non-nil and will be used for request cancellation. If
34611// the context is nil a panic will occur. In the future the SDK may create
34612// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34613// for more information on using Contexts.
34614func (c *EC2) ImportVolumeWithContext(ctx aws.Context, input *ImportVolumeInput, opts ...request.Option) (*ImportVolumeOutput, error) {
34615	req, out := c.ImportVolumeRequest(input)
34616	req.SetContext(ctx)
34617	req.ApplyOptions(opts...)
34618	return out, req.Send()
34619}
34620
34621const opModifyAddressAttribute = "ModifyAddressAttribute"
34622
34623// ModifyAddressAttributeRequest generates a "aws/request.Request" representing the
34624// client's request for the ModifyAddressAttribute operation. The "output" return
34625// value will be populated with the request's response once the request completes
34626// successfully.
34627//
34628// Use "Send" method on the returned Request to send the API call to the service.
34629// the "output" return value is not valid until after Send returns without error.
34630//
34631// See ModifyAddressAttribute for more information on using the ModifyAddressAttribute
34632// API call, and error handling.
34633//
34634// This method is useful when you want to inject custom logic or configuration
34635// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34636//
34637//
34638//    // Example sending a request using the ModifyAddressAttributeRequest method.
34639//    req, resp := client.ModifyAddressAttributeRequest(params)
34640//
34641//    err := req.Send()
34642//    if err == nil { // resp is now filled
34643//        fmt.Println(resp)
34644//    }
34645//
34646// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyAddressAttribute
34647func (c *EC2) ModifyAddressAttributeRequest(input *ModifyAddressAttributeInput) (req *request.Request, output *ModifyAddressAttributeOutput) {
34648	op := &request.Operation{
34649		Name:       opModifyAddressAttribute,
34650		HTTPMethod: "POST",
34651		HTTPPath:   "/",
34652	}
34653
34654	if input == nil {
34655		input = &ModifyAddressAttributeInput{}
34656	}
34657
34658	output = &ModifyAddressAttributeOutput{}
34659	req = c.newRequest(op, input, output)
34660	return
34661}
34662
34663// ModifyAddressAttribute API operation for Amazon Elastic Compute Cloud.
34664//
34665// Modifies an attribute of the specified Elastic IP address. For requirements,
34666// 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).
34667//
34668// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34669// with awserr.Error's Code and Message methods to get detailed information about
34670// the error.
34671//
34672// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34673// API operation ModifyAddressAttribute for usage and error information.
34674// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyAddressAttribute
34675func (c *EC2) ModifyAddressAttribute(input *ModifyAddressAttributeInput) (*ModifyAddressAttributeOutput, error) {
34676	req, out := c.ModifyAddressAttributeRequest(input)
34677	return out, req.Send()
34678}
34679
34680// ModifyAddressAttributeWithContext is the same as ModifyAddressAttribute with the addition of
34681// the ability to pass a context and additional request options.
34682//
34683// See ModifyAddressAttribute for details on how to use this API operation.
34684//
34685// The context must be non-nil and will be used for request cancellation. If
34686// the context is nil a panic will occur. In the future the SDK may create
34687// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34688// for more information on using Contexts.
34689func (c *EC2) ModifyAddressAttributeWithContext(ctx aws.Context, input *ModifyAddressAttributeInput, opts ...request.Option) (*ModifyAddressAttributeOutput, error) {
34690	req, out := c.ModifyAddressAttributeRequest(input)
34691	req.SetContext(ctx)
34692	req.ApplyOptions(opts...)
34693	return out, req.Send()
34694}
34695
34696const opModifyAvailabilityZoneGroup = "ModifyAvailabilityZoneGroup"
34697
34698// ModifyAvailabilityZoneGroupRequest generates a "aws/request.Request" representing the
34699// client's request for the ModifyAvailabilityZoneGroup operation. The "output" return
34700// value will be populated with the request's response once the request completes
34701// successfully.
34702//
34703// Use "Send" method on the returned Request to send the API call to the service.
34704// the "output" return value is not valid until after Send returns without error.
34705//
34706// See ModifyAvailabilityZoneGroup for more information on using the ModifyAvailabilityZoneGroup
34707// API call, and error handling.
34708//
34709// This method is useful when you want to inject custom logic or configuration
34710// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34711//
34712//
34713//    // Example sending a request using the ModifyAvailabilityZoneGroupRequest method.
34714//    req, resp := client.ModifyAvailabilityZoneGroupRequest(params)
34715//
34716//    err := req.Send()
34717//    if err == nil { // resp is now filled
34718//        fmt.Println(resp)
34719//    }
34720//
34721// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyAvailabilityZoneGroup
34722func (c *EC2) ModifyAvailabilityZoneGroupRequest(input *ModifyAvailabilityZoneGroupInput) (req *request.Request, output *ModifyAvailabilityZoneGroupOutput) {
34723	op := &request.Operation{
34724		Name:       opModifyAvailabilityZoneGroup,
34725		HTTPMethod: "POST",
34726		HTTPPath:   "/",
34727	}
34728
34729	if input == nil {
34730		input = &ModifyAvailabilityZoneGroupInput{}
34731	}
34732
34733	output = &ModifyAvailabilityZoneGroupOutput{}
34734	req = c.newRequest(op, input, output)
34735	return
34736}
34737
34738// ModifyAvailabilityZoneGroup API operation for Amazon Elastic Compute Cloud.
34739//
34740// Changes the opt-in status of the Local Zone and Wavelength Zone group for
34741// your account.
34742//
34743// Use DescribeAvailabilityZones (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html)
34744// to view the value for GroupName.
34745//
34746// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34747// with awserr.Error's Code and Message methods to get detailed information about
34748// the error.
34749//
34750// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34751// API operation ModifyAvailabilityZoneGroup for usage and error information.
34752// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyAvailabilityZoneGroup
34753func (c *EC2) ModifyAvailabilityZoneGroup(input *ModifyAvailabilityZoneGroupInput) (*ModifyAvailabilityZoneGroupOutput, error) {
34754	req, out := c.ModifyAvailabilityZoneGroupRequest(input)
34755	return out, req.Send()
34756}
34757
34758// ModifyAvailabilityZoneGroupWithContext is the same as ModifyAvailabilityZoneGroup with the addition of
34759// the ability to pass a context and additional request options.
34760//
34761// See ModifyAvailabilityZoneGroup for details on how to use this API operation.
34762//
34763// The context must be non-nil and will be used for request cancellation. If
34764// the context is nil a panic will occur. In the future the SDK may create
34765// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34766// for more information on using Contexts.
34767func (c *EC2) ModifyAvailabilityZoneGroupWithContext(ctx aws.Context, input *ModifyAvailabilityZoneGroupInput, opts ...request.Option) (*ModifyAvailabilityZoneGroupOutput, error) {
34768	req, out := c.ModifyAvailabilityZoneGroupRequest(input)
34769	req.SetContext(ctx)
34770	req.ApplyOptions(opts...)
34771	return out, req.Send()
34772}
34773
34774const opModifyCapacityReservation = "ModifyCapacityReservation"
34775
34776// ModifyCapacityReservationRequest generates a "aws/request.Request" representing the
34777// client's request for the ModifyCapacityReservation operation. The "output" return
34778// value will be populated with the request's response once the request completes
34779// successfully.
34780//
34781// Use "Send" method on the returned Request to send the API call to the service.
34782// the "output" return value is not valid until after Send returns without error.
34783//
34784// See ModifyCapacityReservation for more information on using the ModifyCapacityReservation
34785// API call, and error handling.
34786//
34787// This method is useful when you want to inject custom logic or configuration
34788// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34789//
34790//
34791//    // Example sending a request using the ModifyCapacityReservationRequest method.
34792//    req, resp := client.ModifyCapacityReservationRequest(params)
34793//
34794//    err := req.Send()
34795//    if err == nil { // resp is now filled
34796//        fmt.Println(resp)
34797//    }
34798//
34799// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyCapacityReservation
34800func (c *EC2) ModifyCapacityReservationRequest(input *ModifyCapacityReservationInput) (req *request.Request, output *ModifyCapacityReservationOutput) {
34801	op := &request.Operation{
34802		Name:       opModifyCapacityReservation,
34803		HTTPMethod: "POST",
34804		HTTPPath:   "/",
34805	}
34806
34807	if input == nil {
34808		input = &ModifyCapacityReservationInput{}
34809	}
34810
34811	output = &ModifyCapacityReservationOutput{}
34812	req = c.newRequest(op, input, output)
34813	return
34814}
34815
34816// ModifyCapacityReservation API operation for Amazon Elastic Compute Cloud.
34817//
34818// Modifies a Capacity Reservation's capacity and the conditions under which
34819// it is to be released. You cannot change a Capacity Reservation's instance
34820// type, EBS optimization, instance store settings, platform, Availability Zone,
34821// or instance eligibility. If you need to modify any of these attributes, we
34822// recommend that you cancel the Capacity Reservation, and then create a new
34823// one with the required attributes.
34824//
34825// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34826// with awserr.Error's Code and Message methods to get detailed information about
34827// the error.
34828//
34829// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34830// API operation ModifyCapacityReservation for usage and error information.
34831// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyCapacityReservation
34832func (c *EC2) ModifyCapacityReservation(input *ModifyCapacityReservationInput) (*ModifyCapacityReservationOutput, error) {
34833	req, out := c.ModifyCapacityReservationRequest(input)
34834	return out, req.Send()
34835}
34836
34837// ModifyCapacityReservationWithContext is the same as ModifyCapacityReservation with the addition of
34838// the ability to pass a context and additional request options.
34839//
34840// See ModifyCapacityReservation for details on how to use this API operation.
34841//
34842// The context must be non-nil and will be used for request cancellation. If
34843// the context is nil a panic will occur. In the future the SDK may create
34844// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34845// for more information on using Contexts.
34846func (c *EC2) ModifyCapacityReservationWithContext(ctx aws.Context, input *ModifyCapacityReservationInput, opts ...request.Option) (*ModifyCapacityReservationOutput, error) {
34847	req, out := c.ModifyCapacityReservationRequest(input)
34848	req.SetContext(ctx)
34849	req.ApplyOptions(opts...)
34850	return out, req.Send()
34851}
34852
34853const opModifyClientVpnEndpoint = "ModifyClientVpnEndpoint"
34854
34855// ModifyClientVpnEndpointRequest generates a "aws/request.Request" representing the
34856// client's request for the ModifyClientVpnEndpoint operation. The "output" return
34857// value will be populated with the request's response once the request completes
34858// successfully.
34859//
34860// Use "Send" method on the returned Request to send the API call to the service.
34861// the "output" return value is not valid until after Send returns without error.
34862//
34863// See ModifyClientVpnEndpoint for more information on using the ModifyClientVpnEndpoint
34864// API call, and error handling.
34865//
34866// This method is useful when you want to inject custom logic or configuration
34867// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34868//
34869//
34870//    // Example sending a request using the ModifyClientVpnEndpointRequest method.
34871//    req, resp := client.ModifyClientVpnEndpointRequest(params)
34872//
34873//    err := req.Send()
34874//    if err == nil { // resp is now filled
34875//        fmt.Println(resp)
34876//    }
34877//
34878// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyClientVpnEndpoint
34879func (c *EC2) ModifyClientVpnEndpointRequest(input *ModifyClientVpnEndpointInput) (req *request.Request, output *ModifyClientVpnEndpointOutput) {
34880	op := &request.Operation{
34881		Name:       opModifyClientVpnEndpoint,
34882		HTTPMethod: "POST",
34883		HTTPPath:   "/",
34884	}
34885
34886	if input == nil {
34887		input = &ModifyClientVpnEndpointInput{}
34888	}
34889
34890	output = &ModifyClientVpnEndpointOutput{}
34891	req = c.newRequest(op, input, output)
34892	return
34893}
34894
34895// ModifyClientVpnEndpoint API operation for Amazon Elastic Compute Cloud.
34896//
34897// Modifies the specified Client VPN endpoint. Modifying the DNS server resets
34898// existing client connections.
34899//
34900// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34901// with awserr.Error's Code and Message methods to get detailed information about
34902// the error.
34903//
34904// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34905// API operation ModifyClientVpnEndpoint for usage and error information.
34906// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyClientVpnEndpoint
34907func (c *EC2) ModifyClientVpnEndpoint(input *ModifyClientVpnEndpointInput) (*ModifyClientVpnEndpointOutput, error) {
34908	req, out := c.ModifyClientVpnEndpointRequest(input)
34909	return out, req.Send()
34910}
34911
34912// ModifyClientVpnEndpointWithContext is the same as ModifyClientVpnEndpoint with the addition of
34913// the ability to pass a context and additional request options.
34914//
34915// See ModifyClientVpnEndpoint for details on how to use this API operation.
34916//
34917// The context must be non-nil and will be used for request cancellation. If
34918// the context is nil a panic will occur. In the future the SDK may create
34919// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34920// for more information on using Contexts.
34921func (c *EC2) ModifyClientVpnEndpointWithContext(ctx aws.Context, input *ModifyClientVpnEndpointInput, opts ...request.Option) (*ModifyClientVpnEndpointOutput, error) {
34922	req, out := c.ModifyClientVpnEndpointRequest(input)
34923	req.SetContext(ctx)
34924	req.ApplyOptions(opts...)
34925	return out, req.Send()
34926}
34927
34928const opModifyDefaultCreditSpecification = "ModifyDefaultCreditSpecification"
34929
34930// ModifyDefaultCreditSpecificationRequest generates a "aws/request.Request" representing the
34931// client's request for the ModifyDefaultCreditSpecification operation. The "output" return
34932// value will be populated with the request's response once the request completes
34933// successfully.
34934//
34935// Use "Send" method on the returned Request to send the API call to the service.
34936// the "output" return value is not valid until after Send returns without error.
34937//
34938// See ModifyDefaultCreditSpecification for more information on using the ModifyDefaultCreditSpecification
34939// API call, and error handling.
34940//
34941// This method is useful when you want to inject custom logic or configuration
34942// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34943//
34944//
34945//    // Example sending a request using the ModifyDefaultCreditSpecificationRequest method.
34946//    req, resp := client.ModifyDefaultCreditSpecificationRequest(params)
34947//
34948//    err := req.Send()
34949//    if err == nil { // resp is now filled
34950//        fmt.Println(resp)
34951//    }
34952//
34953// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyDefaultCreditSpecification
34954func (c *EC2) ModifyDefaultCreditSpecificationRequest(input *ModifyDefaultCreditSpecificationInput) (req *request.Request, output *ModifyDefaultCreditSpecificationOutput) {
34955	op := &request.Operation{
34956		Name:       opModifyDefaultCreditSpecification,
34957		HTTPMethod: "POST",
34958		HTTPPath:   "/",
34959	}
34960
34961	if input == nil {
34962		input = &ModifyDefaultCreditSpecificationInput{}
34963	}
34964
34965	output = &ModifyDefaultCreditSpecificationOutput{}
34966	req = c.newRequest(op, input, output)
34967	return
34968}
34969
34970// ModifyDefaultCreditSpecification API operation for Amazon Elastic Compute Cloud.
34971//
34972// Modifies the default credit option for CPU usage of burstable performance
34973// instances. The default credit option is set at the account level per Amazon
34974// Web Services Region, and is specified per instance family. All new burstable
34975// performance instances in the account launch using the default credit option.
34976//
34977// ModifyDefaultCreditSpecification is an asynchronous operation, which works
34978// at an Amazon Web Services Region level and modifies the credit option for
34979// each Availability Zone. All zones in a Region are updated within five minutes.
34980// But if instances are launched during this operation, they might not get the
34981// new credit option until the zone is updated. To verify whether the update
34982// has occurred, you can call GetDefaultCreditSpecification and check DefaultCreditSpecification
34983// for updates.
34984//
34985// For more information, see Burstable performance instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
34986// in the Amazon EC2 User Guide.
34987//
34988// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34989// with awserr.Error's Code and Message methods to get detailed information about
34990// the error.
34991//
34992// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34993// API operation ModifyDefaultCreditSpecification for usage and error information.
34994// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyDefaultCreditSpecification
34995func (c *EC2) ModifyDefaultCreditSpecification(input *ModifyDefaultCreditSpecificationInput) (*ModifyDefaultCreditSpecificationOutput, error) {
34996	req, out := c.ModifyDefaultCreditSpecificationRequest(input)
34997	return out, req.Send()
34998}
34999
35000// ModifyDefaultCreditSpecificationWithContext is the same as ModifyDefaultCreditSpecification with the addition of
35001// the ability to pass a context and additional request options.
35002//
35003// See ModifyDefaultCreditSpecification for details on how to use this API operation.
35004//
35005// The context must be non-nil and will be used for request cancellation. If
35006// the context is nil a panic will occur. In the future the SDK may create
35007// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35008// for more information on using Contexts.
35009func (c *EC2) ModifyDefaultCreditSpecificationWithContext(ctx aws.Context, input *ModifyDefaultCreditSpecificationInput, opts ...request.Option) (*ModifyDefaultCreditSpecificationOutput, error) {
35010	req, out := c.ModifyDefaultCreditSpecificationRequest(input)
35011	req.SetContext(ctx)
35012	req.ApplyOptions(opts...)
35013	return out, req.Send()
35014}
35015
35016const opModifyEbsDefaultKmsKeyId = "ModifyEbsDefaultKmsKeyId"
35017
35018// ModifyEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the
35019// client's request for the ModifyEbsDefaultKmsKeyId operation. The "output" return
35020// value will be populated with the request's response once the request completes
35021// successfully.
35022//
35023// Use "Send" method on the returned Request to send the API call to the service.
35024// the "output" return value is not valid until after Send returns without error.
35025//
35026// See ModifyEbsDefaultKmsKeyId for more information on using the ModifyEbsDefaultKmsKeyId
35027// API call, and error handling.
35028//
35029// This method is useful when you want to inject custom logic or configuration
35030// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35031//
35032//
35033//    // Example sending a request using the ModifyEbsDefaultKmsKeyIdRequest method.
35034//    req, resp := client.ModifyEbsDefaultKmsKeyIdRequest(params)
35035//
35036//    err := req.Send()
35037//    if err == nil { // resp is now filled
35038//        fmt.Println(resp)
35039//    }
35040//
35041// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyEbsDefaultKmsKeyId
35042func (c *EC2) ModifyEbsDefaultKmsKeyIdRequest(input *ModifyEbsDefaultKmsKeyIdInput) (req *request.Request, output *ModifyEbsDefaultKmsKeyIdOutput) {
35043	op := &request.Operation{
35044		Name:       opModifyEbsDefaultKmsKeyId,
35045		HTTPMethod: "POST",
35046		HTTPPath:   "/",
35047	}
35048
35049	if input == nil {
35050		input = &ModifyEbsDefaultKmsKeyIdInput{}
35051	}
35052
35053	output = &ModifyEbsDefaultKmsKeyIdOutput{}
35054	req = c.newRequest(op, input, output)
35055	return
35056}
35057
35058// ModifyEbsDefaultKmsKeyId API operation for Amazon Elastic Compute Cloud.
35059//
35060// Changes the default KMS key for EBS encryption by default for your account
35061// in this Region.
35062//
35063// Amazon Web Services creates a unique Amazon Web Services managed KMS key
35064// in each Region for use with encryption by default. If you change the default
35065// KMS key to a symmetric customer managed KMS key, it is used instead of the
35066// Amazon Web Services managed KMS key. To reset the default KMS key to the
35067// Amazon Web Services managed KMS key for EBS, use ResetEbsDefaultKmsKeyId.
35068// Amazon EBS does not support asymmetric KMS keys.
35069//
35070// If you delete or disable the customer managed KMS key that you specified
35071// for use with encryption by default, your instances will fail to launch.
35072//
35073// For more information, see Amazon EBS encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
35074// in the Amazon Elastic Compute Cloud User Guide.
35075//
35076// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35077// with awserr.Error's Code and Message methods to get detailed information about
35078// the error.
35079//
35080// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35081// API operation ModifyEbsDefaultKmsKeyId for usage and error information.
35082// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyEbsDefaultKmsKeyId
35083func (c *EC2) ModifyEbsDefaultKmsKeyId(input *ModifyEbsDefaultKmsKeyIdInput) (*ModifyEbsDefaultKmsKeyIdOutput, error) {
35084	req, out := c.ModifyEbsDefaultKmsKeyIdRequest(input)
35085	return out, req.Send()
35086}
35087
35088// ModifyEbsDefaultKmsKeyIdWithContext is the same as ModifyEbsDefaultKmsKeyId with the addition of
35089// the ability to pass a context and additional request options.
35090//
35091// See ModifyEbsDefaultKmsKeyId for details on how to use this API operation.
35092//
35093// The context must be non-nil and will be used for request cancellation. If
35094// the context is nil a panic will occur. In the future the SDK may create
35095// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35096// for more information on using Contexts.
35097func (c *EC2) ModifyEbsDefaultKmsKeyIdWithContext(ctx aws.Context, input *ModifyEbsDefaultKmsKeyIdInput, opts ...request.Option) (*ModifyEbsDefaultKmsKeyIdOutput, error) {
35098	req, out := c.ModifyEbsDefaultKmsKeyIdRequest(input)
35099	req.SetContext(ctx)
35100	req.ApplyOptions(opts...)
35101	return out, req.Send()
35102}
35103
35104const opModifyFleet = "ModifyFleet"
35105
35106// ModifyFleetRequest generates a "aws/request.Request" representing the
35107// client's request for the ModifyFleet operation. The "output" return
35108// value will be populated with the request's response once the request completes
35109// successfully.
35110//
35111// Use "Send" method on the returned Request to send the API call to the service.
35112// the "output" return value is not valid until after Send returns without error.
35113//
35114// See ModifyFleet for more information on using the ModifyFleet
35115// API call, and error handling.
35116//
35117// This method is useful when you want to inject custom logic or configuration
35118// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35119//
35120//
35121//    // Example sending a request using the ModifyFleetRequest method.
35122//    req, resp := client.ModifyFleetRequest(params)
35123//
35124//    err := req.Send()
35125//    if err == nil { // resp is now filled
35126//        fmt.Println(resp)
35127//    }
35128//
35129// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFleet
35130func (c *EC2) ModifyFleetRequest(input *ModifyFleetInput) (req *request.Request, output *ModifyFleetOutput) {
35131	op := &request.Operation{
35132		Name:       opModifyFleet,
35133		HTTPMethod: "POST",
35134		HTTPPath:   "/",
35135	}
35136
35137	if input == nil {
35138		input = &ModifyFleetInput{}
35139	}
35140
35141	output = &ModifyFleetOutput{}
35142	req = c.newRequest(op, input, output)
35143	return
35144}
35145
35146// ModifyFleet API operation for Amazon Elastic Compute Cloud.
35147//
35148// Modifies the specified EC2 Fleet.
35149//
35150// You can only modify an EC2 Fleet request of type maintain.
35151//
35152// While the EC2 Fleet is being modified, it is in the modifying state.
35153//
35154// To scale up your EC2 Fleet, increase its target capacity. The EC2 Fleet launches
35155// the additional Spot Instances according to the allocation strategy for the
35156// EC2 Fleet request. If the allocation strategy is lowest-price, the EC2 Fleet
35157// launches instances using the Spot Instance pool with the lowest price. If
35158// the allocation strategy is diversified, the EC2 Fleet distributes the instances
35159// across the Spot Instance pools. If the allocation strategy is capacity-optimized,
35160// EC2 Fleet launches instances from Spot Instance pools with optimal capacity
35161// for the number of instances that are launching.
35162//
35163// To scale down your EC2 Fleet, decrease its target capacity. First, the EC2
35164// Fleet cancels any open requests that exceed the new target capacity. You
35165// can request that the EC2 Fleet terminate Spot Instances until the size of
35166// the fleet no longer exceeds the new target capacity. If the allocation strategy
35167// is lowest-price, the EC2 Fleet terminates the instances with the highest
35168// price per unit. If the allocation strategy is capacity-optimized, the EC2
35169// Fleet terminates the instances in the Spot Instance pools that have the least
35170// available Spot Instance capacity. If the allocation strategy is diversified,
35171// the EC2 Fleet terminates instances across the Spot Instance pools. Alternatively,
35172// you can request that the EC2 Fleet keep the fleet at its current size, but
35173// not replace any Spot Instances that are interrupted or that you terminate
35174// manually.
35175//
35176// If you are finished with your EC2 Fleet for now, but will use it again later,
35177// you can set the target capacity to 0.
35178//
35179// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35180// with awserr.Error's Code and Message methods to get detailed information about
35181// the error.
35182//
35183// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35184// API operation ModifyFleet for usage and error information.
35185// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFleet
35186func (c *EC2) ModifyFleet(input *ModifyFleetInput) (*ModifyFleetOutput, error) {
35187	req, out := c.ModifyFleetRequest(input)
35188	return out, req.Send()
35189}
35190
35191// ModifyFleetWithContext is the same as ModifyFleet with the addition of
35192// the ability to pass a context and additional request options.
35193//
35194// See ModifyFleet for details on how to use this API operation.
35195//
35196// The context must be non-nil and will be used for request cancellation. If
35197// the context is nil a panic will occur. In the future the SDK may create
35198// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35199// for more information on using Contexts.
35200func (c *EC2) ModifyFleetWithContext(ctx aws.Context, input *ModifyFleetInput, opts ...request.Option) (*ModifyFleetOutput, error) {
35201	req, out := c.ModifyFleetRequest(input)
35202	req.SetContext(ctx)
35203	req.ApplyOptions(opts...)
35204	return out, req.Send()
35205}
35206
35207const opModifyFpgaImageAttribute = "ModifyFpgaImageAttribute"
35208
35209// ModifyFpgaImageAttributeRequest generates a "aws/request.Request" representing the
35210// client's request for the ModifyFpgaImageAttribute operation. The "output" return
35211// value will be populated with the request's response once the request completes
35212// successfully.
35213//
35214// Use "Send" method on the returned Request to send the API call to the service.
35215// the "output" return value is not valid until after Send returns without error.
35216//
35217// See ModifyFpgaImageAttribute for more information on using the ModifyFpgaImageAttribute
35218// API call, and error handling.
35219//
35220// This method is useful when you want to inject custom logic or configuration
35221// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35222//
35223//
35224//    // Example sending a request using the ModifyFpgaImageAttributeRequest method.
35225//    req, resp := client.ModifyFpgaImageAttributeRequest(params)
35226//
35227//    err := req.Send()
35228//    if err == nil { // resp is now filled
35229//        fmt.Println(resp)
35230//    }
35231//
35232// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute
35233func (c *EC2) ModifyFpgaImageAttributeRequest(input *ModifyFpgaImageAttributeInput) (req *request.Request, output *ModifyFpgaImageAttributeOutput) {
35234	op := &request.Operation{
35235		Name:       opModifyFpgaImageAttribute,
35236		HTTPMethod: "POST",
35237		HTTPPath:   "/",
35238	}
35239
35240	if input == nil {
35241		input = &ModifyFpgaImageAttributeInput{}
35242	}
35243
35244	output = &ModifyFpgaImageAttributeOutput{}
35245	req = c.newRequest(op, input, output)
35246	return
35247}
35248
35249// ModifyFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
35250//
35251// Modifies the specified attribute of the specified Amazon FPGA Image (AFI).
35252//
35253// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35254// with awserr.Error's Code and Message methods to get detailed information about
35255// the error.
35256//
35257// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35258// API operation ModifyFpgaImageAttribute for usage and error information.
35259// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute
35260func (c *EC2) ModifyFpgaImageAttribute(input *ModifyFpgaImageAttributeInput) (*ModifyFpgaImageAttributeOutput, error) {
35261	req, out := c.ModifyFpgaImageAttributeRequest(input)
35262	return out, req.Send()
35263}
35264
35265// ModifyFpgaImageAttributeWithContext is the same as ModifyFpgaImageAttribute with the addition of
35266// the ability to pass a context and additional request options.
35267//
35268// See ModifyFpgaImageAttribute for details on how to use this API operation.
35269//
35270// The context must be non-nil and will be used for request cancellation. If
35271// the context is nil a panic will occur. In the future the SDK may create
35272// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35273// for more information on using Contexts.
35274func (c *EC2) ModifyFpgaImageAttributeWithContext(ctx aws.Context, input *ModifyFpgaImageAttributeInput, opts ...request.Option) (*ModifyFpgaImageAttributeOutput, error) {
35275	req, out := c.ModifyFpgaImageAttributeRequest(input)
35276	req.SetContext(ctx)
35277	req.ApplyOptions(opts...)
35278	return out, req.Send()
35279}
35280
35281const opModifyHosts = "ModifyHosts"
35282
35283// ModifyHostsRequest generates a "aws/request.Request" representing the
35284// client's request for the ModifyHosts operation. The "output" return
35285// value will be populated with the request's response once the request completes
35286// successfully.
35287//
35288// Use "Send" method on the returned Request to send the API call to the service.
35289// the "output" return value is not valid until after Send returns without error.
35290//
35291// See ModifyHosts for more information on using the ModifyHosts
35292// API call, and error handling.
35293//
35294// This method is useful when you want to inject custom logic or configuration
35295// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35296//
35297//
35298//    // Example sending a request using the ModifyHostsRequest method.
35299//    req, resp := client.ModifyHostsRequest(params)
35300//
35301//    err := req.Send()
35302//    if err == nil { // resp is now filled
35303//        fmt.Println(resp)
35304//    }
35305//
35306// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
35307func (c *EC2) ModifyHostsRequest(input *ModifyHostsInput) (req *request.Request, output *ModifyHostsOutput) {
35308	op := &request.Operation{
35309		Name:       opModifyHosts,
35310		HTTPMethod: "POST",
35311		HTTPPath:   "/",
35312	}
35313
35314	if input == nil {
35315		input = &ModifyHostsInput{}
35316	}
35317
35318	output = &ModifyHostsOutput{}
35319	req = c.newRequest(op, input, output)
35320	return
35321}
35322
35323// ModifyHosts API operation for Amazon Elastic Compute Cloud.
35324//
35325// Modify the auto-placement setting of a Dedicated Host. When auto-placement
35326// is enabled, any instances that you launch with a tenancy of host but without
35327// a specific host ID are placed onto any available Dedicated Host in your account
35328// that has auto-placement enabled. When auto-placement is disabled, you need
35329// to provide a host ID to have the instance launch onto a specific host. If
35330// no host ID is provided, the instance is launched onto a suitable host with
35331// auto-placement enabled.
35332//
35333// You can also use this API action to modify a Dedicated Host to support either
35334// multiple instance types in an instance family, or to support a specific instance
35335// type only.
35336//
35337// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35338// with awserr.Error's Code and Message methods to get detailed information about
35339// the error.
35340//
35341// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35342// API operation ModifyHosts for usage and error information.
35343// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
35344func (c *EC2) ModifyHosts(input *ModifyHostsInput) (*ModifyHostsOutput, error) {
35345	req, out := c.ModifyHostsRequest(input)
35346	return out, req.Send()
35347}
35348
35349// ModifyHostsWithContext is the same as ModifyHosts with the addition of
35350// the ability to pass a context and additional request options.
35351//
35352// See ModifyHosts for details on how to use this API operation.
35353//
35354// The context must be non-nil and will be used for request cancellation. If
35355// the context is nil a panic will occur. In the future the SDK may create
35356// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35357// for more information on using Contexts.
35358func (c *EC2) ModifyHostsWithContext(ctx aws.Context, input *ModifyHostsInput, opts ...request.Option) (*ModifyHostsOutput, error) {
35359	req, out := c.ModifyHostsRequest(input)
35360	req.SetContext(ctx)
35361	req.ApplyOptions(opts...)
35362	return out, req.Send()
35363}
35364
35365const opModifyIdFormat = "ModifyIdFormat"
35366
35367// ModifyIdFormatRequest generates a "aws/request.Request" representing the
35368// client's request for the ModifyIdFormat operation. The "output" return
35369// value will be populated with the request's response once the request completes
35370// successfully.
35371//
35372// Use "Send" method on the returned Request to send the API call to the service.
35373// the "output" return value is not valid until after Send returns without error.
35374//
35375// See ModifyIdFormat for more information on using the ModifyIdFormat
35376// API call, and error handling.
35377//
35378// This method is useful when you want to inject custom logic or configuration
35379// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35380//
35381//
35382//    // Example sending a request using the ModifyIdFormatRequest method.
35383//    req, resp := client.ModifyIdFormatRequest(params)
35384//
35385//    err := req.Send()
35386//    if err == nil { // resp is now filled
35387//        fmt.Println(resp)
35388//    }
35389//
35390// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
35391func (c *EC2) ModifyIdFormatRequest(input *ModifyIdFormatInput) (req *request.Request, output *ModifyIdFormatOutput) {
35392	op := &request.Operation{
35393		Name:       opModifyIdFormat,
35394		HTTPMethod: "POST",
35395		HTTPPath:   "/",
35396	}
35397
35398	if input == nil {
35399		input = &ModifyIdFormatInput{}
35400	}
35401
35402	output = &ModifyIdFormatOutput{}
35403	req = c.newRequest(op, input, output)
35404	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
35405	return
35406}
35407
35408// ModifyIdFormat API operation for Amazon Elastic Compute Cloud.
35409//
35410// Modifies the ID format for the specified resource on a per-Region basis.
35411// You can specify that resources should receive longer IDs (17-character IDs)
35412// when they are created.
35413//
35414// This request can only be used to modify longer ID settings for resource types
35415// that are within the opt-in period. Resources currently in their opt-in period
35416// include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation
35417// | elastic-ip-association | export-task | flow-log | image | import-task |
35418// internet-gateway | network-acl | network-acl-association | network-interface
35419// | network-interface-attachment | prefix-list | route-table | route-table-association
35420// | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association
35421// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
35422//
35423// This setting applies to the IAM user who makes the request; it does not apply
35424// to the entire AWS account. By default, an IAM user defaults to the same settings
35425// as the root user. If you're using this action as the root user, then these
35426// settings apply to the entire account, unless an IAM user explicitly overrides
35427// these settings for themselves. For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
35428// in the Amazon Elastic Compute Cloud User Guide.
35429//
35430// Resources created with longer IDs are visible to all IAM roles and users,
35431// regardless of these settings and provided that they have permission to use
35432// the relevant Describe command for the resource type.
35433//
35434// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35435// with awserr.Error's Code and Message methods to get detailed information about
35436// the error.
35437//
35438// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35439// API operation ModifyIdFormat for usage and error information.
35440// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
35441func (c *EC2) ModifyIdFormat(input *ModifyIdFormatInput) (*ModifyIdFormatOutput, error) {
35442	req, out := c.ModifyIdFormatRequest(input)
35443	return out, req.Send()
35444}
35445
35446// ModifyIdFormatWithContext is the same as ModifyIdFormat with the addition of
35447// the ability to pass a context and additional request options.
35448//
35449// See ModifyIdFormat for details on how to use this API operation.
35450//
35451// The context must be non-nil and will be used for request cancellation. If
35452// the context is nil a panic will occur. In the future the SDK may create
35453// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35454// for more information on using Contexts.
35455func (c *EC2) ModifyIdFormatWithContext(ctx aws.Context, input *ModifyIdFormatInput, opts ...request.Option) (*ModifyIdFormatOutput, error) {
35456	req, out := c.ModifyIdFormatRequest(input)
35457	req.SetContext(ctx)
35458	req.ApplyOptions(opts...)
35459	return out, req.Send()
35460}
35461
35462const opModifyIdentityIdFormat = "ModifyIdentityIdFormat"
35463
35464// ModifyIdentityIdFormatRequest generates a "aws/request.Request" representing the
35465// client's request for the ModifyIdentityIdFormat operation. The "output" return
35466// value will be populated with the request's response once the request completes
35467// successfully.
35468//
35469// Use "Send" method on the returned Request to send the API call to the service.
35470// the "output" return value is not valid until after Send returns without error.
35471//
35472// See ModifyIdentityIdFormat for more information on using the ModifyIdentityIdFormat
35473// API call, and error handling.
35474//
35475// This method is useful when you want to inject custom logic or configuration
35476// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35477//
35478//
35479//    // Example sending a request using the ModifyIdentityIdFormatRequest method.
35480//    req, resp := client.ModifyIdentityIdFormatRequest(params)
35481//
35482//    err := req.Send()
35483//    if err == nil { // resp is now filled
35484//        fmt.Println(resp)
35485//    }
35486//
35487// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
35488func (c *EC2) ModifyIdentityIdFormatRequest(input *ModifyIdentityIdFormatInput) (req *request.Request, output *ModifyIdentityIdFormatOutput) {
35489	op := &request.Operation{
35490		Name:       opModifyIdentityIdFormat,
35491		HTTPMethod: "POST",
35492		HTTPPath:   "/",
35493	}
35494
35495	if input == nil {
35496		input = &ModifyIdentityIdFormatInput{}
35497	}
35498
35499	output = &ModifyIdentityIdFormatOutput{}
35500	req = c.newRequest(op, input, output)
35501	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
35502	return
35503}
35504
35505// ModifyIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
35506//
35507// Modifies the ID format of a resource for a specified IAM user, IAM role,
35508// or the root user for an account; or all IAM users, IAM roles, and the root
35509// user for an account. You can specify that resources should receive longer
35510// IDs (17-character IDs) when they are created.
35511//
35512// This request can only be used to modify longer ID settings for resource types
35513// that are within the opt-in period. Resources currently in their opt-in period
35514// include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation
35515// | elastic-ip-association | export-task | flow-log | image | import-task |
35516// internet-gateway | network-acl | network-acl-association | network-interface
35517// | network-interface-attachment | prefix-list | route-table | route-table-association
35518// | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association
35519// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
35520//
35521// For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
35522// in the Amazon Elastic Compute Cloud User Guide.
35523//
35524// This setting applies to the principal specified in the request; it does not
35525// apply to the principal that makes the request.
35526//
35527// Resources created with longer IDs are visible to all IAM roles and users,
35528// regardless of these settings and provided that they have permission to use
35529// the relevant Describe command for the resource type.
35530//
35531// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35532// with awserr.Error's Code and Message methods to get detailed information about
35533// the error.
35534//
35535// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35536// API operation ModifyIdentityIdFormat for usage and error information.
35537// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
35538func (c *EC2) ModifyIdentityIdFormat(input *ModifyIdentityIdFormatInput) (*ModifyIdentityIdFormatOutput, error) {
35539	req, out := c.ModifyIdentityIdFormatRequest(input)
35540	return out, req.Send()
35541}
35542
35543// ModifyIdentityIdFormatWithContext is the same as ModifyIdentityIdFormat with the addition of
35544// the ability to pass a context and additional request options.
35545//
35546// See ModifyIdentityIdFormat for details on how to use this API operation.
35547//
35548// The context must be non-nil and will be used for request cancellation. If
35549// the context is nil a panic will occur. In the future the SDK may create
35550// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35551// for more information on using Contexts.
35552func (c *EC2) ModifyIdentityIdFormatWithContext(ctx aws.Context, input *ModifyIdentityIdFormatInput, opts ...request.Option) (*ModifyIdentityIdFormatOutput, error) {
35553	req, out := c.ModifyIdentityIdFormatRequest(input)
35554	req.SetContext(ctx)
35555	req.ApplyOptions(opts...)
35556	return out, req.Send()
35557}
35558
35559const opModifyImageAttribute = "ModifyImageAttribute"
35560
35561// ModifyImageAttributeRequest generates a "aws/request.Request" representing the
35562// client's request for the ModifyImageAttribute operation. The "output" return
35563// value will be populated with the request's response once the request completes
35564// successfully.
35565//
35566// Use "Send" method on the returned Request to send the API call to the service.
35567// the "output" return value is not valid until after Send returns without error.
35568//
35569// See ModifyImageAttribute for more information on using the ModifyImageAttribute
35570// API call, and error handling.
35571//
35572// This method is useful when you want to inject custom logic or configuration
35573// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35574//
35575//
35576//    // Example sending a request using the ModifyImageAttributeRequest method.
35577//    req, resp := client.ModifyImageAttributeRequest(params)
35578//
35579//    err := req.Send()
35580//    if err == nil { // resp is now filled
35581//        fmt.Println(resp)
35582//    }
35583//
35584// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
35585func (c *EC2) ModifyImageAttributeRequest(input *ModifyImageAttributeInput) (req *request.Request, output *ModifyImageAttributeOutput) {
35586	op := &request.Operation{
35587		Name:       opModifyImageAttribute,
35588		HTTPMethod: "POST",
35589		HTTPPath:   "/",
35590	}
35591
35592	if input == nil {
35593		input = &ModifyImageAttributeInput{}
35594	}
35595
35596	output = &ModifyImageAttributeOutput{}
35597	req = c.newRequest(op, input, output)
35598	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
35599	return
35600}
35601
35602// ModifyImageAttribute API operation for Amazon Elastic Compute Cloud.
35603//
35604// Modifies the specified attribute of the specified AMI. You can specify only
35605// one attribute at a time. You can use the Attribute parameter to specify the
35606// attribute or one of the following parameters: Description, LaunchPermission,
35607// or ProductCode.
35608//
35609// AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace
35610// product code cannot be made public.
35611//
35612// To enable the SriovNetSupport enhanced networking attribute of an image,
35613// enable SriovNetSupport on an instance and create an AMI from the instance.
35614//
35615// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35616// with awserr.Error's Code and Message methods to get detailed information about
35617// the error.
35618//
35619// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35620// API operation ModifyImageAttribute for usage and error information.
35621// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
35622func (c *EC2) ModifyImageAttribute(input *ModifyImageAttributeInput) (*ModifyImageAttributeOutput, error) {
35623	req, out := c.ModifyImageAttributeRequest(input)
35624	return out, req.Send()
35625}
35626
35627// ModifyImageAttributeWithContext is the same as ModifyImageAttribute with the addition of
35628// the ability to pass a context and additional request options.
35629//
35630// See ModifyImageAttribute for details on how to use this API operation.
35631//
35632// The context must be non-nil and will be used for request cancellation. If
35633// the context is nil a panic will occur. In the future the SDK may create
35634// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35635// for more information on using Contexts.
35636func (c *EC2) ModifyImageAttributeWithContext(ctx aws.Context, input *ModifyImageAttributeInput, opts ...request.Option) (*ModifyImageAttributeOutput, error) {
35637	req, out := c.ModifyImageAttributeRequest(input)
35638	req.SetContext(ctx)
35639	req.ApplyOptions(opts...)
35640	return out, req.Send()
35641}
35642
35643const opModifyInstanceAttribute = "ModifyInstanceAttribute"
35644
35645// ModifyInstanceAttributeRequest generates a "aws/request.Request" representing the
35646// client's request for the ModifyInstanceAttribute operation. The "output" return
35647// value will be populated with the request's response once the request completes
35648// successfully.
35649//
35650// Use "Send" method on the returned Request to send the API call to the service.
35651// the "output" return value is not valid until after Send returns without error.
35652//
35653// See ModifyInstanceAttribute for more information on using the ModifyInstanceAttribute
35654// API call, and error handling.
35655//
35656// This method is useful when you want to inject custom logic or configuration
35657// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35658//
35659//
35660//    // Example sending a request using the ModifyInstanceAttributeRequest method.
35661//    req, resp := client.ModifyInstanceAttributeRequest(params)
35662//
35663//    err := req.Send()
35664//    if err == nil { // resp is now filled
35665//        fmt.Println(resp)
35666//    }
35667//
35668// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
35669func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput) (req *request.Request, output *ModifyInstanceAttributeOutput) {
35670	op := &request.Operation{
35671		Name:       opModifyInstanceAttribute,
35672		HTTPMethod: "POST",
35673		HTTPPath:   "/",
35674	}
35675
35676	if input == nil {
35677		input = &ModifyInstanceAttributeInput{}
35678	}
35679
35680	output = &ModifyInstanceAttributeOutput{}
35681	req = c.newRequest(op, input, output)
35682	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
35683	return
35684}
35685
35686// ModifyInstanceAttribute API operation for Amazon Elastic Compute Cloud.
35687//
35688// Modifies the specified attribute of the specified instance. You can specify
35689// only one attribute at a time.
35690//
35691// Note: Using this action to change the security groups associated with an
35692// elastic network interface (ENI) attached to an instance in a VPC can result
35693// in an error if the instance has more than one ENI. To change the security
35694// groups associated with an ENI attached to an instance that has multiple ENIs,
35695// we recommend that you use the ModifyNetworkInterfaceAttribute action.
35696//
35697// To modify some attributes, the instance must be stopped. For more information,
35698// see Modifying attributes of a stopped instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html)
35699// in the Amazon EC2 User Guide.
35700//
35701// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35702// with awserr.Error's Code and Message methods to get detailed information about
35703// the error.
35704//
35705// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35706// API operation ModifyInstanceAttribute for usage and error information.
35707// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
35708func (c *EC2) ModifyInstanceAttribute(input *ModifyInstanceAttributeInput) (*ModifyInstanceAttributeOutput, error) {
35709	req, out := c.ModifyInstanceAttributeRequest(input)
35710	return out, req.Send()
35711}
35712
35713// ModifyInstanceAttributeWithContext is the same as ModifyInstanceAttribute with the addition of
35714// the ability to pass a context and additional request options.
35715//
35716// See ModifyInstanceAttribute for details on how to use this API operation.
35717//
35718// The context must be non-nil and will be used for request cancellation. If
35719// the context is nil a panic will occur. In the future the SDK may create
35720// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35721// for more information on using Contexts.
35722func (c *EC2) ModifyInstanceAttributeWithContext(ctx aws.Context, input *ModifyInstanceAttributeInput, opts ...request.Option) (*ModifyInstanceAttributeOutput, error) {
35723	req, out := c.ModifyInstanceAttributeRequest(input)
35724	req.SetContext(ctx)
35725	req.ApplyOptions(opts...)
35726	return out, req.Send()
35727}
35728
35729const opModifyInstanceCapacityReservationAttributes = "ModifyInstanceCapacityReservationAttributes"
35730
35731// ModifyInstanceCapacityReservationAttributesRequest generates a "aws/request.Request" representing the
35732// client's request for the ModifyInstanceCapacityReservationAttributes operation. The "output" return
35733// value will be populated with the request's response once the request completes
35734// successfully.
35735//
35736// Use "Send" method on the returned Request to send the API call to the service.
35737// the "output" return value is not valid until after Send returns without error.
35738//
35739// See ModifyInstanceCapacityReservationAttributes for more information on using the ModifyInstanceCapacityReservationAttributes
35740// API call, and error handling.
35741//
35742// This method is useful when you want to inject custom logic or configuration
35743// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35744//
35745//
35746//    // Example sending a request using the ModifyInstanceCapacityReservationAttributesRequest method.
35747//    req, resp := client.ModifyInstanceCapacityReservationAttributesRequest(params)
35748//
35749//    err := req.Send()
35750//    if err == nil { // resp is now filled
35751//        fmt.Println(resp)
35752//    }
35753//
35754// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCapacityReservationAttributes
35755func (c *EC2) ModifyInstanceCapacityReservationAttributesRequest(input *ModifyInstanceCapacityReservationAttributesInput) (req *request.Request, output *ModifyInstanceCapacityReservationAttributesOutput) {
35756	op := &request.Operation{
35757		Name:       opModifyInstanceCapacityReservationAttributes,
35758		HTTPMethod: "POST",
35759		HTTPPath:   "/",
35760	}
35761
35762	if input == nil {
35763		input = &ModifyInstanceCapacityReservationAttributesInput{}
35764	}
35765
35766	output = &ModifyInstanceCapacityReservationAttributesOutput{}
35767	req = c.newRequest(op, input, output)
35768	return
35769}
35770
35771// ModifyInstanceCapacityReservationAttributes API operation for Amazon Elastic Compute Cloud.
35772//
35773// Modifies the Capacity Reservation settings for a stopped instance. Use this
35774// action to configure an instance to target a specific Capacity Reservation,
35775// run in any open Capacity Reservation with matching attributes, or run On-Demand
35776// Instance capacity.
35777//
35778// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35779// with awserr.Error's Code and Message methods to get detailed information about
35780// the error.
35781//
35782// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35783// API operation ModifyInstanceCapacityReservationAttributes for usage and error information.
35784// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCapacityReservationAttributes
35785func (c *EC2) ModifyInstanceCapacityReservationAttributes(input *ModifyInstanceCapacityReservationAttributesInput) (*ModifyInstanceCapacityReservationAttributesOutput, error) {
35786	req, out := c.ModifyInstanceCapacityReservationAttributesRequest(input)
35787	return out, req.Send()
35788}
35789
35790// ModifyInstanceCapacityReservationAttributesWithContext is the same as ModifyInstanceCapacityReservationAttributes with the addition of
35791// the ability to pass a context and additional request options.
35792//
35793// See ModifyInstanceCapacityReservationAttributes for details on how to use this API operation.
35794//
35795// The context must be non-nil and will be used for request cancellation. If
35796// the context is nil a panic will occur. In the future the SDK may create
35797// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35798// for more information on using Contexts.
35799func (c *EC2) ModifyInstanceCapacityReservationAttributesWithContext(ctx aws.Context, input *ModifyInstanceCapacityReservationAttributesInput, opts ...request.Option) (*ModifyInstanceCapacityReservationAttributesOutput, error) {
35800	req, out := c.ModifyInstanceCapacityReservationAttributesRequest(input)
35801	req.SetContext(ctx)
35802	req.ApplyOptions(opts...)
35803	return out, req.Send()
35804}
35805
35806const opModifyInstanceCreditSpecification = "ModifyInstanceCreditSpecification"
35807
35808// ModifyInstanceCreditSpecificationRequest generates a "aws/request.Request" representing the
35809// client's request for the ModifyInstanceCreditSpecification operation. The "output" return
35810// value will be populated with the request's response once the request completes
35811// successfully.
35812//
35813// Use "Send" method on the returned Request to send the API call to the service.
35814// the "output" return value is not valid until after Send returns without error.
35815//
35816// See ModifyInstanceCreditSpecification for more information on using the ModifyInstanceCreditSpecification
35817// API call, and error handling.
35818//
35819// This method is useful when you want to inject custom logic or configuration
35820// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35821//
35822//
35823//    // Example sending a request using the ModifyInstanceCreditSpecificationRequest method.
35824//    req, resp := client.ModifyInstanceCreditSpecificationRequest(params)
35825//
35826//    err := req.Send()
35827//    if err == nil { // resp is now filled
35828//        fmt.Println(resp)
35829//    }
35830//
35831// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecification
35832func (c *EC2) ModifyInstanceCreditSpecificationRequest(input *ModifyInstanceCreditSpecificationInput) (req *request.Request, output *ModifyInstanceCreditSpecificationOutput) {
35833	op := &request.Operation{
35834		Name:       opModifyInstanceCreditSpecification,
35835		HTTPMethod: "POST",
35836		HTTPPath:   "/",
35837	}
35838
35839	if input == nil {
35840		input = &ModifyInstanceCreditSpecificationInput{}
35841	}
35842
35843	output = &ModifyInstanceCreditSpecificationOutput{}
35844	req = c.newRequest(op, input, output)
35845	return
35846}
35847
35848// ModifyInstanceCreditSpecification API operation for Amazon Elastic Compute Cloud.
35849//
35850// Modifies the credit option for CPU usage on a running or stopped burstable
35851// performance instance. The credit options are standard and unlimited.
35852//
35853// For more information, see Burstable performance instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
35854// in the Amazon EC2 User Guide.
35855//
35856// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35857// with awserr.Error's Code and Message methods to get detailed information about
35858// the error.
35859//
35860// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35861// API operation ModifyInstanceCreditSpecification for usage and error information.
35862// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecification
35863func (c *EC2) ModifyInstanceCreditSpecification(input *ModifyInstanceCreditSpecificationInput) (*ModifyInstanceCreditSpecificationOutput, error) {
35864	req, out := c.ModifyInstanceCreditSpecificationRequest(input)
35865	return out, req.Send()
35866}
35867
35868// ModifyInstanceCreditSpecificationWithContext is the same as ModifyInstanceCreditSpecification with the addition of
35869// the ability to pass a context and additional request options.
35870//
35871// See ModifyInstanceCreditSpecification for details on how to use this API operation.
35872//
35873// The context must be non-nil and will be used for request cancellation. If
35874// the context is nil a panic will occur. In the future the SDK may create
35875// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35876// for more information on using Contexts.
35877func (c *EC2) ModifyInstanceCreditSpecificationWithContext(ctx aws.Context, input *ModifyInstanceCreditSpecificationInput, opts ...request.Option) (*ModifyInstanceCreditSpecificationOutput, error) {
35878	req, out := c.ModifyInstanceCreditSpecificationRequest(input)
35879	req.SetContext(ctx)
35880	req.ApplyOptions(opts...)
35881	return out, req.Send()
35882}
35883
35884const opModifyInstanceEventStartTime = "ModifyInstanceEventStartTime"
35885
35886// ModifyInstanceEventStartTimeRequest generates a "aws/request.Request" representing the
35887// client's request for the ModifyInstanceEventStartTime operation. The "output" return
35888// value will be populated with the request's response once the request completes
35889// successfully.
35890//
35891// Use "Send" method on the returned Request to send the API call to the service.
35892// the "output" return value is not valid until after Send returns without error.
35893//
35894// See ModifyInstanceEventStartTime for more information on using the ModifyInstanceEventStartTime
35895// API call, and error handling.
35896//
35897// This method is useful when you want to inject custom logic or configuration
35898// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35899//
35900//
35901//    // Example sending a request using the ModifyInstanceEventStartTimeRequest method.
35902//    req, resp := client.ModifyInstanceEventStartTimeRequest(params)
35903//
35904//    err := req.Send()
35905//    if err == nil { // resp is now filled
35906//        fmt.Println(resp)
35907//    }
35908//
35909// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceEventStartTime
35910func (c *EC2) ModifyInstanceEventStartTimeRequest(input *ModifyInstanceEventStartTimeInput) (req *request.Request, output *ModifyInstanceEventStartTimeOutput) {
35911	op := &request.Operation{
35912		Name:       opModifyInstanceEventStartTime,
35913		HTTPMethod: "POST",
35914		HTTPPath:   "/",
35915	}
35916
35917	if input == nil {
35918		input = &ModifyInstanceEventStartTimeInput{}
35919	}
35920
35921	output = &ModifyInstanceEventStartTimeOutput{}
35922	req = c.newRequest(op, input, output)
35923	return
35924}
35925
35926// ModifyInstanceEventStartTime API operation for Amazon Elastic Compute Cloud.
35927//
35928// Modifies the start time for a scheduled Amazon EC2 instance event.
35929//
35930// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35931// with awserr.Error's Code and Message methods to get detailed information about
35932// the error.
35933//
35934// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35935// API operation ModifyInstanceEventStartTime for usage and error information.
35936// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceEventStartTime
35937func (c *EC2) ModifyInstanceEventStartTime(input *ModifyInstanceEventStartTimeInput) (*ModifyInstanceEventStartTimeOutput, error) {
35938	req, out := c.ModifyInstanceEventStartTimeRequest(input)
35939	return out, req.Send()
35940}
35941
35942// ModifyInstanceEventStartTimeWithContext is the same as ModifyInstanceEventStartTime with the addition of
35943// the ability to pass a context and additional request options.
35944//
35945// See ModifyInstanceEventStartTime for details on how to use this API operation.
35946//
35947// The context must be non-nil and will be used for request cancellation. If
35948// the context is nil a panic will occur. In the future the SDK may create
35949// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35950// for more information on using Contexts.
35951func (c *EC2) ModifyInstanceEventStartTimeWithContext(ctx aws.Context, input *ModifyInstanceEventStartTimeInput, opts ...request.Option) (*ModifyInstanceEventStartTimeOutput, error) {
35952	req, out := c.ModifyInstanceEventStartTimeRequest(input)
35953	req.SetContext(ctx)
35954	req.ApplyOptions(opts...)
35955	return out, req.Send()
35956}
35957
35958const opModifyInstanceEventWindow = "ModifyInstanceEventWindow"
35959
35960// ModifyInstanceEventWindowRequest generates a "aws/request.Request" representing the
35961// client's request for the ModifyInstanceEventWindow operation. The "output" return
35962// value will be populated with the request's response once the request completes
35963// successfully.
35964//
35965// Use "Send" method on the returned Request to send the API call to the service.
35966// the "output" return value is not valid until after Send returns without error.
35967//
35968// See ModifyInstanceEventWindow for more information on using the ModifyInstanceEventWindow
35969// API call, and error handling.
35970//
35971// This method is useful when you want to inject custom logic or configuration
35972// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35973//
35974//
35975//    // Example sending a request using the ModifyInstanceEventWindowRequest method.
35976//    req, resp := client.ModifyInstanceEventWindowRequest(params)
35977//
35978//    err := req.Send()
35979//    if err == nil { // resp is now filled
35980//        fmt.Println(resp)
35981//    }
35982//
35983// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceEventWindow
35984func (c *EC2) ModifyInstanceEventWindowRequest(input *ModifyInstanceEventWindowInput) (req *request.Request, output *ModifyInstanceEventWindowOutput) {
35985	op := &request.Operation{
35986		Name:       opModifyInstanceEventWindow,
35987		HTTPMethod: "POST",
35988		HTTPPath:   "/",
35989	}
35990
35991	if input == nil {
35992		input = &ModifyInstanceEventWindowInput{}
35993	}
35994
35995	output = &ModifyInstanceEventWindowOutput{}
35996	req = c.newRequest(op, input, output)
35997	return
35998}
35999
36000// ModifyInstanceEventWindow API operation for Amazon Elastic Compute Cloud.
36001//
36002// Modifies the specified event window.
36003//
36004// You can define either a set of time ranges or a cron expression when modifying
36005// the event window, but not both.
36006//
36007// To modify the targets associated with the event window, use the AssociateInstanceEventWindow
36008// and DisassociateInstanceEventWindow API.
36009//
36010// If Amazon Web Services has already scheduled an event, modifying an event
36011// window won't change the time of the scheduled event.
36012//
36013// For more information, see Define event windows for scheduled events (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/event-windows.html)
36014// in the Amazon EC2 User Guide.
36015//
36016// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36017// with awserr.Error's Code and Message methods to get detailed information about
36018// the error.
36019//
36020// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36021// API operation ModifyInstanceEventWindow for usage and error information.
36022// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceEventWindow
36023func (c *EC2) ModifyInstanceEventWindow(input *ModifyInstanceEventWindowInput) (*ModifyInstanceEventWindowOutput, error) {
36024	req, out := c.ModifyInstanceEventWindowRequest(input)
36025	return out, req.Send()
36026}
36027
36028// ModifyInstanceEventWindowWithContext is the same as ModifyInstanceEventWindow with the addition of
36029// the ability to pass a context and additional request options.
36030//
36031// See ModifyInstanceEventWindow for details on how to use this API operation.
36032//
36033// The context must be non-nil and will be used for request cancellation. If
36034// the context is nil a panic will occur. In the future the SDK may create
36035// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36036// for more information on using Contexts.
36037func (c *EC2) ModifyInstanceEventWindowWithContext(ctx aws.Context, input *ModifyInstanceEventWindowInput, opts ...request.Option) (*ModifyInstanceEventWindowOutput, error) {
36038	req, out := c.ModifyInstanceEventWindowRequest(input)
36039	req.SetContext(ctx)
36040	req.ApplyOptions(opts...)
36041	return out, req.Send()
36042}
36043
36044const opModifyInstanceMetadataOptions = "ModifyInstanceMetadataOptions"
36045
36046// ModifyInstanceMetadataOptionsRequest generates a "aws/request.Request" representing the
36047// client's request for the ModifyInstanceMetadataOptions operation. The "output" return
36048// value will be populated with the request's response once the request completes
36049// successfully.
36050//
36051// Use "Send" method on the returned Request to send the API call to the service.
36052// the "output" return value is not valid until after Send returns without error.
36053//
36054// See ModifyInstanceMetadataOptions for more information on using the ModifyInstanceMetadataOptions
36055// API call, and error handling.
36056//
36057// This method is useful when you want to inject custom logic or configuration
36058// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36059//
36060//
36061//    // Example sending a request using the ModifyInstanceMetadataOptionsRequest method.
36062//    req, resp := client.ModifyInstanceMetadataOptionsRequest(params)
36063//
36064//    err := req.Send()
36065//    if err == nil { // resp is now filled
36066//        fmt.Println(resp)
36067//    }
36068//
36069// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceMetadataOptions
36070func (c *EC2) ModifyInstanceMetadataOptionsRequest(input *ModifyInstanceMetadataOptionsInput) (req *request.Request, output *ModifyInstanceMetadataOptionsOutput) {
36071	op := &request.Operation{
36072		Name:       opModifyInstanceMetadataOptions,
36073		HTTPMethod: "POST",
36074		HTTPPath:   "/",
36075	}
36076
36077	if input == nil {
36078		input = &ModifyInstanceMetadataOptionsInput{}
36079	}
36080
36081	output = &ModifyInstanceMetadataOptionsOutput{}
36082	req = c.newRequest(op, input, output)
36083	return
36084}
36085
36086// ModifyInstanceMetadataOptions API operation for Amazon Elastic Compute Cloud.
36087//
36088// Modify the instance metadata parameters on a running or stopped instance.
36089// When you modify the parameters on a stopped instance, they are applied when
36090// the instance is started. When you modify the parameters on a running instance,
36091// the API responds with a state of “pending”. After the parameter modifications
36092// are successfully applied to the instance, the state of the modifications
36093// changes from “pending” to “applied” in subsequent describe-instances
36094// API calls. For more information, see Instance metadata and user data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
36095// in the Amazon EC2 User Guide.
36096//
36097// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36098// with awserr.Error's Code and Message methods to get detailed information about
36099// the error.
36100//
36101// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36102// API operation ModifyInstanceMetadataOptions for usage and error information.
36103// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceMetadataOptions
36104func (c *EC2) ModifyInstanceMetadataOptions(input *ModifyInstanceMetadataOptionsInput) (*ModifyInstanceMetadataOptionsOutput, error) {
36105	req, out := c.ModifyInstanceMetadataOptionsRequest(input)
36106	return out, req.Send()
36107}
36108
36109// ModifyInstanceMetadataOptionsWithContext is the same as ModifyInstanceMetadataOptions with the addition of
36110// the ability to pass a context and additional request options.
36111//
36112// See ModifyInstanceMetadataOptions for details on how to use this API operation.
36113//
36114// The context must be non-nil and will be used for request cancellation. If
36115// the context is nil a panic will occur. In the future the SDK may create
36116// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36117// for more information on using Contexts.
36118func (c *EC2) ModifyInstanceMetadataOptionsWithContext(ctx aws.Context, input *ModifyInstanceMetadataOptionsInput, opts ...request.Option) (*ModifyInstanceMetadataOptionsOutput, error) {
36119	req, out := c.ModifyInstanceMetadataOptionsRequest(input)
36120	req.SetContext(ctx)
36121	req.ApplyOptions(opts...)
36122	return out, req.Send()
36123}
36124
36125const opModifyInstancePlacement = "ModifyInstancePlacement"
36126
36127// ModifyInstancePlacementRequest generates a "aws/request.Request" representing the
36128// client's request for the ModifyInstancePlacement operation. The "output" return
36129// value will be populated with the request's response once the request completes
36130// successfully.
36131//
36132// Use "Send" method on the returned Request to send the API call to the service.
36133// the "output" return value is not valid until after Send returns without error.
36134//
36135// See ModifyInstancePlacement for more information on using the ModifyInstancePlacement
36136// API call, and error handling.
36137//
36138// This method is useful when you want to inject custom logic or configuration
36139// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36140//
36141//
36142//    // Example sending a request using the ModifyInstancePlacementRequest method.
36143//    req, resp := client.ModifyInstancePlacementRequest(params)
36144//
36145//    err := req.Send()
36146//    if err == nil { // resp is now filled
36147//        fmt.Println(resp)
36148//    }
36149//
36150// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
36151func (c *EC2) ModifyInstancePlacementRequest(input *ModifyInstancePlacementInput) (req *request.Request, output *ModifyInstancePlacementOutput) {
36152	op := &request.Operation{
36153		Name:       opModifyInstancePlacement,
36154		HTTPMethod: "POST",
36155		HTTPPath:   "/",
36156	}
36157
36158	if input == nil {
36159		input = &ModifyInstancePlacementInput{}
36160	}
36161
36162	output = &ModifyInstancePlacementOutput{}
36163	req = c.newRequest(op, input, output)
36164	return
36165}
36166
36167// ModifyInstancePlacement API operation for Amazon Elastic Compute Cloud.
36168//
36169// Modifies the placement attributes for a specified instance. You can do the
36170// following:
36171//
36172//    * Modify the affinity between an instance and a Dedicated Host (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html).
36173//    When affinity is set to host and the instance is not associated with a
36174//    specific Dedicated Host, the next time the instance is launched, it is
36175//    automatically associated with the host on which it lands. If the instance
36176//    is restarted or rebooted, this relationship persists.
36177//
36178//    * Change the Dedicated Host with which an instance is associated.
36179//
36180//    * Change the instance tenancy of an instance from host to dedicated, or
36181//    from dedicated to host.
36182//
36183//    * Move an instance to or from a placement group (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html).
36184//
36185// At least one attribute for affinity, host ID, tenancy, or placement group
36186// name must be specified in the request. Affinity and tenancy can be modified
36187// in the same request.
36188//
36189// To modify the host ID, tenancy, placement group, or partition for an instance,
36190// the instance must be in the stopped state.
36191//
36192// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36193// with awserr.Error's Code and Message methods to get detailed information about
36194// the error.
36195//
36196// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36197// API operation ModifyInstancePlacement for usage and error information.
36198// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
36199func (c *EC2) ModifyInstancePlacement(input *ModifyInstancePlacementInput) (*ModifyInstancePlacementOutput, error) {
36200	req, out := c.ModifyInstancePlacementRequest(input)
36201	return out, req.Send()
36202}
36203
36204// ModifyInstancePlacementWithContext is the same as ModifyInstancePlacement with the addition of
36205// the ability to pass a context and additional request options.
36206//
36207// See ModifyInstancePlacement for details on how to use this API operation.
36208//
36209// The context must be non-nil and will be used for request cancellation. If
36210// the context is nil a panic will occur. In the future the SDK may create
36211// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36212// for more information on using Contexts.
36213func (c *EC2) ModifyInstancePlacementWithContext(ctx aws.Context, input *ModifyInstancePlacementInput, opts ...request.Option) (*ModifyInstancePlacementOutput, error) {
36214	req, out := c.ModifyInstancePlacementRequest(input)
36215	req.SetContext(ctx)
36216	req.ApplyOptions(opts...)
36217	return out, req.Send()
36218}
36219
36220const opModifyLaunchTemplate = "ModifyLaunchTemplate"
36221
36222// ModifyLaunchTemplateRequest generates a "aws/request.Request" representing the
36223// client's request for the ModifyLaunchTemplate operation. The "output" return
36224// value will be populated with the request's response once the request completes
36225// successfully.
36226//
36227// Use "Send" method on the returned Request to send the API call to the service.
36228// the "output" return value is not valid until after Send returns without error.
36229//
36230// See ModifyLaunchTemplate for more information on using the ModifyLaunchTemplate
36231// API call, and error handling.
36232//
36233// This method is useful when you want to inject custom logic or configuration
36234// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36235//
36236//
36237//    // Example sending a request using the ModifyLaunchTemplateRequest method.
36238//    req, resp := client.ModifyLaunchTemplateRequest(params)
36239//
36240//    err := req.Send()
36241//    if err == nil { // resp is now filled
36242//        fmt.Println(resp)
36243//    }
36244//
36245// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplate
36246func (c *EC2) ModifyLaunchTemplateRequest(input *ModifyLaunchTemplateInput) (req *request.Request, output *ModifyLaunchTemplateOutput) {
36247	op := &request.Operation{
36248		Name:       opModifyLaunchTemplate,
36249		HTTPMethod: "POST",
36250		HTTPPath:   "/",
36251	}
36252
36253	if input == nil {
36254		input = &ModifyLaunchTemplateInput{}
36255	}
36256
36257	output = &ModifyLaunchTemplateOutput{}
36258	req = c.newRequest(op, input, output)
36259	return
36260}
36261
36262// ModifyLaunchTemplate API operation for Amazon Elastic Compute Cloud.
36263//
36264// Modifies a launch template. You can specify which version of the launch template
36265// to set as the default version. When launching an instance, the default version
36266// applies when a launch template version is not specified.
36267//
36268// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36269// with awserr.Error's Code and Message methods to get detailed information about
36270// the error.
36271//
36272// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36273// API operation ModifyLaunchTemplate for usage and error information.
36274// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplate
36275func (c *EC2) ModifyLaunchTemplate(input *ModifyLaunchTemplateInput) (*ModifyLaunchTemplateOutput, error) {
36276	req, out := c.ModifyLaunchTemplateRequest(input)
36277	return out, req.Send()
36278}
36279
36280// ModifyLaunchTemplateWithContext is the same as ModifyLaunchTemplate with the addition of
36281// the ability to pass a context and additional request options.
36282//
36283// See ModifyLaunchTemplate for details on how to use this API operation.
36284//
36285// The context must be non-nil and will be used for request cancellation. If
36286// the context is nil a panic will occur. In the future the SDK may create
36287// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36288// for more information on using Contexts.
36289func (c *EC2) ModifyLaunchTemplateWithContext(ctx aws.Context, input *ModifyLaunchTemplateInput, opts ...request.Option) (*ModifyLaunchTemplateOutput, error) {
36290	req, out := c.ModifyLaunchTemplateRequest(input)
36291	req.SetContext(ctx)
36292	req.ApplyOptions(opts...)
36293	return out, req.Send()
36294}
36295
36296const opModifyManagedPrefixList = "ModifyManagedPrefixList"
36297
36298// ModifyManagedPrefixListRequest generates a "aws/request.Request" representing the
36299// client's request for the ModifyManagedPrefixList operation. The "output" return
36300// value will be populated with the request's response once the request completes
36301// successfully.
36302//
36303// Use "Send" method on the returned Request to send the API call to the service.
36304// the "output" return value is not valid until after Send returns without error.
36305//
36306// See ModifyManagedPrefixList for more information on using the ModifyManagedPrefixList
36307// API call, and error handling.
36308//
36309// This method is useful when you want to inject custom logic or configuration
36310// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36311//
36312//
36313//    // Example sending a request using the ModifyManagedPrefixListRequest method.
36314//    req, resp := client.ModifyManagedPrefixListRequest(params)
36315//
36316//    err := req.Send()
36317//    if err == nil { // resp is now filled
36318//        fmt.Println(resp)
36319//    }
36320//
36321// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyManagedPrefixList
36322func (c *EC2) ModifyManagedPrefixListRequest(input *ModifyManagedPrefixListInput) (req *request.Request, output *ModifyManagedPrefixListOutput) {
36323	op := &request.Operation{
36324		Name:       opModifyManagedPrefixList,
36325		HTTPMethod: "POST",
36326		HTTPPath:   "/",
36327	}
36328
36329	if input == nil {
36330		input = &ModifyManagedPrefixListInput{}
36331	}
36332
36333	output = &ModifyManagedPrefixListOutput{}
36334	req = c.newRequest(op, input, output)
36335	return
36336}
36337
36338// ModifyManagedPrefixList API operation for Amazon Elastic Compute Cloud.
36339//
36340// Modifies the specified managed prefix list.
36341//
36342// Adding or removing entries in a prefix list creates a new version of the
36343// prefix list. Changing the name of the prefix list does not affect the version.
36344//
36345// If you specify a current version number that does not match the true current
36346// version number, the request fails.
36347//
36348// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36349// with awserr.Error's Code and Message methods to get detailed information about
36350// the error.
36351//
36352// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36353// API operation ModifyManagedPrefixList for usage and error information.
36354// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyManagedPrefixList
36355func (c *EC2) ModifyManagedPrefixList(input *ModifyManagedPrefixListInput) (*ModifyManagedPrefixListOutput, error) {
36356	req, out := c.ModifyManagedPrefixListRequest(input)
36357	return out, req.Send()
36358}
36359
36360// ModifyManagedPrefixListWithContext is the same as ModifyManagedPrefixList with the addition of
36361// the ability to pass a context and additional request options.
36362//
36363// See ModifyManagedPrefixList for details on how to use this API operation.
36364//
36365// The context must be non-nil and will be used for request cancellation. If
36366// the context is nil a panic will occur. In the future the SDK may create
36367// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36368// for more information on using Contexts.
36369func (c *EC2) ModifyManagedPrefixListWithContext(ctx aws.Context, input *ModifyManagedPrefixListInput, opts ...request.Option) (*ModifyManagedPrefixListOutput, error) {
36370	req, out := c.ModifyManagedPrefixListRequest(input)
36371	req.SetContext(ctx)
36372	req.ApplyOptions(opts...)
36373	return out, req.Send()
36374}
36375
36376const opModifyNetworkInterfaceAttribute = "ModifyNetworkInterfaceAttribute"
36377
36378// ModifyNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
36379// client's request for the ModifyNetworkInterfaceAttribute operation. The "output" return
36380// value will be populated with the request's response once the request completes
36381// successfully.
36382//
36383// Use "Send" method on the returned Request to send the API call to the service.
36384// the "output" return value is not valid until after Send returns without error.
36385//
36386// See ModifyNetworkInterfaceAttribute for more information on using the ModifyNetworkInterfaceAttribute
36387// API call, and error handling.
36388//
36389// This method is useful when you want to inject custom logic or configuration
36390// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36391//
36392//
36393//    // Example sending a request using the ModifyNetworkInterfaceAttributeRequest method.
36394//    req, resp := client.ModifyNetworkInterfaceAttributeRequest(params)
36395//
36396//    err := req.Send()
36397//    if err == nil { // resp is now filled
36398//        fmt.Println(resp)
36399//    }
36400//
36401// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
36402func (c *EC2) ModifyNetworkInterfaceAttributeRequest(input *ModifyNetworkInterfaceAttributeInput) (req *request.Request, output *ModifyNetworkInterfaceAttributeOutput) {
36403	op := &request.Operation{
36404		Name:       opModifyNetworkInterfaceAttribute,
36405		HTTPMethod: "POST",
36406		HTTPPath:   "/",
36407	}
36408
36409	if input == nil {
36410		input = &ModifyNetworkInterfaceAttributeInput{}
36411	}
36412
36413	output = &ModifyNetworkInterfaceAttributeOutput{}
36414	req = c.newRequest(op, input, output)
36415	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
36416	return
36417}
36418
36419// ModifyNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
36420//
36421// Modifies the specified network interface attribute. You can specify only
36422// one attribute at a time. You can use this action to attach and detach security
36423// groups from an existing EC2 instance.
36424//
36425// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36426// with awserr.Error's Code and Message methods to get detailed information about
36427// the error.
36428//
36429// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36430// API operation ModifyNetworkInterfaceAttribute for usage and error information.
36431// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
36432func (c *EC2) ModifyNetworkInterfaceAttribute(input *ModifyNetworkInterfaceAttributeInput) (*ModifyNetworkInterfaceAttributeOutput, error) {
36433	req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
36434	return out, req.Send()
36435}
36436
36437// ModifyNetworkInterfaceAttributeWithContext is the same as ModifyNetworkInterfaceAttribute with the addition of
36438// the ability to pass a context and additional request options.
36439//
36440// See ModifyNetworkInterfaceAttribute for details on how to use this API operation.
36441//
36442// The context must be non-nil and will be used for request cancellation. If
36443// the context is nil a panic will occur. In the future the SDK may create
36444// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36445// for more information on using Contexts.
36446func (c *EC2) ModifyNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ModifyNetworkInterfaceAttributeInput, opts ...request.Option) (*ModifyNetworkInterfaceAttributeOutput, error) {
36447	req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
36448	req.SetContext(ctx)
36449	req.ApplyOptions(opts...)
36450	return out, req.Send()
36451}
36452
36453const opModifyReservedInstances = "ModifyReservedInstances"
36454
36455// ModifyReservedInstancesRequest generates a "aws/request.Request" representing the
36456// client's request for the ModifyReservedInstances operation. The "output" return
36457// value will be populated with the request's response once the request completes
36458// successfully.
36459//
36460// Use "Send" method on the returned Request to send the API call to the service.
36461// the "output" return value is not valid until after Send returns without error.
36462//
36463// See ModifyReservedInstances for more information on using the ModifyReservedInstances
36464// API call, and error handling.
36465//
36466// This method is useful when you want to inject custom logic or configuration
36467// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36468//
36469//
36470//    // Example sending a request using the ModifyReservedInstancesRequest method.
36471//    req, resp := client.ModifyReservedInstancesRequest(params)
36472//
36473//    err := req.Send()
36474//    if err == nil { // resp is now filled
36475//        fmt.Println(resp)
36476//    }
36477//
36478// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
36479func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput) (req *request.Request, output *ModifyReservedInstancesOutput) {
36480	op := &request.Operation{
36481		Name:       opModifyReservedInstances,
36482		HTTPMethod: "POST",
36483		HTTPPath:   "/",
36484	}
36485
36486	if input == nil {
36487		input = &ModifyReservedInstancesInput{}
36488	}
36489
36490	output = &ModifyReservedInstancesOutput{}
36491	req = c.newRequest(op, input, output)
36492	return
36493}
36494
36495// ModifyReservedInstances API operation for Amazon Elastic Compute Cloud.
36496//
36497// Modifies the Availability Zone, instance count, instance type, or network
36498// platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved
36499// Instances to be modified must be identical, except for Availability Zone,
36500// network platform, and instance type.
36501//
36502// For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
36503// in the Amazon EC2 User Guide.
36504//
36505// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36506// with awserr.Error's Code and Message methods to get detailed information about
36507// the error.
36508//
36509// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36510// API operation ModifyReservedInstances for usage and error information.
36511// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
36512func (c *EC2) ModifyReservedInstances(input *ModifyReservedInstancesInput) (*ModifyReservedInstancesOutput, error) {
36513	req, out := c.ModifyReservedInstancesRequest(input)
36514	return out, req.Send()
36515}
36516
36517// ModifyReservedInstancesWithContext is the same as ModifyReservedInstances with the addition of
36518// the ability to pass a context and additional request options.
36519//
36520// See ModifyReservedInstances for details on how to use this API operation.
36521//
36522// The context must be non-nil and will be used for request cancellation. If
36523// the context is nil a panic will occur. In the future the SDK may create
36524// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36525// for more information on using Contexts.
36526func (c *EC2) ModifyReservedInstancesWithContext(ctx aws.Context, input *ModifyReservedInstancesInput, opts ...request.Option) (*ModifyReservedInstancesOutput, error) {
36527	req, out := c.ModifyReservedInstancesRequest(input)
36528	req.SetContext(ctx)
36529	req.ApplyOptions(opts...)
36530	return out, req.Send()
36531}
36532
36533const opModifySecurityGroupRules = "ModifySecurityGroupRules"
36534
36535// ModifySecurityGroupRulesRequest generates a "aws/request.Request" representing the
36536// client's request for the ModifySecurityGroupRules operation. The "output" return
36537// value will be populated with the request's response once the request completes
36538// successfully.
36539//
36540// Use "Send" method on the returned Request to send the API call to the service.
36541// the "output" return value is not valid until after Send returns without error.
36542//
36543// See ModifySecurityGroupRules for more information on using the ModifySecurityGroupRules
36544// API call, and error handling.
36545//
36546// This method is useful when you want to inject custom logic or configuration
36547// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36548//
36549//
36550//    // Example sending a request using the ModifySecurityGroupRulesRequest method.
36551//    req, resp := client.ModifySecurityGroupRulesRequest(params)
36552//
36553//    err := req.Send()
36554//    if err == nil { // resp is now filled
36555//        fmt.Println(resp)
36556//    }
36557//
36558// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySecurityGroupRules
36559func (c *EC2) ModifySecurityGroupRulesRequest(input *ModifySecurityGroupRulesInput) (req *request.Request, output *ModifySecurityGroupRulesOutput) {
36560	op := &request.Operation{
36561		Name:       opModifySecurityGroupRules,
36562		HTTPMethod: "POST",
36563		HTTPPath:   "/",
36564	}
36565
36566	if input == nil {
36567		input = &ModifySecurityGroupRulesInput{}
36568	}
36569
36570	output = &ModifySecurityGroupRulesOutput{}
36571	req = c.newRequest(op, input, output)
36572	return
36573}
36574
36575// ModifySecurityGroupRules API operation for Amazon Elastic Compute Cloud.
36576//
36577// Modifies the rules of a security group.
36578//
36579// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36580// with awserr.Error's Code and Message methods to get detailed information about
36581// the error.
36582//
36583// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36584// API operation ModifySecurityGroupRules for usage and error information.
36585// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySecurityGroupRules
36586func (c *EC2) ModifySecurityGroupRules(input *ModifySecurityGroupRulesInput) (*ModifySecurityGroupRulesOutput, error) {
36587	req, out := c.ModifySecurityGroupRulesRequest(input)
36588	return out, req.Send()
36589}
36590
36591// ModifySecurityGroupRulesWithContext is the same as ModifySecurityGroupRules with the addition of
36592// the ability to pass a context and additional request options.
36593//
36594// See ModifySecurityGroupRules for details on how to use this API operation.
36595//
36596// The context must be non-nil and will be used for request cancellation. If
36597// the context is nil a panic will occur. In the future the SDK may create
36598// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36599// for more information on using Contexts.
36600func (c *EC2) ModifySecurityGroupRulesWithContext(ctx aws.Context, input *ModifySecurityGroupRulesInput, opts ...request.Option) (*ModifySecurityGroupRulesOutput, error) {
36601	req, out := c.ModifySecurityGroupRulesRequest(input)
36602	req.SetContext(ctx)
36603	req.ApplyOptions(opts...)
36604	return out, req.Send()
36605}
36606
36607const opModifySnapshotAttribute = "ModifySnapshotAttribute"
36608
36609// ModifySnapshotAttributeRequest generates a "aws/request.Request" representing the
36610// client's request for the ModifySnapshotAttribute operation. The "output" return
36611// value will be populated with the request's response once the request completes
36612// successfully.
36613//
36614// Use "Send" method on the returned Request to send the API call to the service.
36615// the "output" return value is not valid until after Send returns without error.
36616//
36617// See ModifySnapshotAttribute for more information on using the ModifySnapshotAttribute
36618// API call, and error handling.
36619//
36620// This method is useful when you want to inject custom logic or configuration
36621// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36622//
36623//
36624//    // Example sending a request using the ModifySnapshotAttributeRequest method.
36625//    req, resp := client.ModifySnapshotAttributeRequest(params)
36626//
36627//    err := req.Send()
36628//    if err == nil { // resp is now filled
36629//        fmt.Println(resp)
36630//    }
36631//
36632// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
36633func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput) (req *request.Request, output *ModifySnapshotAttributeOutput) {
36634	op := &request.Operation{
36635		Name:       opModifySnapshotAttribute,
36636		HTTPMethod: "POST",
36637		HTTPPath:   "/",
36638	}
36639
36640	if input == nil {
36641		input = &ModifySnapshotAttributeInput{}
36642	}
36643
36644	output = &ModifySnapshotAttributeOutput{}
36645	req = c.newRequest(op, input, output)
36646	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
36647	return
36648}
36649
36650// ModifySnapshotAttribute API operation for Amazon Elastic Compute Cloud.
36651//
36652// Adds or removes permission settings for the specified snapshot. You may add
36653// or remove specified Amazon Web Services account IDs from a snapshot's list
36654// of create volume permissions, but you cannot do both in a single operation.
36655// If you need to both add and remove account IDs for a snapshot, you must use
36656// multiple operations. You can make up to 500 modifications to a snapshot in
36657// a single operation.
36658//
36659// Encrypted snapshots and snapshots with Amazon Web Services Marketplace product
36660// codes cannot be made public. Snapshots encrypted with your default KMS key
36661// cannot be shared with other accounts.
36662//
36663// For more information about modifying snapshot permissions, see Share a snapshot
36664// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
36665// in the Amazon Elastic Compute Cloud User Guide.
36666//
36667// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36668// with awserr.Error's Code and Message methods to get detailed information about
36669// the error.
36670//
36671// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36672// API operation ModifySnapshotAttribute for usage and error information.
36673// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
36674func (c *EC2) ModifySnapshotAttribute(input *ModifySnapshotAttributeInput) (*ModifySnapshotAttributeOutput, error) {
36675	req, out := c.ModifySnapshotAttributeRequest(input)
36676	return out, req.Send()
36677}
36678
36679// ModifySnapshotAttributeWithContext is the same as ModifySnapshotAttribute with the addition of
36680// the ability to pass a context and additional request options.
36681//
36682// See ModifySnapshotAttribute for details on how to use this API operation.
36683//
36684// The context must be non-nil and will be used for request cancellation. If
36685// the context is nil a panic will occur. In the future the SDK may create
36686// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36687// for more information on using Contexts.
36688func (c *EC2) ModifySnapshotAttributeWithContext(ctx aws.Context, input *ModifySnapshotAttributeInput, opts ...request.Option) (*ModifySnapshotAttributeOutput, error) {
36689	req, out := c.ModifySnapshotAttributeRequest(input)
36690	req.SetContext(ctx)
36691	req.ApplyOptions(opts...)
36692	return out, req.Send()
36693}
36694
36695const opModifySpotFleetRequest = "ModifySpotFleetRequest"
36696
36697// ModifySpotFleetRequestRequest generates a "aws/request.Request" representing the
36698// client's request for the ModifySpotFleetRequest operation. The "output" return
36699// value will be populated with the request's response once the request completes
36700// successfully.
36701//
36702// Use "Send" method on the returned Request to send the API call to the service.
36703// the "output" return value is not valid until after Send returns without error.
36704//
36705// See ModifySpotFleetRequest for more information on using the ModifySpotFleetRequest
36706// API call, and error handling.
36707//
36708// This method is useful when you want to inject custom logic or configuration
36709// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36710//
36711//
36712//    // Example sending a request using the ModifySpotFleetRequestRequest method.
36713//    req, resp := client.ModifySpotFleetRequestRequest(params)
36714//
36715//    err := req.Send()
36716//    if err == nil { // resp is now filled
36717//        fmt.Println(resp)
36718//    }
36719//
36720// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
36721func (c *EC2) ModifySpotFleetRequestRequest(input *ModifySpotFleetRequestInput) (req *request.Request, output *ModifySpotFleetRequestOutput) {
36722	op := &request.Operation{
36723		Name:       opModifySpotFleetRequest,
36724		HTTPMethod: "POST",
36725		HTTPPath:   "/",
36726	}
36727
36728	if input == nil {
36729		input = &ModifySpotFleetRequestInput{}
36730	}
36731
36732	output = &ModifySpotFleetRequestOutput{}
36733	req = c.newRequest(op, input, output)
36734	return
36735}
36736
36737// ModifySpotFleetRequest API operation for Amazon Elastic Compute Cloud.
36738//
36739// Modifies the specified Spot Fleet request.
36740//
36741// You can only modify a Spot Fleet request of type maintain.
36742//
36743// While the Spot Fleet request is being modified, it is in the modifying state.
36744//
36745// To scale up your Spot Fleet, increase its target capacity. The Spot Fleet
36746// launches the additional Spot Instances according to the allocation strategy
36747// for the Spot Fleet request. If the allocation strategy is lowestPrice, the
36748// Spot Fleet launches instances using the Spot Instance pool with the lowest
36749// price. If the allocation strategy is diversified, the Spot Fleet distributes
36750// the instances across the Spot Instance pools. If the allocation strategy
36751// is capacityOptimized, Spot Fleet launches instances from Spot Instance pools
36752// with optimal capacity for the number of instances that are launching.
36753//
36754// To scale down your Spot Fleet, decrease its target capacity. First, the Spot
36755// Fleet cancels any open requests that exceed the new target capacity. You
36756// can request that the Spot Fleet terminate Spot Instances until the size of
36757// the fleet no longer exceeds the new target capacity. If the allocation strategy
36758// is lowestPrice, the Spot Fleet terminates the instances with the highest
36759// price per unit. If the allocation strategy is capacityOptimized, the Spot
36760// Fleet terminates the instances in the Spot Instance pools that have the least
36761// available Spot Instance capacity. If the allocation strategy is diversified,
36762// the Spot Fleet terminates instances across the Spot Instance pools. Alternatively,
36763// you can request that the Spot Fleet keep the fleet at its current size, but
36764// not replace any Spot Instances that are interrupted or that you terminate
36765// manually.
36766//
36767// If you are finished with your Spot Fleet for now, but will use it again later,
36768// you can set the target capacity to 0.
36769//
36770// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36771// with awserr.Error's Code and Message methods to get detailed information about
36772// the error.
36773//
36774// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36775// API operation ModifySpotFleetRequest for usage and error information.
36776// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
36777func (c *EC2) ModifySpotFleetRequest(input *ModifySpotFleetRequestInput) (*ModifySpotFleetRequestOutput, error) {
36778	req, out := c.ModifySpotFleetRequestRequest(input)
36779	return out, req.Send()
36780}
36781
36782// ModifySpotFleetRequestWithContext is the same as ModifySpotFleetRequest with the addition of
36783// the ability to pass a context and additional request options.
36784//
36785// See ModifySpotFleetRequest for details on how to use this API operation.
36786//
36787// The context must be non-nil and will be used for request cancellation. If
36788// the context is nil a panic will occur. In the future the SDK may create
36789// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36790// for more information on using Contexts.
36791func (c *EC2) ModifySpotFleetRequestWithContext(ctx aws.Context, input *ModifySpotFleetRequestInput, opts ...request.Option) (*ModifySpotFleetRequestOutput, error) {
36792	req, out := c.ModifySpotFleetRequestRequest(input)
36793	req.SetContext(ctx)
36794	req.ApplyOptions(opts...)
36795	return out, req.Send()
36796}
36797
36798const opModifySubnetAttribute = "ModifySubnetAttribute"
36799
36800// ModifySubnetAttributeRequest generates a "aws/request.Request" representing the
36801// client's request for the ModifySubnetAttribute operation. The "output" return
36802// value will be populated with the request's response once the request completes
36803// successfully.
36804//
36805// Use "Send" method on the returned Request to send the API call to the service.
36806// the "output" return value is not valid until after Send returns without error.
36807//
36808// See ModifySubnetAttribute for more information on using the ModifySubnetAttribute
36809// API call, and error handling.
36810//
36811// This method is useful when you want to inject custom logic or configuration
36812// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36813//
36814//
36815//    // Example sending a request using the ModifySubnetAttributeRequest method.
36816//    req, resp := client.ModifySubnetAttributeRequest(params)
36817//
36818//    err := req.Send()
36819//    if err == nil { // resp is now filled
36820//        fmt.Println(resp)
36821//    }
36822//
36823// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
36824func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (req *request.Request, output *ModifySubnetAttributeOutput) {
36825	op := &request.Operation{
36826		Name:       opModifySubnetAttribute,
36827		HTTPMethod: "POST",
36828		HTTPPath:   "/",
36829	}
36830
36831	if input == nil {
36832		input = &ModifySubnetAttributeInput{}
36833	}
36834
36835	output = &ModifySubnetAttributeOutput{}
36836	req = c.newRequest(op, input, output)
36837	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
36838	return
36839}
36840
36841// ModifySubnetAttribute API operation for Amazon Elastic Compute Cloud.
36842//
36843// Modifies a subnet attribute. You can only modify one attribute at a time.
36844//
36845// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36846// with awserr.Error's Code and Message methods to get detailed information about
36847// the error.
36848//
36849// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36850// API operation ModifySubnetAttribute for usage and error information.
36851// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
36852func (c *EC2) ModifySubnetAttribute(input *ModifySubnetAttributeInput) (*ModifySubnetAttributeOutput, error) {
36853	req, out := c.ModifySubnetAttributeRequest(input)
36854	return out, req.Send()
36855}
36856
36857// ModifySubnetAttributeWithContext is the same as ModifySubnetAttribute with the addition of
36858// the ability to pass a context and additional request options.
36859//
36860// See ModifySubnetAttribute for details on how to use this API operation.
36861//
36862// The context must be non-nil and will be used for request cancellation. If
36863// the context is nil a panic will occur. In the future the SDK may create
36864// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36865// for more information on using Contexts.
36866func (c *EC2) ModifySubnetAttributeWithContext(ctx aws.Context, input *ModifySubnetAttributeInput, opts ...request.Option) (*ModifySubnetAttributeOutput, error) {
36867	req, out := c.ModifySubnetAttributeRequest(input)
36868	req.SetContext(ctx)
36869	req.ApplyOptions(opts...)
36870	return out, req.Send()
36871}
36872
36873const opModifyTrafficMirrorFilterNetworkServices = "ModifyTrafficMirrorFilterNetworkServices"
36874
36875// ModifyTrafficMirrorFilterNetworkServicesRequest generates a "aws/request.Request" representing the
36876// client's request for the ModifyTrafficMirrorFilterNetworkServices operation. The "output" return
36877// value will be populated with the request's response once the request completes
36878// successfully.
36879//
36880// Use "Send" method on the returned Request to send the API call to the service.
36881// the "output" return value is not valid until after Send returns without error.
36882//
36883// See ModifyTrafficMirrorFilterNetworkServices for more information on using the ModifyTrafficMirrorFilterNetworkServices
36884// API call, and error handling.
36885//
36886// This method is useful when you want to inject custom logic or configuration
36887// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36888//
36889//
36890//    // Example sending a request using the ModifyTrafficMirrorFilterNetworkServicesRequest method.
36891//    req, resp := client.ModifyTrafficMirrorFilterNetworkServicesRequest(params)
36892//
36893//    err := req.Send()
36894//    if err == nil { // resp is now filled
36895//        fmt.Println(resp)
36896//    }
36897//
36898// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterNetworkServices
36899func (c *EC2) ModifyTrafficMirrorFilterNetworkServicesRequest(input *ModifyTrafficMirrorFilterNetworkServicesInput) (req *request.Request, output *ModifyTrafficMirrorFilterNetworkServicesOutput) {
36900	op := &request.Operation{
36901		Name:       opModifyTrafficMirrorFilterNetworkServices,
36902		HTTPMethod: "POST",
36903		HTTPPath:   "/",
36904	}
36905
36906	if input == nil {
36907		input = &ModifyTrafficMirrorFilterNetworkServicesInput{}
36908	}
36909
36910	output = &ModifyTrafficMirrorFilterNetworkServicesOutput{}
36911	req = c.newRequest(op, input, output)
36912	return
36913}
36914
36915// ModifyTrafficMirrorFilterNetworkServices API operation for Amazon Elastic Compute Cloud.
36916//
36917// Allows or restricts mirroring network services.
36918//
36919// By default, Amazon DNS network services are not eligible for Traffic Mirror.
36920// Use AddNetworkServices to add network services to a Traffic Mirror filter.
36921// When a network service is added to the Traffic Mirror filter, all traffic
36922// related to that network service will be mirrored. When you no longer want
36923// to mirror network services, use RemoveNetworkServices to remove the network
36924// services from the Traffic Mirror filter.
36925//
36926// For information about filter rule properties, see Network Services (https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html)
36927// in the Traffic Mirroring User Guide .
36928//
36929// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36930// with awserr.Error's Code and Message methods to get detailed information about
36931// the error.
36932//
36933// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36934// API operation ModifyTrafficMirrorFilterNetworkServices for usage and error information.
36935// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterNetworkServices
36936func (c *EC2) ModifyTrafficMirrorFilterNetworkServices(input *ModifyTrafficMirrorFilterNetworkServicesInput) (*ModifyTrafficMirrorFilterNetworkServicesOutput, error) {
36937	req, out := c.ModifyTrafficMirrorFilterNetworkServicesRequest(input)
36938	return out, req.Send()
36939}
36940
36941// ModifyTrafficMirrorFilterNetworkServicesWithContext is the same as ModifyTrafficMirrorFilterNetworkServices with the addition of
36942// the ability to pass a context and additional request options.
36943//
36944// See ModifyTrafficMirrorFilterNetworkServices for details on how to use this API operation.
36945//
36946// The context must be non-nil and will be used for request cancellation. If
36947// the context is nil a panic will occur. In the future the SDK may create
36948// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36949// for more information on using Contexts.
36950func (c *EC2) ModifyTrafficMirrorFilterNetworkServicesWithContext(ctx aws.Context, input *ModifyTrafficMirrorFilterNetworkServicesInput, opts ...request.Option) (*ModifyTrafficMirrorFilterNetworkServicesOutput, error) {
36951	req, out := c.ModifyTrafficMirrorFilterNetworkServicesRequest(input)
36952	req.SetContext(ctx)
36953	req.ApplyOptions(opts...)
36954	return out, req.Send()
36955}
36956
36957const opModifyTrafficMirrorFilterRule = "ModifyTrafficMirrorFilterRule"
36958
36959// ModifyTrafficMirrorFilterRuleRequest generates a "aws/request.Request" representing the
36960// client's request for the ModifyTrafficMirrorFilterRule operation. The "output" return
36961// value will be populated with the request's response once the request completes
36962// successfully.
36963//
36964// Use "Send" method on the returned Request to send the API call to the service.
36965// the "output" return value is not valid until after Send returns without error.
36966//
36967// See ModifyTrafficMirrorFilterRule for more information on using the ModifyTrafficMirrorFilterRule
36968// API call, and error handling.
36969//
36970// This method is useful when you want to inject custom logic or configuration
36971// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36972//
36973//
36974//    // Example sending a request using the ModifyTrafficMirrorFilterRuleRequest method.
36975//    req, resp := client.ModifyTrafficMirrorFilterRuleRequest(params)
36976//
36977//    err := req.Send()
36978//    if err == nil { // resp is now filled
36979//        fmt.Println(resp)
36980//    }
36981//
36982// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterRule
36983func (c *EC2) ModifyTrafficMirrorFilterRuleRequest(input *ModifyTrafficMirrorFilterRuleInput) (req *request.Request, output *ModifyTrafficMirrorFilterRuleOutput) {
36984	op := &request.Operation{
36985		Name:       opModifyTrafficMirrorFilterRule,
36986		HTTPMethod: "POST",
36987		HTTPPath:   "/",
36988	}
36989
36990	if input == nil {
36991		input = &ModifyTrafficMirrorFilterRuleInput{}
36992	}
36993
36994	output = &ModifyTrafficMirrorFilterRuleOutput{}
36995	req = c.newRequest(op, input, output)
36996	return
36997}
36998
36999// ModifyTrafficMirrorFilterRule API operation for Amazon Elastic Compute Cloud.
37000//
37001// Modifies the specified Traffic Mirror rule.
37002//
37003// DestinationCidrBlock and SourceCidrBlock must both be an IPv4 range or an
37004// IPv6 range.
37005//
37006// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37007// with awserr.Error's Code and Message methods to get detailed information about
37008// the error.
37009//
37010// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37011// API operation ModifyTrafficMirrorFilterRule for usage and error information.
37012// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterRule
37013func (c *EC2) ModifyTrafficMirrorFilterRule(input *ModifyTrafficMirrorFilterRuleInput) (*ModifyTrafficMirrorFilterRuleOutput, error) {
37014	req, out := c.ModifyTrafficMirrorFilterRuleRequest(input)
37015	return out, req.Send()
37016}
37017
37018// ModifyTrafficMirrorFilterRuleWithContext is the same as ModifyTrafficMirrorFilterRule with the addition of
37019// the ability to pass a context and additional request options.
37020//
37021// See ModifyTrafficMirrorFilterRule for details on how to use this API operation.
37022//
37023// The context must be non-nil and will be used for request cancellation. If
37024// the context is nil a panic will occur. In the future the SDK may create
37025// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37026// for more information on using Contexts.
37027func (c *EC2) ModifyTrafficMirrorFilterRuleWithContext(ctx aws.Context, input *ModifyTrafficMirrorFilterRuleInput, opts ...request.Option) (*ModifyTrafficMirrorFilterRuleOutput, error) {
37028	req, out := c.ModifyTrafficMirrorFilterRuleRequest(input)
37029	req.SetContext(ctx)
37030	req.ApplyOptions(opts...)
37031	return out, req.Send()
37032}
37033
37034const opModifyTrafficMirrorSession = "ModifyTrafficMirrorSession"
37035
37036// ModifyTrafficMirrorSessionRequest generates a "aws/request.Request" representing the
37037// client's request for the ModifyTrafficMirrorSession operation. The "output" return
37038// value will be populated with the request's response once the request completes
37039// successfully.
37040//
37041// Use "Send" method on the returned Request to send the API call to the service.
37042// the "output" return value is not valid until after Send returns without error.
37043//
37044// See ModifyTrafficMirrorSession for more information on using the ModifyTrafficMirrorSession
37045// API call, and error handling.
37046//
37047// This method is useful when you want to inject custom logic or configuration
37048// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37049//
37050//
37051//    // Example sending a request using the ModifyTrafficMirrorSessionRequest method.
37052//    req, resp := client.ModifyTrafficMirrorSessionRequest(params)
37053//
37054//    err := req.Send()
37055//    if err == nil { // resp is now filled
37056//        fmt.Println(resp)
37057//    }
37058//
37059// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorSession
37060func (c *EC2) ModifyTrafficMirrorSessionRequest(input *ModifyTrafficMirrorSessionInput) (req *request.Request, output *ModifyTrafficMirrorSessionOutput) {
37061	op := &request.Operation{
37062		Name:       opModifyTrafficMirrorSession,
37063		HTTPMethod: "POST",
37064		HTTPPath:   "/",
37065	}
37066
37067	if input == nil {
37068		input = &ModifyTrafficMirrorSessionInput{}
37069	}
37070
37071	output = &ModifyTrafficMirrorSessionOutput{}
37072	req = c.newRequest(op, input, output)
37073	return
37074}
37075
37076// ModifyTrafficMirrorSession API operation for Amazon Elastic Compute Cloud.
37077//
37078// Modifies a Traffic Mirror session.
37079//
37080// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37081// with awserr.Error's Code and Message methods to get detailed information about
37082// the error.
37083//
37084// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37085// API operation ModifyTrafficMirrorSession for usage and error information.
37086// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorSession
37087func (c *EC2) ModifyTrafficMirrorSession(input *ModifyTrafficMirrorSessionInput) (*ModifyTrafficMirrorSessionOutput, error) {
37088	req, out := c.ModifyTrafficMirrorSessionRequest(input)
37089	return out, req.Send()
37090}
37091
37092// ModifyTrafficMirrorSessionWithContext is the same as ModifyTrafficMirrorSession with the addition of
37093// the ability to pass a context and additional request options.
37094//
37095// See ModifyTrafficMirrorSession for details on how to use this API operation.
37096//
37097// The context must be non-nil and will be used for request cancellation. If
37098// the context is nil a panic will occur. In the future the SDK may create
37099// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37100// for more information on using Contexts.
37101func (c *EC2) ModifyTrafficMirrorSessionWithContext(ctx aws.Context, input *ModifyTrafficMirrorSessionInput, opts ...request.Option) (*ModifyTrafficMirrorSessionOutput, error) {
37102	req, out := c.ModifyTrafficMirrorSessionRequest(input)
37103	req.SetContext(ctx)
37104	req.ApplyOptions(opts...)
37105	return out, req.Send()
37106}
37107
37108const opModifyTransitGateway = "ModifyTransitGateway"
37109
37110// ModifyTransitGatewayRequest generates a "aws/request.Request" representing the
37111// client's request for the ModifyTransitGateway operation. The "output" return
37112// value will be populated with the request's response once the request completes
37113// successfully.
37114//
37115// Use "Send" method on the returned Request to send the API call to the service.
37116// the "output" return value is not valid until after Send returns without error.
37117//
37118// See ModifyTransitGateway for more information on using the ModifyTransitGateway
37119// API call, and error handling.
37120//
37121// This method is useful when you want to inject custom logic or configuration
37122// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37123//
37124//
37125//    // Example sending a request using the ModifyTransitGatewayRequest method.
37126//    req, resp := client.ModifyTransitGatewayRequest(params)
37127//
37128//    err := req.Send()
37129//    if err == nil { // resp is now filled
37130//        fmt.Println(resp)
37131//    }
37132//
37133// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGateway
37134func (c *EC2) ModifyTransitGatewayRequest(input *ModifyTransitGatewayInput) (req *request.Request, output *ModifyTransitGatewayOutput) {
37135	op := &request.Operation{
37136		Name:       opModifyTransitGateway,
37137		HTTPMethod: "POST",
37138		HTTPPath:   "/",
37139	}
37140
37141	if input == nil {
37142		input = &ModifyTransitGatewayInput{}
37143	}
37144
37145	output = &ModifyTransitGatewayOutput{}
37146	req = c.newRequest(op, input, output)
37147	return
37148}
37149
37150// ModifyTransitGateway API operation for Amazon Elastic Compute Cloud.
37151//
37152// Modifies the specified transit gateway. When you modify a transit gateway,
37153// the modified options are applied to new transit gateway attachments only.
37154// Your existing transit gateway attachments are not modified.
37155//
37156// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37157// with awserr.Error's Code and Message methods to get detailed information about
37158// the error.
37159//
37160// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37161// API operation ModifyTransitGateway for usage and error information.
37162// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGateway
37163func (c *EC2) ModifyTransitGateway(input *ModifyTransitGatewayInput) (*ModifyTransitGatewayOutput, error) {
37164	req, out := c.ModifyTransitGatewayRequest(input)
37165	return out, req.Send()
37166}
37167
37168// ModifyTransitGatewayWithContext is the same as ModifyTransitGateway with the addition of
37169// the ability to pass a context and additional request options.
37170//
37171// See ModifyTransitGateway for details on how to use this API operation.
37172//
37173// The context must be non-nil and will be used for request cancellation. If
37174// the context is nil a panic will occur. In the future the SDK may create
37175// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37176// for more information on using Contexts.
37177func (c *EC2) ModifyTransitGatewayWithContext(ctx aws.Context, input *ModifyTransitGatewayInput, opts ...request.Option) (*ModifyTransitGatewayOutput, error) {
37178	req, out := c.ModifyTransitGatewayRequest(input)
37179	req.SetContext(ctx)
37180	req.ApplyOptions(opts...)
37181	return out, req.Send()
37182}
37183
37184const opModifyTransitGatewayPrefixListReference = "ModifyTransitGatewayPrefixListReference"
37185
37186// ModifyTransitGatewayPrefixListReferenceRequest generates a "aws/request.Request" representing the
37187// client's request for the ModifyTransitGatewayPrefixListReference operation. The "output" return
37188// value will be populated with the request's response once the request completes
37189// successfully.
37190//
37191// Use "Send" method on the returned Request to send the API call to the service.
37192// the "output" return value is not valid until after Send returns without error.
37193//
37194// See ModifyTransitGatewayPrefixListReference for more information on using the ModifyTransitGatewayPrefixListReference
37195// API call, and error handling.
37196//
37197// This method is useful when you want to inject custom logic or configuration
37198// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37199//
37200//
37201//    // Example sending a request using the ModifyTransitGatewayPrefixListReferenceRequest method.
37202//    req, resp := client.ModifyTransitGatewayPrefixListReferenceRequest(params)
37203//
37204//    err := req.Send()
37205//    if err == nil { // resp is now filled
37206//        fmt.Println(resp)
37207//    }
37208//
37209// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayPrefixListReference
37210func (c *EC2) ModifyTransitGatewayPrefixListReferenceRequest(input *ModifyTransitGatewayPrefixListReferenceInput) (req *request.Request, output *ModifyTransitGatewayPrefixListReferenceOutput) {
37211	op := &request.Operation{
37212		Name:       opModifyTransitGatewayPrefixListReference,
37213		HTTPMethod: "POST",
37214		HTTPPath:   "/",
37215	}
37216
37217	if input == nil {
37218		input = &ModifyTransitGatewayPrefixListReferenceInput{}
37219	}
37220
37221	output = &ModifyTransitGatewayPrefixListReferenceOutput{}
37222	req = c.newRequest(op, input, output)
37223	return
37224}
37225
37226// ModifyTransitGatewayPrefixListReference API operation for Amazon Elastic Compute Cloud.
37227//
37228// Modifies a reference (route) to a prefix list in a specified transit gateway
37229// route table.
37230//
37231// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37232// with awserr.Error's Code and Message methods to get detailed information about
37233// the error.
37234//
37235// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37236// API operation ModifyTransitGatewayPrefixListReference for usage and error information.
37237// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayPrefixListReference
37238func (c *EC2) ModifyTransitGatewayPrefixListReference(input *ModifyTransitGatewayPrefixListReferenceInput) (*ModifyTransitGatewayPrefixListReferenceOutput, error) {
37239	req, out := c.ModifyTransitGatewayPrefixListReferenceRequest(input)
37240	return out, req.Send()
37241}
37242
37243// ModifyTransitGatewayPrefixListReferenceWithContext is the same as ModifyTransitGatewayPrefixListReference with the addition of
37244// the ability to pass a context and additional request options.
37245//
37246// See ModifyTransitGatewayPrefixListReference for details on how to use this API operation.
37247//
37248// The context must be non-nil and will be used for request cancellation. If
37249// the context is nil a panic will occur. In the future the SDK may create
37250// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37251// for more information on using Contexts.
37252func (c *EC2) ModifyTransitGatewayPrefixListReferenceWithContext(ctx aws.Context, input *ModifyTransitGatewayPrefixListReferenceInput, opts ...request.Option) (*ModifyTransitGatewayPrefixListReferenceOutput, error) {
37253	req, out := c.ModifyTransitGatewayPrefixListReferenceRequest(input)
37254	req.SetContext(ctx)
37255	req.ApplyOptions(opts...)
37256	return out, req.Send()
37257}
37258
37259const opModifyTransitGatewayVpcAttachment = "ModifyTransitGatewayVpcAttachment"
37260
37261// ModifyTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
37262// client's request for the ModifyTransitGatewayVpcAttachment operation. The "output" return
37263// value will be populated with the request's response once the request completes
37264// successfully.
37265//
37266// Use "Send" method on the returned Request to send the API call to the service.
37267// the "output" return value is not valid until after Send returns without error.
37268//
37269// See ModifyTransitGatewayVpcAttachment for more information on using the ModifyTransitGatewayVpcAttachment
37270// API call, and error handling.
37271//
37272// This method is useful when you want to inject custom logic or configuration
37273// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37274//
37275//
37276//    // Example sending a request using the ModifyTransitGatewayVpcAttachmentRequest method.
37277//    req, resp := client.ModifyTransitGatewayVpcAttachmentRequest(params)
37278//
37279//    err := req.Send()
37280//    if err == nil { // resp is now filled
37281//        fmt.Println(resp)
37282//    }
37283//
37284// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayVpcAttachment
37285func (c *EC2) ModifyTransitGatewayVpcAttachmentRequest(input *ModifyTransitGatewayVpcAttachmentInput) (req *request.Request, output *ModifyTransitGatewayVpcAttachmentOutput) {
37286	op := &request.Operation{
37287		Name:       opModifyTransitGatewayVpcAttachment,
37288		HTTPMethod: "POST",
37289		HTTPPath:   "/",
37290	}
37291
37292	if input == nil {
37293		input = &ModifyTransitGatewayVpcAttachmentInput{}
37294	}
37295
37296	output = &ModifyTransitGatewayVpcAttachmentOutput{}
37297	req = c.newRequest(op, input, output)
37298	return
37299}
37300
37301// ModifyTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
37302//
37303// Modifies the specified VPC attachment.
37304//
37305// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37306// with awserr.Error's Code and Message methods to get detailed information about
37307// the error.
37308//
37309// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37310// API operation ModifyTransitGatewayVpcAttachment for usage and error information.
37311// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayVpcAttachment
37312func (c *EC2) ModifyTransitGatewayVpcAttachment(input *ModifyTransitGatewayVpcAttachmentInput) (*ModifyTransitGatewayVpcAttachmentOutput, error) {
37313	req, out := c.ModifyTransitGatewayVpcAttachmentRequest(input)
37314	return out, req.Send()
37315}
37316
37317// ModifyTransitGatewayVpcAttachmentWithContext is the same as ModifyTransitGatewayVpcAttachment with the addition of
37318// the ability to pass a context and additional request options.
37319//
37320// See ModifyTransitGatewayVpcAttachment for details on how to use this API operation.
37321//
37322// The context must be non-nil and will be used for request cancellation. If
37323// the context is nil a panic will occur. In the future the SDK may create
37324// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37325// for more information on using Contexts.
37326func (c *EC2) ModifyTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *ModifyTransitGatewayVpcAttachmentInput, opts ...request.Option) (*ModifyTransitGatewayVpcAttachmentOutput, error) {
37327	req, out := c.ModifyTransitGatewayVpcAttachmentRequest(input)
37328	req.SetContext(ctx)
37329	req.ApplyOptions(opts...)
37330	return out, req.Send()
37331}
37332
37333const opModifyVolume = "ModifyVolume"
37334
37335// ModifyVolumeRequest generates a "aws/request.Request" representing the
37336// client's request for the ModifyVolume operation. The "output" return
37337// value will be populated with the request's response once the request completes
37338// successfully.
37339//
37340// Use "Send" method on the returned Request to send the API call to the service.
37341// the "output" return value is not valid until after Send returns without error.
37342//
37343// See ModifyVolume for more information on using the ModifyVolume
37344// API call, and error handling.
37345//
37346// This method is useful when you want to inject custom logic or configuration
37347// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37348//
37349//
37350//    // Example sending a request using the ModifyVolumeRequest method.
37351//    req, resp := client.ModifyVolumeRequest(params)
37352//
37353//    err := req.Send()
37354//    if err == nil { // resp is now filled
37355//        fmt.Println(resp)
37356//    }
37357//
37358// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
37359func (c *EC2) ModifyVolumeRequest(input *ModifyVolumeInput) (req *request.Request, output *ModifyVolumeOutput) {
37360	op := &request.Operation{
37361		Name:       opModifyVolume,
37362		HTTPMethod: "POST",
37363		HTTPPath:   "/",
37364	}
37365
37366	if input == nil {
37367		input = &ModifyVolumeInput{}
37368	}
37369
37370	output = &ModifyVolumeOutput{}
37371	req = c.newRequest(op, input, output)
37372	return
37373}
37374
37375// ModifyVolume API operation for Amazon Elastic Compute Cloud.
37376//
37377// You can modify several parameters of an existing EBS volume, including volume
37378// size, volume type, and IOPS capacity. If your EBS volume is attached to a
37379// current-generation EC2 instance type, you might be able to apply these changes
37380// without stopping the instance or detaching the volume from it. For more information
37381// about modifying EBS volumes, see Amazon EBS Elastic Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modify-volume.html)
37382// (Linux instances) or Amazon EBS Elastic Volumes (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-modify-volume.html)
37383// (Windows instances).
37384//
37385// When you complete a resize operation on your volume, you need to extend the
37386// volume's file-system size to take advantage of the new storage capacity.
37387// For more information, see Extend a Linux file system (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#recognize-expanded-volume-linux)
37388// or Extend a Windows file system (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html#recognize-expanded-volume-windows).
37389//
37390// You can use CloudWatch Events to check the status of a modification to an
37391// EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch
37392// Events User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
37393// You can also track the status of a modification using DescribeVolumesModifications.
37394// For information about tracking status changes using either method, see Monitor
37395// the progress of volume modifications (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-modifications.html).
37396//
37397// With previous-generation instance types, resizing an EBS volume might require
37398// detaching and reattaching the volume or stopping and restarting the instance.
37399//
37400// If you reach the maximum volume modification rate per volume limit, you must
37401// wait at least six hours before applying further modifications to the affected
37402// EBS volume.
37403//
37404// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37405// with awserr.Error's Code and Message methods to get detailed information about
37406// the error.
37407//
37408// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37409// API operation ModifyVolume for usage and error information.
37410// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
37411func (c *EC2) ModifyVolume(input *ModifyVolumeInput) (*ModifyVolumeOutput, error) {
37412	req, out := c.ModifyVolumeRequest(input)
37413	return out, req.Send()
37414}
37415
37416// ModifyVolumeWithContext is the same as ModifyVolume with the addition of
37417// the ability to pass a context and additional request options.
37418//
37419// See ModifyVolume for details on how to use this API operation.
37420//
37421// The context must be non-nil and will be used for request cancellation. If
37422// the context is nil a panic will occur. In the future the SDK may create
37423// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37424// for more information on using Contexts.
37425func (c *EC2) ModifyVolumeWithContext(ctx aws.Context, input *ModifyVolumeInput, opts ...request.Option) (*ModifyVolumeOutput, error) {
37426	req, out := c.ModifyVolumeRequest(input)
37427	req.SetContext(ctx)
37428	req.ApplyOptions(opts...)
37429	return out, req.Send()
37430}
37431
37432const opModifyVolumeAttribute = "ModifyVolumeAttribute"
37433
37434// ModifyVolumeAttributeRequest generates a "aws/request.Request" representing the
37435// client's request for the ModifyVolumeAttribute operation. The "output" return
37436// value will be populated with the request's response once the request completes
37437// successfully.
37438//
37439// Use "Send" method on the returned Request to send the API call to the service.
37440// the "output" return value is not valid until after Send returns without error.
37441//
37442// See ModifyVolumeAttribute for more information on using the ModifyVolumeAttribute
37443// API call, and error handling.
37444//
37445// This method is useful when you want to inject custom logic or configuration
37446// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37447//
37448//
37449//    // Example sending a request using the ModifyVolumeAttributeRequest method.
37450//    req, resp := client.ModifyVolumeAttributeRequest(params)
37451//
37452//    err := req.Send()
37453//    if err == nil { // resp is now filled
37454//        fmt.Println(resp)
37455//    }
37456//
37457// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
37458func (c *EC2) ModifyVolumeAttributeRequest(input *ModifyVolumeAttributeInput) (req *request.Request, output *ModifyVolumeAttributeOutput) {
37459	op := &request.Operation{
37460		Name:       opModifyVolumeAttribute,
37461		HTTPMethod: "POST",
37462		HTTPPath:   "/",
37463	}
37464
37465	if input == nil {
37466		input = &ModifyVolumeAttributeInput{}
37467	}
37468
37469	output = &ModifyVolumeAttributeOutput{}
37470	req = c.newRequest(op, input, output)
37471	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
37472	return
37473}
37474
37475// ModifyVolumeAttribute API operation for Amazon Elastic Compute Cloud.
37476//
37477// Modifies a volume attribute.
37478//
37479// By default, all I/O operations for the volume are suspended when the data
37480// on the volume is determined to be potentially inconsistent, to prevent undetectable,
37481// latent data corruption. The I/O access to the volume can be resumed by first
37482// enabling I/O access and then checking the data consistency on your volume.
37483//
37484// You can change the default behavior to resume I/O operations. We recommend
37485// that you change this only for boot volumes or for volumes that are stateless
37486// or disposable.
37487//
37488// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37489// with awserr.Error's Code and Message methods to get detailed information about
37490// the error.
37491//
37492// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37493// API operation ModifyVolumeAttribute for usage and error information.
37494// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
37495func (c *EC2) ModifyVolumeAttribute(input *ModifyVolumeAttributeInput) (*ModifyVolumeAttributeOutput, error) {
37496	req, out := c.ModifyVolumeAttributeRequest(input)
37497	return out, req.Send()
37498}
37499
37500// ModifyVolumeAttributeWithContext is the same as ModifyVolumeAttribute with the addition of
37501// the ability to pass a context and additional request options.
37502//
37503// See ModifyVolumeAttribute for details on how to use this API operation.
37504//
37505// The context must be non-nil and will be used for request cancellation. If
37506// the context is nil a panic will occur. In the future the SDK may create
37507// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37508// for more information on using Contexts.
37509func (c *EC2) ModifyVolumeAttributeWithContext(ctx aws.Context, input *ModifyVolumeAttributeInput, opts ...request.Option) (*ModifyVolumeAttributeOutput, error) {
37510	req, out := c.ModifyVolumeAttributeRequest(input)
37511	req.SetContext(ctx)
37512	req.ApplyOptions(opts...)
37513	return out, req.Send()
37514}
37515
37516const opModifyVpcAttribute = "ModifyVpcAttribute"
37517
37518// ModifyVpcAttributeRequest generates a "aws/request.Request" representing the
37519// client's request for the ModifyVpcAttribute operation. The "output" return
37520// value will be populated with the request's response once the request completes
37521// successfully.
37522//
37523// Use "Send" method on the returned Request to send the API call to the service.
37524// the "output" return value is not valid until after Send returns without error.
37525//
37526// See ModifyVpcAttribute for more information on using the ModifyVpcAttribute
37527// API call, and error handling.
37528//
37529// This method is useful when you want to inject custom logic or configuration
37530// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37531//
37532//
37533//    // Example sending a request using the ModifyVpcAttributeRequest method.
37534//    req, resp := client.ModifyVpcAttributeRequest(params)
37535//
37536//    err := req.Send()
37537//    if err == nil { // resp is now filled
37538//        fmt.Println(resp)
37539//    }
37540//
37541// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
37542func (c *EC2) ModifyVpcAttributeRequest(input *ModifyVpcAttributeInput) (req *request.Request, output *ModifyVpcAttributeOutput) {
37543	op := &request.Operation{
37544		Name:       opModifyVpcAttribute,
37545		HTTPMethod: "POST",
37546		HTTPPath:   "/",
37547	}
37548
37549	if input == nil {
37550		input = &ModifyVpcAttributeInput{}
37551	}
37552
37553	output = &ModifyVpcAttributeOutput{}
37554	req = c.newRequest(op, input, output)
37555	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
37556	return
37557}
37558
37559// ModifyVpcAttribute API operation for Amazon Elastic Compute Cloud.
37560//
37561// Modifies the specified attribute of the specified VPC.
37562//
37563// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37564// with awserr.Error's Code and Message methods to get detailed information about
37565// the error.
37566//
37567// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37568// API operation ModifyVpcAttribute for usage and error information.
37569// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
37570func (c *EC2) ModifyVpcAttribute(input *ModifyVpcAttributeInput) (*ModifyVpcAttributeOutput, error) {
37571	req, out := c.ModifyVpcAttributeRequest(input)
37572	return out, req.Send()
37573}
37574
37575// ModifyVpcAttributeWithContext is the same as ModifyVpcAttribute with the addition of
37576// the ability to pass a context and additional request options.
37577//
37578// See ModifyVpcAttribute for details on how to use this API operation.
37579//
37580// The context must be non-nil and will be used for request cancellation. If
37581// the context is nil a panic will occur. In the future the SDK may create
37582// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37583// for more information on using Contexts.
37584func (c *EC2) ModifyVpcAttributeWithContext(ctx aws.Context, input *ModifyVpcAttributeInput, opts ...request.Option) (*ModifyVpcAttributeOutput, error) {
37585	req, out := c.ModifyVpcAttributeRequest(input)
37586	req.SetContext(ctx)
37587	req.ApplyOptions(opts...)
37588	return out, req.Send()
37589}
37590
37591const opModifyVpcEndpoint = "ModifyVpcEndpoint"
37592
37593// ModifyVpcEndpointRequest generates a "aws/request.Request" representing the
37594// client's request for the ModifyVpcEndpoint operation. The "output" return
37595// value will be populated with the request's response once the request completes
37596// successfully.
37597//
37598// Use "Send" method on the returned Request to send the API call to the service.
37599// the "output" return value is not valid until after Send returns without error.
37600//
37601// See ModifyVpcEndpoint for more information on using the ModifyVpcEndpoint
37602// API call, and error handling.
37603//
37604// This method is useful when you want to inject custom logic or configuration
37605// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37606//
37607//
37608//    // Example sending a request using the ModifyVpcEndpointRequest method.
37609//    req, resp := client.ModifyVpcEndpointRequest(params)
37610//
37611//    err := req.Send()
37612//    if err == nil { // resp is now filled
37613//        fmt.Println(resp)
37614//    }
37615//
37616// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
37617func (c *EC2) ModifyVpcEndpointRequest(input *ModifyVpcEndpointInput) (req *request.Request, output *ModifyVpcEndpointOutput) {
37618	op := &request.Operation{
37619		Name:       opModifyVpcEndpoint,
37620		HTTPMethod: "POST",
37621		HTTPPath:   "/",
37622	}
37623
37624	if input == nil {
37625		input = &ModifyVpcEndpointInput{}
37626	}
37627
37628	output = &ModifyVpcEndpointOutput{}
37629	req = c.newRequest(op, input, output)
37630	return
37631}
37632
37633// ModifyVpcEndpoint API operation for Amazon Elastic Compute Cloud.
37634//
37635// Modifies attributes of a specified VPC endpoint. The attributes that you
37636// can modify depend on the type of VPC endpoint (interface, gateway, or Gateway
37637// Load Balancer). For more information, see VPC Endpoints (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)
37638// in the Amazon Virtual Private Cloud User Guide.
37639//
37640// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37641// with awserr.Error's Code and Message methods to get detailed information about
37642// the error.
37643//
37644// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37645// API operation ModifyVpcEndpoint for usage and error information.
37646// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
37647func (c *EC2) ModifyVpcEndpoint(input *ModifyVpcEndpointInput) (*ModifyVpcEndpointOutput, error) {
37648	req, out := c.ModifyVpcEndpointRequest(input)
37649	return out, req.Send()
37650}
37651
37652// ModifyVpcEndpointWithContext is the same as ModifyVpcEndpoint with the addition of
37653// the ability to pass a context and additional request options.
37654//
37655// See ModifyVpcEndpoint for details on how to use this API operation.
37656//
37657// The context must be non-nil and will be used for request cancellation. If
37658// the context is nil a panic will occur. In the future the SDK may create
37659// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37660// for more information on using Contexts.
37661func (c *EC2) ModifyVpcEndpointWithContext(ctx aws.Context, input *ModifyVpcEndpointInput, opts ...request.Option) (*ModifyVpcEndpointOutput, error) {
37662	req, out := c.ModifyVpcEndpointRequest(input)
37663	req.SetContext(ctx)
37664	req.ApplyOptions(opts...)
37665	return out, req.Send()
37666}
37667
37668const opModifyVpcEndpointConnectionNotification = "ModifyVpcEndpointConnectionNotification"
37669
37670// ModifyVpcEndpointConnectionNotificationRequest generates a "aws/request.Request" representing the
37671// client's request for the ModifyVpcEndpointConnectionNotification operation. The "output" return
37672// value will be populated with the request's response once the request completes
37673// successfully.
37674//
37675// Use "Send" method on the returned Request to send the API call to the service.
37676// the "output" return value is not valid until after Send returns without error.
37677//
37678// See ModifyVpcEndpointConnectionNotification for more information on using the ModifyVpcEndpointConnectionNotification
37679// API call, and error handling.
37680//
37681// This method is useful when you want to inject custom logic or configuration
37682// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37683//
37684//
37685//    // Example sending a request using the ModifyVpcEndpointConnectionNotificationRequest method.
37686//    req, resp := client.ModifyVpcEndpointConnectionNotificationRequest(params)
37687//
37688//    err := req.Send()
37689//    if err == nil { // resp is now filled
37690//        fmt.Println(resp)
37691//    }
37692//
37693// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotification
37694func (c *EC2) ModifyVpcEndpointConnectionNotificationRequest(input *ModifyVpcEndpointConnectionNotificationInput) (req *request.Request, output *ModifyVpcEndpointConnectionNotificationOutput) {
37695	op := &request.Operation{
37696		Name:       opModifyVpcEndpointConnectionNotification,
37697		HTTPMethod: "POST",
37698		HTTPPath:   "/",
37699	}
37700
37701	if input == nil {
37702		input = &ModifyVpcEndpointConnectionNotificationInput{}
37703	}
37704
37705	output = &ModifyVpcEndpointConnectionNotificationOutput{}
37706	req = c.newRequest(op, input, output)
37707	return
37708}
37709
37710// ModifyVpcEndpointConnectionNotification API operation for Amazon Elastic Compute Cloud.
37711//
37712// Modifies a connection notification for VPC endpoint or VPC endpoint service.
37713// You can change the SNS topic for the notification, or the events for which
37714// to be notified.
37715//
37716// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37717// with awserr.Error's Code and Message methods to get detailed information about
37718// the error.
37719//
37720// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37721// API operation ModifyVpcEndpointConnectionNotification for usage and error information.
37722// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotification
37723func (c *EC2) ModifyVpcEndpointConnectionNotification(input *ModifyVpcEndpointConnectionNotificationInput) (*ModifyVpcEndpointConnectionNotificationOutput, error) {
37724	req, out := c.ModifyVpcEndpointConnectionNotificationRequest(input)
37725	return out, req.Send()
37726}
37727
37728// ModifyVpcEndpointConnectionNotificationWithContext is the same as ModifyVpcEndpointConnectionNotification with the addition of
37729// the ability to pass a context and additional request options.
37730//
37731// See ModifyVpcEndpointConnectionNotification for details on how to use this API operation.
37732//
37733// The context must be non-nil and will be used for request cancellation. If
37734// the context is nil a panic will occur. In the future the SDK may create
37735// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37736// for more information on using Contexts.
37737func (c *EC2) ModifyVpcEndpointConnectionNotificationWithContext(ctx aws.Context, input *ModifyVpcEndpointConnectionNotificationInput, opts ...request.Option) (*ModifyVpcEndpointConnectionNotificationOutput, error) {
37738	req, out := c.ModifyVpcEndpointConnectionNotificationRequest(input)
37739	req.SetContext(ctx)
37740	req.ApplyOptions(opts...)
37741	return out, req.Send()
37742}
37743
37744const opModifyVpcEndpointServiceConfiguration = "ModifyVpcEndpointServiceConfiguration"
37745
37746// ModifyVpcEndpointServiceConfigurationRequest generates a "aws/request.Request" representing the
37747// client's request for the ModifyVpcEndpointServiceConfiguration operation. The "output" return
37748// value will be populated with the request's response once the request completes
37749// successfully.
37750//
37751// Use "Send" method on the returned Request to send the API call to the service.
37752// the "output" return value is not valid until after Send returns without error.
37753//
37754// See ModifyVpcEndpointServiceConfiguration for more information on using the ModifyVpcEndpointServiceConfiguration
37755// API call, and error handling.
37756//
37757// This method is useful when you want to inject custom logic or configuration
37758// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37759//
37760//
37761//    // Example sending a request using the ModifyVpcEndpointServiceConfigurationRequest method.
37762//    req, resp := client.ModifyVpcEndpointServiceConfigurationRequest(params)
37763//
37764//    err := req.Send()
37765//    if err == nil { // resp is now filled
37766//        fmt.Println(resp)
37767//    }
37768//
37769// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfiguration
37770func (c *EC2) ModifyVpcEndpointServiceConfigurationRequest(input *ModifyVpcEndpointServiceConfigurationInput) (req *request.Request, output *ModifyVpcEndpointServiceConfigurationOutput) {
37771	op := &request.Operation{
37772		Name:       opModifyVpcEndpointServiceConfiguration,
37773		HTTPMethod: "POST",
37774		HTTPPath:   "/",
37775	}
37776
37777	if input == nil {
37778		input = &ModifyVpcEndpointServiceConfigurationInput{}
37779	}
37780
37781	output = &ModifyVpcEndpointServiceConfigurationOutput{}
37782	req = c.newRequest(op, input, output)
37783	return
37784}
37785
37786// ModifyVpcEndpointServiceConfiguration API operation for Amazon Elastic Compute Cloud.
37787//
37788// Modifies the attributes of your VPC endpoint service configuration. You can
37789// change the Network Load Balancers or Gateway Load Balancers for your service,
37790// and you can specify whether acceptance is required for requests to connect
37791// to your endpoint service through an interface VPC endpoint.
37792//
37793// If you set or modify the private DNS name, you must prove that you own the
37794// private DNS domain name. For more information, see VPC Endpoint Service Private
37795// DNS Name Verification (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-dns-validation.html)
37796// in the Amazon Virtual Private Cloud User Guide.
37797//
37798// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37799// with awserr.Error's Code and Message methods to get detailed information about
37800// the error.
37801//
37802// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37803// API operation ModifyVpcEndpointServiceConfiguration for usage and error information.
37804// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfiguration
37805func (c *EC2) ModifyVpcEndpointServiceConfiguration(input *ModifyVpcEndpointServiceConfigurationInput) (*ModifyVpcEndpointServiceConfigurationOutput, error) {
37806	req, out := c.ModifyVpcEndpointServiceConfigurationRequest(input)
37807	return out, req.Send()
37808}
37809
37810// ModifyVpcEndpointServiceConfigurationWithContext is the same as ModifyVpcEndpointServiceConfiguration with the addition of
37811// the ability to pass a context and additional request options.
37812//
37813// See ModifyVpcEndpointServiceConfiguration for details on how to use this API operation.
37814//
37815// The context must be non-nil and will be used for request cancellation. If
37816// the context is nil a panic will occur. In the future the SDK may create
37817// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37818// for more information on using Contexts.
37819func (c *EC2) ModifyVpcEndpointServiceConfigurationWithContext(ctx aws.Context, input *ModifyVpcEndpointServiceConfigurationInput, opts ...request.Option) (*ModifyVpcEndpointServiceConfigurationOutput, error) {
37820	req, out := c.ModifyVpcEndpointServiceConfigurationRequest(input)
37821	req.SetContext(ctx)
37822	req.ApplyOptions(opts...)
37823	return out, req.Send()
37824}
37825
37826const opModifyVpcEndpointServicePermissions = "ModifyVpcEndpointServicePermissions"
37827
37828// ModifyVpcEndpointServicePermissionsRequest generates a "aws/request.Request" representing the
37829// client's request for the ModifyVpcEndpointServicePermissions operation. The "output" return
37830// value will be populated with the request's response once the request completes
37831// successfully.
37832//
37833// Use "Send" method on the returned Request to send the API call to the service.
37834// the "output" return value is not valid until after Send returns without error.
37835//
37836// See ModifyVpcEndpointServicePermissions for more information on using the ModifyVpcEndpointServicePermissions
37837// API call, and error handling.
37838//
37839// This method is useful when you want to inject custom logic or configuration
37840// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37841//
37842//
37843//    // Example sending a request using the ModifyVpcEndpointServicePermissionsRequest method.
37844//    req, resp := client.ModifyVpcEndpointServicePermissionsRequest(params)
37845//
37846//    err := req.Send()
37847//    if err == nil { // resp is now filled
37848//        fmt.Println(resp)
37849//    }
37850//
37851// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissions
37852func (c *EC2) ModifyVpcEndpointServicePermissionsRequest(input *ModifyVpcEndpointServicePermissionsInput) (req *request.Request, output *ModifyVpcEndpointServicePermissionsOutput) {
37853	op := &request.Operation{
37854		Name:       opModifyVpcEndpointServicePermissions,
37855		HTTPMethod: "POST",
37856		HTTPPath:   "/",
37857	}
37858
37859	if input == nil {
37860		input = &ModifyVpcEndpointServicePermissionsInput{}
37861	}
37862
37863	output = &ModifyVpcEndpointServicePermissionsOutput{}
37864	req = c.newRequest(op, input, output)
37865	return
37866}
37867
37868// ModifyVpcEndpointServicePermissions API operation for Amazon Elastic Compute Cloud.
37869//
37870// Modifies the permissions for your VPC endpoint service (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html).
37871// You can add or remove permissions for service consumers (IAM users, IAM roles,
37872// and AWS accounts) to connect to your endpoint service.
37873//
37874// If you grant permissions to all principals, the service is public. Any users
37875// who know the name of a public service can send a request to attach an endpoint.
37876// If the service does not require manual approval, attachments are automatically
37877// approved.
37878//
37879// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37880// with awserr.Error's Code and Message methods to get detailed information about
37881// the error.
37882//
37883// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37884// API operation ModifyVpcEndpointServicePermissions for usage and error information.
37885// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissions
37886func (c *EC2) ModifyVpcEndpointServicePermissions(input *ModifyVpcEndpointServicePermissionsInput) (*ModifyVpcEndpointServicePermissionsOutput, error) {
37887	req, out := c.ModifyVpcEndpointServicePermissionsRequest(input)
37888	return out, req.Send()
37889}
37890
37891// ModifyVpcEndpointServicePermissionsWithContext is the same as ModifyVpcEndpointServicePermissions with the addition of
37892// the ability to pass a context and additional request options.
37893//
37894// See ModifyVpcEndpointServicePermissions for details on how to use this API operation.
37895//
37896// The context must be non-nil and will be used for request cancellation. If
37897// the context is nil a panic will occur. In the future the SDK may create
37898// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37899// for more information on using Contexts.
37900func (c *EC2) ModifyVpcEndpointServicePermissionsWithContext(ctx aws.Context, input *ModifyVpcEndpointServicePermissionsInput, opts ...request.Option) (*ModifyVpcEndpointServicePermissionsOutput, error) {
37901	req, out := c.ModifyVpcEndpointServicePermissionsRequest(input)
37902	req.SetContext(ctx)
37903	req.ApplyOptions(opts...)
37904	return out, req.Send()
37905}
37906
37907const opModifyVpcPeeringConnectionOptions = "ModifyVpcPeeringConnectionOptions"
37908
37909// ModifyVpcPeeringConnectionOptionsRequest generates a "aws/request.Request" representing the
37910// client's request for the ModifyVpcPeeringConnectionOptions operation. The "output" return
37911// value will be populated with the request's response once the request completes
37912// successfully.
37913//
37914// Use "Send" method on the returned Request to send the API call to the service.
37915// the "output" return value is not valid until after Send returns without error.
37916//
37917// See ModifyVpcPeeringConnectionOptions for more information on using the ModifyVpcPeeringConnectionOptions
37918// API call, and error handling.
37919//
37920// This method is useful when you want to inject custom logic or configuration
37921// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37922//
37923//
37924//    // Example sending a request using the ModifyVpcPeeringConnectionOptionsRequest method.
37925//    req, resp := client.ModifyVpcPeeringConnectionOptionsRequest(params)
37926//
37927//    err := req.Send()
37928//    if err == nil { // resp is now filled
37929//        fmt.Println(resp)
37930//    }
37931//
37932// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
37933func (c *EC2) ModifyVpcPeeringConnectionOptionsRequest(input *ModifyVpcPeeringConnectionOptionsInput) (req *request.Request, output *ModifyVpcPeeringConnectionOptionsOutput) {
37934	op := &request.Operation{
37935		Name:       opModifyVpcPeeringConnectionOptions,
37936		HTTPMethod: "POST",
37937		HTTPPath:   "/",
37938	}
37939
37940	if input == nil {
37941		input = &ModifyVpcPeeringConnectionOptionsInput{}
37942	}
37943
37944	output = &ModifyVpcPeeringConnectionOptionsOutput{}
37945	req = c.newRequest(op, input, output)
37946	return
37947}
37948
37949// ModifyVpcPeeringConnectionOptions API operation for Amazon Elastic Compute Cloud.
37950//
37951// Modifies the VPC peering connection options on one side of a VPC peering
37952// connection. You can do the following:
37953//
37954//    * Enable/disable communication over the peering connection between an
37955//    EC2-Classic instance that's linked to your VPC (using ClassicLink) and
37956//    instances in the peer VPC.
37957//
37958//    * Enable/disable communication over the peering connection between instances
37959//    in your VPC and an EC2-Classic instance that's linked to the peer VPC.
37960//
37961//    * Enable/disable the ability to resolve public DNS hostnames to private
37962//    IP addresses when queried from instances in the peer VPC.
37963//
37964// If the peered VPCs are in the same Amazon Web Services account, you can enable
37965// DNS resolution for queries from the local VPC. This ensures that queries
37966// from the local VPC resolve to private IP addresses in the peer VPC. This
37967// option is not available if the peered VPCs are in different different Amazon
37968// Web Services accounts or different Regions. For peered VPCs in different
37969// Amazon Web Services accounts, each Amazon Web Services account owner must
37970// initiate a separate request to modify the peering connection options. For
37971// inter-region peering connections, you must use the Region for the requester
37972// VPC to modify the requester VPC peering options and the Region for the accepter
37973// VPC to modify the accepter VPC peering options. To verify which VPCs are
37974// the accepter and the requester for a VPC peering connection, use the DescribeVpcPeeringConnections
37975// command.
37976//
37977// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37978// with awserr.Error's Code and Message methods to get detailed information about
37979// the error.
37980//
37981// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37982// API operation ModifyVpcPeeringConnectionOptions for usage and error information.
37983// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
37984func (c *EC2) ModifyVpcPeeringConnectionOptions(input *ModifyVpcPeeringConnectionOptionsInput) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
37985	req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
37986	return out, req.Send()
37987}
37988
37989// ModifyVpcPeeringConnectionOptionsWithContext is the same as ModifyVpcPeeringConnectionOptions with the addition of
37990// the ability to pass a context and additional request options.
37991//
37992// See ModifyVpcPeeringConnectionOptions for details on how to use this API operation.
37993//
37994// The context must be non-nil and will be used for request cancellation. If
37995// the context is nil a panic will occur. In the future the SDK may create
37996// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37997// for more information on using Contexts.
37998func (c *EC2) ModifyVpcPeeringConnectionOptionsWithContext(ctx aws.Context, input *ModifyVpcPeeringConnectionOptionsInput, opts ...request.Option) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
37999	req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
38000	req.SetContext(ctx)
38001	req.ApplyOptions(opts...)
38002	return out, req.Send()
38003}
38004
38005const opModifyVpcTenancy = "ModifyVpcTenancy"
38006
38007// ModifyVpcTenancyRequest generates a "aws/request.Request" representing the
38008// client's request for the ModifyVpcTenancy operation. The "output" return
38009// value will be populated with the request's response once the request completes
38010// successfully.
38011//
38012// Use "Send" method on the returned Request to send the API call to the service.
38013// the "output" return value is not valid until after Send returns without error.
38014//
38015// See ModifyVpcTenancy for more information on using the ModifyVpcTenancy
38016// API call, and error handling.
38017//
38018// This method is useful when you want to inject custom logic or configuration
38019// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38020//
38021//
38022//    // Example sending a request using the ModifyVpcTenancyRequest method.
38023//    req, resp := client.ModifyVpcTenancyRequest(params)
38024//
38025//    err := req.Send()
38026//    if err == nil { // resp is now filled
38027//        fmt.Println(resp)
38028//    }
38029//
38030// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancy
38031func (c *EC2) ModifyVpcTenancyRequest(input *ModifyVpcTenancyInput) (req *request.Request, output *ModifyVpcTenancyOutput) {
38032	op := &request.Operation{
38033		Name:       opModifyVpcTenancy,
38034		HTTPMethod: "POST",
38035		HTTPPath:   "/",
38036	}
38037
38038	if input == nil {
38039		input = &ModifyVpcTenancyInput{}
38040	}
38041
38042	output = &ModifyVpcTenancyOutput{}
38043	req = c.newRequest(op, input, output)
38044	return
38045}
38046
38047// ModifyVpcTenancy API operation for Amazon Elastic Compute Cloud.
38048//
38049// Modifies the instance tenancy attribute of the specified VPC. You can change
38050// the instance tenancy attribute of a VPC to default only. You cannot change
38051// the instance tenancy attribute to dedicated.
38052//
38053// After you modify the tenancy of the VPC, any new instances that you launch
38054// into the VPC have a tenancy of default, unless you specify otherwise during
38055// launch. The tenancy of any existing instances in the VPC is not affected.
38056//
38057// For more information, see Dedicated Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)
38058// in the Amazon Elastic Compute Cloud User Guide.
38059//
38060// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38061// with awserr.Error's Code and Message methods to get detailed information about
38062// the error.
38063//
38064// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38065// API operation ModifyVpcTenancy for usage and error information.
38066// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancy
38067func (c *EC2) ModifyVpcTenancy(input *ModifyVpcTenancyInput) (*ModifyVpcTenancyOutput, error) {
38068	req, out := c.ModifyVpcTenancyRequest(input)
38069	return out, req.Send()
38070}
38071
38072// ModifyVpcTenancyWithContext is the same as ModifyVpcTenancy with the addition of
38073// the ability to pass a context and additional request options.
38074//
38075// See ModifyVpcTenancy for details on how to use this API operation.
38076//
38077// The context must be non-nil and will be used for request cancellation. If
38078// the context is nil a panic will occur. In the future the SDK may create
38079// sub-contexts for http.Requests. See https://golang.org/pkg/context/
38080// for more information on using Contexts.
38081func (c *EC2) ModifyVpcTenancyWithContext(ctx aws.Context, input *ModifyVpcTenancyInput, opts ...request.Option) (*ModifyVpcTenancyOutput, error) {
38082	req, out := c.ModifyVpcTenancyRequest(input)
38083	req.SetContext(ctx)
38084	req.ApplyOptions(opts...)
38085	return out, req.Send()
38086}
38087
38088const opModifyVpnConnection = "ModifyVpnConnection"
38089
38090// ModifyVpnConnectionRequest generates a "aws/request.Request" representing the
38091// client's request for the ModifyVpnConnection operation. The "output" return
38092// value will be populated with the request's response once the request completes
38093// successfully.
38094//
38095// Use "Send" method on the returned Request to send the API call to the service.
38096// the "output" return value is not valid until after Send returns without error.
38097//
38098// See ModifyVpnConnection for more information on using the ModifyVpnConnection
38099// API call, and error handling.
38100//
38101// This method is useful when you want to inject custom logic or configuration
38102// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38103//
38104//
38105//    // Example sending a request using the ModifyVpnConnectionRequest method.
38106//    req, resp := client.ModifyVpnConnectionRequest(params)
38107//
38108//    err := req.Send()
38109//    if err == nil { // resp is now filled
38110//        fmt.Println(resp)
38111//    }
38112//
38113// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnConnection
38114func (c *EC2) ModifyVpnConnectionRequest(input *ModifyVpnConnectionInput) (req *request.Request, output *ModifyVpnConnectionOutput) {
38115	op := &request.Operation{
38116		Name:       opModifyVpnConnection,
38117		HTTPMethod: "POST",
38118		HTTPPath:   "/",
38119	}
38120
38121	if input == nil {
38122		input = &ModifyVpnConnectionInput{}
38123	}
38124
38125	output = &ModifyVpnConnectionOutput{}
38126	req = c.newRequest(op, input, output)
38127	return
38128}
38129
38130// ModifyVpnConnection API operation for Amazon Elastic Compute Cloud.
38131//
38132// Modifies the customer gateway or the target gateway of an AWS Site-to-Site
38133// VPN connection. To modify the target gateway, the following migration options
38134// are available:
38135//
38136//    * An existing virtual private gateway to a new virtual private gateway
38137//
38138//    * An existing virtual private gateway to a transit gateway
38139//
38140//    * An existing transit gateway to a new transit gateway
38141//
38142//    * An existing transit gateway to a virtual private gateway
38143//
38144// Before you perform the migration to the new gateway, you must configure the
38145// new gateway. Use CreateVpnGateway to create a virtual private gateway, or
38146// CreateTransitGateway to create a transit gateway.
38147//
38148// This step is required when you migrate from a virtual private gateway with
38149// static routes to a transit gateway.
38150//
38151// You must delete the static routes before you migrate to the new gateway.
38152//
38153// Keep a copy of the static route before you delete it. You will need to add
38154// back these routes to the transit gateway after the VPN connection migration
38155// is complete.
38156//
38157// After you migrate to the new gateway, you might need to modify your VPC route
38158// table. Use CreateRoute and DeleteRoute to make the changes described in VPN
38159// Gateway Target Modification Required VPC Route Table Updates (https://docs.aws.amazon.com/vpn/latest/s2svpn/modify-vpn-target.html#step-update-routing)
38160// in the AWS Site-to-Site VPN User Guide.
38161//
38162// When the new gateway is a transit gateway, modify the transit gateway route
38163// table to allow traffic between the VPC and the AWS Site-to-Site VPN connection.
38164// Use CreateTransitGatewayRoute to add the routes.
38165//
38166// If you deleted VPN static routes, you must add the static routes to the transit
38167// gateway route table.
38168//
38169// After you perform this operation, the AWS VPN endpoint's IP addresses on
38170// the AWS side and the tunnel options remain intact. Your AWS Site-to-Site
38171// VPN connection will be temporarily unavailable for a brief period while we
38172// provision the new endpoints.
38173//
38174// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38175// with awserr.Error's Code and Message methods to get detailed information about
38176// the error.
38177//
38178// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38179// API operation ModifyVpnConnection for usage and error information.
38180// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnConnection
38181func (c *EC2) ModifyVpnConnection(input *ModifyVpnConnectionInput) (*ModifyVpnConnectionOutput, error) {
38182	req, out := c.ModifyVpnConnectionRequest(input)
38183	return out, req.Send()
38184}
38185
38186// ModifyVpnConnectionWithContext is the same as ModifyVpnConnection with the addition of
38187// the ability to pass a context and additional request options.
38188//
38189// See ModifyVpnConnection for details on how to use this API operation.
38190//
38191// The context must be non-nil and will be used for request cancellation. If
38192// the context is nil a panic will occur. In the future the SDK may create
38193// sub-contexts for http.Requests. See https://golang.org/pkg/context/
38194// for more information on using Contexts.
38195func (c *EC2) ModifyVpnConnectionWithContext(ctx aws.Context, input *ModifyVpnConnectionInput, opts ...request.Option) (*ModifyVpnConnectionOutput, error) {
38196	req, out := c.ModifyVpnConnectionRequest(input)
38197	req.SetContext(ctx)
38198	req.ApplyOptions(opts...)
38199	return out, req.Send()
38200}
38201
38202const opModifyVpnConnectionOptions = "ModifyVpnConnectionOptions"
38203
38204// ModifyVpnConnectionOptionsRequest generates a "aws/request.Request" representing the
38205// client's request for the ModifyVpnConnectionOptions operation. The "output" return
38206// value will be populated with the request's response once the request completes
38207// successfully.
38208//
38209// Use "Send" method on the returned Request to send the API call to the service.
38210// the "output" return value is not valid until after Send returns without error.
38211//
38212// See ModifyVpnConnectionOptions for more information on using the ModifyVpnConnectionOptions
38213// API call, and error handling.
38214//
38215// This method is useful when you want to inject custom logic or configuration
38216// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38217//
38218//
38219//    // Example sending a request using the ModifyVpnConnectionOptionsRequest method.
38220//    req, resp := client.ModifyVpnConnectionOptionsRequest(params)
38221//
38222//    err := req.Send()
38223//    if err == nil { // resp is now filled
38224//        fmt.Println(resp)
38225//    }
38226//
38227// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnConnectionOptions
38228func (c *EC2) ModifyVpnConnectionOptionsRequest(input *ModifyVpnConnectionOptionsInput) (req *request.Request, output *ModifyVpnConnectionOptionsOutput) {
38229	op := &request.Operation{
38230		Name:       opModifyVpnConnectionOptions,
38231		HTTPMethod: "POST",
38232		HTTPPath:   "/",
38233	}
38234
38235	if input == nil {
38236		input = &ModifyVpnConnectionOptionsInput{}
38237	}
38238
38239	output = &ModifyVpnConnectionOptionsOutput{}
38240	req = c.newRequest(op, input, output)
38241	return
38242}
38243
38244// ModifyVpnConnectionOptions API operation for Amazon Elastic Compute Cloud.
38245//
38246// Modifies the connection options for your Site-to-Site VPN connection.
38247//
38248// When you modify the VPN connection options, the VPN endpoint IP addresses
38249// on the AWS side do not change, and the tunnel options do not change. Your
38250// VPN connection will be temporarily unavailable for a brief period while the
38251// VPN connection is updated.
38252//
38253// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38254// with awserr.Error's Code and Message methods to get detailed information about
38255// the error.
38256//
38257// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38258// API operation ModifyVpnConnectionOptions for usage and error information.
38259// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnConnectionOptions
38260func (c *EC2) ModifyVpnConnectionOptions(input *ModifyVpnConnectionOptionsInput) (*ModifyVpnConnectionOptionsOutput, error) {
38261	req, out := c.ModifyVpnConnectionOptionsRequest(input)
38262	return out, req.Send()
38263}
38264
38265// ModifyVpnConnectionOptionsWithContext is the same as ModifyVpnConnectionOptions with the addition of
38266// the ability to pass a context and additional request options.
38267//
38268// See ModifyVpnConnectionOptions for details on how to use this API operation.
38269//
38270// The context must be non-nil and will be used for request cancellation. If
38271// the context is nil a panic will occur. In the future the SDK may create
38272// sub-contexts for http.Requests. See https://golang.org/pkg/context/
38273// for more information on using Contexts.
38274func (c *EC2) ModifyVpnConnectionOptionsWithContext(ctx aws.Context, input *ModifyVpnConnectionOptionsInput, opts ...request.Option) (*ModifyVpnConnectionOptionsOutput, error) {
38275	req, out := c.ModifyVpnConnectionOptionsRequest(input)
38276	req.SetContext(ctx)
38277	req.ApplyOptions(opts...)
38278	return out, req.Send()
38279}
38280
38281const opModifyVpnTunnelCertificate = "ModifyVpnTunnelCertificate"
38282
38283// ModifyVpnTunnelCertificateRequest generates a "aws/request.Request" representing the
38284// client's request for the ModifyVpnTunnelCertificate operation. The "output" return
38285// value will be populated with the request's response once the request completes
38286// successfully.
38287//
38288// Use "Send" method on the returned Request to send the API call to the service.
38289// the "output" return value is not valid until after Send returns without error.
38290//
38291// See ModifyVpnTunnelCertificate for more information on using the ModifyVpnTunnelCertificate
38292// API call, and error handling.
38293//
38294// This method is useful when you want to inject custom logic or configuration
38295// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38296//
38297//
38298//    // Example sending a request using the ModifyVpnTunnelCertificateRequest method.
38299//    req, resp := client.ModifyVpnTunnelCertificateRequest(params)
38300//
38301//    err := req.Send()
38302//    if err == nil { // resp is now filled
38303//        fmt.Println(resp)
38304//    }
38305//
38306// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelCertificate
38307func (c *EC2) ModifyVpnTunnelCertificateRequest(input *ModifyVpnTunnelCertificateInput) (req *request.Request, output *ModifyVpnTunnelCertificateOutput) {
38308	op := &request.Operation{
38309		Name:       opModifyVpnTunnelCertificate,
38310		HTTPMethod: "POST",
38311		HTTPPath:   "/",
38312	}
38313
38314	if input == nil {
38315		input = &ModifyVpnTunnelCertificateInput{}
38316	}
38317
38318	output = &ModifyVpnTunnelCertificateOutput{}
38319	req = c.newRequest(op, input, output)
38320	return
38321}
38322
38323// ModifyVpnTunnelCertificate API operation for Amazon Elastic Compute Cloud.
38324//
38325// Modifies the VPN tunnel endpoint certificate.
38326//
38327// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38328// with awserr.Error's Code and Message methods to get detailed information about
38329// the error.
38330//
38331// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38332// API operation ModifyVpnTunnelCertificate for usage and error information.
38333// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelCertificate
38334func (c *EC2) ModifyVpnTunnelCertificate(input *ModifyVpnTunnelCertificateInput) (*ModifyVpnTunnelCertificateOutput, error) {
38335	req, out := c.ModifyVpnTunnelCertificateRequest(input)
38336	return out, req.Send()
38337}
38338
38339// ModifyVpnTunnelCertificateWithContext is the same as ModifyVpnTunnelCertificate with the addition of
38340// the ability to pass a context and additional request options.
38341//
38342// See ModifyVpnTunnelCertificate for details on how to use this API operation.
38343//
38344// The context must be non-nil and will be used for request cancellation. If
38345// the context is nil a panic will occur. In the future the SDK may create
38346// sub-contexts for http.Requests. See https://golang.org/pkg/context/
38347// for more information on using Contexts.
38348func (c *EC2) ModifyVpnTunnelCertificateWithContext(ctx aws.Context, input *ModifyVpnTunnelCertificateInput, opts ...request.Option) (*ModifyVpnTunnelCertificateOutput, error) {
38349	req, out := c.ModifyVpnTunnelCertificateRequest(input)
38350	req.SetContext(ctx)
38351	req.ApplyOptions(opts...)
38352	return out, req.Send()
38353}
38354
38355const opModifyVpnTunnelOptions = "ModifyVpnTunnelOptions"
38356
38357// ModifyVpnTunnelOptionsRequest generates a "aws/request.Request" representing the
38358// client's request for the ModifyVpnTunnelOptions operation. The "output" return
38359// value will be populated with the request's response once the request completes
38360// successfully.
38361//
38362// Use "Send" method on the returned Request to send the API call to the service.
38363// the "output" return value is not valid until after Send returns without error.
38364//
38365// See ModifyVpnTunnelOptions for more information on using the ModifyVpnTunnelOptions
38366// API call, and error handling.
38367//
38368// This method is useful when you want to inject custom logic or configuration
38369// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38370//
38371//
38372//    // Example sending a request using the ModifyVpnTunnelOptionsRequest method.
38373//    req, resp := client.ModifyVpnTunnelOptionsRequest(params)
38374//
38375//    err := req.Send()
38376//    if err == nil { // resp is now filled
38377//        fmt.Println(resp)
38378//    }
38379//
38380// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelOptions
38381func (c *EC2) ModifyVpnTunnelOptionsRequest(input *ModifyVpnTunnelOptionsInput) (req *request.Request, output *ModifyVpnTunnelOptionsOutput) {
38382	op := &request.Operation{
38383		Name:       opModifyVpnTunnelOptions,
38384		HTTPMethod: "POST",
38385		HTTPPath:   "/",
38386	}
38387
38388	if input == nil {
38389		input = &ModifyVpnTunnelOptionsInput{}
38390	}
38391
38392	output = &ModifyVpnTunnelOptionsOutput{}
38393	req = c.newRequest(op, input, output)
38394	return
38395}
38396
38397// ModifyVpnTunnelOptions API operation for Amazon Elastic Compute Cloud.
38398//
38399// Modifies the options for a VPN tunnel in an AWS Site-to-Site VPN connection.
38400// You can modify multiple options for a tunnel in a single request, but you
38401// can only modify one tunnel at a time. For more information, see Site-to-Site
38402// VPN Tunnel Options for Your Site-to-Site VPN Connection (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPNTunnels.html)
38403// in the AWS Site-to-Site VPN User Guide.
38404//
38405// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38406// with awserr.Error's Code and Message methods to get detailed information about
38407// the error.
38408//
38409// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38410// API operation ModifyVpnTunnelOptions for usage and error information.
38411// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelOptions
38412func (c *EC2) ModifyVpnTunnelOptions(input *ModifyVpnTunnelOptionsInput) (*ModifyVpnTunnelOptionsOutput, error) {
38413	req, out := c.ModifyVpnTunnelOptionsRequest(input)
38414	return out, req.Send()
38415}
38416
38417// ModifyVpnTunnelOptionsWithContext is the same as ModifyVpnTunnelOptions with the addition of
38418// the ability to pass a context and additional request options.
38419//
38420// See ModifyVpnTunnelOptions for details on how to use this API operation.
38421//
38422// The context must be non-nil and will be used for request cancellation. If
38423// the context is nil a panic will occur. In the future the SDK may create
38424// sub-contexts for http.Requests. See https://golang.org/pkg/context/
38425// for more information on using Contexts.
38426func (c *EC2) ModifyVpnTunnelOptionsWithContext(ctx aws.Context, input *ModifyVpnTunnelOptionsInput, opts ...request.Option) (*ModifyVpnTunnelOptionsOutput, error) {
38427	req, out := c.ModifyVpnTunnelOptionsRequest(input)
38428	req.SetContext(ctx)
38429	req.ApplyOptions(opts...)
38430	return out, req.Send()
38431}
38432
38433const opMonitorInstances = "MonitorInstances"
38434
38435// MonitorInstancesRequest generates a "aws/request.Request" representing the
38436// client's request for the MonitorInstances operation. The "output" return
38437// value will be populated with the request's response once the request completes
38438// successfully.
38439//
38440// Use "Send" method on the returned Request to send the API call to the service.
38441// the "output" return value is not valid until after Send returns without error.
38442//
38443// See MonitorInstances for more information on using the MonitorInstances
38444// API call, and error handling.
38445//
38446// This method is useful when you want to inject custom logic or configuration
38447// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38448//
38449//
38450//    // Example sending a request using the MonitorInstancesRequest method.
38451//    req, resp := client.MonitorInstancesRequest(params)
38452//
38453//    err := req.Send()
38454//    if err == nil { // resp is now filled
38455//        fmt.Println(resp)
38456//    }
38457//
38458// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
38459func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *request.Request, output *MonitorInstancesOutput) {
38460	op := &request.Operation{
38461		Name:       opMonitorInstances,
38462		HTTPMethod: "POST",
38463		HTTPPath:   "/",
38464	}
38465
38466	if input == nil {
38467		input = &MonitorInstancesInput{}
38468	}
38469
38470	output = &MonitorInstancesOutput{}
38471	req = c.newRequest(op, input, output)
38472	return
38473}
38474
38475// MonitorInstances API operation for Amazon Elastic Compute Cloud.
38476//
38477// Enables detailed monitoring for a running instance. Otherwise, basic monitoring
38478// is enabled. For more information, see Monitoring your instances and volumes
38479// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
38480// in the Amazon EC2 User Guide.
38481//
38482// To disable detailed monitoring, see .
38483//
38484// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38485// with awserr.Error's Code and Message methods to get detailed information about
38486// the error.
38487//
38488// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38489// API operation MonitorInstances for usage and error information.
38490// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
38491func (c *EC2) MonitorInstances(input *MonitorInstancesInput) (*MonitorInstancesOutput, error) {
38492	req, out := c.MonitorInstancesRequest(input)
38493	return out, req.Send()
38494}
38495
38496// MonitorInstancesWithContext is the same as MonitorInstances with the addition of
38497// the ability to pass a context and additional request options.
38498//
38499// See MonitorInstances for details on how to use this API operation.
38500//
38501// The context must be non-nil and will be used for request cancellation. If
38502// the context is nil a panic will occur. In the future the SDK may create
38503// sub-contexts for http.Requests. See https://golang.org/pkg/context/
38504// for more information on using Contexts.
38505func (c *EC2) MonitorInstancesWithContext(ctx aws.Context, input *MonitorInstancesInput, opts ...request.Option) (*MonitorInstancesOutput, error) {
38506	req, out := c.MonitorInstancesRequest(input)
38507	req.SetContext(ctx)
38508	req.ApplyOptions(opts...)
38509	return out, req.Send()
38510}
38511
38512const opMoveAddressToVpc = "MoveAddressToVpc"
38513
38514// MoveAddressToVpcRequest generates a "aws/request.Request" representing the
38515// client's request for the MoveAddressToVpc operation. The "output" return
38516// value will be populated with the request's response once the request completes
38517// successfully.
38518//
38519// Use "Send" method on the returned Request to send the API call to the service.
38520// the "output" return value is not valid until after Send returns without error.
38521//
38522// See MoveAddressToVpc for more information on using the MoveAddressToVpc
38523// API call, and error handling.
38524//
38525// This method is useful when you want to inject custom logic or configuration
38526// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38527//
38528//
38529//    // Example sending a request using the MoveAddressToVpcRequest method.
38530//    req, resp := client.MoveAddressToVpcRequest(params)
38531//
38532//    err := req.Send()
38533//    if err == nil { // resp is now filled
38534//        fmt.Println(resp)
38535//    }
38536//
38537// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
38538func (c *EC2) MoveAddressToVpcRequest(input *MoveAddressToVpcInput) (req *request.Request, output *MoveAddressToVpcOutput) {
38539	op := &request.Operation{
38540		Name:       opMoveAddressToVpc,
38541		HTTPMethod: "POST",
38542		HTTPPath:   "/",
38543	}
38544
38545	if input == nil {
38546		input = &MoveAddressToVpcInput{}
38547	}
38548
38549	output = &MoveAddressToVpcOutput{}
38550	req = c.newRequest(op, input, output)
38551	return
38552}
38553
38554// MoveAddressToVpc API operation for Amazon Elastic Compute Cloud.
38555//
38556// Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC
38557// platform. The Elastic IP address must be allocated to your account for more
38558// than 24 hours, and it must not be associated with an instance. After the
38559// Elastic IP address is moved, it is no longer available for use in the EC2-Classic
38560// platform, unless you move it back using the RestoreAddressToClassic request.
38561// You cannot move an Elastic IP address that was originally allocated for use
38562// in the EC2-VPC platform to the EC2-Classic platform.
38563//
38564// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38565// with awserr.Error's Code and Message methods to get detailed information about
38566// the error.
38567//
38568// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38569// API operation MoveAddressToVpc for usage and error information.
38570// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
38571func (c *EC2) MoveAddressToVpc(input *MoveAddressToVpcInput) (*MoveAddressToVpcOutput, error) {
38572	req, out := c.MoveAddressToVpcRequest(input)
38573	return out, req.Send()
38574}
38575
38576// MoveAddressToVpcWithContext is the same as MoveAddressToVpc with the addition of
38577// the ability to pass a context and additional request options.
38578//
38579// See MoveAddressToVpc for details on how to use this API operation.
38580//
38581// The context must be non-nil and will be used for request cancellation. If
38582// the context is nil a panic will occur. In the future the SDK may create
38583// sub-contexts for http.Requests. See https://golang.org/pkg/context/
38584// for more information on using Contexts.
38585func (c *EC2) MoveAddressToVpcWithContext(ctx aws.Context, input *MoveAddressToVpcInput, opts ...request.Option) (*MoveAddressToVpcOutput, error) {
38586	req, out := c.MoveAddressToVpcRequest(input)
38587	req.SetContext(ctx)
38588	req.ApplyOptions(opts...)
38589	return out, req.Send()
38590}
38591
38592const opProvisionByoipCidr = "ProvisionByoipCidr"
38593
38594// ProvisionByoipCidrRequest generates a "aws/request.Request" representing the
38595// client's request for the ProvisionByoipCidr operation. The "output" return
38596// value will be populated with the request's response once the request completes
38597// successfully.
38598//
38599// Use "Send" method on the returned Request to send the API call to the service.
38600// the "output" return value is not valid until after Send returns without error.
38601//
38602// See ProvisionByoipCidr for more information on using the ProvisionByoipCidr
38603// API call, and error handling.
38604//
38605// This method is useful when you want to inject custom logic or configuration
38606// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38607//
38608//
38609//    // Example sending a request using the ProvisionByoipCidrRequest method.
38610//    req, resp := client.ProvisionByoipCidrRequest(params)
38611//
38612//    err := req.Send()
38613//    if err == nil { // resp is now filled
38614//        fmt.Println(resp)
38615//    }
38616//
38617// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionByoipCidr
38618func (c *EC2) ProvisionByoipCidrRequest(input *ProvisionByoipCidrInput) (req *request.Request, output *ProvisionByoipCidrOutput) {
38619	op := &request.Operation{
38620		Name:       opProvisionByoipCidr,
38621		HTTPMethod: "POST",
38622		HTTPPath:   "/",
38623	}
38624
38625	if input == nil {
38626		input = &ProvisionByoipCidrInput{}
38627	}
38628
38629	output = &ProvisionByoipCidrOutput{}
38630	req = c.newRequest(op, input, output)
38631	return
38632}
38633
38634// ProvisionByoipCidr API operation for Amazon Elastic Compute Cloud.
38635//
38636// Provisions an IPv4 or IPv6 address range for use with your Amazon Web Services
38637// resources through bring your own IP addresses (BYOIP) and creates a corresponding
38638// address pool. After the address range is provisioned, it is ready to be advertised
38639// using AdvertiseByoipCidr.
38640//
38641// Amazon Web Services verifies that you own the address range and are authorized
38642// to advertise it. You must ensure that the address range is registered to
38643// you and that you created an RPKI ROA to authorize Amazon ASNs 16509 and 14618
38644// to advertise the address range. For more information, see Bring your own
38645// IP addresses (BYOIP) (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)
38646// in the Amazon Elastic Compute Cloud User Guide.
38647//
38648// Provisioning an address range is an asynchronous operation, so the call returns
38649// immediately, but the address range is not ready to use until its status changes
38650// from pending-provision to provisioned. To monitor the status of an address
38651// range, use DescribeByoipCidrs. To allocate an Elastic IP address from your
38652// IPv4 address pool, use AllocateAddress with either the specific address from
38653// the address pool or the ID of the address pool.
38654//
38655// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38656// with awserr.Error's Code and Message methods to get detailed information about
38657// the error.
38658//
38659// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38660// API operation ProvisionByoipCidr for usage and error information.
38661// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionByoipCidr
38662func (c *EC2) ProvisionByoipCidr(input *ProvisionByoipCidrInput) (*ProvisionByoipCidrOutput, error) {
38663	req, out := c.ProvisionByoipCidrRequest(input)
38664	return out, req.Send()
38665}
38666
38667// ProvisionByoipCidrWithContext is the same as ProvisionByoipCidr with the addition of
38668// the ability to pass a context and additional request options.
38669//
38670// See ProvisionByoipCidr for details on how to use this API operation.
38671//
38672// The context must be non-nil and will be used for request cancellation. If
38673// the context is nil a panic will occur. In the future the SDK may create
38674// sub-contexts for http.Requests. See https://golang.org/pkg/context/
38675// for more information on using Contexts.
38676func (c *EC2) ProvisionByoipCidrWithContext(ctx aws.Context, input *ProvisionByoipCidrInput, opts ...request.Option) (*ProvisionByoipCidrOutput, error) {
38677	req, out := c.ProvisionByoipCidrRequest(input)
38678	req.SetContext(ctx)
38679	req.ApplyOptions(opts...)
38680	return out, req.Send()
38681}
38682
38683const opPurchaseHostReservation = "PurchaseHostReservation"
38684
38685// PurchaseHostReservationRequest generates a "aws/request.Request" representing the
38686// client's request for the PurchaseHostReservation operation. The "output" return
38687// value will be populated with the request's response once the request completes
38688// successfully.
38689//
38690// Use "Send" method on the returned Request to send the API call to the service.
38691// the "output" return value is not valid until after Send returns without error.
38692//
38693// See PurchaseHostReservation for more information on using the PurchaseHostReservation
38694// API call, and error handling.
38695//
38696// This method is useful when you want to inject custom logic or configuration
38697// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38698//
38699//
38700//    // Example sending a request using the PurchaseHostReservationRequest method.
38701//    req, resp := client.PurchaseHostReservationRequest(params)
38702//
38703//    err := req.Send()
38704//    if err == nil { // resp is now filled
38705//        fmt.Println(resp)
38706//    }
38707//
38708// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
38709func (c *EC2) PurchaseHostReservationRequest(input *PurchaseHostReservationInput) (req *request.Request, output *PurchaseHostReservationOutput) {
38710	op := &request.Operation{
38711		Name:       opPurchaseHostReservation,
38712		HTTPMethod: "POST",
38713		HTTPPath:   "/",
38714	}
38715
38716	if input == nil {
38717		input = &PurchaseHostReservationInput{}
38718	}
38719
38720	output = &PurchaseHostReservationOutput{}
38721	req = c.newRequest(op, input, output)
38722	return
38723}
38724
38725// PurchaseHostReservation API operation for Amazon Elastic Compute Cloud.
38726//
38727// Purchase a reservation with configurations that match those of your Dedicated
38728// Host. You must have active Dedicated Hosts in your account before you purchase
38729// a reservation. This action results in the specified reservation being purchased
38730// and charged to your account.
38731//
38732// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38733// with awserr.Error's Code and Message methods to get detailed information about
38734// the error.
38735//
38736// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38737// API operation PurchaseHostReservation for usage and error information.
38738// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
38739func (c *EC2) PurchaseHostReservation(input *PurchaseHostReservationInput) (*PurchaseHostReservationOutput, error) {
38740	req, out := c.PurchaseHostReservationRequest(input)
38741	return out, req.Send()
38742}
38743
38744// PurchaseHostReservationWithContext is the same as PurchaseHostReservation with the addition of
38745// the ability to pass a context and additional request options.
38746//
38747// See PurchaseHostReservation for details on how to use this API operation.
38748//
38749// The context must be non-nil and will be used for request cancellation. If
38750// the context is nil a panic will occur. In the future the SDK may create
38751// sub-contexts for http.Requests. See https://golang.org/pkg/context/
38752// for more information on using Contexts.
38753func (c *EC2) PurchaseHostReservationWithContext(ctx aws.Context, input *PurchaseHostReservationInput, opts ...request.Option) (*PurchaseHostReservationOutput, error) {
38754	req, out := c.PurchaseHostReservationRequest(input)
38755	req.SetContext(ctx)
38756	req.ApplyOptions(opts...)
38757	return out, req.Send()
38758}
38759
38760const opPurchaseReservedInstancesOffering = "PurchaseReservedInstancesOffering"
38761
38762// PurchaseReservedInstancesOfferingRequest generates a "aws/request.Request" representing the
38763// client's request for the PurchaseReservedInstancesOffering operation. The "output" return
38764// value will be populated with the request's response once the request completes
38765// successfully.
38766//
38767// Use "Send" method on the returned Request to send the API call to the service.
38768// the "output" return value is not valid until after Send returns without error.
38769//
38770// See PurchaseReservedInstancesOffering for more information on using the PurchaseReservedInstancesOffering
38771// API call, and error handling.
38772//
38773// This method is useful when you want to inject custom logic or configuration
38774// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38775//
38776//
38777//    // Example sending a request using the PurchaseReservedInstancesOfferingRequest method.
38778//    req, resp := client.PurchaseReservedInstancesOfferingRequest(params)
38779//
38780//    err := req.Send()
38781//    if err == nil { // resp is now filled
38782//        fmt.Println(resp)
38783//    }
38784//
38785// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
38786func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedInstancesOfferingInput) (req *request.Request, output *PurchaseReservedInstancesOfferingOutput) {
38787	op := &request.Operation{
38788		Name:       opPurchaseReservedInstancesOffering,
38789		HTTPMethod: "POST",
38790		HTTPPath:   "/",
38791	}
38792
38793	if input == nil {
38794		input = &PurchaseReservedInstancesOfferingInput{}
38795	}
38796
38797	output = &PurchaseReservedInstancesOfferingOutput{}
38798	req = c.newRequest(op, input, output)
38799	return
38800}
38801
38802// PurchaseReservedInstancesOffering API operation for Amazon Elastic Compute Cloud.
38803//
38804// Purchases a Reserved Instance for use with your account. With Reserved Instances,
38805// you pay a lower hourly rate compared to On-Demand instance pricing.
38806//
38807// Use DescribeReservedInstancesOfferings to get a list of Reserved Instance
38808// offerings that match your specifications. After you've purchased a Reserved
38809// Instance, you can check for your new Reserved Instance with DescribeReservedInstances.
38810//
38811// To queue a purchase for a future date and time, specify a purchase time.
38812// If you do not specify a purchase time, the default is the current time.
38813//
38814// For more information, see Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
38815// and Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
38816// in the Amazon EC2 User Guide.
38817//
38818// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38819// with awserr.Error's Code and Message methods to get detailed information about
38820// the error.
38821//
38822// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38823// API operation PurchaseReservedInstancesOffering for usage and error information.
38824// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
38825func (c *EC2) PurchaseReservedInstancesOffering(input *PurchaseReservedInstancesOfferingInput) (*PurchaseReservedInstancesOfferingOutput, error) {
38826	req, out := c.PurchaseReservedInstancesOfferingRequest(input)
38827	return out, req.Send()
38828}
38829
38830// PurchaseReservedInstancesOfferingWithContext is the same as PurchaseReservedInstancesOffering with the addition of
38831// the ability to pass a context and additional request options.
38832//
38833// See PurchaseReservedInstancesOffering for details on how to use this API operation.
38834//
38835// The context must be non-nil and will be used for request cancellation. If
38836// the context is nil a panic will occur. In the future the SDK may create
38837// sub-contexts for http.Requests. See https://golang.org/pkg/context/
38838// for more information on using Contexts.
38839func (c *EC2) PurchaseReservedInstancesOfferingWithContext(ctx aws.Context, input *PurchaseReservedInstancesOfferingInput, opts ...request.Option) (*PurchaseReservedInstancesOfferingOutput, error) {
38840	req, out := c.PurchaseReservedInstancesOfferingRequest(input)
38841	req.SetContext(ctx)
38842	req.ApplyOptions(opts...)
38843	return out, req.Send()
38844}
38845
38846const opPurchaseScheduledInstances = "PurchaseScheduledInstances"
38847
38848// PurchaseScheduledInstancesRequest generates a "aws/request.Request" representing the
38849// client's request for the PurchaseScheduledInstances operation. The "output" return
38850// value will be populated with the request's response once the request completes
38851// successfully.
38852//
38853// Use "Send" method on the returned Request to send the API call to the service.
38854// the "output" return value is not valid until after Send returns without error.
38855//
38856// See PurchaseScheduledInstances for more information on using the PurchaseScheduledInstances
38857// API call, and error handling.
38858//
38859// This method is useful when you want to inject custom logic or configuration
38860// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38861//
38862//
38863//    // Example sending a request using the PurchaseScheduledInstancesRequest method.
38864//    req, resp := client.PurchaseScheduledInstancesRequest(params)
38865//
38866//    err := req.Send()
38867//    if err == nil { // resp is now filled
38868//        fmt.Println(resp)
38869//    }
38870//
38871// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
38872func (c *EC2) PurchaseScheduledInstancesRequest(input *PurchaseScheduledInstancesInput) (req *request.Request, output *PurchaseScheduledInstancesOutput) {
38873	op := &request.Operation{
38874		Name:       opPurchaseScheduledInstances,
38875		HTTPMethod: "POST",
38876		HTTPPath:   "/",
38877	}
38878
38879	if input == nil {
38880		input = &PurchaseScheduledInstancesInput{}
38881	}
38882
38883	output = &PurchaseScheduledInstancesOutput{}
38884	req = c.newRequest(op, input, output)
38885	return
38886}
38887
38888// PurchaseScheduledInstances API operation for Amazon Elastic Compute Cloud.
38889//
38890// Purchases the Scheduled Instances with the specified schedule.
38891//
38892// Scheduled Instances enable you to purchase Amazon EC2 compute capacity by
38893// the hour for a one-year term. Before you can purchase a Scheduled Instance,
38894// you must call DescribeScheduledInstanceAvailability to check for available
38895// schedules and obtain a purchase token. After you purchase a Scheduled Instance,
38896// you must call RunScheduledInstances during each scheduled time period.
38897//
38898// After you purchase a Scheduled Instance, you can't cancel, modify, or resell
38899// your purchase.
38900//
38901// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38902// with awserr.Error's Code and Message methods to get detailed information about
38903// the error.
38904//
38905// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38906// API operation PurchaseScheduledInstances for usage and error information.
38907// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
38908func (c *EC2) PurchaseScheduledInstances(input *PurchaseScheduledInstancesInput) (*PurchaseScheduledInstancesOutput, error) {
38909	req, out := c.PurchaseScheduledInstancesRequest(input)
38910	return out, req.Send()
38911}
38912
38913// PurchaseScheduledInstancesWithContext is the same as PurchaseScheduledInstances with the addition of
38914// the ability to pass a context and additional request options.
38915//
38916// See PurchaseScheduledInstances for details on how to use this API operation.
38917//
38918// The context must be non-nil and will be used for request cancellation. If
38919// the context is nil a panic will occur. In the future the SDK may create
38920// sub-contexts for http.Requests. See https://golang.org/pkg/context/
38921// for more information on using Contexts.
38922func (c *EC2) PurchaseScheduledInstancesWithContext(ctx aws.Context, input *PurchaseScheduledInstancesInput, opts ...request.Option) (*PurchaseScheduledInstancesOutput, error) {
38923	req, out := c.PurchaseScheduledInstancesRequest(input)
38924	req.SetContext(ctx)
38925	req.ApplyOptions(opts...)
38926	return out, req.Send()
38927}
38928
38929const opRebootInstances = "RebootInstances"
38930
38931// RebootInstancesRequest generates a "aws/request.Request" representing the
38932// client's request for the RebootInstances operation. The "output" return
38933// value will be populated with the request's response once the request completes
38934// successfully.
38935//
38936// Use "Send" method on the returned Request to send the API call to the service.
38937// the "output" return value is not valid until after Send returns without error.
38938//
38939// See RebootInstances for more information on using the RebootInstances
38940// API call, and error handling.
38941//
38942// This method is useful when you want to inject custom logic or configuration
38943// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38944//
38945//
38946//    // Example sending a request using the RebootInstancesRequest method.
38947//    req, resp := client.RebootInstancesRequest(params)
38948//
38949//    err := req.Send()
38950//    if err == nil { // resp is now filled
38951//        fmt.Println(resp)
38952//    }
38953//
38954// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
38955func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request.Request, output *RebootInstancesOutput) {
38956	op := &request.Operation{
38957		Name:       opRebootInstances,
38958		HTTPMethod: "POST",
38959		HTTPPath:   "/",
38960	}
38961
38962	if input == nil {
38963		input = &RebootInstancesInput{}
38964	}
38965
38966	output = &RebootInstancesOutput{}
38967	req = c.newRequest(op, input, output)
38968	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
38969	return
38970}
38971
38972// RebootInstances API operation for Amazon Elastic Compute Cloud.
38973//
38974// Requests a reboot of the specified instances. This operation is asynchronous;
38975// it only queues a request to reboot the specified instances. The operation
38976// succeeds if the instances are valid and belong to you. Requests to reboot
38977// terminated instances are ignored.
38978//
38979// If an instance does not cleanly shut down within a few minutes, Amazon EC2
38980// performs a hard reboot.
38981//
38982// For more information about troubleshooting, see Getting console output and
38983// rebooting instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html)
38984// in the Amazon EC2 User Guide.
38985//
38986// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38987// with awserr.Error's Code and Message methods to get detailed information about
38988// the error.
38989//
38990// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38991// API operation RebootInstances for usage and error information.
38992// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
38993func (c *EC2) RebootInstances(input *RebootInstancesInput) (*RebootInstancesOutput, error) {
38994	req, out := c.RebootInstancesRequest(input)
38995	return out, req.Send()
38996}
38997
38998// RebootInstancesWithContext is the same as RebootInstances with the addition of
38999// the ability to pass a context and additional request options.
39000//
39001// See RebootInstances for details on how to use this API operation.
39002//
39003// The context must be non-nil and will be used for request cancellation. If
39004// the context is nil a panic will occur. In the future the SDK may create
39005// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39006// for more information on using Contexts.
39007func (c *EC2) RebootInstancesWithContext(ctx aws.Context, input *RebootInstancesInput, opts ...request.Option) (*RebootInstancesOutput, error) {
39008	req, out := c.RebootInstancesRequest(input)
39009	req.SetContext(ctx)
39010	req.ApplyOptions(opts...)
39011	return out, req.Send()
39012}
39013
39014const opRegisterImage = "RegisterImage"
39015
39016// RegisterImageRequest generates a "aws/request.Request" representing the
39017// client's request for the RegisterImage operation. The "output" return
39018// value will be populated with the request's response once the request completes
39019// successfully.
39020//
39021// Use "Send" method on the returned Request to send the API call to the service.
39022// the "output" return value is not valid until after Send returns without error.
39023//
39024// See RegisterImage for more information on using the RegisterImage
39025// API call, and error handling.
39026//
39027// This method is useful when you want to inject custom logic or configuration
39028// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39029//
39030//
39031//    // Example sending a request using the RegisterImageRequest method.
39032//    req, resp := client.RegisterImageRequest(params)
39033//
39034//    err := req.Send()
39035//    if err == nil { // resp is now filled
39036//        fmt.Println(resp)
39037//    }
39038//
39039// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
39040func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Request, output *RegisterImageOutput) {
39041	op := &request.Operation{
39042		Name:       opRegisterImage,
39043		HTTPMethod: "POST",
39044		HTTPPath:   "/",
39045	}
39046
39047	if input == nil {
39048		input = &RegisterImageInput{}
39049	}
39050
39051	output = &RegisterImageOutput{}
39052	req = c.newRequest(op, input, output)
39053	return
39054}
39055
39056// RegisterImage API operation for Amazon Elastic Compute Cloud.
39057//
39058// Registers an AMI. When you're creating an AMI, this is the final step you
39059// must complete before you can launch an instance from the AMI. For more information
39060// about creating AMIs, see Creating your own AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html)
39061// in the Amazon Elastic Compute Cloud User Guide.
39062//
39063// For Amazon EBS-backed instances, CreateImage creates and registers the AMI
39064// in a single request, so you don't have to register the AMI yourself.
39065//
39066// If needed, you can deregister an AMI at any time. Any modifications you make
39067// to an AMI backed by an instance store volume invalidates its registration.
39068// If you make changes to an image, deregister the previous image and register
39069// the new image.
39070//
39071// Register a snapshot of a root device volume
39072//
39073// You can use RegisterImage to create an Amazon EBS-backed Linux AMI from a
39074// snapshot of a root device volume. You specify the snapshot using a block
39075// device mapping. You can't set the encryption state of the volume using the
39076// block device mapping. If the snapshot is encrypted, or encryption by default
39077// is enabled, the root volume of an instance launched from the AMI is encrypted.
39078//
39079// 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)
39080// and Use encryption with EBS-backed AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIEncryption.html)
39081// in the Amazon Elastic Compute Cloud User Guide.
39082//
39083// AWS Marketplace product codes
39084//
39085// If any snapshots have AWS Marketplace product codes, they are copied to the
39086// new AMI.
39087//
39088// Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL)
39089// and SUSE Linux Enterprise Server (SLES), use the EC2 billing product code
39090// associated with an AMI to verify the subscription status for package updates.
39091// To create a new AMI for operating systems that require a billing product
39092// code, instead of registering the AMI, do the following to preserve the billing
39093// product code association:
39094//
39095// Launch an instance from an existing AMI with that billing product code.
39096//
39097// Customize the instance.
39098//
39099// Create an AMI from the instance using CreateImage.
39100//
39101// If you purchase a Reserved Instance to apply to an On-Demand Instance that
39102// was launched from an AMI with a billing product code, make sure that the
39103// Reserved Instance has the matching billing product code. If you purchase
39104// a Reserved Instance without the matching billing product code, the Reserved
39105// Instance will not be applied to the On-Demand Instance. For information about
39106// how to obtain the platform details and billing information of an AMI, see
39107// Obtaining billing information (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html)
39108// in the Amazon Elastic Compute Cloud User Guide.
39109//
39110// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39111// with awserr.Error's Code and Message methods to get detailed information about
39112// the error.
39113//
39114// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39115// API operation RegisterImage for usage and error information.
39116// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
39117func (c *EC2) RegisterImage(input *RegisterImageInput) (*RegisterImageOutput, error) {
39118	req, out := c.RegisterImageRequest(input)
39119	return out, req.Send()
39120}
39121
39122// RegisterImageWithContext is the same as RegisterImage with the addition of
39123// the ability to pass a context and additional request options.
39124//
39125// See RegisterImage for details on how to use this API operation.
39126//
39127// The context must be non-nil and will be used for request cancellation. If
39128// the context is nil a panic will occur. In the future the SDK may create
39129// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39130// for more information on using Contexts.
39131func (c *EC2) RegisterImageWithContext(ctx aws.Context, input *RegisterImageInput, opts ...request.Option) (*RegisterImageOutput, error) {
39132	req, out := c.RegisterImageRequest(input)
39133	req.SetContext(ctx)
39134	req.ApplyOptions(opts...)
39135	return out, req.Send()
39136}
39137
39138const opRegisterInstanceEventNotificationAttributes = "RegisterInstanceEventNotificationAttributes"
39139
39140// RegisterInstanceEventNotificationAttributesRequest generates a "aws/request.Request" representing the
39141// client's request for the RegisterInstanceEventNotificationAttributes operation. The "output" return
39142// value will be populated with the request's response once the request completes
39143// successfully.
39144//
39145// Use "Send" method on the returned Request to send the API call to the service.
39146// the "output" return value is not valid until after Send returns without error.
39147//
39148// See RegisterInstanceEventNotificationAttributes for more information on using the RegisterInstanceEventNotificationAttributes
39149// API call, and error handling.
39150//
39151// This method is useful when you want to inject custom logic or configuration
39152// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39153//
39154//
39155//    // Example sending a request using the RegisterInstanceEventNotificationAttributesRequest method.
39156//    req, resp := client.RegisterInstanceEventNotificationAttributesRequest(params)
39157//
39158//    err := req.Send()
39159//    if err == nil { // resp is now filled
39160//        fmt.Println(resp)
39161//    }
39162//
39163// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterInstanceEventNotificationAttributes
39164func (c *EC2) RegisterInstanceEventNotificationAttributesRequest(input *RegisterInstanceEventNotificationAttributesInput) (req *request.Request, output *RegisterInstanceEventNotificationAttributesOutput) {
39165	op := &request.Operation{
39166		Name:       opRegisterInstanceEventNotificationAttributes,
39167		HTTPMethod: "POST",
39168		HTTPPath:   "/",
39169	}
39170
39171	if input == nil {
39172		input = &RegisterInstanceEventNotificationAttributesInput{}
39173	}
39174
39175	output = &RegisterInstanceEventNotificationAttributesOutput{}
39176	req = c.newRequest(op, input, output)
39177	return
39178}
39179
39180// RegisterInstanceEventNotificationAttributes API operation for Amazon Elastic Compute Cloud.
39181//
39182// Registers a set of tag keys to include in scheduled event notifications for
39183// your resources.
39184//
39185// To remove tags, use .
39186//
39187// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39188// with awserr.Error's Code and Message methods to get detailed information about
39189// the error.
39190//
39191// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39192// API operation RegisterInstanceEventNotificationAttributes for usage and error information.
39193// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterInstanceEventNotificationAttributes
39194func (c *EC2) RegisterInstanceEventNotificationAttributes(input *RegisterInstanceEventNotificationAttributesInput) (*RegisterInstanceEventNotificationAttributesOutput, error) {
39195	req, out := c.RegisterInstanceEventNotificationAttributesRequest(input)
39196	return out, req.Send()
39197}
39198
39199// RegisterInstanceEventNotificationAttributesWithContext is the same as RegisterInstanceEventNotificationAttributes with the addition of
39200// the ability to pass a context and additional request options.
39201//
39202// See RegisterInstanceEventNotificationAttributes for details on how to use this API operation.
39203//
39204// The context must be non-nil and will be used for request cancellation. If
39205// the context is nil a panic will occur. In the future the SDK may create
39206// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39207// for more information on using Contexts.
39208func (c *EC2) RegisterInstanceEventNotificationAttributesWithContext(ctx aws.Context, input *RegisterInstanceEventNotificationAttributesInput, opts ...request.Option) (*RegisterInstanceEventNotificationAttributesOutput, error) {
39209	req, out := c.RegisterInstanceEventNotificationAttributesRequest(input)
39210	req.SetContext(ctx)
39211	req.ApplyOptions(opts...)
39212	return out, req.Send()
39213}
39214
39215const opRegisterTransitGatewayMulticastGroupMembers = "RegisterTransitGatewayMulticastGroupMembers"
39216
39217// RegisterTransitGatewayMulticastGroupMembersRequest generates a "aws/request.Request" representing the
39218// client's request for the RegisterTransitGatewayMulticastGroupMembers operation. The "output" return
39219// value will be populated with the request's response once the request completes
39220// successfully.
39221//
39222// Use "Send" method on the returned Request to send the API call to the service.
39223// the "output" return value is not valid until after Send returns without error.
39224//
39225// See RegisterTransitGatewayMulticastGroupMembers for more information on using the RegisterTransitGatewayMulticastGroupMembers
39226// API call, and error handling.
39227//
39228// This method is useful when you want to inject custom logic or configuration
39229// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39230//
39231//
39232//    // Example sending a request using the RegisterTransitGatewayMulticastGroupMembersRequest method.
39233//    req, resp := client.RegisterTransitGatewayMulticastGroupMembersRequest(params)
39234//
39235//    err := req.Send()
39236//    if err == nil { // resp is now filled
39237//        fmt.Println(resp)
39238//    }
39239//
39240// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupMembers
39241func (c *EC2) RegisterTransitGatewayMulticastGroupMembersRequest(input *RegisterTransitGatewayMulticastGroupMembersInput) (req *request.Request, output *RegisterTransitGatewayMulticastGroupMembersOutput) {
39242	op := &request.Operation{
39243		Name:       opRegisterTransitGatewayMulticastGroupMembers,
39244		HTTPMethod: "POST",
39245		HTTPPath:   "/",
39246	}
39247
39248	if input == nil {
39249		input = &RegisterTransitGatewayMulticastGroupMembersInput{}
39250	}
39251
39252	output = &RegisterTransitGatewayMulticastGroupMembersOutput{}
39253	req = c.newRequest(op, input, output)
39254	return
39255}
39256
39257// RegisterTransitGatewayMulticastGroupMembers API operation for Amazon Elastic Compute Cloud.
39258//
39259// Registers members (network interfaces) with the transit gateway multicast
39260// group. A member is a network interface associated with a supported EC2 instance
39261// that receives multicast traffic. For information about supported instances,
39262// see Multicast Consideration (https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-limits.html#multicast-limits)
39263// in Amazon VPC Transit Gateways.
39264//
39265// After you add the members, use SearchTransitGatewayMulticastGroups (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SearchTransitGatewayMulticastGroups.html)
39266// to verify that the members were added to the transit gateway multicast group.
39267//
39268// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39269// with awserr.Error's Code and Message methods to get detailed information about
39270// the error.
39271//
39272// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39273// API operation RegisterTransitGatewayMulticastGroupMembers for usage and error information.
39274// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupMembers
39275func (c *EC2) RegisterTransitGatewayMulticastGroupMembers(input *RegisterTransitGatewayMulticastGroupMembersInput) (*RegisterTransitGatewayMulticastGroupMembersOutput, error) {
39276	req, out := c.RegisterTransitGatewayMulticastGroupMembersRequest(input)
39277	return out, req.Send()
39278}
39279
39280// RegisterTransitGatewayMulticastGroupMembersWithContext is the same as RegisterTransitGatewayMulticastGroupMembers with the addition of
39281// the ability to pass a context and additional request options.
39282//
39283// See RegisterTransitGatewayMulticastGroupMembers for details on how to use this API operation.
39284//
39285// The context must be non-nil and will be used for request cancellation. If
39286// the context is nil a panic will occur. In the future the SDK may create
39287// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39288// for more information on using Contexts.
39289func (c *EC2) RegisterTransitGatewayMulticastGroupMembersWithContext(ctx aws.Context, input *RegisterTransitGatewayMulticastGroupMembersInput, opts ...request.Option) (*RegisterTransitGatewayMulticastGroupMembersOutput, error) {
39290	req, out := c.RegisterTransitGatewayMulticastGroupMembersRequest(input)
39291	req.SetContext(ctx)
39292	req.ApplyOptions(opts...)
39293	return out, req.Send()
39294}
39295
39296const opRegisterTransitGatewayMulticastGroupSources = "RegisterTransitGatewayMulticastGroupSources"
39297
39298// RegisterTransitGatewayMulticastGroupSourcesRequest generates a "aws/request.Request" representing the
39299// client's request for the RegisterTransitGatewayMulticastGroupSources operation. The "output" return
39300// value will be populated with the request's response once the request completes
39301// successfully.
39302//
39303// Use "Send" method on the returned Request to send the API call to the service.
39304// the "output" return value is not valid until after Send returns without error.
39305//
39306// See RegisterTransitGatewayMulticastGroupSources for more information on using the RegisterTransitGatewayMulticastGroupSources
39307// API call, and error handling.
39308//
39309// This method is useful when you want to inject custom logic or configuration
39310// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39311//
39312//
39313//    // Example sending a request using the RegisterTransitGatewayMulticastGroupSourcesRequest method.
39314//    req, resp := client.RegisterTransitGatewayMulticastGroupSourcesRequest(params)
39315//
39316//    err := req.Send()
39317//    if err == nil { // resp is now filled
39318//        fmt.Println(resp)
39319//    }
39320//
39321// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupSources
39322func (c *EC2) RegisterTransitGatewayMulticastGroupSourcesRequest(input *RegisterTransitGatewayMulticastGroupSourcesInput) (req *request.Request, output *RegisterTransitGatewayMulticastGroupSourcesOutput) {
39323	op := &request.Operation{
39324		Name:       opRegisterTransitGatewayMulticastGroupSources,
39325		HTTPMethod: "POST",
39326		HTTPPath:   "/",
39327	}
39328
39329	if input == nil {
39330		input = &RegisterTransitGatewayMulticastGroupSourcesInput{}
39331	}
39332
39333	output = &RegisterTransitGatewayMulticastGroupSourcesOutput{}
39334	req = c.newRequest(op, input, output)
39335	return
39336}
39337
39338// RegisterTransitGatewayMulticastGroupSources API operation for Amazon Elastic Compute Cloud.
39339//
39340// Registers sources (network interfaces) with the specified transit gateway
39341// multicast group.
39342//
39343// A multicast source is a network interface attached to a supported instance
39344// that sends multicast traffic. For information about supported instances,
39345// see Multicast Considerations (https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-limits.html#multicast-limits)
39346// in Amazon VPC Transit Gateways.
39347//
39348// After you add the source, use SearchTransitGatewayMulticastGroups (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SearchTransitGatewayMulticastGroups.html)
39349// to verify that the source was added to the multicast group.
39350//
39351// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39352// with awserr.Error's Code and Message methods to get detailed information about
39353// the error.
39354//
39355// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39356// API operation RegisterTransitGatewayMulticastGroupSources for usage and error information.
39357// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupSources
39358func (c *EC2) RegisterTransitGatewayMulticastGroupSources(input *RegisterTransitGatewayMulticastGroupSourcesInput) (*RegisterTransitGatewayMulticastGroupSourcesOutput, error) {
39359	req, out := c.RegisterTransitGatewayMulticastGroupSourcesRequest(input)
39360	return out, req.Send()
39361}
39362
39363// RegisterTransitGatewayMulticastGroupSourcesWithContext is the same as RegisterTransitGatewayMulticastGroupSources with the addition of
39364// the ability to pass a context and additional request options.
39365//
39366// See RegisterTransitGatewayMulticastGroupSources for details on how to use this API operation.
39367//
39368// The context must be non-nil and will be used for request cancellation. If
39369// the context is nil a panic will occur. In the future the SDK may create
39370// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39371// for more information on using Contexts.
39372func (c *EC2) RegisterTransitGatewayMulticastGroupSourcesWithContext(ctx aws.Context, input *RegisterTransitGatewayMulticastGroupSourcesInput, opts ...request.Option) (*RegisterTransitGatewayMulticastGroupSourcesOutput, error) {
39373	req, out := c.RegisterTransitGatewayMulticastGroupSourcesRequest(input)
39374	req.SetContext(ctx)
39375	req.ApplyOptions(opts...)
39376	return out, req.Send()
39377}
39378
39379const opRejectTransitGatewayMulticastDomainAssociations = "RejectTransitGatewayMulticastDomainAssociations"
39380
39381// RejectTransitGatewayMulticastDomainAssociationsRequest generates a "aws/request.Request" representing the
39382// client's request for the RejectTransitGatewayMulticastDomainAssociations operation. The "output" return
39383// value will be populated with the request's response once the request completes
39384// successfully.
39385//
39386// Use "Send" method on the returned Request to send the API call to the service.
39387// the "output" return value is not valid until after Send returns without error.
39388//
39389// See RejectTransitGatewayMulticastDomainAssociations for more information on using the RejectTransitGatewayMulticastDomainAssociations
39390// API call, and error handling.
39391//
39392// This method is useful when you want to inject custom logic or configuration
39393// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39394//
39395//
39396//    // Example sending a request using the RejectTransitGatewayMulticastDomainAssociationsRequest method.
39397//    req, resp := client.RejectTransitGatewayMulticastDomainAssociationsRequest(params)
39398//
39399//    err := req.Send()
39400//    if err == nil { // resp is now filled
39401//        fmt.Println(resp)
39402//    }
39403//
39404// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayMulticastDomainAssociations
39405func (c *EC2) RejectTransitGatewayMulticastDomainAssociationsRequest(input *RejectTransitGatewayMulticastDomainAssociationsInput) (req *request.Request, output *RejectTransitGatewayMulticastDomainAssociationsOutput) {
39406	op := &request.Operation{
39407		Name:       opRejectTransitGatewayMulticastDomainAssociations,
39408		HTTPMethod: "POST",
39409		HTTPPath:   "/",
39410	}
39411
39412	if input == nil {
39413		input = &RejectTransitGatewayMulticastDomainAssociationsInput{}
39414	}
39415
39416	output = &RejectTransitGatewayMulticastDomainAssociationsOutput{}
39417	req = c.newRequest(op, input, output)
39418	return
39419}
39420
39421// RejectTransitGatewayMulticastDomainAssociations API operation for Amazon Elastic Compute Cloud.
39422//
39423// Rejects a request to associate cross-account subnets with a transit gateway
39424// multicast domain.
39425//
39426// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39427// with awserr.Error's Code and Message methods to get detailed information about
39428// the error.
39429//
39430// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39431// API operation RejectTransitGatewayMulticastDomainAssociations for usage and error information.
39432// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayMulticastDomainAssociations
39433func (c *EC2) RejectTransitGatewayMulticastDomainAssociations(input *RejectTransitGatewayMulticastDomainAssociationsInput) (*RejectTransitGatewayMulticastDomainAssociationsOutput, error) {
39434	req, out := c.RejectTransitGatewayMulticastDomainAssociationsRequest(input)
39435	return out, req.Send()
39436}
39437
39438// RejectTransitGatewayMulticastDomainAssociationsWithContext is the same as RejectTransitGatewayMulticastDomainAssociations with the addition of
39439// the ability to pass a context and additional request options.
39440//
39441// See RejectTransitGatewayMulticastDomainAssociations for details on how to use this API operation.
39442//
39443// The context must be non-nil and will be used for request cancellation. If
39444// the context is nil a panic will occur. In the future the SDK may create
39445// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39446// for more information on using Contexts.
39447func (c *EC2) RejectTransitGatewayMulticastDomainAssociationsWithContext(ctx aws.Context, input *RejectTransitGatewayMulticastDomainAssociationsInput, opts ...request.Option) (*RejectTransitGatewayMulticastDomainAssociationsOutput, error) {
39448	req, out := c.RejectTransitGatewayMulticastDomainAssociationsRequest(input)
39449	req.SetContext(ctx)
39450	req.ApplyOptions(opts...)
39451	return out, req.Send()
39452}
39453
39454const opRejectTransitGatewayPeeringAttachment = "RejectTransitGatewayPeeringAttachment"
39455
39456// RejectTransitGatewayPeeringAttachmentRequest generates a "aws/request.Request" representing the
39457// client's request for the RejectTransitGatewayPeeringAttachment operation. The "output" return
39458// value will be populated with the request's response once the request completes
39459// successfully.
39460//
39461// Use "Send" method on the returned Request to send the API call to the service.
39462// the "output" return value is not valid until after Send returns without error.
39463//
39464// See RejectTransitGatewayPeeringAttachment for more information on using the RejectTransitGatewayPeeringAttachment
39465// API call, and error handling.
39466//
39467// This method is useful when you want to inject custom logic or configuration
39468// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39469//
39470//
39471//    // Example sending a request using the RejectTransitGatewayPeeringAttachmentRequest method.
39472//    req, resp := client.RejectTransitGatewayPeeringAttachmentRequest(params)
39473//
39474//    err := req.Send()
39475//    if err == nil { // resp is now filled
39476//        fmt.Println(resp)
39477//    }
39478//
39479// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayPeeringAttachment
39480func (c *EC2) RejectTransitGatewayPeeringAttachmentRequest(input *RejectTransitGatewayPeeringAttachmentInput) (req *request.Request, output *RejectTransitGatewayPeeringAttachmentOutput) {
39481	op := &request.Operation{
39482		Name:       opRejectTransitGatewayPeeringAttachment,
39483		HTTPMethod: "POST",
39484		HTTPPath:   "/",
39485	}
39486
39487	if input == nil {
39488		input = &RejectTransitGatewayPeeringAttachmentInput{}
39489	}
39490
39491	output = &RejectTransitGatewayPeeringAttachmentOutput{}
39492	req = c.newRequest(op, input, output)
39493	return
39494}
39495
39496// RejectTransitGatewayPeeringAttachment API operation for Amazon Elastic Compute Cloud.
39497//
39498// Rejects a transit gateway peering attachment request.
39499//
39500// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39501// with awserr.Error's Code and Message methods to get detailed information about
39502// the error.
39503//
39504// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39505// API operation RejectTransitGatewayPeeringAttachment for usage and error information.
39506// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayPeeringAttachment
39507func (c *EC2) RejectTransitGatewayPeeringAttachment(input *RejectTransitGatewayPeeringAttachmentInput) (*RejectTransitGatewayPeeringAttachmentOutput, error) {
39508	req, out := c.RejectTransitGatewayPeeringAttachmentRequest(input)
39509	return out, req.Send()
39510}
39511
39512// RejectTransitGatewayPeeringAttachmentWithContext is the same as RejectTransitGatewayPeeringAttachment with the addition of
39513// the ability to pass a context and additional request options.
39514//
39515// See RejectTransitGatewayPeeringAttachment for details on how to use this API operation.
39516//
39517// The context must be non-nil and will be used for request cancellation. If
39518// the context is nil a panic will occur. In the future the SDK may create
39519// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39520// for more information on using Contexts.
39521func (c *EC2) RejectTransitGatewayPeeringAttachmentWithContext(ctx aws.Context, input *RejectTransitGatewayPeeringAttachmentInput, opts ...request.Option) (*RejectTransitGatewayPeeringAttachmentOutput, error) {
39522	req, out := c.RejectTransitGatewayPeeringAttachmentRequest(input)
39523	req.SetContext(ctx)
39524	req.ApplyOptions(opts...)
39525	return out, req.Send()
39526}
39527
39528const opRejectTransitGatewayVpcAttachment = "RejectTransitGatewayVpcAttachment"
39529
39530// RejectTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
39531// client's request for the RejectTransitGatewayVpcAttachment operation. The "output" return
39532// value will be populated with the request's response once the request completes
39533// successfully.
39534//
39535// Use "Send" method on the returned Request to send the API call to the service.
39536// the "output" return value is not valid until after Send returns without error.
39537//
39538// See RejectTransitGatewayVpcAttachment for more information on using the RejectTransitGatewayVpcAttachment
39539// API call, and error handling.
39540//
39541// This method is useful when you want to inject custom logic or configuration
39542// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39543//
39544//
39545//    // Example sending a request using the RejectTransitGatewayVpcAttachmentRequest method.
39546//    req, resp := client.RejectTransitGatewayVpcAttachmentRequest(params)
39547//
39548//    err := req.Send()
39549//    if err == nil { // resp is now filled
39550//        fmt.Println(resp)
39551//    }
39552//
39553// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayVpcAttachment
39554func (c *EC2) RejectTransitGatewayVpcAttachmentRequest(input *RejectTransitGatewayVpcAttachmentInput) (req *request.Request, output *RejectTransitGatewayVpcAttachmentOutput) {
39555	op := &request.Operation{
39556		Name:       opRejectTransitGatewayVpcAttachment,
39557		HTTPMethod: "POST",
39558		HTTPPath:   "/",
39559	}
39560
39561	if input == nil {
39562		input = &RejectTransitGatewayVpcAttachmentInput{}
39563	}
39564
39565	output = &RejectTransitGatewayVpcAttachmentOutput{}
39566	req = c.newRequest(op, input, output)
39567	return
39568}
39569
39570// RejectTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
39571//
39572// Rejects a request to attach a VPC to a transit gateway.
39573//
39574// The VPC attachment must be in the pendingAcceptance state. Use DescribeTransitGatewayVpcAttachments
39575// to view your pending VPC attachment requests. Use AcceptTransitGatewayVpcAttachment
39576// to accept a VPC attachment request.
39577//
39578// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39579// with awserr.Error's Code and Message methods to get detailed information about
39580// the error.
39581//
39582// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39583// API operation RejectTransitGatewayVpcAttachment for usage and error information.
39584// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayVpcAttachment
39585func (c *EC2) RejectTransitGatewayVpcAttachment(input *RejectTransitGatewayVpcAttachmentInput) (*RejectTransitGatewayVpcAttachmentOutput, error) {
39586	req, out := c.RejectTransitGatewayVpcAttachmentRequest(input)
39587	return out, req.Send()
39588}
39589
39590// RejectTransitGatewayVpcAttachmentWithContext is the same as RejectTransitGatewayVpcAttachment with the addition of
39591// the ability to pass a context and additional request options.
39592//
39593// See RejectTransitGatewayVpcAttachment for details on how to use this API operation.
39594//
39595// The context must be non-nil and will be used for request cancellation. If
39596// the context is nil a panic will occur. In the future the SDK may create
39597// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39598// for more information on using Contexts.
39599func (c *EC2) RejectTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *RejectTransitGatewayVpcAttachmentInput, opts ...request.Option) (*RejectTransitGatewayVpcAttachmentOutput, error) {
39600	req, out := c.RejectTransitGatewayVpcAttachmentRequest(input)
39601	req.SetContext(ctx)
39602	req.ApplyOptions(opts...)
39603	return out, req.Send()
39604}
39605
39606const opRejectVpcEndpointConnections = "RejectVpcEndpointConnections"
39607
39608// RejectVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
39609// client's request for the RejectVpcEndpointConnections operation. The "output" return
39610// value will be populated with the request's response once the request completes
39611// successfully.
39612//
39613// Use "Send" method on the returned Request to send the API call to the service.
39614// the "output" return value is not valid until after Send returns without error.
39615//
39616// See RejectVpcEndpointConnections for more information on using the RejectVpcEndpointConnections
39617// API call, and error handling.
39618//
39619// This method is useful when you want to inject custom logic or configuration
39620// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39621//
39622//
39623//    // Example sending a request using the RejectVpcEndpointConnectionsRequest method.
39624//    req, resp := client.RejectVpcEndpointConnectionsRequest(params)
39625//
39626//    err := req.Send()
39627//    if err == nil { // resp is now filled
39628//        fmt.Println(resp)
39629//    }
39630//
39631// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnections
39632func (c *EC2) RejectVpcEndpointConnectionsRequest(input *RejectVpcEndpointConnectionsInput) (req *request.Request, output *RejectVpcEndpointConnectionsOutput) {
39633	op := &request.Operation{
39634		Name:       opRejectVpcEndpointConnections,
39635		HTTPMethod: "POST",
39636		HTTPPath:   "/",
39637	}
39638
39639	if input == nil {
39640		input = &RejectVpcEndpointConnectionsInput{}
39641	}
39642
39643	output = &RejectVpcEndpointConnectionsOutput{}
39644	req = c.newRequest(op, input, output)
39645	return
39646}
39647
39648// RejectVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
39649//
39650// Rejects one or more VPC endpoint connection requests to your VPC endpoint
39651// service.
39652//
39653// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39654// with awserr.Error's Code and Message methods to get detailed information about
39655// the error.
39656//
39657// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39658// API operation RejectVpcEndpointConnections for usage and error information.
39659// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnections
39660func (c *EC2) RejectVpcEndpointConnections(input *RejectVpcEndpointConnectionsInput) (*RejectVpcEndpointConnectionsOutput, error) {
39661	req, out := c.RejectVpcEndpointConnectionsRequest(input)
39662	return out, req.Send()
39663}
39664
39665// RejectVpcEndpointConnectionsWithContext is the same as RejectVpcEndpointConnections with the addition of
39666// the ability to pass a context and additional request options.
39667//
39668// See RejectVpcEndpointConnections for details on how to use this API operation.
39669//
39670// The context must be non-nil and will be used for request cancellation. If
39671// the context is nil a panic will occur. In the future the SDK may create
39672// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39673// for more information on using Contexts.
39674func (c *EC2) RejectVpcEndpointConnectionsWithContext(ctx aws.Context, input *RejectVpcEndpointConnectionsInput, opts ...request.Option) (*RejectVpcEndpointConnectionsOutput, error) {
39675	req, out := c.RejectVpcEndpointConnectionsRequest(input)
39676	req.SetContext(ctx)
39677	req.ApplyOptions(opts...)
39678	return out, req.Send()
39679}
39680
39681const opRejectVpcPeeringConnection = "RejectVpcPeeringConnection"
39682
39683// RejectVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
39684// client's request for the RejectVpcPeeringConnection operation. The "output" return
39685// value will be populated with the request's response once the request completes
39686// successfully.
39687//
39688// Use "Send" method on the returned Request to send the API call to the service.
39689// the "output" return value is not valid until after Send returns without error.
39690//
39691// See RejectVpcPeeringConnection for more information on using the RejectVpcPeeringConnection
39692// API call, and error handling.
39693//
39694// This method is useful when you want to inject custom logic or configuration
39695// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39696//
39697//
39698//    // Example sending a request using the RejectVpcPeeringConnectionRequest method.
39699//    req, resp := client.RejectVpcPeeringConnectionRequest(params)
39700//
39701//    err := req.Send()
39702//    if err == nil { // resp is now filled
39703//        fmt.Println(resp)
39704//    }
39705//
39706// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
39707func (c *EC2) RejectVpcPeeringConnectionRequest(input *RejectVpcPeeringConnectionInput) (req *request.Request, output *RejectVpcPeeringConnectionOutput) {
39708	op := &request.Operation{
39709		Name:       opRejectVpcPeeringConnection,
39710		HTTPMethod: "POST",
39711		HTTPPath:   "/",
39712	}
39713
39714	if input == nil {
39715		input = &RejectVpcPeeringConnectionInput{}
39716	}
39717
39718	output = &RejectVpcPeeringConnectionOutput{}
39719	req = c.newRequest(op, input, output)
39720	return
39721}
39722
39723// RejectVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
39724//
39725// Rejects a VPC peering connection request. The VPC peering connection must
39726// be in the pending-acceptance state. Use the DescribeVpcPeeringConnections
39727// request to view your outstanding VPC peering connection requests. To delete
39728// an active VPC peering connection, or to delete a VPC peering connection request
39729// that you initiated, use DeleteVpcPeeringConnection.
39730//
39731// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39732// with awserr.Error's Code and Message methods to get detailed information about
39733// the error.
39734//
39735// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39736// API operation RejectVpcPeeringConnection for usage and error information.
39737// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
39738func (c *EC2) RejectVpcPeeringConnection(input *RejectVpcPeeringConnectionInput) (*RejectVpcPeeringConnectionOutput, error) {
39739	req, out := c.RejectVpcPeeringConnectionRequest(input)
39740	return out, req.Send()
39741}
39742
39743// RejectVpcPeeringConnectionWithContext is the same as RejectVpcPeeringConnection with the addition of
39744// the ability to pass a context and additional request options.
39745//
39746// See RejectVpcPeeringConnection for details on how to use this API operation.
39747//
39748// The context must be non-nil and will be used for request cancellation. If
39749// the context is nil a panic will occur. In the future the SDK may create
39750// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39751// for more information on using Contexts.
39752func (c *EC2) RejectVpcPeeringConnectionWithContext(ctx aws.Context, input *RejectVpcPeeringConnectionInput, opts ...request.Option) (*RejectVpcPeeringConnectionOutput, error) {
39753	req, out := c.RejectVpcPeeringConnectionRequest(input)
39754	req.SetContext(ctx)
39755	req.ApplyOptions(opts...)
39756	return out, req.Send()
39757}
39758
39759const opReleaseAddress = "ReleaseAddress"
39760
39761// ReleaseAddressRequest generates a "aws/request.Request" representing the
39762// client's request for the ReleaseAddress operation. The "output" return
39763// value will be populated with the request's response once the request completes
39764// successfully.
39765//
39766// Use "Send" method on the returned Request to send the API call to the service.
39767// the "output" return value is not valid until after Send returns without error.
39768//
39769// See ReleaseAddress for more information on using the ReleaseAddress
39770// API call, and error handling.
39771//
39772// This method is useful when you want to inject custom logic or configuration
39773// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39774//
39775//
39776//    // Example sending a request using the ReleaseAddressRequest method.
39777//    req, resp := client.ReleaseAddressRequest(params)
39778//
39779//    err := req.Send()
39780//    if err == nil { // resp is now filled
39781//        fmt.Println(resp)
39782//    }
39783//
39784// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
39785func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *request.Request, output *ReleaseAddressOutput) {
39786	op := &request.Operation{
39787		Name:       opReleaseAddress,
39788		HTTPMethod: "POST",
39789		HTTPPath:   "/",
39790	}
39791
39792	if input == nil {
39793		input = &ReleaseAddressInput{}
39794	}
39795
39796	output = &ReleaseAddressOutput{}
39797	req = c.newRequest(op, input, output)
39798	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
39799	return
39800}
39801
39802// ReleaseAddress API operation for Amazon Elastic Compute Cloud.
39803//
39804// Releases the specified Elastic IP address.
39805//
39806// [EC2-Classic, default VPC] Releasing an Elastic IP address automatically
39807// disassociates it from any instance that it's associated with. To disassociate
39808// an Elastic IP address without releasing it, use DisassociateAddress.
39809//
39810// [Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic
39811// IP address before you can release it. Otherwise, Amazon EC2 returns an error
39812// (InvalidIPAddress.InUse).
39813//
39814// After releasing an Elastic IP address, it is released to the IP address pool.
39815// Be sure to update your DNS records and any servers or devices that communicate
39816// with the address. If you attempt to release an Elastic IP address that you
39817// already released, you'll get an AuthFailure error if the address is already
39818// allocated to another Amazon Web Services account.
39819//
39820// [EC2-VPC] After you release an Elastic IP address for use in a VPC, you might
39821// be able to recover it. For more information, see AllocateAddress.
39822//
39823// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39824// with awserr.Error's Code and Message methods to get detailed information about
39825// the error.
39826//
39827// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39828// API operation ReleaseAddress for usage and error information.
39829// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
39830func (c *EC2) ReleaseAddress(input *ReleaseAddressInput) (*ReleaseAddressOutput, error) {
39831	req, out := c.ReleaseAddressRequest(input)
39832	return out, req.Send()
39833}
39834
39835// ReleaseAddressWithContext is the same as ReleaseAddress with the addition of
39836// the ability to pass a context and additional request options.
39837//
39838// See ReleaseAddress for details on how to use this API operation.
39839//
39840// The context must be non-nil and will be used for request cancellation. If
39841// the context is nil a panic will occur. In the future the SDK may create
39842// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39843// for more information on using Contexts.
39844func (c *EC2) ReleaseAddressWithContext(ctx aws.Context, input *ReleaseAddressInput, opts ...request.Option) (*ReleaseAddressOutput, error) {
39845	req, out := c.ReleaseAddressRequest(input)
39846	req.SetContext(ctx)
39847	req.ApplyOptions(opts...)
39848	return out, req.Send()
39849}
39850
39851const opReleaseHosts = "ReleaseHosts"
39852
39853// ReleaseHostsRequest generates a "aws/request.Request" representing the
39854// client's request for the ReleaseHosts operation. The "output" return
39855// value will be populated with the request's response once the request completes
39856// successfully.
39857//
39858// Use "Send" method on the returned Request to send the API call to the service.
39859// the "output" return value is not valid until after Send returns without error.
39860//
39861// See ReleaseHosts for more information on using the ReleaseHosts
39862// API call, and error handling.
39863//
39864// This method is useful when you want to inject custom logic or configuration
39865// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39866//
39867//
39868//    // Example sending a request using the ReleaseHostsRequest method.
39869//    req, resp := client.ReleaseHostsRequest(params)
39870//
39871//    err := req.Send()
39872//    if err == nil { // resp is now filled
39873//        fmt.Println(resp)
39874//    }
39875//
39876// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
39877func (c *EC2) ReleaseHostsRequest(input *ReleaseHostsInput) (req *request.Request, output *ReleaseHostsOutput) {
39878	op := &request.Operation{
39879		Name:       opReleaseHosts,
39880		HTTPMethod: "POST",
39881		HTTPPath:   "/",
39882	}
39883
39884	if input == nil {
39885		input = &ReleaseHostsInput{}
39886	}
39887
39888	output = &ReleaseHostsOutput{}
39889	req = c.newRequest(op, input, output)
39890	return
39891}
39892
39893// ReleaseHosts API operation for Amazon Elastic Compute Cloud.
39894//
39895// When you no longer want to use an On-Demand Dedicated Host it can be released.
39896// On-Demand billing is stopped and the host goes into released state. The host
39897// ID of Dedicated Hosts that have been released can no longer be specified
39898// in another request, for example, to modify the host. You must stop or terminate
39899// all instances on a host before it can be released.
39900//
39901// When Dedicated Hosts are released, it may take some time for them to stop
39902// counting toward your limit and you may receive capacity errors when trying
39903// to allocate new Dedicated Hosts. Wait a few minutes and then try again.
39904//
39905// Released hosts still appear in a DescribeHosts response.
39906//
39907// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39908// with awserr.Error's Code and Message methods to get detailed information about
39909// the error.
39910//
39911// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39912// API operation ReleaseHosts for usage and error information.
39913// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
39914func (c *EC2) ReleaseHosts(input *ReleaseHostsInput) (*ReleaseHostsOutput, error) {
39915	req, out := c.ReleaseHostsRequest(input)
39916	return out, req.Send()
39917}
39918
39919// ReleaseHostsWithContext is the same as ReleaseHosts with the addition of
39920// the ability to pass a context and additional request options.
39921//
39922// See ReleaseHosts for details on how to use this API operation.
39923//
39924// The context must be non-nil and will be used for request cancellation. If
39925// the context is nil a panic will occur. In the future the SDK may create
39926// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39927// for more information on using Contexts.
39928func (c *EC2) ReleaseHostsWithContext(ctx aws.Context, input *ReleaseHostsInput, opts ...request.Option) (*ReleaseHostsOutput, error) {
39929	req, out := c.ReleaseHostsRequest(input)
39930	req.SetContext(ctx)
39931	req.ApplyOptions(opts...)
39932	return out, req.Send()
39933}
39934
39935const opReplaceIamInstanceProfileAssociation = "ReplaceIamInstanceProfileAssociation"
39936
39937// ReplaceIamInstanceProfileAssociationRequest generates a "aws/request.Request" representing the
39938// client's request for the ReplaceIamInstanceProfileAssociation operation. The "output" return
39939// value will be populated with the request's response once the request completes
39940// successfully.
39941//
39942// Use "Send" method on the returned Request to send the API call to the service.
39943// the "output" return value is not valid until after Send returns without error.
39944//
39945// See ReplaceIamInstanceProfileAssociation for more information on using the ReplaceIamInstanceProfileAssociation
39946// API call, and error handling.
39947//
39948// This method is useful when you want to inject custom logic or configuration
39949// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39950//
39951//
39952//    // Example sending a request using the ReplaceIamInstanceProfileAssociationRequest method.
39953//    req, resp := client.ReplaceIamInstanceProfileAssociationRequest(params)
39954//
39955//    err := req.Send()
39956//    if err == nil { // resp is now filled
39957//        fmt.Println(resp)
39958//    }
39959//
39960// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
39961func (c *EC2) ReplaceIamInstanceProfileAssociationRequest(input *ReplaceIamInstanceProfileAssociationInput) (req *request.Request, output *ReplaceIamInstanceProfileAssociationOutput) {
39962	op := &request.Operation{
39963		Name:       opReplaceIamInstanceProfileAssociation,
39964		HTTPMethod: "POST",
39965		HTTPPath:   "/",
39966	}
39967
39968	if input == nil {
39969		input = &ReplaceIamInstanceProfileAssociationInput{}
39970	}
39971
39972	output = &ReplaceIamInstanceProfileAssociationOutput{}
39973	req = c.newRequest(op, input, output)
39974	return
39975}
39976
39977// ReplaceIamInstanceProfileAssociation API operation for Amazon Elastic Compute Cloud.
39978//
39979// Replaces an IAM instance profile for the specified running instance. You
39980// can use this action to change the IAM instance profile that's associated
39981// with an instance without having to disassociate the existing IAM instance
39982// profile first.
39983//
39984// Use DescribeIamInstanceProfileAssociations to get the association ID.
39985//
39986// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39987// with awserr.Error's Code and Message methods to get detailed information about
39988// the error.
39989//
39990// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39991// API operation ReplaceIamInstanceProfileAssociation for usage and error information.
39992// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
39993func (c *EC2) ReplaceIamInstanceProfileAssociation(input *ReplaceIamInstanceProfileAssociationInput) (*ReplaceIamInstanceProfileAssociationOutput, error) {
39994	req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
39995	return out, req.Send()
39996}
39997
39998// ReplaceIamInstanceProfileAssociationWithContext is the same as ReplaceIamInstanceProfileAssociation with the addition of
39999// the ability to pass a context and additional request options.
40000//
40001// See ReplaceIamInstanceProfileAssociation for details on how to use this API operation.
40002//
40003// The context must be non-nil and will be used for request cancellation. If
40004// the context is nil a panic will occur. In the future the SDK may create
40005// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40006// for more information on using Contexts.
40007func (c *EC2) ReplaceIamInstanceProfileAssociationWithContext(ctx aws.Context, input *ReplaceIamInstanceProfileAssociationInput, opts ...request.Option) (*ReplaceIamInstanceProfileAssociationOutput, error) {
40008	req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
40009	req.SetContext(ctx)
40010	req.ApplyOptions(opts...)
40011	return out, req.Send()
40012}
40013
40014const opReplaceNetworkAclAssociation = "ReplaceNetworkAclAssociation"
40015
40016// ReplaceNetworkAclAssociationRequest generates a "aws/request.Request" representing the
40017// client's request for the ReplaceNetworkAclAssociation operation. The "output" return
40018// value will be populated with the request's response once the request completes
40019// successfully.
40020//
40021// Use "Send" method on the returned Request to send the API call to the service.
40022// the "output" return value is not valid until after Send returns without error.
40023//
40024// See ReplaceNetworkAclAssociation for more information on using the ReplaceNetworkAclAssociation
40025// API call, and error handling.
40026//
40027// This method is useful when you want to inject custom logic or configuration
40028// into the SDK's request lifecycle. Such as custom headers, or retry logic.
40029//
40030//
40031//    // Example sending a request using the ReplaceNetworkAclAssociationRequest method.
40032//    req, resp := client.ReplaceNetworkAclAssociationRequest(params)
40033//
40034//    err := req.Send()
40035//    if err == nil { // resp is now filled
40036//        fmt.Println(resp)
40037//    }
40038//
40039// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
40040func (c *EC2) ReplaceNetworkAclAssociationRequest(input *ReplaceNetworkAclAssociationInput) (req *request.Request, output *ReplaceNetworkAclAssociationOutput) {
40041	op := &request.Operation{
40042		Name:       opReplaceNetworkAclAssociation,
40043		HTTPMethod: "POST",
40044		HTTPPath:   "/",
40045	}
40046
40047	if input == nil {
40048		input = &ReplaceNetworkAclAssociationInput{}
40049	}
40050
40051	output = &ReplaceNetworkAclAssociationOutput{}
40052	req = c.newRequest(op, input, output)
40053	return
40054}
40055
40056// ReplaceNetworkAclAssociation API operation for Amazon Elastic Compute Cloud.
40057//
40058// Changes which network ACL a subnet is associated with. By default when you
40059// create a subnet, it's automatically associated with the default network ACL.
40060// For more information, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html)
40061// in the Amazon Virtual Private Cloud User Guide.
40062//
40063// This is an idempotent operation.
40064//
40065// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
40066// with awserr.Error's Code and Message methods to get detailed information about
40067// the error.
40068//
40069// See the AWS API reference guide for Amazon Elastic Compute Cloud's
40070// API operation ReplaceNetworkAclAssociation for usage and error information.
40071// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
40072func (c *EC2) ReplaceNetworkAclAssociation(input *ReplaceNetworkAclAssociationInput) (*ReplaceNetworkAclAssociationOutput, error) {
40073	req, out := c.ReplaceNetworkAclAssociationRequest(input)
40074	return out, req.Send()
40075}
40076
40077// ReplaceNetworkAclAssociationWithContext is the same as ReplaceNetworkAclAssociation with the addition of
40078// the ability to pass a context and additional request options.
40079//
40080// See ReplaceNetworkAclAssociation for details on how to use this API operation.
40081//
40082// The context must be non-nil and will be used for request cancellation. If
40083// the context is nil a panic will occur. In the future the SDK may create
40084// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40085// for more information on using Contexts.
40086func (c *EC2) ReplaceNetworkAclAssociationWithContext(ctx aws.Context, input *ReplaceNetworkAclAssociationInput, opts ...request.Option) (*ReplaceNetworkAclAssociationOutput, error) {
40087	req, out := c.ReplaceNetworkAclAssociationRequest(input)
40088	req.SetContext(ctx)
40089	req.ApplyOptions(opts...)
40090	return out, req.Send()
40091}
40092
40093const opReplaceNetworkAclEntry = "ReplaceNetworkAclEntry"
40094
40095// ReplaceNetworkAclEntryRequest generates a "aws/request.Request" representing the
40096// client's request for the ReplaceNetworkAclEntry operation. The "output" return
40097// value will be populated with the request's response once the request completes
40098// successfully.
40099//
40100// Use "Send" method on the returned Request to send the API call to the service.
40101// the "output" return value is not valid until after Send returns without error.
40102//
40103// See ReplaceNetworkAclEntry for more information on using the ReplaceNetworkAclEntry
40104// API call, and error handling.
40105//
40106// This method is useful when you want to inject custom logic or configuration
40107// into the SDK's request lifecycle. Such as custom headers, or retry logic.
40108//
40109//
40110//    // Example sending a request using the ReplaceNetworkAclEntryRequest method.
40111//    req, resp := client.ReplaceNetworkAclEntryRequest(params)
40112//
40113//    err := req.Send()
40114//    if err == nil { // resp is now filled
40115//        fmt.Println(resp)
40116//    }
40117//
40118// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
40119func (c *EC2) ReplaceNetworkAclEntryRequest(input *ReplaceNetworkAclEntryInput) (req *request.Request, output *ReplaceNetworkAclEntryOutput) {
40120	op := &request.Operation{
40121		Name:       opReplaceNetworkAclEntry,
40122		HTTPMethod: "POST",
40123		HTTPPath:   "/",
40124	}
40125
40126	if input == nil {
40127		input = &ReplaceNetworkAclEntryInput{}
40128	}
40129
40130	output = &ReplaceNetworkAclEntryOutput{}
40131	req = c.newRequest(op, input, output)
40132	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
40133	return
40134}
40135
40136// ReplaceNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
40137//
40138// Replaces an entry (rule) in a network ACL. For more information, see Network
40139// ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html) in
40140// the Amazon Virtual Private Cloud User Guide.
40141//
40142// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
40143// with awserr.Error's Code and Message methods to get detailed information about
40144// the error.
40145//
40146// See the AWS API reference guide for Amazon Elastic Compute Cloud's
40147// API operation ReplaceNetworkAclEntry for usage and error information.
40148// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
40149func (c *EC2) ReplaceNetworkAclEntry(input *ReplaceNetworkAclEntryInput) (*ReplaceNetworkAclEntryOutput, error) {
40150	req, out := c.ReplaceNetworkAclEntryRequest(input)
40151	return out, req.Send()
40152}
40153
40154// ReplaceNetworkAclEntryWithContext is the same as ReplaceNetworkAclEntry with the addition of
40155// the ability to pass a context and additional request options.
40156//
40157// See ReplaceNetworkAclEntry for details on how to use this API operation.
40158//
40159// The context must be non-nil and will be used for request cancellation. If
40160// the context is nil a panic will occur. In the future the SDK may create
40161// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40162// for more information on using Contexts.
40163func (c *EC2) ReplaceNetworkAclEntryWithContext(ctx aws.Context, input *ReplaceNetworkAclEntryInput, opts ...request.Option) (*ReplaceNetworkAclEntryOutput, error) {
40164	req, out := c.ReplaceNetworkAclEntryRequest(input)
40165	req.SetContext(ctx)
40166	req.ApplyOptions(opts...)
40167	return out, req.Send()
40168}
40169
40170const opReplaceRoute = "ReplaceRoute"
40171
40172// ReplaceRouteRequest generates a "aws/request.Request" representing the
40173// client's request for the ReplaceRoute operation. The "output" return
40174// value will be populated with the request's response once the request completes
40175// successfully.
40176//
40177// Use "Send" method on the returned Request to send the API call to the service.
40178// the "output" return value is not valid until after Send returns without error.
40179//
40180// See ReplaceRoute for more information on using the ReplaceRoute
40181// API call, and error handling.
40182//
40183// This method is useful when you want to inject custom logic or configuration
40184// into the SDK's request lifecycle. Such as custom headers, or retry logic.
40185//
40186//
40187//    // Example sending a request using the ReplaceRouteRequest method.
40188//    req, resp := client.ReplaceRouteRequest(params)
40189//
40190//    err := req.Send()
40191//    if err == nil { // resp is now filled
40192//        fmt.Println(resp)
40193//    }
40194//
40195// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
40196func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Request, output *ReplaceRouteOutput) {
40197	op := &request.Operation{
40198		Name:       opReplaceRoute,
40199		HTTPMethod: "POST",
40200		HTTPPath:   "/",
40201	}
40202
40203	if input == nil {
40204		input = &ReplaceRouteInput{}
40205	}
40206
40207	output = &ReplaceRouteOutput{}
40208	req = c.newRequest(op, input, output)
40209	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
40210	return
40211}
40212
40213// ReplaceRoute API operation for Amazon Elastic Compute Cloud.
40214//
40215// Replaces an existing route within a route table in a VPC. You must provide
40216// only one of the following: internet gateway, virtual private gateway, NAT
40217// instance, NAT gateway, VPC peering connection, network interface, egress-only
40218// internet gateway, or transit gateway.
40219//
40220// For more information, see Route tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
40221// in the Amazon Virtual Private Cloud User Guide.
40222//
40223// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
40224// with awserr.Error's Code and Message methods to get detailed information about
40225// the error.
40226//
40227// See the AWS API reference guide for Amazon Elastic Compute Cloud's
40228// API operation ReplaceRoute for usage and error information.
40229// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
40230func (c *EC2) ReplaceRoute(input *ReplaceRouteInput) (*ReplaceRouteOutput, error) {
40231	req, out := c.ReplaceRouteRequest(input)
40232	return out, req.Send()
40233}
40234
40235// ReplaceRouteWithContext is the same as ReplaceRoute with the addition of
40236// the ability to pass a context and additional request options.
40237//
40238// See ReplaceRoute for details on how to use this API operation.
40239//
40240// The context must be non-nil and will be used for request cancellation. If
40241// the context is nil a panic will occur. In the future the SDK may create
40242// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40243// for more information on using Contexts.
40244func (c *EC2) ReplaceRouteWithContext(ctx aws.Context, input *ReplaceRouteInput, opts ...request.Option) (*ReplaceRouteOutput, error) {
40245	req, out := c.ReplaceRouteRequest(input)
40246	req.SetContext(ctx)
40247	req.ApplyOptions(opts...)
40248	return out, req.Send()
40249}
40250
40251const opReplaceRouteTableAssociation = "ReplaceRouteTableAssociation"
40252
40253// ReplaceRouteTableAssociationRequest generates a "aws/request.Request" representing the
40254// client's request for the ReplaceRouteTableAssociation operation. The "output" return
40255// value will be populated with the request's response once the request completes
40256// successfully.
40257//
40258// Use "Send" method on the returned Request to send the API call to the service.
40259// the "output" return value is not valid until after Send returns without error.
40260//
40261// See ReplaceRouteTableAssociation for more information on using the ReplaceRouteTableAssociation
40262// API call, and error handling.
40263//
40264// This method is useful when you want to inject custom logic or configuration
40265// into the SDK's request lifecycle. Such as custom headers, or retry logic.
40266//
40267//
40268//    // Example sending a request using the ReplaceRouteTableAssociationRequest method.
40269//    req, resp := client.ReplaceRouteTableAssociationRequest(params)
40270//
40271//    err := req.Send()
40272//    if err == nil { // resp is now filled
40273//        fmt.Println(resp)
40274//    }
40275//
40276// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
40277func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssociationInput) (req *request.Request, output *ReplaceRouteTableAssociationOutput) {
40278	op := &request.Operation{
40279		Name:       opReplaceRouteTableAssociation,
40280		HTTPMethod: "POST",
40281		HTTPPath:   "/",
40282	}
40283
40284	if input == nil {
40285		input = &ReplaceRouteTableAssociationInput{}
40286	}
40287
40288	output = &ReplaceRouteTableAssociationOutput{}
40289	req = c.newRequest(op, input, output)
40290	return
40291}
40292
40293// ReplaceRouteTableAssociation API operation for Amazon Elastic Compute Cloud.
40294//
40295// Changes the route table associated with a given subnet, internet gateway,
40296// or virtual private gateway in a VPC. After the operation completes, the subnet
40297// or gateway uses the routes in the new route table. For more information about
40298// route tables, see Route tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
40299// in the Amazon Virtual Private Cloud User Guide.
40300//
40301// You can also use this operation to change which table is the main route table
40302// in the VPC. Specify the main route table's association ID and the route table
40303// ID of the new main route table.
40304//
40305// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
40306// with awserr.Error's Code and Message methods to get detailed information about
40307// the error.
40308//
40309// See the AWS API reference guide for Amazon Elastic Compute Cloud's
40310// API operation ReplaceRouteTableAssociation for usage and error information.
40311// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
40312func (c *EC2) ReplaceRouteTableAssociation(input *ReplaceRouteTableAssociationInput) (*ReplaceRouteTableAssociationOutput, error) {
40313	req, out := c.ReplaceRouteTableAssociationRequest(input)
40314	return out, req.Send()
40315}
40316
40317// ReplaceRouteTableAssociationWithContext is the same as ReplaceRouteTableAssociation with the addition of
40318// the ability to pass a context and additional request options.
40319//
40320// See ReplaceRouteTableAssociation for details on how to use this API operation.
40321//
40322// The context must be non-nil and will be used for request cancellation. If
40323// the context is nil a panic will occur. In the future the SDK may create
40324// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40325// for more information on using Contexts.
40326func (c *EC2) ReplaceRouteTableAssociationWithContext(ctx aws.Context, input *ReplaceRouteTableAssociationInput, opts ...request.Option) (*ReplaceRouteTableAssociationOutput, error) {
40327	req, out := c.ReplaceRouteTableAssociationRequest(input)
40328	req.SetContext(ctx)
40329	req.ApplyOptions(opts...)
40330	return out, req.Send()
40331}
40332
40333const opReplaceTransitGatewayRoute = "ReplaceTransitGatewayRoute"
40334
40335// ReplaceTransitGatewayRouteRequest generates a "aws/request.Request" representing the
40336// client's request for the ReplaceTransitGatewayRoute operation. The "output" return
40337// value will be populated with the request's response once the request completes
40338// successfully.
40339//
40340// Use "Send" method on the returned Request to send the API call to the service.
40341// the "output" return value is not valid until after Send returns without error.
40342//
40343// See ReplaceTransitGatewayRoute for more information on using the ReplaceTransitGatewayRoute
40344// API call, and error handling.
40345//
40346// This method is useful when you want to inject custom logic or configuration
40347// into the SDK's request lifecycle. Such as custom headers, or retry logic.
40348//
40349//
40350//    // Example sending a request using the ReplaceTransitGatewayRouteRequest method.
40351//    req, resp := client.ReplaceTransitGatewayRouteRequest(params)
40352//
40353//    err := req.Send()
40354//    if err == nil { // resp is now filled
40355//        fmt.Println(resp)
40356//    }
40357//
40358// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceTransitGatewayRoute
40359func (c *EC2) ReplaceTransitGatewayRouteRequest(input *ReplaceTransitGatewayRouteInput) (req *request.Request, output *ReplaceTransitGatewayRouteOutput) {
40360	op := &request.Operation{
40361		Name:       opReplaceTransitGatewayRoute,
40362		HTTPMethod: "POST",
40363		HTTPPath:   "/",
40364	}
40365
40366	if input == nil {
40367		input = &ReplaceTransitGatewayRouteInput{}
40368	}
40369
40370	output = &ReplaceTransitGatewayRouteOutput{}
40371	req = c.newRequest(op, input, output)
40372	return
40373}
40374
40375// ReplaceTransitGatewayRoute API operation for Amazon Elastic Compute Cloud.
40376//
40377// Replaces the specified route in the specified transit gateway route table.
40378//
40379// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
40380// with awserr.Error's Code and Message methods to get detailed information about
40381// the error.
40382//
40383// See the AWS API reference guide for Amazon Elastic Compute Cloud's
40384// API operation ReplaceTransitGatewayRoute for usage and error information.
40385// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceTransitGatewayRoute
40386func (c *EC2) ReplaceTransitGatewayRoute(input *ReplaceTransitGatewayRouteInput) (*ReplaceTransitGatewayRouteOutput, error) {
40387	req, out := c.ReplaceTransitGatewayRouteRequest(input)
40388	return out, req.Send()
40389}
40390
40391// ReplaceTransitGatewayRouteWithContext is the same as ReplaceTransitGatewayRoute with the addition of
40392// the ability to pass a context and additional request options.
40393//
40394// See ReplaceTransitGatewayRoute for details on how to use this API operation.
40395//
40396// The context must be non-nil and will be used for request cancellation. If
40397// the context is nil a panic will occur. In the future the SDK may create
40398// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40399// for more information on using Contexts.
40400func (c *EC2) ReplaceTransitGatewayRouteWithContext(ctx aws.Context, input *ReplaceTransitGatewayRouteInput, opts ...request.Option) (*ReplaceTransitGatewayRouteOutput, error) {
40401	req, out := c.ReplaceTransitGatewayRouteRequest(input)
40402	req.SetContext(ctx)
40403	req.ApplyOptions(opts...)
40404	return out, req.Send()
40405}
40406
40407const opReportInstanceStatus = "ReportInstanceStatus"
40408
40409// ReportInstanceStatusRequest generates a "aws/request.Request" representing the
40410// client's request for the ReportInstanceStatus operation. The "output" return
40411// value will be populated with the request's response once the request completes
40412// successfully.
40413//
40414// Use "Send" method on the returned Request to send the API call to the service.
40415// the "output" return value is not valid until after Send returns without error.
40416//
40417// See ReportInstanceStatus for more information on using the ReportInstanceStatus
40418// API call, and error handling.
40419//
40420// This method is useful when you want to inject custom logic or configuration
40421// into the SDK's request lifecycle. Such as custom headers, or retry logic.
40422//
40423//
40424//    // Example sending a request using the ReportInstanceStatusRequest method.
40425//    req, resp := client.ReportInstanceStatusRequest(params)
40426//
40427//    err := req.Send()
40428//    if err == nil { // resp is now filled
40429//        fmt.Println(resp)
40430//    }
40431//
40432// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
40433func (c *EC2) ReportInstanceStatusRequest(input *ReportInstanceStatusInput) (req *request.Request, output *ReportInstanceStatusOutput) {
40434	op := &request.Operation{
40435		Name:       opReportInstanceStatus,
40436		HTTPMethod: "POST",
40437		HTTPPath:   "/",
40438	}
40439
40440	if input == nil {
40441		input = &ReportInstanceStatusInput{}
40442	}
40443
40444	output = &ReportInstanceStatusOutput{}
40445	req = c.newRequest(op, input, output)
40446	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
40447	return
40448}
40449
40450// ReportInstanceStatus API operation for Amazon Elastic Compute Cloud.
40451//
40452// Submits feedback about the status of an instance. The instance must be in
40453// the running state. If your experience with the instance differs from the
40454// instance status returned by DescribeInstanceStatus, use ReportInstanceStatus
40455// to report your experience with the instance. Amazon EC2 collects this information
40456// to improve the accuracy of status checks.
40457//
40458// Use of this action does not change the value returned by DescribeInstanceStatus.
40459//
40460// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
40461// with awserr.Error's Code and Message methods to get detailed information about
40462// the error.
40463//
40464// See the AWS API reference guide for Amazon Elastic Compute Cloud's
40465// API operation ReportInstanceStatus for usage and error information.
40466// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
40467func (c *EC2) ReportInstanceStatus(input *ReportInstanceStatusInput) (*ReportInstanceStatusOutput, error) {
40468	req, out := c.ReportInstanceStatusRequest(input)
40469	return out, req.Send()
40470}
40471
40472// ReportInstanceStatusWithContext is the same as ReportInstanceStatus with the addition of
40473// the ability to pass a context and additional request options.
40474//
40475// See ReportInstanceStatus for details on how to use this API operation.
40476//
40477// The context must be non-nil and will be used for request cancellation. If
40478// the context is nil a panic will occur. In the future the SDK may create
40479// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40480// for more information on using Contexts.
40481func (c *EC2) ReportInstanceStatusWithContext(ctx aws.Context, input *ReportInstanceStatusInput, opts ...request.Option) (*ReportInstanceStatusOutput, error) {
40482	req, out := c.ReportInstanceStatusRequest(input)
40483	req.SetContext(ctx)
40484	req.ApplyOptions(opts...)
40485	return out, req.Send()
40486}
40487
40488const opRequestSpotFleet = "RequestSpotFleet"
40489
40490// RequestSpotFleetRequest generates a "aws/request.Request" representing the
40491// client's request for the RequestSpotFleet operation. The "output" return
40492// value will be populated with the request's response once the request completes
40493// successfully.
40494//
40495// Use "Send" method on the returned Request to send the API call to the service.
40496// the "output" return value is not valid until after Send returns without error.
40497//
40498// See RequestSpotFleet for more information on using the RequestSpotFleet
40499// API call, and error handling.
40500//
40501// This method is useful when you want to inject custom logic or configuration
40502// into the SDK's request lifecycle. Such as custom headers, or retry logic.
40503//
40504//
40505//    // Example sending a request using the RequestSpotFleetRequest method.
40506//    req, resp := client.RequestSpotFleetRequest(params)
40507//
40508//    err := req.Send()
40509//    if err == nil { // resp is now filled
40510//        fmt.Println(resp)
40511//    }
40512//
40513// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
40514func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *request.Request, output *RequestSpotFleetOutput) {
40515	op := &request.Operation{
40516		Name:       opRequestSpotFleet,
40517		HTTPMethod: "POST",
40518		HTTPPath:   "/",
40519	}
40520
40521	if input == nil {
40522		input = &RequestSpotFleetInput{}
40523	}
40524
40525	output = &RequestSpotFleetOutput{}
40526	req = c.newRequest(op, input, output)
40527	return
40528}
40529
40530// RequestSpotFleet API operation for Amazon Elastic Compute Cloud.
40531//
40532// Creates a Spot Fleet request.
40533//
40534// The Spot Fleet request specifies the total target capacity and the On-Demand
40535// target capacity. Amazon EC2 calculates the difference between the total capacity
40536// and On-Demand capacity, and launches the difference as Spot capacity.
40537//
40538// You can submit a single request that includes multiple launch specifications
40539// that vary by instance type, AMI, Availability Zone, or subnet.
40540//
40541// By default, the Spot Fleet requests Spot Instances in the Spot Instance pool
40542// where the price per unit is the lowest. Each launch specification can include
40543// its own instance weighting that reflects the value of the instance type to
40544// your application workload.
40545//
40546// Alternatively, you can specify that the Spot Fleet distribute the target
40547// capacity across the Spot pools included in its launch specifications. By
40548// ensuring that the Spot Instances in your Spot Fleet are in different Spot
40549// pools, you can improve the availability of your fleet.
40550//
40551// You can specify tags for the Spot Fleet request and instances launched by
40552// the fleet. You cannot tag other resource types in a Spot Fleet request because
40553// only the spot-fleet-request and instance resource types are supported.
40554//
40555// For more information, see Spot Fleet requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html)
40556// in the Amazon EC2 User Guide for Linux Instances.
40557//
40558// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
40559// with awserr.Error's Code and Message methods to get detailed information about
40560// the error.
40561//
40562// See the AWS API reference guide for Amazon Elastic Compute Cloud's
40563// API operation RequestSpotFleet for usage and error information.
40564// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
40565func (c *EC2) RequestSpotFleet(input *RequestSpotFleetInput) (*RequestSpotFleetOutput, error) {
40566	req, out := c.RequestSpotFleetRequest(input)
40567	return out, req.Send()
40568}
40569
40570// RequestSpotFleetWithContext is the same as RequestSpotFleet with the addition of
40571// the ability to pass a context and additional request options.
40572//
40573// See RequestSpotFleet for details on how to use this API operation.
40574//
40575// The context must be non-nil and will be used for request cancellation. If
40576// the context is nil a panic will occur. In the future the SDK may create
40577// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40578// for more information on using Contexts.
40579func (c *EC2) RequestSpotFleetWithContext(ctx aws.Context, input *RequestSpotFleetInput, opts ...request.Option) (*RequestSpotFleetOutput, error) {
40580	req, out := c.RequestSpotFleetRequest(input)
40581	req.SetContext(ctx)
40582	req.ApplyOptions(opts...)
40583	return out, req.Send()
40584}
40585
40586const opRequestSpotInstances = "RequestSpotInstances"
40587
40588// RequestSpotInstancesRequest generates a "aws/request.Request" representing the
40589// client's request for the RequestSpotInstances operation. The "output" return
40590// value will be populated with the request's response once the request completes
40591// successfully.
40592//
40593// Use "Send" method on the returned Request to send the API call to the service.
40594// the "output" return value is not valid until after Send returns without error.
40595//
40596// See RequestSpotInstances for more information on using the RequestSpotInstances
40597// API call, and error handling.
40598//
40599// This method is useful when you want to inject custom logic or configuration
40600// into the SDK's request lifecycle. Such as custom headers, or retry logic.
40601//
40602//
40603//    // Example sending a request using the RequestSpotInstancesRequest method.
40604//    req, resp := client.RequestSpotInstancesRequest(params)
40605//
40606//    err := req.Send()
40607//    if err == nil { // resp is now filled
40608//        fmt.Println(resp)
40609//    }
40610//
40611// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
40612func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req *request.Request, output *RequestSpotInstancesOutput) {
40613	op := &request.Operation{
40614		Name:       opRequestSpotInstances,
40615		HTTPMethod: "POST",
40616		HTTPPath:   "/",
40617	}
40618
40619	if input == nil {
40620		input = &RequestSpotInstancesInput{}
40621	}
40622
40623	output = &RequestSpotInstancesOutput{}
40624	req = c.newRequest(op, input, output)
40625	return
40626}
40627
40628// RequestSpotInstances API operation for Amazon Elastic Compute Cloud.
40629//
40630// Creates a Spot Instance request.
40631//
40632// For more information, see Spot Instance requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
40633// in the Amazon EC2 User Guide for Linux Instances.
40634//
40635// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
40636// with awserr.Error's Code and Message methods to get detailed information about
40637// the error.
40638//
40639// See the AWS API reference guide for Amazon Elastic Compute Cloud's
40640// API operation RequestSpotInstances for usage and error information.
40641// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
40642func (c *EC2) RequestSpotInstances(input *RequestSpotInstancesInput) (*RequestSpotInstancesOutput, error) {
40643	req, out := c.RequestSpotInstancesRequest(input)
40644	return out, req.Send()
40645}
40646
40647// RequestSpotInstancesWithContext is the same as RequestSpotInstances with the addition of
40648// the ability to pass a context and additional request options.
40649//
40650// See RequestSpotInstances for details on how to use this API operation.
40651//
40652// The context must be non-nil and will be used for request cancellation. If
40653// the context is nil a panic will occur. In the future the SDK may create
40654// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40655// for more information on using Contexts.
40656func (c *EC2) RequestSpotInstancesWithContext(ctx aws.Context, input *RequestSpotInstancesInput, opts ...request.Option) (*RequestSpotInstancesOutput, error) {
40657	req, out := c.RequestSpotInstancesRequest(input)
40658	req.SetContext(ctx)
40659	req.ApplyOptions(opts...)
40660	return out, req.Send()
40661}
40662
40663const opResetAddressAttribute = "ResetAddressAttribute"
40664
40665// ResetAddressAttributeRequest generates a "aws/request.Request" representing the
40666// client's request for the ResetAddressAttribute operation. The "output" return
40667// value will be populated with the request's response once the request completes
40668// successfully.
40669//
40670// Use "Send" method on the returned Request to send the API call to the service.
40671// the "output" return value is not valid until after Send returns without error.
40672//
40673// See ResetAddressAttribute for more information on using the ResetAddressAttribute
40674// API call, and error handling.
40675//
40676// This method is useful when you want to inject custom logic or configuration
40677// into the SDK's request lifecycle. Such as custom headers, or retry logic.
40678//
40679//
40680//    // Example sending a request using the ResetAddressAttributeRequest method.
40681//    req, resp := client.ResetAddressAttributeRequest(params)
40682//
40683//    err := req.Send()
40684//    if err == nil { // resp is now filled
40685//        fmt.Println(resp)
40686//    }
40687//
40688// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetAddressAttribute
40689func (c *EC2) ResetAddressAttributeRequest(input *ResetAddressAttributeInput) (req *request.Request, output *ResetAddressAttributeOutput) {
40690	op := &request.Operation{
40691		Name:       opResetAddressAttribute,
40692		HTTPMethod: "POST",
40693		HTTPPath:   "/",
40694	}
40695
40696	if input == nil {
40697		input = &ResetAddressAttributeInput{}
40698	}
40699
40700	output = &ResetAddressAttributeOutput{}
40701	req = c.newRequest(op, input, output)
40702	return
40703}
40704
40705// ResetAddressAttribute API operation for Amazon Elastic Compute Cloud.
40706//
40707// Resets the attribute of the specified IP address. For requirements, see Using
40708// reverse DNS for email applications (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html#Using_Elastic_Addressing_Reverse_DNS).
40709//
40710// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
40711// with awserr.Error's Code and Message methods to get detailed information about
40712// the error.
40713//
40714// See the AWS API reference guide for Amazon Elastic Compute Cloud's
40715// API operation ResetAddressAttribute for usage and error information.
40716// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetAddressAttribute
40717func (c *EC2) ResetAddressAttribute(input *ResetAddressAttributeInput) (*ResetAddressAttributeOutput, error) {
40718	req, out := c.ResetAddressAttributeRequest(input)
40719	return out, req.Send()
40720}
40721
40722// ResetAddressAttributeWithContext is the same as ResetAddressAttribute with the addition of
40723// the ability to pass a context and additional request options.
40724//
40725// See ResetAddressAttribute for details on how to use this API operation.
40726//
40727// The context must be non-nil and will be used for request cancellation. If
40728// the context is nil a panic will occur. In the future the SDK may create
40729// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40730// for more information on using Contexts.
40731func (c *EC2) ResetAddressAttributeWithContext(ctx aws.Context, input *ResetAddressAttributeInput, opts ...request.Option) (*ResetAddressAttributeOutput, error) {
40732	req, out := c.ResetAddressAttributeRequest(input)
40733	req.SetContext(ctx)
40734	req.ApplyOptions(opts...)
40735	return out, req.Send()
40736}
40737
40738const opResetEbsDefaultKmsKeyId = "ResetEbsDefaultKmsKeyId"
40739
40740// ResetEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the
40741// client's request for the ResetEbsDefaultKmsKeyId operation. The "output" return
40742// value will be populated with the request's response once the request completes
40743// successfully.
40744//
40745// Use "Send" method on the returned Request to send the API call to the service.
40746// the "output" return value is not valid until after Send returns without error.
40747//
40748// See ResetEbsDefaultKmsKeyId for more information on using the ResetEbsDefaultKmsKeyId
40749// API call, and error handling.
40750//
40751// This method is useful when you want to inject custom logic or configuration
40752// into the SDK's request lifecycle. Such as custom headers, or retry logic.
40753//
40754//
40755//    // Example sending a request using the ResetEbsDefaultKmsKeyIdRequest method.
40756//    req, resp := client.ResetEbsDefaultKmsKeyIdRequest(params)
40757//
40758//    err := req.Send()
40759//    if err == nil { // resp is now filled
40760//        fmt.Println(resp)
40761//    }
40762//
40763// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetEbsDefaultKmsKeyId
40764func (c *EC2) ResetEbsDefaultKmsKeyIdRequest(input *ResetEbsDefaultKmsKeyIdInput) (req *request.Request, output *ResetEbsDefaultKmsKeyIdOutput) {
40765	op := &request.Operation{
40766		Name:       opResetEbsDefaultKmsKeyId,
40767		HTTPMethod: "POST",
40768		HTTPPath:   "/",
40769	}
40770
40771	if input == nil {
40772		input = &ResetEbsDefaultKmsKeyIdInput{}
40773	}
40774
40775	output = &ResetEbsDefaultKmsKeyIdOutput{}
40776	req = c.newRequest(op, input, output)
40777	return
40778}
40779
40780// ResetEbsDefaultKmsKeyId API operation for Amazon Elastic Compute Cloud.
40781//
40782// Resets the default KMS key for EBS encryption for your account in this Region
40783// to the Amazon Web Services managed KMS key for EBS.
40784//
40785// After resetting the default KMS key to the Amazon Web Services managed KMS
40786// key, you can continue to encrypt by a customer managed KMS key by specifying
40787// it when you create the volume. For more information, see Amazon EBS encryption
40788// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
40789// in the Amazon Elastic Compute Cloud User Guide.
40790//
40791// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
40792// with awserr.Error's Code and Message methods to get detailed information about
40793// the error.
40794//
40795// See the AWS API reference guide for Amazon Elastic Compute Cloud's
40796// API operation ResetEbsDefaultKmsKeyId for usage and error information.
40797// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetEbsDefaultKmsKeyId
40798func (c *EC2) ResetEbsDefaultKmsKeyId(input *ResetEbsDefaultKmsKeyIdInput) (*ResetEbsDefaultKmsKeyIdOutput, error) {
40799	req, out := c.ResetEbsDefaultKmsKeyIdRequest(input)
40800	return out, req.Send()
40801}
40802
40803// ResetEbsDefaultKmsKeyIdWithContext is the same as ResetEbsDefaultKmsKeyId with the addition of
40804// the ability to pass a context and additional request options.
40805//
40806// See ResetEbsDefaultKmsKeyId for details on how to use this API operation.
40807//
40808// The context must be non-nil and will be used for request cancellation. If
40809// the context is nil a panic will occur. In the future the SDK may create
40810// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40811// for more information on using Contexts.
40812func (c *EC2) ResetEbsDefaultKmsKeyIdWithContext(ctx aws.Context, input *ResetEbsDefaultKmsKeyIdInput, opts ...request.Option) (*ResetEbsDefaultKmsKeyIdOutput, error) {
40813	req, out := c.ResetEbsDefaultKmsKeyIdRequest(input)
40814	req.SetContext(ctx)
40815	req.ApplyOptions(opts...)
40816	return out, req.Send()
40817}
40818
40819const opResetFpgaImageAttribute = "ResetFpgaImageAttribute"
40820
40821// ResetFpgaImageAttributeRequest generates a "aws/request.Request" representing the
40822// client's request for the ResetFpgaImageAttribute operation. The "output" return
40823// value will be populated with the request's response once the request completes
40824// successfully.
40825//
40826// Use "Send" method on the returned Request to send the API call to the service.
40827// the "output" return value is not valid until after Send returns without error.
40828//
40829// See ResetFpgaImageAttribute for more information on using the ResetFpgaImageAttribute
40830// API call, and error handling.
40831//
40832// This method is useful when you want to inject custom logic or configuration
40833// into the SDK's request lifecycle. Such as custom headers, or retry logic.
40834//
40835//
40836//    // Example sending a request using the ResetFpgaImageAttributeRequest method.
40837//    req, resp := client.ResetFpgaImageAttributeRequest(params)
40838//
40839//    err := req.Send()
40840//    if err == nil { // resp is now filled
40841//        fmt.Println(resp)
40842//    }
40843//
40844// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute
40845func (c *EC2) ResetFpgaImageAttributeRequest(input *ResetFpgaImageAttributeInput) (req *request.Request, output *ResetFpgaImageAttributeOutput) {
40846	op := &request.Operation{
40847		Name:       opResetFpgaImageAttribute,
40848		HTTPMethod: "POST",
40849		HTTPPath:   "/",
40850	}
40851
40852	if input == nil {
40853		input = &ResetFpgaImageAttributeInput{}
40854	}
40855
40856	output = &ResetFpgaImageAttributeOutput{}
40857	req = c.newRequest(op, input, output)
40858	return
40859}
40860
40861// ResetFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
40862//
40863// Resets the specified attribute of the specified Amazon FPGA Image (AFI) to
40864// its default value. You can only reset the load permission attribute.
40865//
40866// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
40867// with awserr.Error's Code and Message methods to get detailed information about
40868// the error.
40869//
40870// See the AWS API reference guide for Amazon Elastic Compute Cloud's
40871// API operation ResetFpgaImageAttribute for usage and error information.
40872// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute
40873func (c *EC2) ResetFpgaImageAttribute(input *ResetFpgaImageAttributeInput) (*ResetFpgaImageAttributeOutput, error) {
40874	req, out := c.ResetFpgaImageAttributeRequest(input)
40875	return out, req.Send()
40876}
40877
40878// ResetFpgaImageAttributeWithContext is the same as ResetFpgaImageAttribute with the addition of
40879// the ability to pass a context and additional request options.
40880//
40881// See ResetFpgaImageAttribute for details on how to use this API operation.
40882//
40883// The context must be non-nil and will be used for request cancellation. If
40884// the context is nil a panic will occur. In the future the SDK may create
40885// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40886// for more information on using Contexts.
40887func (c *EC2) ResetFpgaImageAttributeWithContext(ctx aws.Context, input *ResetFpgaImageAttributeInput, opts ...request.Option) (*ResetFpgaImageAttributeOutput, error) {
40888	req, out := c.ResetFpgaImageAttributeRequest(input)
40889	req.SetContext(ctx)
40890	req.ApplyOptions(opts...)
40891	return out, req.Send()
40892}
40893
40894const opResetImageAttribute = "ResetImageAttribute"
40895
40896// ResetImageAttributeRequest generates a "aws/request.Request" representing the
40897// client's request for the ResetImageAttribute operation. The "output" return
40898// value will be populated with the request's response once the request completes
40899// successfully.
40900//
40901// Use "Send" method on the returned Request to send the API call to the service.
40902// the "output" return value is not valid until after Send returns without error.
40903//
40904// See ResetImageAttribute for more information on using the ResetImageAttribute
40905// API call, and error handling.
40906//
40907// This method is useful when you want to inject custom logic or configuration
40908// into the SDK's request lifecycle. Such as custom headers, or retry logic.
40909//
40910//
40911//    // Example sending a request using the ResetImageAttributeRequest method.
40912//    req, resp := client.ResetImageAttributeRequest(params)
40913//
40914//    err := req.Send()
40915//    if err == nil { // resp is now filled
40916//        fmt.Println(resp)
40917//    }
40918//
40919// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
40920func (c *EC2) ResetImageAttributeRequest(input *ResetImageAttributeInput) (req *request.Request, output *ResetImageAttributeOutput) {
40921	op := &request.Operation{
40922		Name:       opResetImageAttribute,
40923		HTTPMethod: "POST",
40924		HTTPPath:   "/",
40925	}
40926
40927	if input == nil {
40928		input = &ResetImageAttributeInput{}
40929	}
40930
40931	output = &ResetImageAttributeOutput{}
40932	req = c.newRequest(op, input, output)
40933	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
40934	return
40935}
40936
40937// ResetImageAttribute API operation for Amazon Elastic Compute Cloud.
40938//
40939// Resets an attribute of an AMI to its default value.
40940//
40941// The productCodes attribute can't be reset.
40942//
40943// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
40944// with awserr.Error's Code and Message methods to get detailed information about
40945// the error.
40946//
40947// See the AWS API reference guide for Amazon Elastic Compute Cloud's
40948// API operation ResetImageAttribute for usage and error information.
40949// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
40950func (c *EC2) ResetImageAttribute(input *ResetImageAttributeInput) (*ResetImageAttributeOutput, error) {
40951	req, out := c.ResetImageAttributeRequest(input)
40952	return out, req.Send()
40953}
40954
40955// ResetImageAttributeWithContext is the same as ResetImageAttribute with the addition of
40956// the ability to pass a context and additional request options.
40957//
40958// See ResetImageAttribute for details on how to use this API operation.
40959//
40960// The context must be non-nil and will be used for request cancellation. If
40961// the context is nil a panic will occur. In the future the SDK may create
40962// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40963// for more information on using Contexts.
40964func (c *EC2) ResetImageAttributeWithContext(ctx aws.Context, input *ResetImageAttributeInput, opts ...request.Option) (*ResetImageAttributeOutput, error) {
40965	req, out := c.ResetImageAttributeRequest(input)
40966	req.SetContext(ctx)
40967	req.ApplyOptions(opts...)
40968	return out, req.Send()
40969}
40970
40971const opResetInstanceAttribute = "ResetInstanceAttribute"
40972
40973// ResetInstanceAttributeRequest generates a "aws/request.Request" representing the
40974// client's request for the ResetInstanceAttribute operation. The "output" return
40975// value will be populated with the request's response once the request completes
40976// successfully.
40977//
40978// Use "Send" method on the returned Request to send the API call to the service.
40979// the "output" return value is not valid until after Send returns without error.
40980//
40981// See ResetInstanceAttribute for more information on using the ResetInstanceAttribute
40982// API call, and error handling.
40983//
40984// This method is useful when you want to inject custom logic or configuration
40985// into the SDK's request lifecycle. Such as custom headers, or retry logic.
40986//
40987//
40988//    // Example sending a request using the ResetInstanceAttributeRequest method.
40989//    req, resp := client.ResetInstanceAttributeRequest(params)
40990//
40991//    err := req.Send()
40992//    if err == nil { // resp is now filled
40993//        fmt.Println(resp)
40994//    }
40995//
40996// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
40997func (c *EC2) ResetInstanceAttributeRequest(input *ResetInstanceAttributeInput) (req *request.Request, output *ResetInstanceAttributeOutput) {
40998	op := &request.Operation{
40999		Name:       opResetInstanceAttribute,
41000		HTTPMethod: "POST",
41001		HTTPPath:   "/",
41002	}
41003
41004	if input == nil {
41005		input = &ResetInstanceAttributeInput{}
41006	}
41007
41008	output = &ResetInstanceAttributeOutput{}
41009	req = c.newRequest(op, input, output)
41010	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
41011	return
41012}
41013
41014// ResetInstanceAttribute API operation for Amazon Elastic Compute Cloud.
41015//
41016// Resets an attribute of an instance to its default value. To reset the kernel
41017// or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck,
41018// the instance can be either running or stopped.
41019//
41020// The sourceDestCheck attribute controls whether source/destination checking
41021// is enabled. The default value is true, which means checking is enabled. This
41022// value must be false for a NAT instance to perform NAT. For more information,
41023// see NAT Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
41024// in the Amazon VPC User Guide.
41025//
41026// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
41027// with awserr.Error's Code and Message methods to get detailed information about
41028// the error.
41029//
41030// See the AWS API reference guide for Amazon Elastic Compute Cloud's
41031// API operation ResetInstanceAttribute for usage and error information.
41032// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
41033func (c *EC2) ResetInstanceAttribute(input *ResetInstanceAttributeInput) (*ResetInstanceAttributeOutput, error) {
41034	req, out := c.ResetInstanceAttributeRequest(input)
41035	return out, req.Send()
41036}
41037
41038// ResetInstanceAttributeWithContext is the same as ResetInstanceAttribute with the addition of
41039// the ability to pass a context and additional request options.
41040//
41041// See ResetInstanceAttribute for details on how to use this API operation.
41042//
41043// The context must be non-nil and will be used for request cancellation. If
41044// the context is nil a panic will occur. In the future the SDK may create
41045// sub-contexts for http.Requests. See https://golang.org/pkg/context/
41046// for more information on using Contexts.
41047func (c *EC2) ResetInstanceAttributeWithContext(ctx aws.Context, input *ResetInstanceAttributeInput, opts ...request.Option) (*ResetInstanceAttributeOutput, error) {
41048	req, out := c.ResetInstanceAttributeRequest(input)
41049	req.SetContext(ctx)
41050	req.ApplyOptions(opts...)
41051	return out, req.Send()
41052}
41053
41054const opResetNetworkInterfaceAttribute = "ResetNetworkInterfaceAttribute"
41055
41056// ResetNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
41057// client's request for the ResetNetworkInterfaceAttribute operation. The "output" return
41058// value will be populated with the request's response once the request completes
41059// successfully.
41060//
41061// Use "Send" method on the returned Request to send the API call to the service.
41062// the "output" return value is not valid until after Send returns without error.
41063//
41064// See ResetNetworkInterfaceAttribute for more information on using the ResetNetworkInterfaceAttribute
41065// API call, and error handling.
41066//
41067// This method is useful when you want to inject custom logic or configuration
41068// into the SDK's request lifecycle. Such as custom headers, or retry logic.
41069//
41070//
41071//    // Example sending a request using the ResetNetworkInterfaceAttributeRequest method.
41072//    req, resp := client.ResetNetworkInterfaceAttributeRequest(params)
41073//
41074//    err := req.Send()
41075//    if err == nil { // resp is now filled
41076//        fmt.Println(resp)
41077//    }
41078//
41079// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
41080func (c *EC2) ResetNetworkInterfaceAttributeRequest(input *ResetNetworkInterfaceAttributeInput) (req *request.Request, output *ResetNetworkInterfaceAttributeOutput) {
41081	op := &request.Operation{
41082		Name:       opResetNetworkInterfaceAttribute,
41083		HTTPMethod: "POST",
41084		HTTPPath:   "/",
41085	}
41086
41087	if input == nil {
41088		input = &ResetNetworkInterfaceAttributeInput{}
41089	}
41090
41091	output = &ResetNetworkInterfaceAttributeOutput{}
41092	req = c.newRequest(op, input, output)
41093	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
41094	return
41095}
41096
41097// ResetNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
41098//
41099// Resets a network interface attribute. You can specify only one attribute
41100// at a time.
41101//
41102// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
41103// with awserr.Error's Code and Message methods to get detailed information about
41104// the error.
41105//
41106// See the AWS API reference guide for Amazon Elastic Compute Cloud's
41107// API operation ResetNetworkInterfaceAttribute for usage and error information.
41108// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
41109func (c *EC2) ResetNetworkInterfaceAttribute(input *ResetNetworkInterfaceAttributeInput) (*ResetNetworkInterfaceAttributeOutput, error) {
41110	req, out := c.ResetNetworkInterfaceAttributeRequest(input)
41111	return out, req.Send()
41112}
41113
41114// ResetNetworkInterfaceAttributeWithContext is the same as ResetNetworkInterfaceAttribute with the addition of
41115// the ability to pass a context and additional request options.
41116//
41117// See ResetNetworkInterfaceAttribute for details on how to use this API operation.
41118//
41119// The context must be non-nil and will be used for request cancellation. If
41120// the context is nil a panic will occur. In the future the SDK may create
41121// sub-contexts for http.Requests. See https://golang.org/pkg/context/
41122// for more information on using Contexts.
41123func (c *EC2) ResetNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ResetNetworkInterfaceAttributeInput, opts ...request.Option) (*ResetNetworkInterfaceAttributeOutput, error) {
41124	req, out := c.ResetNetworkInterfaceAttributeRequest(input)
41125	req.SetContext(ctx)
41126	req.ApplyOptions(opts...)
41127	return out, req.Send()
41128}
41129
41130const opResetSnapshotAttribute = "ResetSnapshotAttribute"
41131
41132// ResetSnapshotAttributeRequest generates a "aws/request.Request" representing the
41133// client's request for the ResetSnapshotAttribute operation. The "output" return
41134// value will be populated with the request's response once the request completes
41135// successfully.
41136//
41137// Use "Send" method on the returned Request to send the API call to the service.
41138// the "output" return value is not valid until after Send returns without error.
41139//
41140// See ResetSnapshotAttribute for more information on using the ResetSnapshotAttribute
41141// API call, and error handling.
41142//
41143// This method is useful when you want to inject custom logic or configuration
41144// into the SDK's request lifecycle. Such as custom headers, or retry logic.
41145//
41146//
41147//    // Example sending a request using the ResetSnapshotAttributeRequest method.
41148//    req, resp := client.ResetSnapshotAttributeRequest(params)
41149//
41150//    err := req.Send()
41151//    if err == nil { // resp is now filled
41152//        fmt.Println(resp)
41153//    }
41154//
41155// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
41156func (c *EC2) ResetSnapshotAttributeRequest(input *ResetSnapshotAttributeInput) (req *request.Request, output *ResetSnapshotAttributeOutput) {
41157	op := &request.Operation{
41158		Name:       opResetSnapshotAttribute,
41159		HTTPMethod: "POST",
41160		HTTPPath:   "/",
41161	}
41162
41163	if input == nil {
41164		input = &ResetSnapshotAttributeInput{}
41165	}
41166
41167	output = &ResetSnapshotAttributeOutput{}
41168	req = c.newRequest(op, input, output)
41169	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
41170	return
41171}
41172
41173// ResetSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
41174//
41175// Resets permission settings for the specified snapshot.
41176//
41177// For more information about modifying snapshot permissions, see Share a snapshot
41178// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
41179// in the Amazon Elastic Compute Cloud User Guide.
41180//
41181// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
41182// with awserr.Error's Code and Message methods to get detailed information about
41183// the error.
41184//
41185// See the AWS API reference guide for Amazon Elastic Compute Cloud's
41186// API operation ResetSnapshotAttribute for usage and error information.
41187// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
41188func (c *EC2) ResetSnapshotAttribute(input *ResetSnapshotAttributeInput) (*ResetSnapshotAttributeOutput, error) {
41189	req, out := c.ResetSnapshotAttributeRequest(input)
41190	return out, req.Send()
41191}
41192
41193// ResetSnapshotAttributeWithContext is the same as ResetSnapshotAttribute with the addition of
41194// the ability to pass a context and additional request options.
41195//
41196// See ResetSnapshotAttribute for details on how to use this API operation.
41197//
41198// The context must be non-nil and will be used for request cancellation. If
41199// the context is nil a panic will occur. In the future the SDK may create
41200// sub-contexts for http.Requests. See https://golang.org/pkg/context/
41201// for more information on using Contexts.
41202func (c *EC2) ResetSnapshotAttributeWithContext(ctx aws.Context, input *ResetSnapshotAttributeInput, opts ...request.Option) (*ResetSnapshotAttributeOutput, error) {
41203	req, out := c.ResetSnapshotAttributeRequest(input)
41204	req.SetContext(ctx)
41205	req.ApplyOptions(opts...)
41206	return out, req.Send()
41207}
41208
41209const opRestoreAddressToClassic = "RestoreAddressToClassic"
41210
41211// RestoreAddressToClassicRequest generates a "aws/request.Request" representing the
41212// client's request for the RestoreAddressToClassic operation. The "output" return
41213// value will be populated with the request's response once the request completes
41214// successfully.
41215//
41216// Use "Send" method on the returned Request to send the API call to the service.
41217// the "output" return value is not valid until after Send returns without error.
41218//
41219// See RestoreAddressToClassic for more information on using the RestoreAddressToClassic
41220// API call, and error handling.
41221//
41222// This method is useful when you want to inject custom logic or configuration
41223// into the SDK's request lifecycle. Such as custom headers, or retry logic.
41224//
41225//
41226//    // Example sending a request using the RestoreAddressToClassicRequest method.
41227//    req, resp := client.RestoreAddressToClassicRequest(params)
41228//
41229//    err := req.Send()
41230//    if err == nil { // resp is now filled
41231//        fmt.Println(resp)
41232//    }
41233//
41234// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
41235func (c *EC2) RestoreAddressToClassicRequest(input *RestoreAddressToClassicInput) (req *request.Request, output *RestoreAddressToClassicOutput) {
41236	op := &request.Operation{
41237		Name:       opRestoreAddressToClassic,
41238		HTTPMethod: "POST",
41239		HTTPPath:   "/",
41240	}
41241
41242	if input == nil {
41243		input = &RestoreAddressToClassicInput{}
41244	}
41245
41246	output = &RestoreAddressToClassicOutput{}
41247	req = c.newRequest(op, input, output)
41248	return
41249}
41250
41251// RestoreAddressToClassic API operation for Amazon Elastic Compute Cloud.
41252//
41253// Restores an Elastic IP address that was previously moved to the EC2-VPC platform
41254// back to the EC2-Classic platform. You cannot move an Elastic IP address that
41255// was originally allocated for use in EC2-VPC. The Elastic IP address must
41256// not be associated with an instance or network interface.
41257//
41258// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
41259// with awserr.Error's Code and Message methods to get detailed information about
41260// the error.
41261//
41262// See the AWS API reference guide for Amazon Elastic Compute Cloud's
41263// API operation RestoreAddressToClassic for usage and error information.
41264// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
41265func (c *EC2) RestoreAddressToClassic(input *RestoreAddressToClassicInput) (*RestoreAddressToClassicOutput, error) {
41266	req, out := c.RestoreAddressToClassicRequest(input)
41267	return out, req.Send()
41268}
41269
41270// RestoreAddressToClassicWithContext is the same as RestoreAddressToClassic with the addition of
41271// the ability to pass a context and additional request options.
41272//
41273// See RestoreAddressToClassic for details on how to use this API operation.
41274//
41275// The context must be non-nil and will be used for request cancellation. If
41276// the context is nil a panic will occur. In the future the SDK may create
41277// sub-contexts for http.Requests. See https://golang.org/pkg/context/
41278// for more information on using Contexts.
41279func (c *EC2) RestoreAddressToClassicWithContext(ctx aws.Context, input *RestoreAddressToClassicInput, opts ...request.Option) (*RestoreAddressToClassicOutput, error) {
41280	req, out := c.RestoreAddressToClassicRequest(input)
41281	req.SetContext(ctx)
41282	req.ApplyOptions(opts...)
41283	return out, req.Send()
41284}
41285
41286const opRestoreManagedPrefixListVersion = "RestoreManagedPrefixListVersion"
41287
41288// RestoreManagedPrefixListVersionRequest generates a "aws/request.Request" representing the
41289// client's request for the RestoreManagedPrefixListVersion operation. The "output" return
41290// value will be populated with the request's response once the request completes
41291// successfully.
41292//
41293// Use "Send" method on the returned Request to send the API call to the service.
41294// the "output" return value is not valid until after Send returns without error.
41295//
41296// See RestoreManagedPrefixListVersion for more information on using the RestoreManagedPrefixListVersion
41297// API call, and error handling.
41298//
41299// This method is useful when you want to inject custom logic or configuration
41300// into the SDK's request lifecycle. Such as custom headers, or retry logic.
41301//
41302//
41303//    // Example sending a request using the RestoreManagedPrefixListVersionRequest method.
41304//    req, resp := client.RestoreManagedPrefixListVersionRequest(params)
41305//
41306//    err := req.Send()
41307//    if err == nil { // resp is now filled
41308//        fmt.Println(resp)
41309//    }
41310//
41311// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreManagedPrefixListVersion
41312func (c *EC2) RestoreManagedPrefixListVersionRequest(input *RestoreManagedPrefixListVersionInput) (req *request.Request, output *RestoreManagedPrefixListVersionOutput) {
41313	op := &request.Operation{
41314		Name:       opRestoreManagedPrefixListVersion,
41315		HTTPMethod: "POST",
41316		HTTPPath:   "/",
41317	}
41318
41319	if input == nil {
41320		input = &RestoreManagedPrefixListVersionInput{}
41321	}
41322
41323	output = &RestoreManagedPrefixListVersionOutput{}
41324	req = c.newRequest(op, input, output)
41325	return
41326}
41327
41328// RestoreManagedPrefixListVersion API operation for Amazon Elastic Compute Cloud.
41329//
41330// Restores the entries from a previous version of a managed prefix list to
41331// a new version of the prefix list.
41332//
41333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
41334// with awserr.Error's Code and Message methods to get detailed information about
41335// the error.
41336//
41337// See the AWS API reference guide for Amazon Elastic Compute Cloud's
41338// API operation RestoreManagedPrefixListVersion for usage and error information.
41339// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreManagedPrefixListVersion
41340func (c *EC2) RestoreManagedPrefixListVersion(input *RestoreManagedPrefixListVersionInput) (*RestoreManagedPrefixListVersionOutput, error) {
41341	req, out := c.RestoreManagedPrefixListVersionRequest(input)
41342	return out, req.Send()
41343}
41344
41345// RestoreManagedPrefixListVersionWithContext is the same as RestoreManagedPrefixListVersion with the addition of
41346// the ability to pass a context and additional request options.
41347//
41348// See RestoreManagedPrefixListVersion for details on how to use this API operation.
41349//
41350// The context must be non-nil and will be used for request cancellation. If
41351// the context is nil a panic will occur. In the future the SDK may create
41352// sub-contexts for http.Requests. See https://golang.org/pkg/context/
41353// for more information on using Contexts.
41354func (c *EC2) RestoreManagedPrefixListVersionWithContext(ctx aws.Context, input *RestoreManagedPrefixListVersionInput, opts ...request.Option) (*RestoreManagedPrefixListVersionOutput, error) {
41355	req, out := c.RestoreManagedPrefixListVersionRequest(input)
41356	req.SetContext(ctx)
41357	req.ApplyOptions(opts...)
41358	return out, req.Send()
41359}
41360
41361const opRevokeClientVpnIngress = "RevokeClientVpnIngress"
41362
41363// RevokeClientVpnIngressRequest generates a "aws/request.Request" representing the
41364// client's request for the RevokeClientVpnIngress operation. The "output" return
41365// value will be populated with the request's response once the request completes
41366// successfully.
41367//
41368// Use "Send" method on the returned Request to send the API call to the service.
41369// the "output" return value is not valid until after Send returns without error.
41370//
41371// See RevokeClientVpnIngress for more information on using the RevokeClientVpnIngress
41372// API call, and error handling.
41373//
41374// This method is useful when you want to inject custom logic or configuration
41375// into the SDK's request lifecycle. Such as custom headers, or retry logic.
41376//
41377//
41378//    // Example sending a request using the RevokeClientVpnIngressRequest method.
41379//    req, resp := client.RevokeClientVpnIngressRequest(params)
41380//
41381//    err := req.Send()
41382//    if err == nil { // resp is now filled
41383//        fmt.Println(resp)
41384//    }
41385//
41386// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeClientVpnIngress
41387func (c *EC2) RevokeClientVpnIngressRequest(input *RevokeClientVpnIngressInput) (req *request.Request, output *RevokeClientVpnIngressOutput) {
41388	op := &request.Operation{
41389		Name:       opRevokeClientVpnIngress,
41390		HTTPMethod: "POST",
41391		HTTPPath:   "/",
41392	}
41393
41394	if input == nil {
41395		input = &RevokeClientVpnIngressInput{}
41396	}
41397
41398	output = &RevokeClientVpnIngressOutput{}
41399	req = c.newRequest(op, input, output)
41400	return
41401}
41402
41403// RevokeClientVpnIngress API operation for Amazon Elastic Compute Cloud.
41404//
41405// Removes an ingress authorization rule from a Client VPN endpoint.
41406//
41407// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
41408// with awserr.Error's Code and Message methods to get detailed information about
41409// the error.
41410//
41411// See the AWS API reference guide for Amazon Elastic Compute Cloud's
41412// API operation RevokeClientVpnIngress for usage and error information.
41413// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeClientVpnIngress
41414func (c *EC2) RevokeClientVpnIngress(input *RevokeClientVpnIngressInput) (*RevokeClientVpnIngressOutput, error) {
41415	req, out := c.RevokeClientVpnIngressRequest(input)
41416	return out, req.Send()
41417}
41418
41419// RevokeClientVpnIngressWithContext is the same as RevokeClientVpnIngress with the addition of
41420// the ability to pass a context and additional request options.
41421//
41422// See RevokeClientVpnIngress for details on how to use this API operation.
41423//
41424// The context must be non-nil and will be used for request cancellation. If
41425// the context is nil a panic will occur. In the future the SDK may create
41426// sub-contexts for http.Requests. See https://golang.org/pkg/context/
41427// for more information on using Contexts.
41428func (c *EC2) RevokeClientVpnIngressWithContext(ctx aws.Context, input *RevokeClientVpnIngressInput, opts ...request.Option) (*RevokeClientVpnIngressOutput, error) {
41429	req, out := c.RevokeClientVpnIngressRequest(input)
41430	req.SetContext(ctx)
41431	req.ApplyOptions(opts...)
41432	return out, req.Send()
41433}
41434
41435const opRevokeSecurityGroupEgress = "RevokeSecurityGroupEgress"
41436
41437// RevokeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
41438// client's request for the RevokeSecurityGroupEgress operation. The "output" return
41439// value will be populated with the request's response once the request completes
41440// successfully.
41441//
41442// Use "Send" method on the returned Request to send the API call to the service.
41443// the "output" return value is not valid until after Send returns without error.
41444//
41445// See RevokeSecurityGroupEgress for more information on using the RevokeSecurityGroupEgress
41446// API call, and error handling.
41447//
41448// This method is useful when you want to inject custom logic or configuration
41449// into the SDK's request lifecycle. Such as custom headers, or retry logic.
41450//
41451//
41452//    // Example sending a request using the RevokeSecurityGroupEgressRequest method.
41453//    req, resp := client.RevokeSecurityGroupEgressRequest(params)
41454//
41455//    err := req.Send()
41456//    if err == nil { // resp is now filled
41457//        fmt.Println(resp)
41458//    }
41459//
41460// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
41461func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressInput) (req *request.Request, output *RevokeSecurityGroupEgressOutput) {
41462	op := &request.Operation{
41463		Name:       opRevokeSecurityGroupEgress,
41464		HTTPMethod: "POST",
41465		HTTPPath:   "/",
41466	}
41467
41468	if input == nil {
41469		input = &RevokeSecurityGroupEgressInput{}
41470	}
41471
41472	output = &RevokeSecurityGroupEgressOutput{}
41473	req = c.newRequest(op, input, output)
41474	return
41475}
41476
41477// RevokeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
41478//
41479// [VPC only] Removes the specified outbound (egress) rules from a security
41480// group for EC2-VPC. This action does not apply to security groups for use
41481// in EC2-Classic.
41482//
41483// You can specify rules using either rule IDs or security group rule properties.
41484// If you use rule properties, the values that you specify (for example, ports)
41485// must match the existing rule's values exactly. Each rule has a protocol,
41486// from and to ports, and destination (CIDR range, security group, or prefix
41487// list). For the TCP and UDP protocols, you must also specify the destination
41488// port or range of ports. For the ICMP protocol, you must also specify the
41489// ICMP type and code. If the security group rule has a description, you do
41490// not need to specify the description to revoke the rule.
41491//
41492// [Default VPC] If the values you specify do not match the existing rule's
41493// values, no error is returned, and the output describes the security group
41494// rules that were not revoked.
41495//
41496// Amazon Web Services recommends that you describe the security group to verify
41497// that the rules were removed.
41498//
41499// Rule changes are propagated to instances within the security group as quickly
41500// as possible. However, a small delay might occur.
41501//
41502// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
41503// with awserr.Error's Code and Message methods to get detailed information about
41504// the error.
41505//
41506// See the AWS API reference guide for Amazon Elastic Compute Cloud's
41507// API operation RevokeSecurityGroupEgress for usage and error information.
41508// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
41509func (c *EC2) RevokeSecurityGroupEgress(input *RevokeSecurityGroupEgressInput) (*RevokeSecurityGroupEgressOutput, error) {
41510	req, out := c.RevokeSecurityGroupEgressRequest(input)
41511	return out, req.Send()
41512}
41513
41514// RevokeSecurityGroupEgressWithContext is the same as RevokeSecurityGroupEgress with the addition of
41515// the ability to pass a context and additional request options.
41516//
41517// See RevokeSecurityGroupEgress for details on how to use this API operation.
41518//
41519// The context must be non-nil and will be used for request cancellation. If
41520// the context is nil a panic will occur. In the future the SDK may create
41521// sub-contexts for http.Requests. See https://golang.org/pkg/context/
41522// for more information on using Contexts.
41523func (c *EC2) RevokeSecurityGroupEgressWithContext(ctx aws.Context, input *RevokeSecurityGroupEgressInput, opts ...request.Option) (*RevokeSecurityGroupEgressOutput, error) {
41524	req, out := c.RevokeSecurityGroupEgressRequest(input)
41525	req.SetContext(ctx)
41526	req.ApplyOptions(opts...)
41527	return out, req.Send()
41528}
41529
41530const opRevokeSecurityGroupIngress = "RevokeSecurityGroupIngress"
41531
41532// RevokeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
41533// client's request for the RevokeSecurityGroupIngress operation. The "output" return
41534// value will be populated with the request's response once the request completes
41535// successfully.
41536//
41537// Use "Send" method on the returned Request to send the API call to the service.
41538// the "output" return value is not valid until after Send returns without error.
41539//
41540// See RevokeSecurityGroupIngress for more information on using the RevokeSecurityGroupIngress
41541// API call, and error handling.
41542//
41543// This method is useful when you want to inject custom logic or configuration
41544// into the SDK's request lifecycle. Such as custom headers, or retry logic.
41545//
41546//
41547//    // Example sending a request using the RevokeSecurityGroupIngressRequest method.
41548//    req, resp := client.RevokeSecurityGroupIngressRequest(params)
41549//
41550//    err := req.Send()
41551//    if err == nil { // resp is now filled
41552//        fmt.Println(resp)
41553//    }
41554//
41555// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
41556func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngressInput) (req *request.Request, output *RevokeSecurityGroupIngressOutput) {
41557	op := &request.Operation{
41558		Name:       opRevokeSecurityGroupIngress,
41559		HTTPMethod: "POST",
41560		HTTPPath:   "/",
41561	}
41562
41563	if input == nil {
41564		input = &RevokeSecurityGroupIngressInput{}
41565	}
41566
41567	output = &RevokeSecurityGroupIngressOutput{}
41568	req = c.newRequest(op, input, output)
41569	return
41570}
41571
41572// RevokeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
41573//
41574// Removes the specified inbound (ingress) rules from a security group.
41575//
41576// You can specify rules using either rule IDs or security group rule properties.
41577// If you use rule properties, the values that you specify (for example, ports)
41578// must match the existing rule's values exactly. Each rule has a protocol,
41579// from and to ports, and source (CIDR range, security group, or prefix list).
41580// For the TCP and UDP protocols, you must also specify the destination port
41581// or range of ports. For the ICMP protocol, you must also specify the ICMP
41582// type and code. If the security group rule has a description, you do not need
41583// to specify the description to revoke the rule.
41584//
41585// [EC2-Classic, default VPC] If the values you specify do not match the existing
41586// rule's values, no error is returned, and the output describes the security
41587// group rules that were not revoked.
41588//
41589// Amazon Web Services recommends that you describe the security group to verify
41590// that the rules were removed.
41591//
41592// Rule changes are propagated to instances within the security group as quickly
41593// as possible. However, a small delay might occur.
41594//
41595// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
41596// with awserr.Error's Code and Message methods to get detailed information about
41597// the error.
41598//
41599// See the AWS API reference guide for Amazon Elastic Compute Cloud's
41600// API operation RevokeSecurityGroupIngress for usage and error information.
41601// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
41602func (c *EC2) RevokeSecurityGroupIngress(input *RevokeSecurityGroupIngressInput) (*RevokeSecurityGroupIngressOutput, error) {
41603	req, out := c.RevokeSecurityGroupIngressRequest(input)
41604	return out, req.Send()
41605}
41606
41607// RevokeSecurityGroupIngressWithContext is the same as RevokeSecurityGroupIngress with the addition of
41608// the ability to pass a context and additional request options.
41609//
41610// See RevokeSecurityGroupIngress for details on how to use this API operation.
41611//
41612// The context must be non-nil and will be used for request cancellation. If
41613// the context is nil a panic will occur. In the future the SDK may create
41614// sub-contexts for http.Requests. See https://golang.org/pkg/context/
41615// for more information on using Contexts.
41616func (c *EC2) RevokeSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeSecurityGroupIngressInput, opts ...request.Option) (*RevokeSecurityGroupIngressOutput, error) {
41617	req, out := c.RevokeSecurityGroupIngressRequest(input)
41618	req.SetContext(ctx)
41619	req.ApplyOptions(opts...)
41620	return out, req.Send()
41621}
41622
41623const opRunInstances = "RunInstances"
41624
41625// RunInstancesRequest generates a "aws/request.Request" representing the
41626// client's request for the RunInstances operation. The "output" return
41627// value will be populated with the request's response once the request completes
41628// successfully.
41629//
41630// Use "Send" method on the returned Request to send the API call to the service.
41631// the "output" return value is not valid until after Send returns without error.
41632//
41633// See RunInstances for more information on using the RunInstances
41634// API call, and error handling.
41635//
41636// This method is useful when you want to inject custom logic or configuration
41637// into the SDK's request lifecycle. Such as custom headers, or retry logic.
41638//
41639//
41640//    // Example sending a request using the RunInstancesRequest method.
41641//    req, resp := client.RunInstancesRequest(params)
41642//
41643//    err := req.Send()
41644//    if err == nil { // resp is now filled
41645//        fmt.Println(resp)
41646//    }
41647//
41648// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
41649func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Request, output *Reservation) {
41650	op := &request.Operation{
41651		Name:       opRunInstances,
41652		HTTPMethod: "POST",
41653		HTTPPath:   "/",
41654	}
41655
41656	if input == nil {
41657		input = &RunInstancesInput{}
41658	}
41659
41660	output = &Reservation{}
41661	req = c.newRequest(op, input, output)
41662	return
41663}
41664
41665// RunInstances API operation for Amazon Elastic Compute Cloud.
41666//
41667// Launches the specified number of instances using an AMI for which you have
41668// permissions.
41669//
41670// You can specify a number of options, or leave the default options. The following
41671// rules apply:
41672//
41673//    * [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet
41674//    from your default VPC for you. If you don't have a default VPC, you must
41675//    specify a subnet ID in the request.
41676//
41677//    * [EC2-Classic] If don't specify an Availability Zone, we choose one for
41678//    you.
41679//
41680//    * Some instance types must be launched into a VPC. If you do not have
41681//    a default VPC, or if you do not specify a subnet ID, the request fails.
41682//    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).
41683//
41684//    * [EC2-VPC] All instances have a network interface with a primary private
41685//    IPv4 address. If you don't specify this address, we choose one from the
41686//    IPv4 range of your subnet.
41687//
41688//    * Not all instance types support IPv6 addresses. For more information,
41689//    see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
41690//
41691//    * If you don't specify a security group ID, we use the default security
41692//    group. For more information, see Security groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html).
41693//
41694//    * If any of the AMIs have a product code attached for which the user has
41695//    not subscribed, the request fails.
41696//
41697// You can create a launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html),
41698// which is a resource that contains the parameters to launch an instance. When
41699// you launch an instance using RunInstances, you can specify the launch template
41700// instead of specifying the launch parameters.
41701//
41702// To ensure faster instance launches, break up large requests into smaller
41703// batches. For example, create five separate launch requests for 100 instances
41704// each instead of one launch request for 500 instances.
41705//
41706// An instance is ready for you to use when it's in the running state. You can
41707// check the state of your instance using DescribeInstances. You can tag instances
41708// and EBS volumes during launch, after launch, or both. For more information,
41709// see CreateTags and Tagging your Amazon EC2 resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
41710//
41711// Linux instances have access to the public key of the key pair at boot. You
41712// can use this key to provide secure access to the instance. Amazon EC2 public
41713// images use this feature to provide secure access without passwords. For more
41714// information, see Key pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html).
41715//
41716// For troubleshooting, see What to do if an instance immediately terminates
41717// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html),
41718// and Troubleshooting connecting to your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html).
41719//
41720// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
41721// with awserr.Error's Code and Message methods to get detailed information about
41722// the error.
41723//
41724// See the AWS API reference guide for Amazon Elastic Compute Cloud's
41725// API operation RunInstances for usage and error information.
41726// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
41727func (c *EC2) RunInstances(input *RunInstancesInput) (*Reservation, error) {
41728	req, out := c.RunInstancesRequest(input)
41729	return out, req.Send()
41730}
41731
41732// RunInstancesWithContext is the same as RunInstances with the addition of
41733// the ability to pass a context and additional request options.
41734//
41735// See RunInstances for details on how to use this API operation.
41736//
41737// The context must be non-nil and will be used for request cancellation. If
41738// the context is nil a panic will occur. In the future the SDK may create
41739// sub-contexts for http.Requests. See https://golang.org/pkg/context/
41740// for more information on using Contexts.
41741func (c *EC2) RunInstancesWithContext(ctx aws.Context, input *RunInstancesInput, opts ...request.Option) (*Reservation, error) {
41742	req, out := c.RunInstancesRequest(input)
41743	req.SetContext(ctx)
41744	req.ApplyOptions(opts...)
41745	return out, req.Send()
41746}
41747
41748const opRunScheduledInstances = "RunScheduledInstances"
41749
41750// RunScheduledInstancesRequest generates a "aws/request.Request" representing the
41751// client's request for the RunScheduledInstances operation. The "output" return
41752// value will be populated with the request's response once the request completes
41753// successfully.
41754//
41755// Use "Send" method on the returned Request to send the API call to the service.
41756// the "output" return value is not valid until after Send returns without error.
41757//
41758// See RunScheduledInstances for more information on using the RunScheduledInstances
41759// API call, and error handling.
41760//
41761// This method is useful when you want to inject custom logic or configuration
41762// into the SDK's request lifecycle. Such as custom headers, or retry logic.
41763//
41764//
41765//    // Example sending a request using the RunScheduledInstancesRequest method.
41766//    req, resp := client.RunScheduledInstancesRequest(params)
41767//
41768//    err := req.Send()
41769//    if err == nil { // resp is now filled
41770//        fmt.Println(resp)
41771//    }
41772//
41773// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
41774func (c *EC2) RunScheduledInstancesRequest(input *RunScheduledInstancesInput) (req *request.Request, output *RunScheduledInstancesOutput) {
41775	op := &request.Operation{
41776		Name:       opRunScheduledInstances,
41777		HTTPMethod: "POST",
41778		HTTPPath:   "/",
41779	}
41780
41781	if input == nil {
41782		input = &RunScheduledInstancesInput{}
41783	}
41784
41785	output = &RunScheduledInstancesOutput{}
41786	req = c.newRequest(op, input, output)
41787	return
41788}
41789
41790// RunScheduledInstances API operation for Amazon Elastic Compute Cloud.
41791//
41792// Launches the specified Scheduled Instances.
41793//
41794// Before you can launch a Scheduled Instance, you must purchase it and obtain
41795// an identifier using PurchaseScheduledInstances.
41796//
41797// You must launch a Scheduled Instance during its scheduled time period. You
41798// can't stop or reboot a Scheduled Instance, but you can terminate it as needed.
41799// If you terminate a Scheduled Instance before the current scheduled time period
41800// ends, you can launch it again after a few minutes. For more information,
41801// see Scheduled Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-scheduled-instances.html)
41802// in the Amazon EC2 User Guide.
41803//
41804// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
41805// with awserr.Error's Code and Message methods to get detailed information about
41806// the error.
41807//
41808// See the AWS API reference guide for Amazon Elastic Compute Cloud's
41809// API operation RunScheduledInstances for usage and error information.
41810// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
41811func (c *EC2) RunScheduledInstances(input *RunScheduledInstancesInput) (*RunScheduledInstancesOutput, error) {
41812	req, out := c.RunScheduledInstancesRequest(input)
41813	return out, req.Send()
41814}
41815
41816// RunScheduledInstancesWithContext is the same as RunScheduledInstances with the addition of
41817// the ability to pass a context and additional request options.
41818//
41819// See RunScheduledInstances for details on how to use this API operation.
41820//
41821// The context must be non-nil and will be used for request cancellation. If
41822// the context is nil a panic will occur. In the future the SDK may create
41823// sub-contexts for http.Requests. See https://golang.org/pkg/context/
41824// for more information on using Contexts.
41825func (c *EC2) RunScheduledInstancesWithContext(ctx aws.Context, input *RunScheduledInstancesInput, opts ...request.Option) (*RunScheduledInstancesOutput, error) {
41826	req, out := c.RunScheduledInstancesRequest(input)
41827	req.SetContext(ctx)
41828	req.ApplyOptions(opts...)
41829	return out, req.Send()
41830}
41831
41832const opSearchLocalGatewayRoutes = "SearchLocalGatewayRoutes"
41833
41834// SearchLocalGatewayRoutesRequest generates a "aws/request.Request" representing the
41835// client's request for the SearchLocalGatewayRoutes operation. The "output" return
41836// value will be populated with the request's response once the request completes
41837// successfully.
41838//
41839// Use "Send" method on the returned Request to send the API call to the service.
41840// the "output" return value is not valid until after Send returns without error.
41841//
41842// See SearchLocalGatewayRoutes for more information on using the SearchLocalGatewayRoutes
41843// API call, and error handling.
41844//
41845// This method is useful when you want to inject custom logic or configuration
41846// into the SDK's request lifecycle. Such as custom headers, or retry logic.
41847//
41848//
41849//    // Example sending a request using the SearchLocalGatewayRoutesRequest method.
41850//    req, resp := client.SearchLocalGatewayRoutesRequest(params)
41851//
41852//    err := req.Send()
41853//    if err == nil { // resp is now filled
41854//        fmt.Println(resp)
41855//    }
41856//
41857// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchLocalGatewayRoutes
41858func (c *EC2) SearchLocalGatewayRoutesRequest(input *SearchLocalGatewayRoutesInput) (req *request.Request, output *SearchLocalGatewayRoutesOutput) {
41859	op := &request.Operation{
41860		Name:       opSearchLocalGatewayRoutes,
41861		HTTPMethod: "POST",
41862		HTTPPath:   "/",
41863		Paginator: &request.Paginator{
41864			InputTokens:     []string{"NextToken"},
41865			OutputTokens:    []string{"NextToken"},
41866			LimitToken:      "MaxResults",
41867			TruncationToken: "",
41868		},
41869	}
41870
41871	if input == nil {
41872		input = &SearchLocalGatewayRoutesInput{}
41873	}
41874
41875	output = &SearchLocalGatewayRoutesOutput{}
41876	req = c.newRequest(op, input, output)
41877	return
41878}
41879
41880// SearchLocalGatewayRoutes API operation for Amazon Elastic Compute Cloud.
41881//
41882// Searches for routes in the specified local gateway route table.
41883//
41884// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
41885// with awserr.Error's Code and Message methods to get detailed information about
41886// the error.
41887//
41888// See the AWS API reference guide for Amazon Elastic Compute Cloud's
41889// API operation SearchLocalGatewayRoutes for usage and error information.
41890// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchLocalGatewayRoutes
41891func (c *EC2) SearchLocalGatewayRoutes(input *SearchLocalGatewayRoutesInput) (*SearchLocalGatewayRoutesOutput, error) {
41892	req, out := c.SearchLocalGatewayRoutesRequest(input)
41893	return out, req.Send()
41894}
41895
41896// SearchLocalGatewayRoutesWithContext is the same as SearchLocalGatewayRoutes with the addition of
41897// the ability to pass a context and additional request options.
41898//
41899// See SearchLocalGatewayRoutes for details on how to use this API operation.
41900//
41901// The context must be non-nil and will be used for request cancellation. If
41902// the context is nil a panic will occur. In the future the SDK may create
41903// sub-contexts for http.Requests. See https://golang.org/pkg/context/
41904// for more information on using Contexts.
41905func (c *EC2) SearchLocalGatewayRoutesWithContext(ctx aws.Context, input *SearchLocalGatewayRoutesInput, opts ...request.Option) (*SearchLocalGatewayRoutesOutput, error) {
41906	req, out := c.SearchLocalGatewayRoutesRequest(input)
41907	req.SetContext(ctx)
41908	req.ApplyOptions(opts...)
41909	return out, req.Send()
41910}
41911
41912// SearchLocalGatewayRoutesPages iterates over the pages of a SearchLocalGatewayRoutes operation,
41913// calling the "fn" function with the response data for each page. To stop
41914// iterating, return false from the fn function.
41915//
41916// See SearchLocalGatewayRoutes method for more information on how to use this operation.
41917//
41918// Note: This operation can generate multiple requests to a service.
41919//
41920//    // Example iterating over at most 3 pages of a SearchLocalGatewayRoutes operation.
41921//    pageNum := 0
41922//    err := client.SearchLocalGatewayRoutesPages(params,
41923//        func(page *ec2.SearchLocalGatewayRoutesOutput, lastPage bool) bool {
41924//            pageNum++
41925//            fmt.Println(page)
41926//            return pageNum <= 3
41927//        })
41928//
41929func (c *EC2) SearchLocalGatewayRoutesPages(input *SearchLocalGatewayRoutesInput, fn func(*SearchLocalGatewayRoutesOutput, bool) bool) error {
41930	return c.SearchLocalGatewayRoutesPagesWithContext(aws.BackgroundContext(), input, fn)
41931}
41932
41933// SearchLocalGatewayRoutesPagesWithContext same as SearchLocalGatewayRoutesPages except
41934// it takes a Context and allows setting request options on the pages.
41935//
41936// The context must be non-nil and will be used for request cancellation. If
41937// the context is nil a panic will occur. In the future the SDK may create
41938// sub-contexts for http.Requests. See https://golang.org/pkg/context/
41939// for more information on using Contexts.
41940func (c *EC2) SearchLocalGatewayRoutesPagesWithContext(ctx aws.Context, input *SearchLocalGatewayRoutesInput, fn func(*SearchLocalGatewayRoutesOutput, bool) bool, opts ...request.Option) error {
41941	p := request.Pagination{
41942		NewRequest: func() (*request.Request, error) {
41943			var inCpy *SearchLocalGatewayRoutesInput
41944			if input != nil {
41945				tmp := *input
41946				inCpy = &tmp
41947			}
41948			req, _ := c.SearchLocalGatewayRoutesRequest(inCpy)
41949			req.SetContext(ctx)
41950			req.ApplyOptions(opts...)
41951			return req, nil
41952		},
41953	}
41954
41955	for p.Next() {
41956		if !fn(p.Page().(*SearchLocalGatewayRoutesOutput), !p.HasNextPage()) {
41957			break
41958		}
41959	}
41960
41961	return p.Err()
41962}
41963
41964const opSearchTransitGatewayMulticastGroups = "SearchTransitGatewayMulticastGroups"
41965
41966// SearchTransitGatewayMulticastGroupsRequest generates a "aws/request.Request" representing the
41967// client's request for the SearchTransitGatewayMulticastGroups operation. The "output" return
41968// value will be populated with the request's response once the request completes
41969// successfully.
41970//
41971// Use "Send" method on the returned Request to send the API call to the service.
41972// the "output" return value is not valid until after Send returns without error.
41973//
41974// See SearchTransitGatewayMulticastGroups for more information on using the SearchTransitGatewayMulticastGroups
41975// API call, and error handling.
41976//
41977// This method is useful when you want to inject custom logic or configuration
41978// into the SDK's request lifecycle. Such as custom headers, or retry logic.
41979//
41980//
41981//    // Example sending a request using the SearchTransitGatewayMulticastGroupsRequest method.
41982//    req, resp := client.SearchTransitGatewayMulticastGroupsRequest(params)
41983//
41984//    err := req.Send()
41985//    if err == nil { // resp is now filled
41986//        fmt.Println(resp)
41987//    }
41988//
41989// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayMulticastGroups
41990func (c *EC2) SearchTransitGatewayMulticastGroupsRequest(input *SearchTransitGatewayMulticastGroupsInput) (req *request.Request, output *SearchTransitGatewayMulticastGroupsOutput) {
41991	op := &request.Operation{
41992		Name:       opSearchTransitGatewayMulticastGroups,
41993		HTTPMethod: "POST",
41994		HTTPPath:   "/",
41995		Paginator: &request.Paginator{
41996			InputTokens:     []string{"NextToken"},
41997			OutputTokens:    []string{"NextToken"},
41998			LimitToken:      "MaxResults",
41999			TruncationToken: "",
42000		},
42001	}
42002
42003	if input == nil {
42004		input = &SearchTransitGatewayMulticastGroupsInput{}
42005	}
42006
42007	output = &SearchTransitGatewayMulticastGroupsOutput{}
42008	req = c.newRequest(op, input, output)
42009	return
42010}
42011
42012// SearchTransitGatewayMulticastGroups API operation for Amazon Elastic Compute Cloud.
42013//
42014// Searches one or more transit gateway multicast groups and returns the group
42015// membership information.
42016//
42017// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
42018// with awserr.Error's Code and Message methods to get detailed information about
42019// the error.
42020//
42021// See the AWS API reference guide for Amazon Elastic Compute Cloud's
42022// API operation SearchTransitGatewayMulticastGroups for usage and error information.
42023// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayMulticastGroups
42024func (c *EC2) SearchTransitGatewayMulticastGroups(input *SearchTransitGatewayMulticastGroupsInput) (*SearchTransitGatewayMulticastGroupsOutput, error) {
42025	req, out := c.SearchTransitGatewayMulticastGroupsRequest(input)
42026	return out, req.Send()
42027}
42028
42029// SearchTransitGatewayMulticastGroupsWithContext is the same as SearchTransitGatewayMulticastGroups with the addition of
42030// the ability to pass a context and additional request options.
42031//
42032// See SearchTransitGatewayMulticastGroups for details on how to use this API operation.
42033//
42034// The context must be non-nil and will be used for request cancellation. If
42035// the context is nil a panic will occur. In the future the SDK may create
42036// sub-contexts for http.Requests. See https://golang.org/pkg/context/
42037// for more information on using Contexts.
42038func (c *EC2) SearchTransitGatewayMulticastGroupsWithContext(ctx aws.Context, input *SearchTransitGatewayMulticastGroupsInput, opts ...request.Option) (*SearchTransitGatewayMulticastGroupsOutput, error) {
42039	req, out := c.SearchTransitGatewayMulticastGroupsRequest(input)
42040	req.SetContext(ctx)
42041	req.ApplyOptions(opts...)
42042	return out, req.Send()
42043}
42044
42045// SearchTransitGatewayMulticastGroupsPages iterates over the pages of a SearchTransitGatewayMulticastGroups operation,
42046// calling the "fn" function with the response data for each page. To stop
42047// iterating, return false from the fn function.
42048//
42049// See SearchTransitGatewayMulticastGroups method for more information on how to use this operation.
42050//
42051// Note: This operation can generate multiple requests to a service.
42052//
42053//    // Example iterating over at most 3 pages of a SearchTransitGatewayMulticastGroups operation.
42054//    pageNum := 0
42055//    err := client.SearchTransitGatewayMulticastGroupsPages(params,
42056//        func(page *ec2.SearchTransitGatewayMulticastGroupsOutput, lastPage bool) bool {
42057//            pageNum++
42058//            fmt.Println(page)
42059//            return pageNum <= 3
42060//        })
42061//
42062func (c *EC2) SearchTransitGatewayMulticastGroupsPages(input *SearchTransitGatewayMulticastGroupsInput, fn func(*SearchTransitGatewayMulticastGroupsOutput, bool) bool) error {
42063	return c.SearchTransitGatewayMulticastGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
42064}
42065
42066// SearchTransitGatewayMulticastGroupsPagesWithContext same as SearchTransitGatewayMulticastGroupsPages except
42067// it takes a Context and allows setting request options on the pages.
42068//
42069// The context must be non-nil and will be used for request cancellation. If
42070// the context is nil a panic will occur. In the future the SDK may create
42071// sub-contexts for http.Requests. See https://golang.org/pkg/context/
42072// for more information on using Contexts.
42073func (c *EC2) SearchTransitGatewayMulticastGroupsPagesWithContext(ctx aws.Context, input *SearchTransitGatewayMulticastGroupsInput, fn func(*SearchTransitGatewayMulticastGroupsOutput, bool) bool, opts ...request.Option) error {
42074	p := request.Pagination{
42075		NewRequest: func() (*request.Request, error) {
42076			var inCpy *SearchTransitGatewayMulticastGroupsInput
42077			if input != nil {
42078				tmp := *input
42079				inCpy = &tmp
42080			}
42081			req, _ := c.SearchTransitGatewayMulticastGroupsRequest(inCpy)
42082			req.SetContext(ctx)
42083			req.ApplyOptions(opts...)
42084			return req, nil
42085		},
42086	}
42087
42088	for p.Next() {
42089		if !fn(p.Page().(*SearchTransitGatewayMulticastGroupsOutput), !p.HasNextPage()) {
42090			break
42091		}
42092	}
42093
42094	return p.Err()
42095}
42096
42097const opSearchTransitGatewayRoutes = "SearchTransitGatewayRoutes"
42098
42099// SearchTransitGatewayRoutesRequest generates a "aws/request.Request" representing the
42100// client's request for the SearchTransitGatewayRoutes operation. The "output" return
42101// value will be populated with the request's response once the request completes
42102// successfully.
42103//
42104// Use "Send" method on the returned Request to send the API call to the service.
42105// the "output" return value is not valid until after Send returns without error.
42106//
42107// See SearchTransitGatewayRoutes for more information on using the SearchTransitGatewayRoutes
42108// API call, and error handling.
42109//
42110// This method is useful when you want to inject custom logic or configuration
42111// into the SDK's request lifecycle. Such as custom headers, or retry logic.
42112//
42113//
42114//    // Example sending a request using the SearchTransitGatewayRoutesRequest method.
42115//    req, resp := client.SearchTransitGatewayRoutesRequest(params)
42116//
42117//    err := req.Send()
42118//    if err == nil { // resp is now filled
42119//        fmt.Println(resp)
42120//    }
42121//
42122// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayRoutes
42123func (c *EC2) SearchTransitGatewayRoutesRequest(input *SearchTransitGatewayRoutesInput) (req *request.Request, output *SearchTransitGatewayRoutesOutput) {
42124	op := &request.Operation{
42125		Name:       opSearchTransitGatewayRoutes,
42126		HTTPMethod: "POST",
42127		HTTPPath:   "/",
42128	}
42129
42130	if input == nil {
42131		input = &SearchTransitGatewayRoutesInput{}
42132	}
42133
42134	output = &SearchTransitGatewayRoutesOutput{}
42135	req = c.newRequest(op, input, output)
42136	return
42137}
42138
42139// SearchTransitGatewayRoutes API operation for Amazon Elastic Compute Cloud.
42140//
42141// Searches for routes in the specified transit gateway route table.
42142//
42143// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
42144// with awserr.Error's Code and Message methods to get detailed information about
42145// the error.
42146//
42147// See the AWS API reference guide for Amazon Elastic Compute Cloud's
42148// API operation SearchTransitGatewayRoutes for usage and error information.
42149// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayRoutes
42150func (c *EC2) SearchTransitGatewayRoutes(input *SearchTransitGatewayRoutesInput) (*SearchTransitGatewayRoutesOutput, error) {
42151	req, out := c.SearchTransitGatewayRoutesRequest(input)
42152	return out, req.Send()
42153}
42154
42155// SearchTransitGatewayRoutesWithContext is the same as SearchTransitGatewayRoutes with the addition of
42156// the ability to pass a context and additional request options.
42157//
42158// See SearchTransitGatewayRoutes for details on how to use this API operation.
42159//
42160// The context must be non-nil and will be used for request cancellation. If
42161// the context is nil a panic will occur. In the future the SDK may create
42162// sub-contexts for http.Requests. See https://golang.org/pkg/context/
42163// for more information on using Contexts.
42164func (c *EC2) SearchTransitGatewayRoutesWithContext(ctx aws.Context, input *SearchTransitGatewayRoutesInput, opts ...request.Option) (*SearchTransitGatewayRoutesOutput, error) {
42165	req, out := c.SearchTransitGatewayRoutesRequest(input)
42166	req.SetContext(ctx)
42167	req.ApplyOptions(opts...)
42168	return out, req.Send()
42169}
42170
42171const opSendDiagnosticInterrupt = "SendDiagnosticInterrupt"
42172
42173// SendDiagnosticInterruptRequest generates a "aws/request.Request" representing the
42174// client's request for the SendDiagnosticInterrupt operation. The "output" return
42175// value will be populated with the request's response once the request completes
42176// successfully.
42177//
42178// Use "Send" method on the returned Request to send the API call to the service.
42179// the "output" return value is not valid until after Send returns without error.
42180//
42181// See SendDiagnosticInterrupt for more information on using the SendDiagnosticInterrupt
42182// API call, and error handling.
42183//
42184// This method is useful when you want to inject custom logic or configuration
42185// into the SDK's request lifecycle. Such as custom headers, or retry logic.
42186//
42187//
42188//    // Example sending a request using the SendDiagnosticInterruptRequest method.
42189//    req, resp := client.SendDiagnosticInterruptRequest(params)
42190//
42191//    err := req.Send()
42192//    if err == nil { // resp is now filled
42193//        fmt.Println(resp)
42194//    }
42195//
42196// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SendDiagnosticInterrupt
42197func (c *EC2) SendDiagnosticInterruptRequest(input *SendDiagnosticInterruptInput) (req *request.Request, output *SendDiagnosticInterruptOutput) {
42198	op := &request.Operation{
42199		Name:       opSendDiagnosticInterrupt,
42200		HTTPMethod: "POST",
42201		HTTPPath:   "/",
42202	}
42203
42204	if input == nil {
42205		input = &SendDiagnosticInterruptInput{}
42206	}
42207
42208	output = &SendDiagnosticInterruptOutput{}
42209	req = c.newRequest(op, input, output)
42210	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
42211	return
42212}
42213
42214// SendDiagnosticInterrupt API operation for Amazon Elastic Compute Cloud.
42215//
42216// Sends a diagnostic interrupt to the specified Amazon EC2 instance to trigger
42217// a kernel panic (on Linux instances), or a blue screen/stop error (on Windows
42218// instances). For instances based on Intel and AMD processors, the interrupt
42219// is received as a non-maskable interrupt (NMI).
42220//
42221// In general, the operating system crashes and reboots when a kernel panic
42222// or stop error is triggered. The operating system can also be configured to
42223// perform diagnostic tasks, such as generating a memory dump file, loading
42224// a secondary kernel, or obtaining a call trace.
42225//
42226// Before sending a diagnostic interrupt to your instance, ensure that its operating
42227// system is configured to perform the required diagnostic tasks.
42228//
42229// For more information about configuring your operating system to generate
42230// a crash dump when a kernel panic or stop error occurs, see Send a diagnostic
42231// interrupt (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/diagnostic-interrupt.html)
42232// (Linux instances) or Send a Diagnostic Interrupt (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/diagnostic-interrupt.html)
42233// (Windows instances).
42234//
42235// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
42236// with awserr.Error's Code and Message methods to get detailed information about
42237// the error.
42238//
42239// See the AWS API reference guide for Amazon Elastic Compute Cloud's
42240// API operation SendDiagnosticInterrupt for usage and error information.
42241// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SendDiagnosticInterrupt
42242func (c *EC2) SendDiagnosticInterrupt(input *SendDiagnosticInterruptInput) (*SendDiagnosticInterruptOutput, error) {
42243	req, out := c.SendDiagnosticInterruptRequest(input)
42244	return out, req.Send()
42245}
42246
42247// SendDiagnosticInterruptWithContext is the same as SendDiagnosticInterrupt with the addition of
42248// the ability to pass a context and additional request options.
42249//
42250// See SendDiagnosticInterrupt for details on how to use this API operation.
42251//
42252// The context must be non-nil and will be used for request cancellation. If
42253// the context is nil a panic will occur. In the future the SDK may create
42254// sub-contexts for http.Requests. See https://golang.org/pkg/context/
42255// for more information on using Contexts.
42256func (c *EC2) SendDiagnosticInterruptWithContext(ctx aws.Context, input *SendDiagnosticInterruptInput, opts ...request.Option) (*SendDiagnosticInterruptOutput, error) {
42257	req, out := c.SendDiagnosticInterruptRequest(input)
42258	req.SetContext(ctx)
42259	req.ApplyOptions(opts...)
42260	return out, req.Send()
42261}
42262
42263const opStartInstances = "StartInstances"
42264
42265// StartInstancesRequest generates a "aws/request.Request" representing the
42266// client's request for the StartInstances operation. The "output" return
42267// value will be populated with the request's response once the request completes
42268// successfully.
42269//
42270// Use "Send" method on the returned Request to send the API call to the service.
42271// the "output" return value is not valid until after Send returns without error.
42272//
42273// See StartInstances for more information on using the StartInstances
42274// API call, and error handling.
42275//
42276// This method is useful when you want to inject custom logic or configuration
42277// into the SDK's request lifecycle. Such as custom headers, or retry logic.
42278//
42279//
42280//    // Example sending a request using the StartInstancesRequest method.
42281//    req, resp := client.StartInstancesRequest(params)
42282//
42283//    err := req.Send()
42284//    if err == nil { // resp is now filled
42285//        fmt.Println(resp)
42286//    }
42287//
42288// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
42289func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Request, output *StartInstancesOutput) {
42290	op := &request.Operation{
42291		Name:       opStartInstances,
42292		HTTPMethod: "POST",
42293		HTTPPath:   "/",
42294	}
42295
42296	if input == nil {
42297		input = &StartInstancesInput{}
42298	}
42299
42300	output = &StartInstancesOutput{}
42301	req = c.newRequest(op, input, output)
42302	return
42303}
42304
42305// StartInstances API operation for Amazon Elastic Compute Cloud.
42306//
42307// Starts an Amazon EBS-backed instance that you've previously stopped.
42308//
42309// Instances that use Amazon EBS volumes as their root devices can be quickly
42310// stopped and started. When an instance is stopped, the compute resources are
42311// released and you are not billed for instance usage. However, your root partition
42312// Amazon EBS volume remains and continues to persist your data, and you are
42313// charged for Amazon EBS volume usage. You can restart your instance at any
42314// time. Every time you start your instance, Amazon EC2 charges a one-minute
42315// minimum for instance usage, and thereafter charges per second for instance
42316// usage.
42317//
42318// Before stopping an instance, make sure it is in a state from which it can
42319// be restarted. Stopping an instance does not preserve data stored in RAM.
42320//
42321// Performing this operation on an instance that uses an instance store as its
42322// root device returns an error.
42323//
42324// For more information, see Stopping instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html)
42325// in the Amazon EC2 User Guide.
42326//
42327// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
42328// with awserr.Error's Code and Message methods to get detailed information about
42329// the error.
42330//
42331// See the AWS API reference guide for Amazon Elastic Compute Cloud's
42332// API operation StartInstances for usage and error information.
42333// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
42334func (c *EC2) StartInstances(input *StartInstancesInput) (*StartInstancesOutput, error) {
42335	req, out := c.StartInstancesRequest(input)
42336	return out, req.Send()
42337}
42338
42339// StartInstancesWithContext is the same as StartInstances with the addition of
42340// the ability to pass a context and additional request options.
42341//
42342// See StartInstances for details on how to use this API operation.
42343//
42344// The context must be non-nil and will be used for request cancellation. If
42345// the context is nil a panic will occur. In the future the SDK may create
42346// sub-contexts for http.Requests. See https://golang.org/pkg/context/
42347// for more information on using Contexts.
42348func (c *EC2) StartInstancesWithContext(ctx aws.Context, input *StartInstancesInput, opts ...request.Option) (*StartInstancesOutput, error) {
42349	req, out := c.StartInstancesRequest(input)
42350	req.SetContext(ctx)
42351	req.ApplyOptions(opts...)
42352	return out, req.Send()
42353}
42354
42355const opStartNetworkInsightsAnalysis = "StartNetworkInsightsAnalysis"
42356
42357// StartNetworkInsightsAnalysisRequest generates a "aws/request.Request" representing the
42358// client's request for the StartNetworkInsightsAnalysis operation. The "output" return
42359// value will be populated with the request's response once the request completes
42360// successfully.
42361//
42362// Use "Send" method on the returned Request to send the API call to the service.
42363// the "output" return value is not valid until after Send returns without error.
42364//
42365// See StartNetworkInsightsAnalysis for more information on using the StartNetworkInsightsAnalysis
42366// API call, and error handling.
42367//
42368// This method is useful when you want to inject custom logic or configuration
42369// into the SDK's request lifecycle. Such as custom headers, or retry logic.
42370//
42371//
42372//    // Example sending a request using the StartNetworkInsightsAnalysisRequest method.
42373//    req, resp := client.StartNetworkInsightsAnalysisRequest(params)
42374//
42375//    err := req.Send()
42376//    if err == nil { // resp is now filled
42377//        fmt.Println(resp)
42378//    }
42379//
42380// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartNetworkInsightsAnalysis
42381func (c *EC2) StartNetworkInsightsAnalysisRequest(input *StartNetworkInsightsAnalysisInput) (req *request.Request, output *StartNetworkInsightsAnalysisOutput) {
42382	op := &request.Operation{
42383		Name:       opStartNetworkInsightsAnalysis,
42384		HTTPMethod: "POST",
42385		HTTPPath:   "/",
42386	}
42387
42388	if input == nil {
42389		input = &StartNetworkInsightsAnalysisInput{}
42390	}
42391
42392	output = &StartNetworkInsightsAnalysisOutput{}
42393	req = c.newRequest(op, input, output)
42394	return
42395}
42396
42397// StartNetworkInsightsAnalysis API operation for Amazon Elastic Compute Cloud.
42398//
42399// Starts analyzing the specified path. If the path is reachable, the operation
42400// returns the shortest feasible path.
42401//
42402// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
42403// with awserr.Error's Code and Message methods to get detailed information about
42404// the error.
42405//
42406// See the AWS API reference guide for Amazon Elastic Compute Cloud's
42407// API operation StartNetworkInsightsAnalysis for usage and error information.
42408// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartNetworkInsightsAnalysis
42409func (c *EC2) StartNetworkInsightsAnalysis(input *StartNetworkInsightsAnalysisInput) (*StartNetworkInsightsAnalysisOutput, error) {
42410	req, out := c.StartNetworkInsightsAnalysisRequest(input)
42411	return out, req.Send()
42412}
42413
42414// StartNetworkInsightsAnalysisWithContext is the same as StartNetworkInsightsAnalysis with the addition of
42415// the ability to pass a context and additional request options.
42416//
42417// See StartNetworkInsightsAnalysis for details on how to use this API operation.
42418//
42419// The context must be non-nil and will be used for request cancellation. If
42420// the context is nil a panic will occur. In the future the SDK may create
42421// sub-contexts for http.Requests. See https://golang.org/pkg/context/
42422// for more information on using Contexts.
42423func (c *EC2) StartNetworkInsightsAnalysisWithContext(ctx aws.Context, input *StartNetworkInsightsAnalysisInput, opts ...request.Option) (*StartNetworkInsightsAnalysisOutput, error) {
42424	req, out := c.StartNetworkInsightsAnalysisRequest(input)
42425	req.SetContext(ctx)
42426	req.ApplyOptions(opts...)
42427	return out, req.Send()
42428}
42429
42430const opStartVpcEndpointServicePrivateDnsVerification = "StartVpcEndpointServicePrivateDnsVerification"
42431
42432// StartVpcEndpointServicePrivateDnsVerificationRequest generates a "aws/request.Request" representing the
42433// client's request for the StartVpcEndpointServicePrivateDnsVerification operation. The "output" return
42434// value will be populated with the request's response once the request completes
42435// successfully.
42436//
42437// Use "Send" method on the returned Request to send the API call to the service.
42438// the "output" return value is not valid until after Send returns without error.
42439//
42440// See StartVpcEndpointServicePrivateDnsVerification for more information on using the StartVpcEndpointServicePrivateDnsVerification
42441// API call, and error handling.
42442//
42443// This method is useful when you want to inject custom logic or configuration
42444// into the SDK's request lifecycle. Such as custom headers, or retry logic.
42445//
42446//
42447//    // Example sending a request using the StartVpcEndpointServicePrivateDnsVerificationRequest method.
42448//    req, resp := client.StartVpcEndpointServicePrivateDnsVerificationRequest(params)
42449//
42450//    err := req.Send()
42451//    if err == nil { // resp is now filled
42452//        fmt.Println(resp)
42453//    }
42454//
42455// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartVpcEndpointServicePrivateDnsVerification
42456func (c *EC2) StartVpcEndpointServicePrivateDnsVerificationRequest(input *StartVpcEndpointServicePrivateDnsVerificationInput) (req *request.Request, output *StartVpcEndpointServicePrivateDnsVerificationOutput) {
42457	op := &request.Operation{
42458		Name:       opStartVpcEndpointServicePrivateDnsVerification,
42459		HTTPMethod: "POST",
42460		HTTPPath:   "/",
42461	}
42462
42463	if input == nil {
42464		input = &StartVpcEndpointServicePrivateDnsVerificationInput{}
42465	}
42466
42467	output = &StartVpcEndpointServicePrivateDnsVerificationOutput{}
42468	req = c.newRequest(op, input, output)
42469	return
42470}
42471
42472// StartVpcEndpointServicePrivateDnsVerification API operation for Amazon Elastic Compute Cloud.
42473//
42474// Initiates the verification process to prove that the service provider owns
42475// the private DNS name domain for the endpoint service.
42476//
42477// The service provider must successfully perform the verification before the
42478// consumer can use the name to access the service.
42479//
42480// Before the service provider runs this command, they must add a record to
42481// the DNS server. For more information, see Adding a TXT Record to Your Domain's
42482// DNS Server (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-dns-validation.html#add-dns-txt-record)
42483// in the Amazon VPC User Guide.
42484//
42485// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
42486// with awserr.Error's Code and Message methods to get detailed information about
42487// the error.
42488//
42489// See the AWS API reference guide for Amazon Elastic Compute Cloud's
42490// API operation StartVpcEndpointServicePrivateDnsVerification for usage and error information.
42491// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartVpcEndpointServicePrivateDnsVerification
42492func (c *EC2) StartVpcEndpointServicePrivateDnsVerification(input *StartVpcEndpointServicePrivateDnsVerificationInput) (*StartVpcEndpointServicePrivateDnsVerificationOutput, error) {
42493	req, out := c.StartVpcEndpointServicePrivateDnsVerificationRequest(input)
42494	return out, req.Send()
42495}
42496
42497// StartVpcEndpointServicePrivateDnsVerificationWithContext is the same as StartVpcEndpointServicePrivateDnsVerification with the addition of
42498// the ability to pass a context and additional request options.
42499//
42500// See StartVpcEndpointServicePrivateDnsVerification for details on how to use this API operation.
42501//
42502// The context must be non-nil and will be used for request cancellation. If
42503// the context is nil a panic will occur. In the future the SDK may create
42504// sub-contexts for http.Requests. See https://golang.org/pkg/context/
42505// for more information on using Contexts.
42506func (c *EC2) StartVpcEndpointServicePrivateDnsVerificationWithContext(ctx aws.Context, input *StartVpcEndpointServicePrivateDnsVerificationInput, opts ...request.Option) (*StartVpcEndpointServicePrivateDnsVerificationOutput, error) {
42507	req, out := c.StartVpcEndpointServicePrivateDnsVerificationRequest(input)
42508	req.SetContext(ctx)
42509	req.ApplyOptions(opts...)
42510	return out, req.Send()
42511}
42512
42513const opStopInstances = "StopInstances"
42514
42515// StopInstancesRequest generates a "aws/request.Request" representing the
42516// client's request for the StopInstances operation. The "output" return
42517// value will be populated with the request's response once the request completes
42518// successfully.
42519//
42520// Use "Send" method on the returned Request to send the API call to the service.
42521// the "output" return value is not valid until after Send returns without error.
42522//
42523// See StopInstances for more information on using the StopInstances
42524// API call, and error handling.
42525//
42526// This method is useful when you want to inject custom logic or configuration
42527// into the SDK's request lifecycle. Such as custom headers, or retry logic.
42528//
42529//
42530//    // Example sending a request using the StopInstancesRequest method.
42531//    req, resp := client.StopInstancesRequest(params)
42532//
42533//    err := req.Send()
42534//    if err == nil { // resp is now filled
42535//        fmt.Println(resp)
42536//    }
42537//
42538// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
42539func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Request, output *StopInstancesOutput) {
42540	op := &request.Operation{
42541		Name:       opStopInstances,
42542		HTTPMethod: "POST",
42543		HTTPPath:   "/",
42544	}
42545
42546	if input == nil {
42547		input = &StopInstancesInput{}
42548	}
42549
42550	output = &StopInstancesOutput{}
42551	req = c.newRequest(op, input, output)
42552	return
42553}
42554
42555// StopInstances API operation for Amazon Elastic Compute Cloud.
42556//
42557// Stops an Amazon EBS-backed instance.
42558//
42559// You can use the Stop action to hibernate an instance if the instance is enabled
42560// for hibernation (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#enabling-hibernation)
42561// and it meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
42562// For more information, see Hibernate your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
42563// in the Amazon EC2 User Guide.
42564//
42565// We don't charge usage for a stopped instance, or data transfer fees; however,
42566// your root partition Amazon EBS volume remains and continues to persist your
42567// data, and you are charged for Amazon EBS volume usage. Every time you start
42568// your instance, Amazon EC2 charges a one-minute minimum for instance usage,
42569// and thereafter charges per second for instance usage.
42570//
42571// You can't stop or hibernate instance store-backed instances. You can't use
42572// the Stop action to hibernate Spot Instances, but you can specify that Amazon
42573// EC2 should hibernate Spot Instances when they are interrupted. For more information,
42574// see Hibernating interrupted Spot Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html#hibernate-spot-instances)
42575// in the Amazon EC2 User Guide.
42576//
42577// When you stop or hibernate an instance, we shut it down. You can restart
42578// your instance at any time. Before stopping or hibernating an instance, make
42579// sure it is in a state from which it can be restarted. Stopping an instance
42580// does not preserve data stored in RAM, but hibernating an instance does preserve
42581// data stored in RAM. If an instance cannot hibernate successfully, a normal
42582// shutdown occurs.
42583//
42584// Stopping and hibernating an instance is different to rebooting or terminating
42585// it. For example, when you stop or hibernate an instance, the root device
42586// and any other devices attached to the instance persist. When you terminate
42587// an instance, the root device and any other devices attached during the instance
42588// launch are automatically deleted. For more information about the differences
42589// between rebooting, stopping, hibernating, and terminating instances, see
42590// Instance lifecycle (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
42591// in the Amazon EC2 User Guide.
42592//
42593// When you stop an instance, we attempt to shut it down forcibly after a short
42594// while. If your instance appears stuck in the stopping state after a period
42595// of time, there may be an issue with the underlying host computer. For more
42596// information, see Troubleshooting stopping your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html)
42597// in the Amazon EC2 User Guide.
42598//
42599// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
42600// with awserr.Error's Code and Message methods to get detailed information about
42601// the error.
42602//
42603// See the AWS API reference guide for Amazon Elastic Compute Cloud's
42604// API operation StopInstances for usage and error information.
42605// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
42606func (c *EC2) StopInstances(input *StopInstancesInput) (*StopInstancesOutput, error) {
42607	req, out := c.StopInstancesRequest(input)
42608	return out, req.Send()
42609}
42610
42611// StopInstancesWithContext is the same as StopInstances with the addition of
42612// the ability to pass a context and additional request options.
42613//
42614// See StopInstances for details on how to use this API operation.
42615//
42616// The context must be non-nil and will be used for request cancellation. If
42617// the context is nil a panic will occur. In the future the SDK may create
42618// sub-contexts for http.Requests. See https://golang.org/pkg/context/
42619// for more information on using Contexts.
42620func (c *EC2) StopInstancesWithContext(ctx aws.Context, input *StopInstancesInput, opts ...request.Option) (*StopInstancesOutput, error) {
42621	req, out := c.StopInstancesRequest(input)
42622	req.SetContext(ctx)
42623	req.ApplyOptions(opts...)
42624	return out, req.Send()
42625}
42626
42627const opTerminateClientVpnConnections = "TerminateClientVpnConnections"
42628
42629// TerminateClientVpnConnectionsRequest generates a "aws/request.Request" representing the
42630// client's request for the TerminateClientVpnConnections operation. The "output" return
42631// value will be populated with the request's response once the request completes
42632// successfully.
42633//
42634// Use "Send" method on the returned Request to send the API call to the service.
42635// the "output" return value is not valid until after Send returns without error.
42636//
42637// See TerminateClientVpnConnections for more information on using the TerminateClientVpnConnections
42638// API call, and error handling.
42639//
42640// This method is useful when you want to inject custom logic or configuration
42641// into the SDK's request lifecycle. Such as custom headers, or retry logic.
42642//
42643//
42644//    // Example sending a request using the TerminateClientVpnConnectionsRequest method.
42645//    req, resp := client.TerminateClientVpnConnectionsRequest(params)
42646//
42647//    err := req.Send()
42648//    if err == nil { // resp is now filled
42649//        fmt.Println(resp)
42650//    }
42651//
42652// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateClientVpnConnections
42653func (c *EC2) TerminateClientVpnConnectionsRequest(input *TerminateClientVpnConnectionsInput) (req *request.Request, output *TerminateClientVpnConnectionsOutput) {
42654	op := &request.Operation{
42655		Name:       opTerminateClientVpnConnections,
42656		HTTPMethod: "POST",
42657		HTTPPath:   "/",
42658	}
42659
42660	if input == nil {
42661		input = &TerminateClientVpnConnectionsInput{}
42662	}
42663
42664	output = &TerminateClientVpnConnectionsOutput{}
42665	req = c.newRequest(op, input, output)
42666	return
42667}
42668
42669// TerminateClientVpnConnections API operation for Amazon Elastic Compute Cloud.
42670//
42671// Terminates active Client VPN endpoint connections. This action can be used
42672// to terminate a specific client connection, or up to five connections established
42673// by a specific user.
42674//
42675// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
42676// with awserr.Error's Code and Message methods to get detailed information about
42677// the error.
42678//
42679// See the AWS API reference guide for Amazon Elastic Compute Cloud's
42680// API operation TerminateClientVpnConnections for usage and error information.
42681// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateClientVpnConnections
42682func (c *EC2) TerminateClientVpnConnections(input *TerminateClientVpnConnectionsInput) (*TerminateClientVpnConnectionsOutput, error) {
42683	req, out := c.TerminateClientVpnConnectionsRequest(input)
42684	return out, req.Send()
42685}
42686
42687// TerminateClientVpnConnectionsWithContext is the same as TerminateClientVpnConnections with the addition of
42688// the ability to pass a context and additional request options.
42689//
42690// See TerminateClientVpnConnections for details on how to use this API operation.
42691//
42692// The context must be non-nil and will be used for request cancellation. If
42693// the context is nil a panic will occur. In the future the SDK may create
42694// sub-contexts for http.Requests. See https://golang.org/pkg/context/
42695// for more information on using Contexts.
42696func (c *EC2) TerminateClientVpnConnectionsWithContext(ctx aws.Context, input *TerminateClientVpnConnectionsInput, opts ...request.Option) (*TerminateClientVpnConnectionsOutput, error) {
42697	req, out := c.TerminateClientVpnConnectionsRequest(input)
42698	req.SetContext(ctx)
42699	req.ApplyOptions(opts...)
42700	return out, req.Send()
42701}
42702
42703const opTerminateInstances = "TerminateInstances"
42704
42705// TerminateInstancesRequest generates a "aws/request.Request" representing the
42706// client's request for the TerminateInstances operation. The "output" return
42707// value will be populated with the request's response once the request completes
42708// successfully.
42709//
42710// Use "Send" method on the returned Request to send the API call to the service.
42711// the "output" return value is not valid until after Send returns without error.
42712//
42713// See TerminateInstances for more information on using the TerminateInstances
42714// API call, and error handling.
42715//
42716// This method is useful when you want to inject custom logic or configuration
42717// into the SDK's request lifecycle. Such as custom headers, or retry logic.
42718//
42719//
42720//    // Example sending a request using the TerminateInstancesRequest method.
42721//    req, resp := client.TerminateInstancesRequest(params)
42722//
42723//    err := req.Send()
42724//    if err == nil { // resp is now filled
42725//        fmt.Println(resp)
42726//    }
42727//
42728// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
42729func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *request.Request, output *TerminateInstancesOutput) {
42730	op := &request.Operation{
42731		Name:       opTerminateInstances,
42732		HTTPMethod: "POST",
42733		HTTPPath:   "/",
42734	}
42735
42736	if input == nil {
42737		input = &TerminateInstancesInput{}
42738	}
42739
42740	output = &TerminateInstancesOutput{}
42741	req = c.newRequest(op, input, output)
42742	return
42743}
42744
42745// TerminateInstances API operation for Amazon Elastic Compute Cloud.
42746//
42747// Shuts down the specified instances. This operation is idempotent; if you
42748// terminate an instance more than once, each call succeeds.
42749//
42750// If you specify multiple instances and the request fails (for example, because
42751// of a single incorrect instance ID), none of the instances are terminated.
42752//
42753// If you terminate multiple instances across multiple Availability Zones, and
42754// one or more of the specified instances are enabled for termination protection,
42755// the request fails with the following results:
42756//
42757//    * The specified instances that are in the same Availability Zone as the
42758//    protected instance are not terminated.
42759//
42760//    * The specified instances that are in different Availability Zones, where
42761//    no other specified instances are protected, are successfully terminated.
42762//
42763// For example, say you have the following instances:
42764//
42765//    * Instance A: us-east-1a; Not protected
42766//
42767//    * Instance B: us-east-1a; Not protected
42768//
42769//    * Instance C: us-east-1b; Protected
42770//
42771//    * Instance D: us-east-1b; not protected
42772//
42773// If you attempt to terminate all of these instances in the same request, the
42774// request reports failure with the following results:
42775//
42776//    * Instance A and Instance B are successfully terminated because none of
42777//    the specified instances in us-east-1a are enabled for termination protection.
42778//
42779//    * Instance C and Instance D fail to terminate because at least one of
42780//    the specified instances in us-east-1b (Instance C) is enabled for termination
42781//    protection.
42782//
42783// Terminated instances remain visible after termination (for approximately
42784// one hour).
42785//
42786// By default, Amazon EC2 deletes all EBS volumes that were attached when the
42787// instance launched. Volumes attached after instance launch continue running.
42788//
42789// You can stop, start, and terminate EBS-backed instances. You can only terminate
42790// instance store-backed instances. What happens to an instance differs if you
42791// stop it or terminate it. For example, when you stop an instance, the root
42792// device and any other devices attached to the instance persist. When you terminate
42793// an instance, any attached EBS volumes with the DeleteOnTermination block
42794// device mapping parameter set to true are automatically deleted. For more
42795// information about the differences between stopping and terminating instances,
42796// see Instance lifecycle (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
42797// in the Amazon EC2 User Guide.
42798//
42799// For more information about troubleshooting, see Troubleshooting terminating
42800// your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html)
42801// in the Amazon EC2 User Guide.
42802//
42803// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
42804// with awserr.Error's Code and Message methods to get detailed information about
42805// the error.
42806//
42807// See the AWS API reference guide for Amazon Elastic Compute Cloud's
42808// API operation TerminateInstances for usage and error information.
42809// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
42810func (c *EC2) TerminateInstances(input *TerminateInstancesInput) (*TerminateInstancesOutput, error) {
42811	req, out := c.TerminateInstancesRequest(input)
42812	return out, req.Send()
42813}
42814
42815// TerminateInstancesWithContext is the same as TerminateInstances with the addition of
42816// the ability to pass a context and additional request options.
42817//
42818// See TerminateInstances for details on how to use this API operation.
42819//
42820// The context must be non-nil and will be used for request cancellation. If
42821// the context is nil a panic will occur. In the future the SDK may create
42822// sub-contexts for http.Requests. See https://golang.org/pkg/context/
42823// for more information on using Contexts.
42824func (c *EC2) TerminateInstancesWithContext(ctx aws.Context, input *TerminateInstancesInput, opts ...request.Option) (*TerminateInstancesOutput, error) {
42825	req, out := c.TerminateInstancesRequest(input)
42826	req.SetContext(ctx)
42827	req.ApplyOptions(opts...)
42828	return out, req.Send()
42829}
42830
42831const opUnassignIpv6Addresses = "UnassignIpv6Addresses"
42832
42833// UnassignIpv6AddressesRequest generates a "aws/request.Request" representing the
42834// client's request for the UnassignIpv6Addresses operation. The "output" return
42835// value will be populated with the request's response once the request completes
42836// successfully.
42837//
42838// Use "Send" method on the returned Request to send the API call to the service.
42839// the "output" return value is not valid until after Send returns without error.
42840//
42841// See UnassignIpv6Addresses for more information on using the UnassignIpv6Addresses
42842// API call, and error handling.
42843//
42844// This method is useful when you want to inject custom logic or configuration
42845// into the SDK's request lifecycle. Such as custom headers, or retry logic.
42846//
42847//
42848//    // Example sending a request using the UnassignIpv6AddressesRequest method.
42849//    req, resp := client.UnassignIpv6AddressesRequest(params)
42850//
42851//    err := req.Send()
42852//    if err == nil { // resp is now filled
42853//        fmt.Println(resp)
42854//    }
42855//
42856// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
42857func (c *EC2) UnassignIpv6AddressesRequest(input *UnassignIpv6AddressesInput) (req *request.Request, output *UnassignIpv6AddressesOutput) {
42858	op := &request.Operation{
42859		Name:       opUnassignIpv6Addresses,
42860		HTTPMethod: "POST",
42861		HTTPPath:   "/",
42862	}
42863
42864	if input == nil {
42865		input = &UnassignIpv6AddressesInput{}
42866	}
42867
42868	output = &UnassignIpv6AddressesOutput{}
42869	req = c.newRequest(op, input, output)
42870	return
42871}
42872
42873// UnassignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
42874//
42875// Unassigns one or more IPv6 addresses IPv4 Prefix Delegation prefixes from
42876// a network interface.
42877//
42878// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
42879// with awserr.Error's Code and Message methods to get detailed information about
42880// the error.
42881//
42882// See the AWS API reference guide for Amazon Elastic Compute Cloud's
42883// API operation UnassignIpv6Addresses for usage and error information.
42884// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
42885func (c *EC2) UnassignIpv6Addresses(input *UnassignIpv6AddressesInput) (*UnassignIpv6AddressesOutput, error) {
42886	req, out := c.UnassignIpv6AddressesRequest(input)
42887	return out, req.Send()
42888}
42889
42890// UnassignIpv6AddressesWithContext is the same as UnassignIpv6Addresses with the addition of
42891// the ability to pass a context and additional request options.
42892//
42893// See UnassignIpv6Addresses for details on how to use this API operation.
42894//
42895// The context must be non-nil and will be used for request cancellation. If
42896// the context is nil a panic will occur. In the future the SDK may create
42897// sub-contexts for http.Requests. See https://golang.org/pkg/context/
42898// for more information on using Contexts.
42899func (c *EC2) UnassignIpv6AddressesWithContext(ctx aws.Context, input *UnassignIpv6AddressesInput, opts ...request.Option) (*UnassignIpv6AddressesOutput, error) {
42900	req, out := c.UnassignIpv6AddressesRequest(input)
42901	req.SetContext(ctx)
42902	req.ApplyOptions(opts...)
42903	return out, req.Send()
42904}
42905
42906const opUnassignPrivateIpAddresses = "UnassignPrivateIpAddresses"
42907
42908// UnassignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
42909// client's request for the UnassignPrivateIpAddresses operation. The "output" return
42910// value will be populated with the request's response once the request completes
42911// successfully.
42912//
42913// Use "Send" method on the returned Request to send the API call to the service.
42914// the "output" return value is not valid until after Send returns without error.
42915//
42916// See UnassignPrivateIpAddresses for more information on using the UnassignPrivateIpAddresses
42917// API call, and error handling.
42918//
42919// This method is useful when you want to inject custom logic or configuration
42920// into the SDK's request lifecycle. Such as custom headers, or retry logic.
42921//
42922//
42923//    // Example sending a request using the UnassignPrivateIpAddressesRequest method.
42924//    req, resp := client.UnassignPrivateIpAddressesRequest(params)
42925//
42926//    err := req.Send()
42927//    if err == nil { // resp is now filled
42928//        fmt.Println(resp)
42929//    }
42930//
42931// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
42932func (c *EC2) UnassignPrivateIpAddressesRequest(input *UnassignPrivateIpAddressesInput) (req *request.Request, output *UnassignPrivateIpAddressesOutput) {
42933	op := &request.Operation{
42934		Name:       opUnassignPrivateIpAddresses,
42935		HTTPMethod: "POST",
42936		HTTPPath:   "/",
42937	}
42938
42939	if input == nil {
42940		input = &UnassignPrivateIpAddressesInput{}
42941	}
42942
42943	output = &UnassignPrivateIpAddressesOutput{}
42944	req = c.newRequest(op, input, output)
42945	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
42946	return
42947}
42948
42949// UnassignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
42950//
42951// Unassigns one or more secondary private IP addresses, or IPv4 Prefix Delegation
42952// prefixes from a network interface.
42953//
42954// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
42955// with awserr.Error's Code and Message methods to get detailed information about
42956// the error.
42957//
42958// See the AWS API reference guide for Amazon Elastic Compute Cloud's
42959// API operation UnassignPrivateIpAddresses for usage and error information.
42960// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
42961func (c *EC2) UnassignPrivateIpAddresses(input *UnassignPrivateIpAddressesInput) (*UnassignPrivateIpAddressesOutput, error) {
42962	req, out := c.UnassignPrivateIpAddressesRequest(input)
42963	return out, req.Send()
42964}
42965
42966// UnassignPrivateIpAddressesWithContext is the same as UnassignPrivateIpAddresses with the addition of
42967// the ability to pass a context and additional request options.
42968//
42969// See UnassignPrivateIpAddresses for details on how to use this API operation.
42970//
42971// The context must be non-nil and will be used for request cancellation. If
42972// the context is nil a panic will occur. In the future the SDK may create
42973// sub-contexts for http.Requests. See https://golang.org/pkg/context/
42974// for more information on using Contexts.
42975func (c *EC2) UnassignPrivateIpAddressesWithContext(ctx aws.Context, input *UnassignPrivateIpAddressesInput, opts ...request.Option) (*UnassignPrivateIpAddressesOutput, error) {
42976	req, out := c.UnassignPrivateIpAddressesRequest(input)
42977	req.SetContext(ctx)
42978	req.ApplyOptions(opts...)
42979	return out, req.Send()
42980}
42981
42982const opUnmonitorInstances = "UnmonitorInstances"
42983
42984// UnmonitorInstancesRequest generates a "aws/request.Request" representing the
42985// client's request for the UnmonitorInstances operation. The "output" return
42986// value will be populated with the request's response once the request completes
42987// successfully.
42988//
42989// Use "Send" method on the returned Request to send the API call to the service.
42990// the "output" return value is not valid until after Send returns without error.
42991//
42992// See UnmonitorInstances for more information on using the UnmonitorInstances
42993// API call, and error handling.
42994//
42995// This method is useful when you want to inject custom logic or configuration
42996// into the SDK's request lifecycle. Such as custom headers, or retry logic.
42997//
42998//
42999//    // Example sending a request using the UnmonitorInstancesRequest method.
43000//    req, resp := client.UnmonitorInstancesRequest(params)
43001//
43002//    err := req.Send()
43003//    if err == nil { // resp is now filled
43004//        fmt.Println(resp)
43005//    }
43006//
43007// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
43008func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *request.Request, output *UnmonitorInstancesOutput) {
43009	op := &request.Operation{
43010		Name:       opUnmonitorInstances,
43011		HTTPMethod: "POST",
43012		HTTPPath:   "/",
43013	}
43014
43015	if input == nil {
43016		input = &UnmonitorInstancesInput{}
43017	}
43018
43019	output = &UnmonitorInstancesOutput{}
43020	req = c.newRequest(op, input, output)
43021	return
43022}
43023
43024// UnmonitorInstances API operation for Amazon Elastic Compute Cloud.
43025//
43026// Disables detailed monitoring for a running instance. For more information,
43027// see Monitoring your instances and volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
43028// in the Amazon EC2 User Guide.
43029//
43030// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
43031// with awserr.Error's Code and Message methods to get detailed information about
43032// the error.
43033//
43034// See the AWS API reference guide for Amazon Elastic Compute Cloud's
43035// API operation UnmonitorInstances for usage and error information.
43036// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
43037func (c *EC2) UnmonitorInstances(input *UnmonitorInstancesInput) (*UnmonitorInstancesOutput, error) {
43038	req, out := c.UnmonitorInstancesRequest(input)
43039	return out, req.Send()
43040}
43041
43042// UnmonitorInstancesWithContext is the same as UnmonitorInstances with the addition of
43043// the ability to pass a context and additional request options.
43044//
43045// See UnmonitorInstances for details on how to use this API operation.
43046//
43047// The context must be non-nil and will be used for request cancellation. If
43048// the context is nil a panic will occur. In the future the SDK may create
43049// sub-contexts for http.Requests. See https://golang.org/pkg/context/
43050// for more information on using Contexts.
43051func (c *EC2) UnmonitorInstancesWithContext(ctx aws.Context, input *UnmonitorInstancesInput, opts ...request.Option) (*UnmonitorInstancesOutput, error) {
43052	req, out := c.UnmonitorInstancesRequest(input)
43053	req.SetContext(ctx)
43054	req.ApplyOptions(opts...)
43055	return out, req.Send()
43056}
43057
43058const opUpdateSecurityGroupRuleDescriptionsEgress = "UpdateSecurityGroupRuleDescriptionsEgress"
43059
43060// UpdateSecurityGroupRuleDescriptionsEgressRequest generates a "aws/request.Request" representing the
43061// client's request for the UpdateSecurityGroupRuleDescriptionsEgress operation. The "output" return
43062// value will be populated with the request's response once the request completes
43063// successfully.
43064//
43065// Use "Send" method on the returned Request to send the API call to the service.
43066// the "output" return value is not valid until after Send returns without error.
43067//
43068// See UpdateSecurityGroupRuleDescriptionsEgress for more information on using the UpdateSecurityGroupRuleDescriptionsEgress
43069// API call, and error handling.
43070//
43071// This method is useful when you want to inject custom logic or configuration
43072// into the SDK's request lifecycle. Such as custom headers, or retry logic.
43073//
43074//
43075//    // Example sending a request using the UpdateSecurityGroupRuleDescriptionsEgressRequest method.
43076//    req, resp := client.UpdateSecurityGroupRuleDescriptionsEgressRequest(params)
43077//
43078//    err := req.Send()
43079//    if err == nil { // resp is now filled
43080//        fmt.Println(resp)
43081//    }
43082//
43083// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress
43084func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgressRequest(input *UpdateSecurityGroupRuleDescriptionsEgressInput) (req *request.Request, output *UpdateSecurityGroupRuleDescriptionsEgressOutput) {
43085	op := &request.Operation{
43086		Name:       opUpdateSecurityGroupRuleDescriptionsEgress,
43087		HTTPMethod: "POST",
43088		HTTPPath:   "/",
43089	}
43090
43091	if input == nil {
43092		input = &UpdateSecurityGroupRuleDescriptionsEgressInput{}
43093	}
43094
43095	output = &UpdateSecurityGroupRuleDescriptionsEgressOutput{}
43096	req = c.newRequest(op, input, output)
43097	return
43098}
43099
43100// UpdateSecurityGroupRuleDescriptionsEgress API operation for Amazon Elastic Compute Cloud.
43101//
43102// [VPC only] Updates the description of an egress (outbound) security group
43103// rule. You can replace an existing description, or add a description to a
43104// rule that did not have one previously. You can remove a description for a
43105// security group rule by omitting the description parameter in the request.
43106//
43107// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
43108// with awserr.Error's Code and Message methods to get detailed information about
43109// the error.
43110//
43111// See the AWS API reference guide for Amazon Elastic Compute Cloud's
43112// API operation UpdateSecurityGroupRuleDescriptionsEgress for usage and error information.
43113// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress
43114func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgress(input *UpdateSecurityGroupRuleDescriptionsEgressInput) (*UpdateSecurityGroupRuleDescriptionsEgressOutput, error) {
43115	req, out := c.UpdateSecurityGroupRuleDescriptionsEgressRequest(input)
43116	return out, req.Send()
43117}
43118
43119// UpdateSecurityGroupRuleDescriptionsEgressWithContext is the same as UpdateSecurityGroupRuleDescriptionsEgress with the addition of
43120// the ability to pass a context and additional request options.
43121//
43122// See UpdateSecurityGroupRuleDescriptionsEgress for details on how to use this API operation.
43123//
43124// The context must be non-nil and will be used for request cancellation. If
43125// the context is nil a panic will occur. In the future the SDK may create
43126// sub-contexts for http.Requests. See https://golang.org/pkg/context/
43127// for more information on using Contexts.
43128func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgressWithContext(ctx aws.Context, input *UpdateSecurityGroupRuleDescriptionsEgressInput, opts ...request.Option) (*UpdateSecurityGroupRuleDescriptionsEgressOutput, error) {
43129	req, out := c.UpdateSecurityGroupRuleDescriptionsEgressRequest(input)
43130	req.SetContext(ctx)
43131	req.ApplyOptions(opts...)
43132	return out, req.Send()
43133}
43134
43135const opUpdateSecurityGroupRuleDescriptionsIngress = "UpdateSecurityGroupRuleDescriptionsIngress"
43136
43137// UpdateSecurityGroupRuleDescriptionsIngressRequest generates a "aws/request.Request" representing the
43138// client's request for the UpdateSecurityGroupRuleDescriptionsIngress operation. The "output" return
43139// value will be populated with the request's response once the request completes
43140// successfully.
43141//
43142// Use "Send" method on the returned Request to send the API call to the service.
43143// the "output" return value is not valid until after Send returns without error.
43144//
43145// See UpdateSecurityGroupRuleDescriptionsIngress for more information on using the UpdateSecurityGroupRuleDescriptionsIngress
43146// API call, and error handling.
43147//
43148// This method is useful when you want to inject custom logic or configuration
43149// into the SDK's request lifecycle. Such as custom headers, or retry logic.
43150//
43151//
43152//    // Example sending a request using the UpdateSecurityGroupRuleDescriptionsIngressRequest method.
43153//    req, resp := client.UpdateSecurityGroupRuleDescriptionsIngressRequest(params)
43154//
43155//    err := req.Send()
43156//    if err == nil { // resp is now filled
43157//        fmt.Println(resp)
43158//    }
43159//
43160// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress
43161func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngressRequest(input *UpdateSecurityGroupRuleDescriptionsIngressInput) (req *request.Request, output *UpdateSecurityGroupRuleDescriptionsIngressOutput) {
43162	op := &request.Operation{
43163		Name:       opUpdateSecurityGroupRuleDescriptionsIngress,
43164		HTTPMethod: "POST",
43165		HTTPPath:   "/",
43166	}
43167
43168	if input == nil {
43169		input = &UpdateSecurityGroupRuleDescriptionsIngressInput{}
43170	}
43171
43172	output = &UpdateSecurityGroupRuleDescriptionsIngressOutput{}
43173	req = c.newRequest(op, input, output)
43174	return
43175}
43176
43177// UpdateSecurityGroupRuleDescriptionsIngress API operation for Amazon Elastic Compute Cloud.
43178//
43179// Updates the description of an ingress (inbound) security group rule. You
43180// can replace an existing description, or add a description to a rule that
43181// did not have one previously. You can remove a description for a security
43182// group rule by omitting the description parameter in the request.
43183//
43184// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
43185// with awserr.Error's Code and Message methods to get detailed information about
43186// the error.
43187//
43188// See the AWS API reference guide for Amazon Elastic Compute Cloud's
43189// API operation UpdateSecurityGroupRuleDescriptionsIngress for usage and error information.
43190// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress
43191func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngress(input *UpdateSecurityGroupRuleDescriptionsIngressInput) (*UpdateSecurityGroupRuleDescriptionsIngressOutput, error) {
43192	req, out := c.UpdateSecurityGroupRuleDescriptionsIngressRequest(input)
43193	return out, req.Send()
43194}
43195
43196// UpdateSecurityGroupRuleDescriptionsIngressWithContext is the same as UpdateSecurityGroupRuleDescriptionsIngress with the addition of
43197// the ability to pass a context and additional request options.
43198//
43199// See UpdateSecurityGroupRuleDescriptionsIngress for details on how to use this API operation.
43200//
43201// The context must be non-nil and will be used for request cancellation. If
43202// the context is nil a panic will occur. In the future the SDK may create
43203// sub-contexts for http.Requests. See https://golang.org/pkg/context/
43204// for more information on using Contexts.
43205func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngressWithContext(ctx aws.Context, input *UpdateSecurityGroupRuleDescriptionsIngressInput, opts ...request.Option) (*UpdateSecurityGroupRuleDescriptionsIngressOutput, error) {
43206	req, out := c.UpdateSecurityGroupRuleDescriptionsIngressRequest(input)
43207	req.SetContext(ctx)
43208	req.ApplyOptions(opts...)
43209	return out, req.Send()
43210}
43211
43212const opWithdrawByoipCidr = "WithdrawByoipCidr"
43213
43214// WithdrawByoipCidrRequest generates a "aws/request.Request" representing the
43215// client's request for the WithdrawByoipCidr operation. The "output" return
43216// value will be populated with the request's response once the request completes
43217// successfully.
43218//
43219// Use "Send" method on the returned Request to send the API call to the service.
43220// the "output" return value is not valid until after Send returns without error.
43221//
43222// See WithdrawByoipCidr for more information on using the WithdrawByoipCidr
43223// API call, and error handling.
43224//
43225// This method is useful when you want to inject custom logic or configuration
43226// into the SDK's request lifecycle. Such as custom headers, or retry logic.
43227//
43228//
43229//    // Example sending a request using the WithdrawByoipCidrRequest method.
43230//    req, resp := client.WithdrawByoipCidrRequest(params)
43231//
43232//    err := req.Send()
43233//    if err == nil { // resp is now filled
43234//        fmt.Println(resp)
43235//    }
43236//
43237// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/WithdrawByoipCidr
43238func (c *EC2) WithdrawByoipCidrRequest(input *WithdrawByoipCidrInput) (req *request.Request, output *WithdrawByoipCidrOutput) {
43239	op := &request.Operation{
43240		Name:       opWithdrawByoipCidr,
43241		HTTPMethod: "POST",
43242		HTTPPath:   "/",
43243	}
43244
43245	if input == nil {
43246		input = &WithdrawByoipCidrInput{}
43247	}
43248
43249	output = &WithdrawByoipCidrOutput{}
43250	req = c.newRequest(op, input, output)
43251	return
43252}
43253
43254// WithdrawByoipCidr API operation for Amazon Elastic Compute Cloud.
43255//
43256// Stops advertising an address range that is provisioned as an address pool.
43257//
43258// You can perform this operation at most once every 10 seconds, even if you
43259// specify different address ranges each time.
43260//
43261// It can take a few minutes before traffic to the specified addresses stops
43262// routing to Amazon Web Services because of BGP propagation delays.
43263//
43264// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
43265// with awserr.Error's Code and Message methods to get detailed information about
43266// the error.
43267//
43268// See the AWS API reference guide for Amazon Elastic Compute Cloud's
43269// API operation WithdrawByoipCidr for usage and error information.
43270// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/WithdrawByoipCidr
43271func (c *EC2) WithdrawByoipCidr(input *WithdrawByoipCidrInput) (*WithdrawByoipCidrOutput, error) {
43272	req, out := c.WithdrawByoipCidrRequest(input)
43273	return out, req.Send()
43274}
43275
43276// WithdrawByoipCidrWithContext is the same as WithdrawByoipCidr with the addition of
43277// the ability to pass a context and additional request options.
43278//
43279// See WithdrawByoipCidr for details on how to use this API operation.
43280//
43281// The context must be non-nil and will be used for request cancellation. If
43282// the context is nil a panic will occur. In the future the SDK may create
43283// sub-contexts for http.Requests. See https://golang.org/pkg/context/
43284// for more information on using Contexts.
43285func (c *EC2) WithdrawByoipCidrWithContext(ctx aws.Context, input *WithdrawByoipCidrInput, opts ...request.Option) (*WithdrawByoipCidrOutput, error) {
43286	req, out := c.WithdrawByoipCidrRequest(input)
43287	req.SetContext(ctx)
43288	req.ApplyOptions(opts...)
43289	return out, req.Send()
43290}
43291
43292// Contains the parameters for accepting the quote.
43293type AcceptReservedInstancesExchangeQuoteInput struct {
43294	_ struct{} `type:"structure"`
43295
43296	// Checks whether you have the required permissions for the action, without
43297	// actually making the request, and provides an error response. If you have
43298	// the required permissions, the error response is DryRunOperation. Otherwise,
43299	// it is UnauthorizedOperation.
43300	DryRun *bool `type:"boolean"`
43301
43302	// The IDs of the Convertible Reserved Instances to exchange for another Convertible
43303	// Reserved Instance of the same or higher value.
43304	//
43305	// ReservedInstanceIds is a required field
43306	ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
43307
43308	// The configuration of the target Convertible Reserved Instance to exchange
43309	// for your current Convertible Reserved Instances.
43310	TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
43311}
43312
43313// String returns the string representation
43314func (s AcceptReservedInstancesExchangeQuoteInput) String() string {
43315	return awsutil.Prettify(s)
43316}
43317
43318// GoString returns the string representation
43319func (s AcceptReservedInstancesExchangeQuoteInput) GoString() string {
43320	return s.String()
43321}
43322
43323// Validate inspects the fields of the type to determine if they are valid.
43324func (s *AcceptReservedInstancesExchangeQuoteInput) Validate() error {
43325	invalidParams := request.ErrInvalidParams{Context: "AcceptReservedInstancesExchangeQuoteInput"}
43326	if s.ReservedInstanceIds == nil {
43327		invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
43328	}
43329	if s.TargetConfigurations != nil {
43330		for i, v := range s.TargetConfigurations {
43331			if v == nil {
43332				continue
43333			}
43334			if err := v.Validate(); err != nil {
43335				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
43336			}
43337		}
43338	}
43339
43340	if invalidParams.Len() > 0 {
43341		return invalidParams
43342	}
43343	return nil
43344}
43345
43346// SetDryRun sets the DryRun field's value.
43347func (s *AcceptReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *AcceptReservedInstancesExchangeQuoteInput {
43348	s.DryRun = &v
43349	return s
43350}
43351
43352// SetReservedInstanceIds sets the ReservedInstanceIds field's value.
43353func (s *AcceptReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *AcceptReservedInstancesExchangeQuoteInput {
43354	s.ReservedInstanceIds = v
43355	return s
43356}
43357
43358// SetTargetConfigurations sets the TargetConfigurations field's value.
43359func (s *AcceptReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *AcceptReservedInstancesExchangeQuoteInput {
43360	s.TargetConfigurations = v
43361	return s
43362}
43363
43364// The result of the exchange and whether it was successful.
43365type AcceptReservedInstancesExchangeQuoteOutput struct {
43366	_ struct{} `type:"structure"`
43367
43368	// The ID of the successful exchange.
43369	ExchangeId *string `locationName:"exchangeId" type:"string"`
43370}
43371
43372// String returns the string representation
43373func (s AcceptReservedInstancesExchangeQuoteOutput) String() string {
43374	return awsutil.Prettify(s)
43375}
43376
43377// GoString returns the string representation
43378func (s AcceptReservedInstancesExchangeQuoteOutput) GoString() string {
43379	return s.String()
43380}
43381
43382// SetExchangeId sets the ExchangeId field's value.
43383func (s *AcceptReservedInstancesExchangeQuoteOutput) SetExchangeId(v string) *AcceptReservedInstancesExchangeQuoteOutput {
43384	s.ExchangeId = &v
43385	return s
43386}
43387
43388type AcceptTransitGatewayMulticastDomainAssociationsInput struct {
43389	_ struct{} `type:"structure"`
43390
43391	// Checks whether you have the required permissions for the action, without
43392	// actually making the request, and provides an error response. If you have
43393	// the required permissions, the error response is DryRunOperation. Otherwise,
43394	// it is UnauthorizedOperation.
43395	DryRun *bool `type:"boolean"`
43396
43397	// The IDs of the subnets to associate with the transit gateway multicast domain.
43398	SubnetIds []*string `locationNameList:"item" type:"list"`
43399
43400	// The ID of the transit gateway attachment.
43401	TransitGatewayAttachmentId *string `type:"string"`
43402
43403	// The ID of the transit gateway multicast domain.
43404	TransitGatewayMulticastDomainId *string `type:"string"`
43405}
43406
43407// String returns the string representation
43408func (s AcceptTransitGatewayMulticastDomainAssociationsInput) String() string {
43409	return awsutil.Prettify(s)
43410}
43411
43412// GoString returns the string representation
43413func (s AcceptTransitGatewayMulticastDomainAssociationsInput) GoString() string {
43414	return s.String()
43415}
43416
43417// SetDryRun sets the DryRun field's value.
43418func (s *AcceptTransitGatewayMulticastDomainAssociationsInput) SetDryRun(v bool) *AcceptTransitGatewayMulticastDomainAssociationsInput {
43419	s.DryRun = &v
43420	return s
43421}
43422
43423// SetSubnetIds sets the SubnetIds field's value.
43424func (s *AcceptTransitGatewayMulticastDomainAssociationsInput) SetSubnetIds(v []*string) *AcceptTransitGatewayMulticastDomainAssociationsInput {
43425	s.SubnetIds = v
43426	return s
43427}
43428
43429// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
43430func (s *AcceptTransitGatewayMulticastDomainAssociationsInput) SetTransitGatewayAttachmentId(v string) *AcceptTransitGatewayMulticastDomainAssociationsInput {
43431	s.TransitGatewayAttachmentId = &v
43432	return s
43433}
43434
43435// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
43436func (s *AcceptTransitGatewayMulticastDomainAssociationsInput) SetTransitGatewayMulticastDomainId(v string) *AcceptTransitGatewayMulticastDomainAssociationsInput {
43437	s.TransitGatewayMulticastDomainId = &v
43438	return s
43439}
43440
43441type AcceptTransitGatewayMulticastDomainAssociationsOutput struct {
43442	_ struct{} `type:"structure"`
43443
43444	// Describes the multicast domain associations.
43445	Associations *TransitGatewayMulticastDomainAssociations `locationName:"associations" type:"structure"`
43446}
43447
43448// String returns the string representation
43449func (s AcceptTransitGatewayMulticastDomainAssociationsOutput) String() string {
43450	return awsutil.Prettify(s)
43451}
43452
43453// GoString returns the string representation
43454func (s AcceptTransitGatewayMulticastDomainAssociationsOutput) GoString() string {
43455	return s.String()
43456}
43457
43458// SetAssociations sets the Associations field's value.
43459func (s *AcceptTransitGatewayMulticastDomainAssociationsOutput) SetAssociations(v *TransitGatewayMulticastDomainAssociations) *AcceptTransitGatewayMulticastDomainAssociationsOutput {
43460	s.Associations = v
43461	return s
43462}
43463
43464type AcceptTransitGatewayPeeringAttachmentInput struct {
43465	_ struct{} `type:"structure"`
43466
43467	// Checks whether you have the required permissions for the action, without
43468	// actually making the request, and provides an error response. If you have
43469	// the required permissions, the error response is DryRunOperation. Otherwise,
43470	// it is UnauthorizedOperation.
43471	DryRun *bool `type:"boolean"`
43472
43473	// The ID of the transit gateway attachment.
43474	//
43475	// TransitGatewayAttachmentId is a required field
43476	TransitGatewayAttachmentId *string `type:"string" required:"true"`
43477}
43478
43479// String returns the string representation
43480func (s AcceptTransitGatewayPeeringAttachmentInput) String() string {
43481	return awsutil.Prettify(s)
43482}
43483
43484// GoString returns the string representation
43485func (s AcceptTransitGatewayPeeringAttachmentInput) GoString() string {
43486	return s.String()
43487}
43488
43489// Validate inspects the fields of the type to determine if they are valid.
43490func (s *AcceptTransitGatewayPeeringAttachmentInput) Validate() error {
43491	invalidParams := request.ErrInvalidParams{Context: "AcceptTransitGatewayPeeringAttachmentInput"}
43492	if s.TransitGatewayAttachmentId == nil {
43493		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
43494	}
43495
43496	if invalidParams.Len() > 0 {
43497		return invalidParams
43498	}
43499	return nil
43500}
43501
43502// SetDryRun sets the DryRun field's value.
43503func (s *AcceptTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *AcceptTransitGatewayPeeringAttachmentInput {
43504	s.DryRun = &v
43505	return s
43506}
43507
43508// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
43509func (s *AcceptTransitGatewayPeeringAttachmentInput) SetTransitGatewayAttachmentId(v string) *AcceptTransitGatewayPeeringAttachmentInput {
43510	s.TransitGatewayAttachmentId = &v
43511	return s
43512}
43513
43514type AcceptTransitGatewayPeeringAttachmentOutput struct {
43515	_ struct{} `type:"structure"`
43516
43517	// The transit gateway peering attachment.
43518	TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
43519}
43520
43521// String returns the string representation
43522func (s AcceptTransitGatewayPeeringAttachmentOutput) String() string {
43523	return awsutil.Prettify(s)
43524}
43525
43526// GoString returns the string representation
43527func (s AcceptTransitGatewayPeeringAttachmentOutput) GoString() string {
43528	return s.String()
43529}
43530
43531// SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
43532func (s *AcceptTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *AcceptTransitGatewayPeeringAttachmentOutput {
43533	s.TransitGatewayPeeringAttachment = v
43534	return s
43535}
43536
43537type AcceptTransitGatewayVpcAttachmentInput struct {
43538	_ struct{} `type:"structure"`
43539
43540	// Checks whether you have the required permissions for the action, without
43541	// actually making the request, and provides an error response. If you have
43542	// the required permissions, the error response is DryRunOperation. Otherwise,
43543	// it is UnauthorizedOperation.
43544	DryRun *bool `type:"boolean"`
43545
43546	// The ID of the attachment.
43547	//
43548	// TransitGatewayAttachmentId is a required field
43549	TransitGatewayAttachmentId *string `type:"string" required:"true"`
43550}
43551
43552// String returns the string representation
43553func (s AcceptTransitGatewayVpcAttachmentInput) String() string {
43554	return awsutil.Prettify(s)
43555}
43556
43557// GoString returns the string representation
43558func (s AcceptTransitGatewayVpcAttachmentInput) GoString() string {
43559	return s.String()
43560}
43561
43562// Validate inspects the fields of the type to determine if they are valid.
43563func (s *AcceptTransitGatewayVpcAttachmentInput) Validate() error {
43564	invalidParams := request.ErrInvalidParams{Context: "AcceptTransitGatewayVpcAttachmentInput"}
43565	if s.TransitGatewayAttachmentId == nil {
43566		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
43567	}
43568
43569	if invalidParams.Len() > 0 {
43570		return invalidParams
43571	}
43572	return nil
43573}
43574
43575// SetDryRun sets the DryRun field's value.
43576func (s *AcceptTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *AcceptTransitGatewayVpcAttachmentInput {
43577	s.DryRun = &v
43578	return s
43579}
43580
43581// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
43582func (s *AcceptTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *AcceptTransitGatewayVpcAttachmentInput {
43583	s.TransitGatewayAttachmentId = &v
43584	return s
43585}
43586
43587type AcceptTransitGatewayVpcAttachmentOutput struct {
43588	_ struct{} `type:"structure"`
43589
43590	// The VPC attachment.
43591	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
43592}
43593
43594// String returns the string representation
43595func (s AcceptTransitGatewayVpcAttachmentOutput) String() string {
43596	return awsutil.Prettify(s)
43597}
43598
43599// GoString returns the string representation
43600func (s AcceptTransitGatewayVpcAttachmentOutput) GoString() string {
43601	return s.String()
43602}
43603
43604// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
43605func (s *AcceptTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *AcceptTransitGatewayVpcAttachmentOutput {
43606	s.TransitGatewayVpcAttachment = v
43607	return s
43608}
43609
43610type AcceptVpcEndpointConnectionsInput struct {
43611	_ struct{} `type:"structure"`
43612
43613	// Checks whether you have the required permissions for the action, without
43614	// actually making the request, and provides an error response. If you have
43615	// the required permissions, the error response is DryRunOperation. Otherwise,
43616	// it is UnauthorizedOperation.
43617	DryRun *bool `type:"boolean"`
43618
43619	// The ID of the VPC endpoint service.
43620	//
43621	// ServiceId is a required field
43622	ServiceId *string `type:"string" required:"true"`
43623
43624	// The IDs of one or more interface VPC endpoints.
43625	//
43626	// VpcEndpointIds is a required field
43627	VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
43628}
43629
43630// String returns the string representation
43631func (s AcceptVpcEndpointConnectionsInput) String() string {
43632	return awsutil.Prettify(s)
43633}
43634
43635// GoString returns the string representation
43636func (s AcceptVpcEndpointConnectionsInput) GoString() string {
43637	return s.String()
43638}
43639
43640// Validate inspects the fields of the type to determine if they are valid.
43641func (s *AcceptVpcEndpointConnectionsInput) Validate() error {
43642	invalidParams := request.ErrInvalidParams{Context: "AcceptVpcEndpointConnectionsInput"}
43643	if s.ServiceId == nil {
43644		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
43645	}
43646	if s.VpcEndpointIds == nil {
43647		invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
43648	}
43649
43650	if invalidParams.Len() > 0 {
43651		return invalidParams
43652	}
43653	return nil
43654}
43655
43656// SetDryRun sets the DryRun field's value.
43657func (s *AcceptVpcEndpointConnectionsInput) SetDryRun(v bool) *AcceptVpcEndpointConnectionsInput {
43658	s.DryRun = &v
43659	return s
43660}
43661
43662// SetServiceId sets the ServiceId field's value.
43663func (s *AcceptVpcEndpointConnectionsInput) SetServiceId(v string) *AcceptVpcEndpointConnectionsInput {
43664	s.ServiceId = &v
43665	return s
43666}
43667
43668// SetVpcEndpointIds sets the VpcEndpointIds field's value.
43669func (s *AcceptVpcEndpointConnectionsInput) SetVpcEndpointIds(v []*string) *AcceptVpcEndpointConnectionsInput {
43670	s.VpcEndpointIds = v
43671	return s
43672}
43673
43674type AcceptVpcEndpointConnectionsOutput struct {
43675	_ struct{} `type:"structure"`
43676
43677	// Information about the interface endpoints that were not accepted, if applicable.
43678	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
43679}
43680
43681// String returns the string representation
43682func (s AcceptVpcEndpointConnectionsOutput) String() string {
43683	return awsutil.Prettify(s)
43684}
43685
43686// GoString returns the string representation
43687func (s AcceptVpcEndpointConnectionsOutput) GoString() string {
43688	return s.String()
43689}
43690
43691// SetUnsuccessful sets the Unsuccessful field's value.
43692func (s *AcceptVpcEndpointConnectionsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *AcceptVpcEndpointConnectionsOutput {
43693	s.Unsuccessful = v
43694	return s
43695}
43696
43697type AcceptVpcPeeringConnectionInput struct {
43698	_ struct{} `type:"structure"`
43699
43700	// Checks whether you have the required permissions for the action, without
43701	// actually making the request, and provides an error response. If you have
43702	// the required permissions, the error response is DryRunOperation. Otherwise,
43703	// it is UnauthorizedOperation.
43704	DryRun *bool `locationName:"dryRun" type:"boolean"`
43705
43706	// The ID of the VPC peering connection. You must specify this parameter in
43707	// the request.
43708	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
43709}
43710
43711// String returns the string representation
43712func (s AcceptVpcPeeringConnectionInput) String() string {
43713	return awsutil.Prettify(s)
43714}
43715
43716// GoString returns the string representation
43717func (s AcceptVpcPeeringConnectionInput) GoString() string {
43718	return s.String()
43719}
43720
43721// SetDryRun sets the DryRun field's value.
43722func (s *AcceptVpcPeeringConnectionInput) SetDryRun(v bool) *AcceptVpcPeeringConnectionInput {
43723	s.DryRun = &v
43724	return s
43725}
43726
43727// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
43728func (s *AcceptVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *AcceptVpcPeeringConnectionInput {
43729	s.VpcPeeringConnectionId = &v
43730	return s
43731}
43732
43733type AcceptVpcPeeringConnectionOutput struct {
43734	_ struct{} `type:"structure"`
43735
43736	// Information about the VPC peering connection.
43737	VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
43738}
43739
43740// String returns the string representation
43741func (s AcceptVpcPeeringConnectionOutput) String() string {
43742	return awsutil.Prettify(s)
43743}
43744
43745// GoString returns the string representation
43746func (s AcceptVpcPeeringConnectionOutput) GoString() string {
43747	return s.String()
43748}
43749
43750// SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
43751func (s *AcceptVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *AcceptVpcPeeringConnectionOutput {
43752	s.VpcPeeringConnection = v
43753	return s
43754}
43755
43756// Describes an account attribute.
43757type AccountAttribute struct {
43758	_ struct{} `type:"structure"`
43759
43760	// The name of the account attribute.
43761	AttributeName *string `locationName:"attributeName" type:"string"`
43762
43763	// The values for the account attribute.
43764	AttributeValues []*AccountAttributeValue `locationName:"attributeValueSet" locationNameList:"item" type:"list"`
43765}
43766
43767// String returns the string representation
43768func (s AccountAttribute) String() string {
43769	return awsutil.Prettify(s)
43770}
43771
43772// GoString returns the string representation
43773func (s AccountAttribute) GoString() string {
43774	return s.String()
43775}
43776
43777// SetAttributeName sets the AttributeName field's value.
43778func (s *AccountAttribute) SetAttributeName(v string) *AccountAttribute {
43779	s.AttributeName = &v
43780	return s
43781}
43782
43783// SetAttributeValues sets the AttributeValues field's value.
43784func (s *AccountAttribute) SetAttributeValues(v []*AccountAttributeValue) *AccountAttribute {
43785	s.AttributeValues = v
43786	return s
43787}
43788
43789// Describes a value of an account attribute.
43790type AccountAttributeValue struct {
43791	_ struct{} `type:"structure"`
43792
43793	// The value of the attribute.
43794	AttributeValue *string `locationName:"attributeValue" type:"string"`
43795}
43796
43797// String returns the string representation
43798func (s AccountAttributeValue) String() string {
43799	return awsutil.Prettify(s)
43800}
43801
43802// GoString returns the string representation
43803func (s AccountAttributeValue) GoString() string {
43804	return s.String()
43805}
43806
43807// SetAttributeValue sets the AttributeValue field's value.
43808func (s *AccountAttributeValue) SetAttributeValue(v string) *AccountAttributeValue {
43809	s.AttributeValue = &v
43810	return s
43811}
43812
43813// Describes a running instance in a Spot Fleet.
43814type ActiveInstance struct {
43815	_ struct{} `type:"structure"`
43816
43817	// The health status of the instance. If the status of either the instance status
43818	// check or the system status check is impaired, the health status of the instance
43819	// is unhealthy. Otherwise, the health status is healthy.
43820	InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthStatus"`
43821
43822	// The ID of the instance.
43823	InstanceId *string `locationName:"instanceId" type:"string"`
43824
43825	// The instance type.
43826	InstanceType *string `locationName:"instanceType" type:"string"`
43827
43828	// The ID of the Spot Instance request.
43829	SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
43830}
43831
43832// String returns the string representation
43833func (s ActiveInstance) String() string {
43834	return awsutil.Prettify(s)
43835}
43836
43837// GoString returns the string representation
43838func (s ActiveInstance) GoString() string {
43839	return s.String()
43840}
43841
43842// SetInstanceHealth sets the InstanceHealth field's value.
43843func (s *ActiveInstance) SetInstanceHealth(v string) *ActiveInstance {
43844	s.InstanceHealth = &v
43845	return s
43846}
43847
43848// SetInstanceId sets the InstanceId field's value.
43849func (s *ActiveInstance) SetInstanceId(v string) *ActiveInstance {
43850	s.InstanceId = &v
43851	return s
43852}
43853
43854// SetInstanceType sets the InstanceType field's value.
43855func (s *ActiveInstance) SetInstanceType(v string) *ActiveInstance {
43856	s.InstanceType = &v
43857	return s
43858}
43859
43860// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
43861func (s *ActiveInstance) SetSpotInstanceRequestId(v string) *ActiveInstance {
43862	s.SpotInstanceRequestId = &v
43863	return s
43864}
43865
43866// An entry for a prefix list.
43867type AddPrefixListEntry struct {
43868	_ struct{} `type:"structure"`
43869
43870	// The CIDR block.
43871	//
43872	// Cidr is a required field
43873	Cidr *string `type:"string" required:"true"`
43874
43875	// A description for the entry.
43876	//
43877	// Constraints: Up to 255 characters in length.
43878	Description *string `type:"string"`
43879}
43880
43881// String returns the string representation
43882func (s AddPrefixListEntry) String() string {
43883	return awsutil.Prettify(s)
43884}
43885
43886// GoString returns the string representation
43887func (s AddPrefixListEntry) GoString() string {
43888	return s.String()
43889}
43890
43891// Validate inspects the fields of the type to determine if they are valid.
43892func (s *AddPrefixListEntry) Validate() error {
43893	invalidParams := request.ErrInvalidParams{Context: "AddPrefixListEntry"}
43894	if s.Cidr == nil {
43895		invalidParams.Add(request.NewErrParamRequired("Cidr"))
43896	}
43897
43898	if invalidParams.Len() > 0 {
43899		return invalidParams
43900	}
43901	return nil
43902}
43903
43904// SetCidr sets the Cidr field's value.
43905func (s *AddPrefixListEntry) SetCidr(v string) *AddPrefixListEntry {
43906	s.Cidr = &v
43907	return s
43908}
43909
43910// SetDescription sets the Description field's value.
43911func (s *AddPrefixListEntry) SetDescription(v string) *AddPrefixListEntry {
43912	s.Description = &v
43913	return s
43914}
43915
43916// Describes an Elastic IP address, or a carrier IP address.
43917type Address struct {
43918	_ struct{} `type:"structure"`
43919
43920	// The ID representing the allocation of the address for use with EC2-VPC.
43921	AllocationId *string `locationName:"allocationId" type:"string"`
43922
43923	// The ID representing the association of the address with an instance in a
43924	// VPC.
43925	AssociationId *string `locationName:"associationId" type:"string"`
43926
43927	// The carrier IP address associated. This option is only available for network
43928	// interfaces which reside in a subnet in a Wavelength Zone (for example an
43929	// EC2 instance).
43930	CarrierIp *string `locationName:"carrierIp" type:"string"`
43931
43932	// The customer-owned IP address.
43933	CustomerOwnedIp *string `locationName:"customerOwnedIp" type:"string"`
43934
43935	// The ID of the customer-owned address pool.
43936	CustomerOwnedIpv4Pool *string `locationName:"customerOwnedIpv4Pool" type:"string"`
43937
43938	// Indicates whether this Elastic IP address is for use with instances in EC2-Classic
43939	// (standard) or instances in a VPC (vpc).
43940	Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
43941
43942	// The ID of the instance that the address is associated with (if any).
43943	InstanceId *string `locationName:"instanceId" type:"string"`
43944
43945	// The name of the unique set of Availability Zones, Local Zones, or Wavelength
43946	// Zones from which AWS advertises IP addresses.
43947	NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
43948
43949	// The ID of the network interface.
43950	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
43951
43952	// The ID of the Amazon Web Services account that owns the network interface.
43953	NetworkInterfaceOwnerId *string `locationName:"networkInterfaceOwnerId" type:"string"`
43954
43955	// The private IP address associated with the Elastic IP address.
43956	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
43957
43958	// The Elastic IP address.
43959	PublicIp *string `locationName:"publicIp" type:"string"`
43960
43961	// The ID of an address pool.
43962	PublicIpv4Pool *string `locationName:"publicIpv4Pool" type:"string"`
43963
43964	// Any tags assigned to the Elastic IP address.
43965	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
43966}
43967
43968// String returns the string representation
43969func (s Address) String() string {
43970	return awsutil.Prettify(s)
43971}
43972
43973// GoString returns the string representation
43974func (s Address) GoString() string {
43975	return s.String()
43976}
43977
43978// SetAllocationId sets the AllocationId field's value.
43979func (s *Address) SetAllocationId(v string) *Address {
43980	s.AllocationId = &v
43981	return s
43982}
43983
43984// SetAssociationId sets the AssociationId field's value.
43985func (s *Address) SetAssociationId(v string) *Address {
43986	s.AssociationId = &v
43987	return s
43988}
43989
43990// SetCarrierIp sets the CarrierIp field's value.
43991func (s *Address) SetCarrierIp(v string) *Address {
43992	s.CarrierIp = &v
43993	return s
43994}
43995
43996// SetCustomerOwnedIp sets the CustomerOwnedIp field's value.
43997func (s *Address) SetCustomerOwnedIp(v string) *Address {
43998	s.CustomerOwnedIp = &v
43999	return s
44000}
44001
44002// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
44003func (s *Address) SetCustomerOwnedIpv4Pool(v string) *Address {
44004	s.CustomerOwnedIpv4Pool = &v
44005	return s
44006}
44007
44008// SetDomain sets the Domain field's value.
44009func (s *Address) SetDomain(v string) *Address {
44010	s.Domain = &v
44011	return s
44012}
44013
44014// SetInstanceId sets the InstanceId field's value.
44015func (s *Address) SetInstanceId(v string) *Address {
44016	s.InstanceId = &v
44017	return s
44018}
44019
44020// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
44021func (s *Address) SetNetworkBorderGroup(v string) *Address {
44022	s.NetworkBorderGroup = &v
44023	return s
44024}
44025
44026// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
44027func (s *Address) SetNetworkInterfaceId(v string) *Address {
44028	s.NetworkInterfaceId = &v
44029	return s
44030}
44031
44032// SetNetworkInterfaceOwnerId sets the NetworkInterfaceOwnerId field's value.
44033func (s *Address) SetNetworkInterfaceOwnerId(v string) *Address {
44034	s.NetworkInterfaceOwnerId = &v
44035	return s
44036}
44037
44038// SetPrivateIpAddress sets the PrivateIpAddress field's value.
44039func (s *Address) SetPrivateIpAddress(v string) *Address {
44040	s.PrivateIpAddress = &v
44041	return s
44042}
44043
44044// SetPublicIp sets the PublicIp field's value.
44045func (s *Address) SetPublicIp(v string) *Address {
44046	s.PublicIp = &v
44047	return s
44048}
44049
44050// SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
44051func (s *Address) SetPublicIpv4Pool(v string) *Address {
44052	s.PublicIpv4Pool = &v
44053	return s
44054}
44055
44056// SetTags sets the Tags field's value.
44057func (s *Address) SetTags(v []*Tag) *Address {
44058	s.Tags = v
44059	return s
44060}
44061
44062// The attributes associated with an Elastic IP address.
44063type AddressAttribute struct {
44064	_ struct{} `type:"structure"`
44065
44066	// [EC2-VPC] The allocation ID.
44067	AllocationId *string `locationName:"allocationId" type:"string"`
44068
44069	// The pointer (PTR) record for the IP address.
44070	PtrRecord *string `locationName:"ptrRecord" type:"string"`
44071
44072	// The updated PTR record for the IP address.
44073	PtrRecordUpdate *PtrUpdateStatus `locationName:"ptrRecordUpdate" type:"structure"`
44074
44075	// The public IP address.
44076	PublicIp *string `locationName:"publicIp" type:"string"`
44077}
44078
44079// String returns the string representation
44080func (s AddressAttribute) String() string {
44081	return awsutil.Prettify(s)
44082}
44083
44084// GoString returns the string representation
44085func (s AddressAttribute) GoString() string {
44086	return s.String()
44087}
44088
44089// SetAllocationId sets the AllocationId field's value.
44090func (s *AddressAttribute) SetAllocationId(v string) *AddressAttribute {
44091	s.AllocationId = &v
44092	return s
44093}
44094
44095// SetPtrRecord sets the PtrRecord field's value.
44096func (s *AddressAttribute) SetPtrRecord(v string) *AddressAttribute {
44097	s.PtrRecord = &v
44098	return s
44099}
44100
44101// SetPtrRecordUpdate sets the PtrRecordUpdate field's value.
44102func (s *AddressAttribute) SetPtrRecordUpdate(v *PtrUpdateStatus) *AddressAttribute {
44103	s.PtrRecordUpdate = v
44104	return s
44105}
44106
44107// SetPublicIp sets the PublicIp field's value.
44108func (s *AddressAttribute) SetPublicIp(v string) *AddressAttribute {
44109	s.PublicIp = &v
44110	return s
44111}
44112
44113type AdvertiseByoipCidrInput struct {
44114	_ struct{} `type:"structure"`
44115
44116	// The address range, in CIDR notation. This must be the exact range that you
44117	// provisioned. You can't advertise only a portion of the provisioned range.
44118	//
44119	// Cidr is a required field
44120	Cidr *string `type:"string" required:"true"`
44121
44122	// Checks whether you have the required permissions for the action, without
44123	// actually making the request, and provides an error response. If you have
44124	// the required permissions, the error response is DryRunOperation. Otherwise,
44125	// it is UnauthorizedOperation.
44126	DryRun *bool `type:"boolean"`
44127}
44128
44129// String returns the string representation
44130func (s AdvertiseByoipCidrInput) String() string {
44131	return awsutil.Prettify(s)
44132}
44133
44134// GoString returns the string representation
44135func (s AdvertiseByoipCidrInput) GoString() string {
44136	return s.String()
44137}
44138
44139// Validate inspects the fields of the type to determine if they are valid.
44140func (s *AdvertiseByoipCidrInput) Validate() error {
44141	invalidParams := request.ErrInvalidParams{Context: "AdvertiseByoipCidrInput"}
44142	if s.Cidr == nil {
44143		invalidParams.Add(request.NewErrParamRequired("Cidr"))
44144	}
44145
44146	if invalidParams.Len() > 0 {
44147		return invalidParams
44148	}
44149	return nil
44150}
44151
44152// SetCidr sets the Cidr field's value.
44153func (s *AdvertiseByoipCidrInput) SetCidr(v string) *AdvertiseByoipCidrInput {
44154	s.Cidr = &v
44155	return s
44156}
44157
44158// SetDryRun sets the DryRun field's value.
44159func (s *AdvertiseByoipCidrInput) SetDryRun(v bool) *AdvertiseByoipCidrInput {
44160	s.DryRun = &v
44161	return s
44162}
44163
44164type AdvertiseByoipCidrOutput struct {
44165	_ struct{} `type:"structure"`
44166
44167	// Information about the address range.
44168	ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
44169}
44170
44171// String returns the string representation
44172func (s AdvertiseByoipCidrOutput) String() string {
44173	return awsutil.Prettify(s)
44174}
44175
44176// GoString returns the string representation
44177func (s AdvertiseByoipCidrOutput) GoString() string {
44178	return s.String()
44179}
44180
44181// SetByoipCidr sets the ByoipCidr field's value.
44182func (s *AdvertiseByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *AdvertiseByoipCidrOutput {
44183	s.ByoipCidr = v
44184	return s
44185}
44186
44187type AllocateAddressInput struct {
44188	_ struct{} `type:"structure"`
44189
44190	// [EC2-VPC] The Elastic IP address to recover or an IPv4 address from an address
44191	// pool.
44192	Address *string `type:"string"`
44193
44194	// The ID of a customer-owned address pool. Use this parameter to let Amazon
44195	// EC2 select an address from the address pool. Alternatively, specify a specific
44196	// address from the address pool.
44197	CustomerOwnedIpv4Pool *string `type:"string"`
44198
44199	// Indicates whether the Elastic IP address is for use with instances in a VPC
44200	// or instances in EC2-Classic.
44201	//
44202	// Default: If the Region supports EC2-Classic, the default is standard. Otherwise,
44203	// the default is vpc.
44204	Domain *string `type:"string" enum:"DomainType"`
44205
44206	// Checks whether you have the required permissions for the action, without
44207	// actually making the request, and provides an error response. If you have
44208	// the required permissions, the error response is DryRunOperation. Otherwise,
44209	// it is UnauthorizedOperation.
44210	DryRun *bool `locationName:"dryRun" type:"boolean"`
44211
44212	// A unique set of Availability Zones, Local Zones, or Wavelength Zones from
44213	// which AWS advertises IP addresses. Use this parameter to limit the IP address
44214	// to this location. IP addresses cannot move between network border groups.
44215	//
44216	// Use DescribeAvailabilityZones (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html)
44217	// to view the network border groups.
44218	//
44219	// You cannot use a network border group with EC2 Classic. If you attempt this
44220	// operation on EC2 classic, you will receive an InvalidParameterCombination
44221	// error. For more information, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
44222	NetworkBorderGroup *string `type:"string"`
44223
44224	// The ID of an address pool that you own. Use this parameter to let Amazon
44225	// EC2 select an address from the address pool. To specify a specific address
44226	// from the address pool, use the Address parameter instead.
44227	PublicIpv4Pool *string `type:"string"`
44228
44229	// The tags to assign to the Elastic IP address.
44230	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
44231}
44232
44233// String returns the string representation
44234func (s AllocateAddressInput) String() string {
44235	return awsutil.Prettify(s)
44236}
44237
44238// GoString returns the string representation
44239func (s AllocateAddressInput) GoString() string {
44240	return s.String()
44241}
44242
44243// SetAddress sets the Address field's value.
44244func (s *AllocateAddressInput) SetAddress(v string) *AllocateAddressInput {
44245	s.Address = &v
44246	return s
44247}
44248
44249// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
44250func (s *AllocateAddressInput) SetCustomerOwnedIpv4Pool(v string) *AllocateAddressInput {
44251	s.CustomerOwnedIpv4Pool = &v
44252	return s
44253}
44254
44255// SetDomain sets the Domain field's value.
44256func (s *AllocateAddressInput) SetDomain(v string) *AllocateAddressInput {
44257	s.Domain = &v
44258	return s
44259}
44260
44261// SetDryRun sets the DryRun field's value.
44262func (s *AllocateAddressInput) SetDryRun(v bool) *AllocateAddressInput {
44263	s.DryRun = &v
44264	return s
44265}
44266
44267// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
44268func (s *AllocateAddressInput) SetNetworkBorderGroup(v string) *AllocateAddressInput {
44269	s.NetworkBorderGroup = &v
44270	return s
44271}
44272
44273// SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
44274func (s *AllocateAddressInput) SetPublicIpv4Pool(v string) *AllocateAddressInput {
44275	s.PublicIpv4Pool = &v
44276	return s
44277}
44278
44279// SetTagSpecifications sets the TagSpecifications field's value.
44280func (s *AllocateAddressInput) SetTagSpecifications(v []*TagSpecification) *AllocateAddressInput {
44281	s.TagSpecifications = v
44282	return s
44283}
44284
44285type AllocateAddressOutput struct {
44286	_ struct{} `type:"structure"`
44287
44288	// [EC2-VPC] The ID that Amazon Web Services assigns to represent the allocation
44289	// of the Elastic IP address for use with instances in a VPC.
44290	AllocationId *string `locationName:"allocationId" type:"string"`
44291
44292	// The carrier IP address. This option is only available for network interfaces
44293	// which reside in a subnet in a Wavelength Zone (for example an EC2 instance).
44294	CarrierIp *string `locationName:"carrierIp" type:"string"`
44295
44296	// The customer-owned IP address.
44297	CustomerOwnedIp *string `locationName:"customerOwnedIp" type:"string"`
44298
44299	// The ID of the customer-owned address pool.
44300	CustomerOwnedIpv4Pool *string `locationName:"customerOwnedIpv4Pool" type:"string"`
44301
44302	// Indicates whether the Elastic IP address is for use with instances in a VPC
44303	// (vpc) or instances in EC2-Classic (standard).
44304	Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
44305
44306	// The set of Availability Zones, Local Zones, or Wavelength Zones from which
44307	// AWS advertises IP addresses.
44308	NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
44309
44310	// The Elastic IP address.
44311	PublicIp *string `locationName:"publicIp" type:"string"`
44312
44313	// The ID of an address pool.
44314	PublicIpv4Pool *string `locationName:"publicIpv4Pool" type:"string"`
44315}
44316
44317// String returns the string representation
44318func (s AllocateAddressOutput) String() string {
44319	return awsutil.Prettify(s)
44320}
44321
44322// GoString returns the string representation
44323func (s AllocateAddressOutput) GoString() string {
44324	return s.String()
44325}
44326
44327// SetAllocationId sets the AllocationId field's value.
44328func (s *AllocateAddressOutput) SetAllocationId(v string) *AllocateAddressOutput {
44329	s.AllocationId = &v
44330	return s
44331}
44332
44333// SetCarrierIp sets the CarrierIp field's value.
44334func (s *AllocateAddressOutput) SetCarrierIp(v string) *AllocateAddressOutput {
44335	s.CarrierIp = &v
44336	return s
44337}
44338
44339// SetCustomerOwnedIp sets the CustomerOwnedIp field's value.
44340func (s *AllocateAddressOutput) SetCustomerOwnedIp(v string) *AllocateAddressOutput {
44341	s.CustomerOwnedIp = &v
44342	return s
44343}
44344
44345// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
44346func (s *AllocateAddressOutput) SetCustomerOwnedIpv4Pool(v string) *AllocateAddressOutput {
44347	s.CustomerOwnedIpv4Pool = &v
44348	return s
44349}
44350
44351// SetDomain sets the Domain field's value.
44352func (s *AllocateAddressOutput) SetDomain(v string) *AllocateAddressOutput {
44353	s.Domain = &v
44354	return s
44355}
44356
44357// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
44358func (s *AllocateAddressOutput) SetNetworkBorderGroup(v string) *AllocateAddressOutput {
44359	s.NetworkBorderGroup = &v
44360	return s
44361}
44362
44363// SetPublicIp sets the PublicIp field's value.
44364func (s *AllocateAddressOutput) SetPublicIp(v string) *AllocateAddressOutput {
44365	s.PublicIp = &v
44366	return s
44367}
44368
44369// SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
44370func (s *AllocateAddressOutput) SetPublicIpv4Pool(v string) *AllocateAddressOutput {
44371	s.PublicIpv4Pool = &v
44372	return s
44373}
44374
44375type AllocateHostsInput struct {
44376	_ struct{} `type:"structure"`
44377
44378	// Indicates whether the host accepts any untargeted instance launches that
44379	// match its instance type configuration, or if it only accepts Host tenancy
44380	// instance launches that specify its unique host ID. For more information,
44381	// see Understanding auto-placement and affinity (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-understanding)
44382	// in the Amazon EC2 User Guide.
44383	//
44384	// Default: on
44385	AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
44386
44387	// The Availability Zone in which to allocate the Dedicated Host.
44388	//
44389	// AvailabilityZone is a required field
44390	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
44391
44392	// Unique, case-sensitive identifier that you provide to ensure the idempotency
44393	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
44394	ClientToken *string `locationName:"clientToken" type:"string"`
44395
44396	// Indicates whether to enable or disable host recovery for the Dedicated Host.
44397	// Host recovery is disabled by default. For more information, see Host recovery
44398	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html)
44399	// in the Amazon EC2 User Guide.
44400	//
44401	// Default: off
44402	HostRecovery *string `type:"string" enum:"HostRecovery"`
44403
44404	// Specifies the instance family to be supported by the Dedicated Hosts. If
44405	// you specify an instance family, the Dedicated Hosts support multiple instance
44406	// types within that instance family.
44407	//
44408	// If you want the Dedicated Hosts to support a specific instance type only,
44409	// omit this parameter and specify InstanceType instead. You cannot specify
44410	// InstanceFamily and InstanceType in the same request.
44411	InstanceFamily *string `type:"string"`
44412
44413	// Specifies the instance type to be supported by the Dedicated Hosts. If you
44414	// specify an instance type, the Dedicated Hosts support instances of the specified
44415	// instance type only.
44416	//
44417	// If you want the Dedicated Hosts to support multiple instance types in a specific
44418	// instance family, omit this parameter and specify InstanceFamily instead.
44419	// You cannot specify InstanceType and InstanceFamily in the same request.
44420	InstanceType *string `locationName:"instanceType" type:"string"`
44421
44422	// The number of Dedicated Hosts to allocate to your account with these parameters.
44423	//
44424	// Quantity is a required field
44425	Quantity *int64 `locationName:"quantity" type:"integer" required:"true"`
44426
44427	// The tags to apply to the Dedicated Host during creation.
44428	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
44429}
44430
44431// String returns the string representation
44432func (s AllocateHostsInput) String() string {
44433	return awsutil.Prettify(s)
44434}
44435
44436// GoString returns the string representation
44437func (s AllocateHostsInput) GoString() string {
44438	return s.String()
44439}
44440
44441// Validate inspects the fields of the type to determine if they are valid.
44442func (s *AllocateHostsInput) Validate() error {
44443	invalidParams := request.ErrInvalidParams{Context: "AllocateHostsInput"}
44444	if s.AvailabilityZone == nil {
44445		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
44446	}
44447	if s.Quantity == nil {
44448		invalidParams.Add(request.NewErrParamRequired("Quantity"))
44449	}
44450
44451	if invalidParams.Len() > 0 {
44452		return invalidParams
44453	}
44454	return nil
44455}
44456
44457// SetAutoPlacement sets the AutoPlacement field's value.
44458func (s *AllocateHostsInput) SetAutoPlacement(v string) *AllocateHostsInput {
44459	s.AutoPlacement = &v
44460	return s
44461}
44462
44463// SetAvailabilityZone sets the AvailabilityZone field's value.
44464func (s *AllocateHostsInput) SetAvailabilityZone(v string) *AllocateHostsInput {
44465	s.AvailabilityZone = &v
44466	return s
44467}
44468
44469// SetClientToken sets the ClientToken field's value.
44470func (s *AllocateHostsInput) SetClientToken(v string) *AllocateHostsInput {
44471	s.ClientToken = &v
44472	return s
44473}
44474
44475// SetHostRecovery sets the HostRecovery field's value.
44476func (s *AllocateHostsInput) SetHostRecovery(v string) *AllocateHostsInput {
44477	s.HostRecovery = &v
44478	return s
44479}
44480
44481// SetInstanceFamily sets the InstanceFamily field's value.
44482func (s *AllocateHostsInput) SetInstanceFamily(v string) *AllocateHostsInput {
44483	s.InstanceFamily = &v
44484	return s
44485}
44486
44487// SetInstanceType sets the InstanceType field's value.
44488func (s *AllocateHostsInput) SetInstanceType(v string) *AllocateHostsInput {
44489	s.InstanceType = &v
44490	return s
44491}
44492
44493// SetQuantity sets the Quantity field's value.
44494func (s *AllocateHostsInput) SetQuantity(v int64) *AllocateHostsInput {
44495	s.Quantity = &v
44496	return s
44497}
44498
44499// SetTagSpecifications sets the TagSpecifications field's value.
44500func (s *AllocateHostsInput) SetTagSpecifications(v []*TagSpecification) *AllocateHostsInput {
44501	s.TagSpecifications = v
44502	return s
44503}
44504
44505// Contains the output of AllocateHosts.
44506type AllocateHostsOutput struct {
44507	_ struct{} `type:"structure"`
44508
44509	// The ID of the allocated Dedicated Host. This is used to launch an instance
44510	// onto a specific host.
44511	HostIds []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
44512}
44513
44514// String returns the string representation
44515func (s AllocateHostsOutput) String() string {
44516	return awsutil.Prettify(s)
44517}
44518
44519// GoString returns the string representation
44520func (s AllocateHostsOutput) GoString() string {
44521	return s.String()
44522}
44523
44524// SetHostIds sets the HostIds field's value.
44525func (s *AllocateHostsOutput) SetHostIds(v []*string) *AllocateHostsOutput {
44526	s.HostIds = v
44527	return s
44528}
44529
44530// Describes a principal.
44531type AllowedPrincipal struct {
44532	_ struct{} `type:"structure"`
44533
44534	// The Amazon Resource Name (ARN) of the principal.
44535	Principal *string `locationName:"principal" type:"string"`
44536
44537	// The type of principal.
44538	PrincipalType *string `locationName:"principalType" type:"string" enum:"PrincipalType"`
44539}
44540
44541// String returns the string representation
44542func (s AllowedPrincipal) String() string {
44543	return awsutil.Prettify(s)
44544}
44545
44546// GoString returns the string representation
44547func (s AllowedPrincipal) GoString() string {
44548	return s.String()
44549}
44550
44551// SetPrincipal sets the Principal field's value.
44552func (s *AllowedPrincipal) SetPrincipal(v string) *AllowedPrincipal {
44553	s.Principal = &v
44554	return s
44555}
44556
44557// SetPrincipalType sets the PrincipalType field's value.
44558func (s *AllowedPrincipal) SetPrincipalType(v string) *AllowedPrincipal {
44559	s.PrincipalType = &v
44560	return s
44561}
44562
44563// Describes an potential intermediate component of a feasible path.
44564type AlternatePathHint struct {
44565	_ struct{} `type:"structure"`
44566
44567	// The Amazon Resource Name (ARN) of the component.
44568	ComponentArn *string `locationName:"componentArn" type:"string"`
44569
44570	// The ID of the component.
44571	ComponentId *string `locationName:"componentId" type:"string"`
44572}
44573
44574// String returns the string representation
44575func (s AlternatePathHint) String() string {
44576	return awsutil.Prettify(s)
44577}
44578
44579// GoString returns the string representation
44580func (s AlternatePathHint) GoString() string {
44581	return s.String()
44582}
44583
44584// SetComponentArn sets the ComponentArn field's value.
44585func (s *AlternatePathHint) SetComponentArn(v string) *AlternatePathHint {
44586	s.ComponentArn = &v
44587	return s
44588}
44589
44590// SetComponentId sets the ComponentId field's value.
44591func (s *AlternatePathHint) SetComponentId(v string) *AlternatePathHint {
44592	s.ComponentId = &v
44593	return s
44594}
44595
44596// Describes a network access control (ACL) rule.
44597type AnalysisAclRule struct {
44598	_ struct{} `type:"structure"`
44599
44600	// The IPv4 address range, in CIDR notation.
44601	Cidr *string `locationName:"cidr" type:"string"`
44602
44603	// Indicates whether the rule is an outbound rule.
44604	Egress *bool `locationName:"egress" type:"boolean"`
44605
44606	// The range of ports.
44607	PortRange *PortRange `locationName:"portRange" type:"structure"`
44608
44609	// The protocol.
44610	Protocol *string `locationName:"protocol" type:"string"`
44611
44612	// Indicates whether to allow or deny traffic that matches the rule.
44613	RuleAction *string `locationName:"ruleAction" type:"string"`
44614
44615	// The rule number.
44616	RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
44617}
44618
44619// String returns the string representation
44620func (s AnalysisAclRule) String() string {
44621	return awsutil.Prettify(s)
44622}
44623
44624// GoString returns the string representation
44625func (s AnalysisAclRule) GoString() string {
44626	return s.String()
44627}
44628
44629// SetCidr sets the Cidr field's value.
44630func (s *AnalysisAclRule) SetCidr(v string) *AnalysisAclRule {
44631	s.Cidr = &v
44632	return s
44633}
44634
44635// SetEgress sets the Egress field's value.
44636func (s *AnalysisAclRule) SetEgress(v bool) *AnalysisAclRule {
44637	s.Egress = &v
44638	return s
44639}
44640
44641// SetPortRange sets the PortRange field's value.
44642func (s *AnalysisAclRule) SetPortRange(v *PortRange) *AnalysisAclRule {
44643	s.PortRange = v
44644	return s
44645}
44646
44647// SetProtocol sets the Protocol field's value.
44648func (s *AnalysisAclRule) SetProtocol(v string) *AnalysisAclRule {
44649	s.Protocol = &v
44650	return s
44651}
44652
44653// SetRuleAction sets the RuleAction field's value.
44654func (s *AnalysisAclRule) SetRuleAction(v string) *AnalysisAclRule {
44655	s.RuleAction = &v
44656	return s
44657}
44658
44659// SetRuleNumber sets the RuleNumber field's value.
44660func (s *AnalysisAclRule) SetRuleNumber(v int64) *AnalysisAclRule {
44661	s.RuleNumber = &v
44662	return s
44663}
44664
44665// Describes a path component.
44666type AnalysisComponent struct {
44667	_ struct{} `type:"structure"`
44668
44669	// The Amazon Resource Name (ARN) of the component.
44670	Arn *string `locationName:"arn" type:"string"`
44671
44672	// The ID of the component.
44673	Id *string `locationName:"id" type:"string"`
44674}
44675
44676// String returns the string representation
44677func (s AnalysisComponent) String() string {
44678	return awsutil.Prettify(s)
44679}
44680
44681// GoString returns the string representation
44682func (s AnalysisComponent) GoString() string {
44683	return s.String()
44684}
44685
44686// SetArn sets the Arn field's value.
44687func (s *AnalysisComponent) SetArn(v string) *AnalysisComponent {
44688	s.Arn = &v
44689	return s
44690}
44691
44692// SetId sets the Id field's value.
44693func (s *AnalysisComponent) SetId(v string) *AnalysisComponent {
44694	s.Id = &v
44695	return s
44696}
44697
44698// Describes a load balancer listener.
44699type AnalysisLoadBalancerListener struct {
44700	_ struct{} `type:"structure"`
44701
44702	// [Classic Load Balancers] The back-end port for the listener.
44703	InstancePort *int64 `locationName:"instancePort" min:"1" type:"integer"`
44704
44705	// The port on which the load balancer is listening.
44706	LoadBalancerPort *int64 `locationName:"loadBalancerPort" min:"1" type:"integer"`
44707}
44708
44709// String returns the string representation
44710func (s AnalysisLoadBalancerListener) String() string {
44711	return awsutil.Prettify(s)
44712}
44713
44714// GoString returns the string representation
44715func (s AnalysisLoadBalancerListener) GoString() string {
44716	return s.String()
44717}
44718
44719// SetInstancePort sets the InstancePort field's value.
44720func (s *AnalysisLoadBalancerListener) SetInstancePort(v int64) *AnalysisLoadBalancerListener {
44721	s.InstancePort = &v
44722	return s
44723}
44724
44725// SetLoadBalancerPort sets the LoadBalancerPort field's value.
44726func (s *AnalysisLoadBalancerListener) SetLoadBalancerPort(v int64) *AnalysisLoadBalancerListener {
44727	s.LoadBalancerPort = &v
44728	return s
44729}
44730
44731// Describes a load balancer target.
44732type AnalysisLoadBalancerTarget struct {
44733	_ struct{} `type:"structure"`
44734
44735	// The IP address.
44736	Address *string `locationName:"address" type:"string"`
44737
44738	// The Availability Zone.
44739	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
44740
44741	// Information about the instance.
44742	Instance *AnalysisComponent `locationName:"instance" type:"structure"`
44743
44744	// The port on which the target is listening.
44745	Port *int64 `locationName:"port" min:"1" type:"integer"`
44746}
44747
44748// String returns the string representation
44749func (s AnalysisLoadBalancerTarget) String() string {
44750	return awsutil.Prettify(s)
44751}
44752
44753// GoString returns the string representation
44754func (s AnalysisLoadBalancerTarget) GoString() string {
44755	return s.String()
44756}
44757
44758// SetAddress sets the Address field's value.
44759func (s *AnalysisLoadBalancerTarget) SetAddress(v string) *AnalysisLoadBalancerTarget {
44760	s.Address = &v
44761	return s
44762}
44763
44764// SetAvailabilityZone sets the AvailabilityZone field's value.
44765func (s *AnalysisLoadBalancerTarget) SetAvailabilityZone(v string) *AnalysisLoadBalancerTarget {
44766	s.AvailabilityZone = &v
44767	return s
44768}
44769
44770// SetInstance sets the Instance field's value.
44771func (s *AnalysisLoadBalancerTarget) SetInstance(v *AnalysisComponent) *AnalysisLoadBalancerTarget {
44772	s.Instance = v
44773	return s
44774}
44775
44776// SetPort sets the Port field's value.
44777func (s *AnalysisLoadBalancerTarget) SetPort(v int64) *AnalysisLoadBalancerTarget {
44778	s.Port = &v
44779	return s
44780}
44781
44782// Describes a header. Reflects any changes made by a component as traffic passes
44783// through. The fields of an inbound header are null except for the first component
44784// of a path.
44785type AnalysisPacketHeader struct {
44786	_ struct{} `type:"structure"`
44787
44788	// The destination addresses.
44789	DestinationAddresses []*string `locationName:"destinationAddressSet" locationNameList:"item" type:"list"`
44790
44791	// The destination port ranges.
44792	DestinationPortRanges []*PortRange `locationName:"destinationPortRangeSet" locationNameList:"item" type:"list"`
44793
44794	// The protocol.
44795	Protocol *string `locationName:"protocol" type:"string"`
44796
44797	// The source addresses.
44798	SourceAddresses []*string `locationName:"sourceAddressSet" locationNameList:"item" type:"list"`
44799
44800	// The source port ranges.
44801	SourcePortRanges []*PortRange `locationName:"sourcePortRangeSet" locationNameList:"item" type:"list"`
44802}
44803
44804// String returns the string representation
44805func (s AnalysisPacketHeader) String() string {
44806	return awsutil.Prettify(s)
44807}
44808
44809// GoString returns the string representation
44810func (s AnalysisPacketHeader) GoString() string {
44811	return s.String()
44812}
44813
44814// SetDestinationAddresses sets the DestinationAddresses field's value.
44815func (s *AnalysisPacketHeader) SetDestinationAddresses(v []*string) *AnalysisPacketHeader {
44816	s.DestinationAddresses = v
44817	return s
44818}
44819
44820// SetDestinationPortRanges sets the DestinationPortRanges field's value.
44821func (s *AnalysisPacketHeader) SetDestinationPortRanges(v []*PortRange) *AnalysisPacketHeader {
44822	s.DestinationPortRanges = v
44823	return s
44824}
44825
44826// SetProtocol sets the Protocol field's value.
44827func (s *AnalysisPacketHeader) SetProtocol(v string) *AnalysisPacketHeader {
44828	s.Protocol = &v
44829	return s
44830}
44831
44832// SetSourceAddresses sets the SourceAddresses field's value.
44833func (s *AnalysisPacketHeader) SetSourceAddresses(v []*string) *AnalysisPacketHeader {
44834	s.SourceAddresses = v
44835	return s
44836}
44837
44838// SetSourcePortRanges sets the SourcePortRanges field's value.
44839func (s *AnalysisPacketHeader) SetSourcePortRanges(v []*PortRange) *AnalysisPacketHeader {
44840	s.SourcePortRanges = v
44841	return s
44842}
44843
44844// Describes a route table route.
44845type AnalysisRouteTableRoute struct {
44846	_ struct{} `type:"structure"`
44847
44848	// The destination IPv4 address, in CIDR notation.
44849	DestinationCidr *string `locationName:"destinationCidr" type:"string"`
44850
44851	// The prefix of the Amazon Web Service.
44852	DestinationPrefixListId *string `locationName:"destinationPrefixListId" type:"string"`
44853
44854	// The ID of an egress-only internet gateway.
44855	EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
44856
44857	// The ID of the gateway, such as an internet gateway or virtual private gateway.
44858	GatewayId *string `locationName:"gatewayId" type:"string"`
44859
44860	// The ID of the instance, such as a NAT instance.
44861	InstanceId *string `locationName:"instanceId" type:"string"`
44862
44863	// The ID of a NAT gateway.
44864	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
44865
44866	// The ID of a network interface.
44867	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
44868
44869	// Describes how the route was created. The following are possible values:
44870	//
44871	//    * CreateRouteTable - The route was automatically created when the route
44872	//    table was created.
44873	//
44874	//    * CreateRoute - The route was manually added to the route table.
44875	//
44876	//    * EnableVgwRoutePropagation - The route was propagated by route propagation.
44877	Origin *string `locationName:"origin" type:"string"`
44878
44879	// The ID of a transit gateway.
44880	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
44881
44882	// The ID of a VPC peering connection.
44883	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
44884}
44885
44886// String returns the string representation
44887func (s AnalysisRouteTableRoute) String() string {
44888	return awsutil.Prettify(s)
44889}
44890
44891// GoString returns the string representation
44892func (s AnalysisRouteTableRoute) GoString() string {
44893	return s.String()
44894}
44895
44896// SetDestinationCidr sets the DestinationCidr field's value.
44897func (s *AnalysisRouteTableRoute) SetDestinationCidr(v string) *AnalysisRouteTableRoute {
44898	s.DestinationCidr = &v
44899	return s
44900}
44901
44902// SetDestinationPrefixListId sets the DestinationPrefixListId field's value.
44903func (s *AnalysisRouteTableRoute) SetDestinationPrefixListId(v string) *AnalysisRouteTableRoute {
44904	s.DestinationPrefixListId = &v
44905	return s
44906}
44907
44908// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
44909func (s *AnalysisRouteTableRoute) SetEgressOnlyInternetGatewayId(v string) *AnalysisRouteTableRoute {
44910	s.EgressOnlyInternetGatewayId = &v
44911	return s
44912}
44913
44914// SetGatewayId sets the GatewayId field's value.
44915func (s *AnalysisRouteTableRoute) SetGatewayId(v string) *AnalysisRouteTableRoute {
44916	s.GatewayId = &v
44917	return s
44918}
44919
44920// SetInstanceId sets the InstanceId field's value.
44921func (s *AnalysisRouteTableRoute) SetInstanceId(v string) *AnalysisRouteTableRoute {
44922	s.InstanceId = &v
44923	return s
44924}
44925
44926// SetNatGatewayId sets the NatGatewayId field's value.
44927func (s *AnalysisRouteTableRoute) SetNatGatewayId(v string) *AnalysisRouteTableRoute {
44928	s.NatGatewayId = &v
44929	return s
44930}
44931
44932// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
44933func (s *AnalysisRouteTableRoute) SetNetworkInterfaceId(v string) *AnalysisRouteTableRoute {
44934	s.NetworkInterfaceId = &v
44935	return s
44936}
44937
44938// SetOrigin sets the Origin field's value.
44939func (s *AnalysisRouteTableRoute) SetOrigin(v string) *AnalysisRouteTableRoute {
44940	s.Origin = &v
44941	return s
44942}
44943
44944// SetTransitGatewayId sets the TransitGatewayId field's value.
44945func (s *AnalysisRouteTableRoute) SetTransitGatewayId(v string) *AnalysisRouteTableRoute {
44946	s.TransitGatewayId = &v
44947	return s
44948}
44949
44950// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
44951func (s *AnalysisRouteTableRoute) SetVpcPeeringConnectionId(v string) *AnalysisRouteTableRoute {
44952	s.VpcPeeringConnectionId = &v
44953	return s
44954}
44955
44956// Describes a security group rule.
44957type AnalysisSecurityGroupRule struct {
44958	_ struct{} `type:"structure"`
44959
44960	// The IPv4 address range, in CIDR notation.
44961	Cidr *string `locationName:"cidr" type:"string"`
44962
44963	// The direction. The following are possible values:
44964	//
44965	//    * egress
44966	//
44967	//    * ingress
44968	Direction *string `locationName:"direction" type:"string"`
44969
44970	// The port range.
44971	PortRange *PortRange `locationName:"portRange" type:"structure"`
44972
44973	// The prefix list ID.
44974	PrefixListId *string `locationName:"prefixListId" type:"string"`
44975
44976	// The protocol name.
44977	Protocol *string `locationName:"protocol" type:"string"`
44978
44979	// The security group ID.
44980	SecurityGroupId *string `locationName:"securityGroupId" type:"string"`
44981}
44982
44983// String returns the string representation
44984func (s AnalysisSecurityGroupRule) String() string {
44985	return awsutil.Prettify(s)
44986}
44987
44988// GoString returns the string representation
44989func (s AnalysisSecurityGroupRule) GoString() string {
44990	return s.String()
44991}
44992
44993// SetCidr sets the Cidr field's value.
44994func (s *AnalysisSecurityGroupRule) SetCidr(v string) *AnalysisSecurityGroupRule {
44995	s.Cidr = &v
44996	return s
44997}
44998
44999// SetDirection sets the Direction field's value.
45000func (s *AnalysisSecurityGroupRule) SetDirection(v string) *AnalysisSecurityGroupRule {
45001	s.Direction = &v
45002	return s
45003}
45004
45005// SetPortRange sets the PortRange field's value.
45006func (s *AnalysisSecurityGroupRule) SetPortRange(v *PortRange) *AnalysisSecurityGroupRule {
45007	s.PortRange = v
45008	return s
45009}
45010
45011// SetPrefixListId sets the PrefixListId field's value.
45012func (s *AnalysisSecurityGroupRule) SetPrefixListId(v string) *AnalysisSecurityGroupRule {
45013	s.PrefixListId = &v
45014	return s
45015}
45016
45017// SetProtocol sets the Protocol field's value.
45018func (s *AnalysisSecurityGroupRule) SetProtocol(v string) *AnalysisSecurityGroupRule {
45019	s.Protocol = &v
45020	return s
45021}
45022
45023// SetSecurityGroupId sets the SecurityGroupId field's value.
45024func (s *AnalysisSecurityGroupRule) SetSecurityGroupId(v string) *AnalysisSecurityGroupRule {
45025	s.SecurityGroupId = &v
45026	return s
45027}
45028
45029type ApplySecurityGroupsToClientVpnTargetNetworkInput struct {
45030	_ struct{} `type:"structure"`
45031
45032	// The ID of the Client VPN endpoint.
45033	//
45034	// ClientVpnEndpointId is a required field
45035	ClientVpnEndpointId *string `type:"string" required:"true"`
45036
45037	// Checks whether you have the required permissions for the action, without
45038	// actually making the request, and provides an error response. If you have
45039	// the required permissions, the error response is DryRunOperation. Otherwise,
45040	// it is UnauthorizedOperation.
45041	DryRun *bool `type:"boolean"`
45042
45043	// The IDs of the security groups to apply to the associated target network.
45044	// Up to 5 security groups can be applied to an associated target network.
45045	//
45046	// SecurityGroupIds is a required field
45047	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list" required:"true"`
45048
45049	// The ID of the VPC in which the associated target network is located.
45050	//
45051	// VpcId is a required field
45052	VpcId *string `type:"string" required:"true"`
45053}
45054
45055// String returns the string representation
45056func (s ApplySecurityGroupsToClientVpnTargetNetworkInput) String() string {
45057	return awsutil.Prettify(s)
45058}
45059
45060// GoString returns the string representation
45061func (s ApplySecurityGroupsToClientVpnTargetNetworkInput) GoString() string {
45062	return s.String()
45063}
45064
45065// Validate inspects the fields of the type to determine if they are valid.
45066func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) Validate() error {
45067	invalidParams := request.ErrInvalidParams{Context: "ApplySecurityGroupsToClientVpnTargetNetworkInput"}
45068	if s.ClientVpnEndpointId == nil {
45069		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
45070	}
45071	if s.SecurityGroupIds == nil {
45072		invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds"))
45073	}
45074	if s.VpcId == nil {
45075		invalidParams.Add(request.NewErrParamRequired("VpcId"))
45076	}
45077
45078	if invalidParams.Len() > 0 {
45079		return invalidParams
45080	}
45081	return nil
45082}
45083
45084// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
45085func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
45086	s.ClientVpnEndpointId = &v
45087	return s
45088}
45089
45090// SetDryRun sets the DryRun field's value.
45091func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetDryRun(v bool) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
45092	s.DryRun = &v
45093	return s
45094}
45095
45096// SetSecurityGroupIds sets the SecurityGroupIds field's value.
45097func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetSecurityGroupIds(v []*string) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
45098	s.SecurityGroupIds = v
45099	return s
45100}
45101
45102// SetVpcId sets the VpcId field's value.
45103func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetVpcId(v string) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
45104	s.VpcId = &v
45105	return s
45106}
45107
45108type ApplySecurityGroupsToClientVpnTargetNetworkOutput struct {
45109	_ struct{} `type:"structure"`
45110
45111	// The IDs of the applied security groups.
45112	SecurityGroupIds []*string `locationName:"securityGroupIds" locationNameList:"item" type:"list"`
45113}
45114
45115// String returns the string representation
45116func (s ApplySecurityGroupsToClientVpnTargetNetworkOutput) String() string {
45117	return awsutil.Prettify(s)
45118}
45119
45120// GoString returns the string representation
45121func (s ApplySecurityGroupsToClientVpnTargetNetworkOutput) GoString() string {
45122	return s.String()
45123}
45124
45125// SetSecurityGroupIds sets the SecurityGroupIds field's value.
45126func (s *ApplySecurityGroupsToClientVpnTargetNetworkOutput) SetSecurityGroupIds(v []*string) *ApplySecurityGroupsToClientVpnTargetNetworkOutput {
45127	s.SecurityGroupIds = v
45128	return s
45129}
45130
45131type AssignIpv6AddressesInput struct {
45132	_ struct{} `type:"structure"`
45133
45134	// The number of additional IPv6 addresses to assign to the network interface.
45135	// The specified number of IPv6 addresses are assigned in addition to the existing
45136	// IPv6 addresses that are already assigned to the network interface. Amazon
45137	// EC2 automatically selects the IPv6 addresses from the subnet range. You can't
45138	// use this option if specifying specific IPv6 addresses.
45139	Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
45140
45141	// One or more specific IPv6 addresses to be assigned to the network interface.
45142	// You can't use this option if you're specifying a number of IPv6 addresses.
45143	Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
45144
45145	// The number of IPv6 prefixes that Amazon Web Services automatically assigns
45146	// to the network interface. You cannot use this option if you use the Ipv6Prefixes
45147	// option.
45148	Ipv6PrefixCount *int64 `type:"integer"`
45149
45150	// One or more IPv6 prefixes assigned to the network interface. You cannot use
45151	// this option if you use the Ipv6PrefixCount option.
45152	Ipv6Prefixes []*string `locationName:"Ipv6Prefix" locationNameList:"item" type:"list"`
45153
45154	// The ID of the network interface.
45155	//
45156	// NetworkInterfaceId is a required field
45157	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
45158}
45159
45160// String returns the string representation
45161func (s AssignIpv6AddressesInput) String() string {
45162	return awsutil.Prettify(s)
45163}
45164
45165// GoString returns the string representation
45166func (s AssignIpv6AddressesInput) GoString() string {
45167	return s.String()
45168}
45169
45170// Validate inspects the fields of the type to determine if they are valid.
45171func (s *AssignIpv6AddressesInput) Validate() error {
45172	invalidParams := request.ErrInvalidParams{Context: "AssignIpv6AddressesInput"}
45173	if s.NetworkInterfaceId == nil {
45174		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
45175	}
45176
45177	if invalidParams.Len() > 0 {
45178		return invalidParams
45179	}
45180	return nil
45181}
45182
45183// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
45184func (s *AssignIpv6AddressesInput) SetIpv6AddressCount(v int64) *AssignIpv6AddressesInput {
45185	s.Ipv6AddressCount = &v
45186	return s
45187}
45188
45189// SetIpv6Addresses sets the Ipv6Addresses field's value.
45190func (s *AssignIpv6AddressesInput) SetIpv6Addresses(v []*string) *AssignIpv6AddressesInput {
45191	s.Ipv6Addresses = v
45192	return s
45193}
45194
45195// SetIpv6PrefixCount sets the Ipv6PrefixCount field's value.
45196func (s *AssignIpv6AddressesInput) SetIpv6PrefixCount(v int64) *AssignIpv6AddressesInput {
45197	s.Ipv6PrefixCount = &v
45198	return s
45199}
45200
45201// SetIpv6Prefixes sets the Ipv6Prefixes field's value.
45202func (s *AssignIpv6AddressesInput) SetIpv6Prefixes(v []*string) *AssignIpv6AddressesInput {
45203	s.Ipv6Prefixes = v
45204	return s
45205}
45206
45207// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
45208func (s *AssignIpv6AddressesInput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesInput {
45209	s.NetworkInterfaceId = &v
45210	return s
45211}
45212
45213type AssignIpv6AddressesOutput struct {
45214	_ struct{} `type:"structure"`
45215
45216	// The new IPv6 addresses assigned to the network interface. Existing IPv6 addresses
45217	// that were assigned to the network interface before the request are not included.
45218	AssignedIpv6Addresses []*string `locationName:"assignedIpv6Addresses" locationNameList:"item" type:"list"`
45219
45220	// The IPv6 prefixes that are assigned to the network interface.
45221	AssignedIpv6Prefixes []*string `locationName:"assignedIpv6PrefixSet" locationNameList:"item" type:"list"`
45222
45223	// The ID of the network interface.
45224	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
45225}
45226
45227// String returns the string representation
45228func (s AssignIpv6AddressesOutput) String() string {
45229	return awsutil.Prettify(s)
45230}
45231
45232// GoString returns the string representation
45233func (s AssignIpv6AddressesOutput) GoString() string {
45234	return s.String()
45235}
45236
45237// SetAssignedIpv6Addresses sets the AssignedIpv6Addresses field's value.
45238func (s *AssignIpv6AddressesOutput) SetAssignedIpv6Addresses(v []*string) *AssignIpv6AddressesOutput {
45239	s.AssignedIpv6Addresses = v
45240	return s
45241}
45242
45243// SetAssignedIpv6Prefixes sets the AssignedIpv6Prefixes field's value.
45244func (s *AssignIpv6AddressesOutput) SetAssignedIpv6Prefixes(v []*string) *AssignIpv6AddressesOutput {
45245	s.AssignedIpv6Prefixes = v
45246	return s
45247}
45248
45249// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
45250func (s *AssignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesOutput {
45251	s.NetworkInterfaceId = &v
45252	return s
45253}
45254
45255// Contains the parameters for AssignPrivateIpAddresses.
45256type AssignPrivateIpAddressesInput struct {
45257	_ struct{} `type:"structure"`
45258
45259	// Indicates whether to allow an IP address that is already assigned to another
45260	// network interface or instance to be reassigned to the specified network interface.
45261	AllowReassignment *bool `locationName:"allowReassignment" type:"boolean"`
45262
45263	// The number of IPv4 prefixes that Amazon Web Services automatically assigns
45264	// to the network interface. You cannot use this option if you use the Ipv4
45265	// Prefixes option.
45266	Ipv4PrefixCount *int64 `type:"integer"`
45267
45268	// One or more IPv4 prefixes assigned to the network interface. You cannot use
45269	// this option if you use the Ipv4PrefixCount option.
45270	Ipv4Prefixes []*string `locationName:"Ipv4Prefix" locationNameList:"item" type:"list"`
45271
45272	// The ID of the network interface.
45273	//
45274	// NetworkInterfaceId is a required field
45275	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
45276
45277	// One or more IP addresses to be assigned as a secondary private IP address
45278	// to the network interface. You can't specify this parameter when also specifying
45279	// a number of secondary IP addresses.
45280	//
45281	// If you don't specify an IP address, Amazon EC2 automatically selects an IP
45282	// address within the subnet range.
45283	PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list"`
45284
45285	// The number of secondary IP addresses to assign to the network interface.
45286	// You can't specify this parameter when also specifying private IP addresses.
45287	SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
45288}
45289
45290// String returns the string representation
45291func (s AssignPrivateIpAddressesInput) String() string {
45292	return awsutil.Prettify(s)
45293}
45294
45295// GoString returns the string representation
45296func (s AssignPrivateIpAddressesInput) GoString() string {
45297	return s.String()
45298}
45299
45300// Validate inspects the fields of the type to determine if they are valid.
45301func (s *AssignPrivateIpAddressesInput) Validate() error {
45302	invalidParams := request.ErrInvalidParams{Context: "AssignPrivateIpAddressesInput"}
45303	if s.NetworkInterfaceId == nil {
45304		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
45305	}
45306
45307	if invalidParams.Len() > 0 {
45308		return invalidParams
45309	}
45310	return nil
45311}
45312
45313// SetAllowReassignment sets the AllowReassignment field's value.
45314func (s *AssignPrivateIpAddressesInput) SetAllowReassignment(v bool) *AssignPrivateIpAddressesInput {
45315	s.AllowReassignment = &v
45316	return s
45317}
45318
45319// SetIpv4PrefixCount sets the Ipv4PrefixCount field's value.
45320func (s *AssignPrivateIpAddressesInput) SetIpv4PrefixCount(v int64) *AssignPrivateIpAddressesInput {
45321	s.Ipv4PrefixCount = &v
45322	return s
45323}
45324
45325// SetIpv4Prefixes sets the Ipv4Prefixes field's value.
45326func (s *AssignPrivateIpAddressesInput) SetIpv4Prefixes(v []*string) *AssignPrivateIpAddressesInput {
45327	s.Ipv4Prefixes = v
45328	return s
45329}
45330
45331// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
45332func (s *AssignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *AssignPrivateIpAddressesInput {
45333	s.NetworkInterfaceId = &v
45334	return s
45335}
45336
45337// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
45338func (s *AssignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *AssignPrivateIpAddressesInput {
45339	s.PrivateIpAddresses = v
45340	return s
45341}
45342
45343// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
45344func (s *AssignPrivateIpAddressesInput) SetSecondaryPrivateIpAddressCount(v int64) *AssignPrivateIpAddressesInput {
45345	s.SecondaryPrivateIpAddressCount = &v
45346	return s
45347}
45348
45349type AssignPrivateIpAddressesOutput struct {
45350	_ struct{} `type:"structure"`
45351
45352	// The IPv4 prefixes that are assigned to the network interface.
45353	AssignedIpv4Prefixes []*Ipv4PrefixSpecification `locationName:"assignedIpv4PrefixSet" locationNameList:"item" type:"list"`
45354
45355	// The private IP addresses assigned to the network interface.
45356	AssignedPrivateIpAddresses []*AssignedPrivateIpAddress `locationName:"assignedPrivateIpAddressesSet" locationNameList:"item" type:"list"`
45357
45358	// The ID of the network interface.
45359	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
45360}
45361
45362// String returns the string representation
45363func (s AssignPrivateIpAddressesOutput) String() string {
45364	return awsutil.Prettify(s)
45365}
45366
45367// GoString returns the string representation
45368func (s AssignPrivateIpAddressesOutput) GoString() string {
45369	return s.String()
45370}
45371
45372// SetAssignedIpv4Prefixes sets the AssignedIpv4Prefixes field's value.
45373func (s *AssignPrivateIpAddressesOutput) SetAssignedIpv4Prefixes(v []*Ipv4PrefixSpecification) *AssignPrivateIpAddressesOutput {
45374	s.AssignedIpv4Prefixes = v
45375	return s
45376}
45377
45378// SetAssignedPrivateIpAddresses sets the AssignedPrivateIpAddresses field's value.
45379func (s *AssignPrivateIpAddressesOutput) SetAssignedPrivateIpAddresses(v []*AssignedPrivateIpAddress) *AssignPrivateIpAddressesOutput {
45380	s.AssignedPrivateIpAddresses = v
45381	return s
45382}
45383
45384// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
45385func (s *AssignPrivateIpAddressesOutput) SetNetworkInterfaceId(v string) *AssignPrivateIpAddressesOutput {
45386	s.NetworkInterfaceId = &v
45387	return s
45388}
45389
45390// Describes the private IP addresses assigned to a network interface.
45391type AssignedPrivateIpAddress struct {
45392	_ struct{} `type:"structure"`
45393
45394	// The private IP address assigned to the network interface.
45395	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
45396}
45397
45398// String returns the string representation
45399func (s AssignedPrivateIpAddress) String() string {
45400	return awsutil.Prettify(s)
45401}
45402
45403// GoString returns the string representation
45404func (s AssignedPrivateIpAddress) GoString() string {
45405	return s.String()
45406}
45407
45408// SetPrivateIpAddress sets the PrivateIpAddress field's value.
45409func (s *AssignedPrivateIpAddress) SetPrivateIpAddress(v string) *AssignedPrivateIpAddress {
45410	s.PrivateIpAddress = &v
45411	return s
45412}
45413
45414type AssociateAddressInput struct {
45415	_ struct{} `type:"structure"`
45416
45417	// [EC2-VPC] The allocation ID. This is required for EC2-VPC.
45418	AllocationId *string `type:"string"`
45419
45420	// [EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic
45421	// IP address that is already associated with an instance or network interface
45422	// to be reassociated with the specified instance or network interface. Otherwise,
45423	// the operation fails. In a VPC in an EC2-VPC-only account, reassociation is
45424	// automatic, therefore you can specify false to ensure the operation fails
45425	// if the Elastic IP address is already associated with another resource.
45426	AllowReassociation *bool `locationName:"allowReassociation" type:"boolean"`
45427
45428	// Checks whether you have the required permissions for the action, without
45429	// actually making the request, and provides an error response. If you have
45430	// the required permissions, the error response is DryRunOperation. Otherwise,
45431	// it is UnauthorizedOperation.
45432	DryRun *bool `locationName:"dryRun" type:"boolean"`
45433
45434	// The ID of the instance. The instance must have exactly one attached network
45435	// interface. For EC2-VPC, you can specify either the instance ID or the network
45436	// interface ID, but not both. For EC2-Classic, you must specify an instance
45437	// ID and the instance must be in the running state.
45438	InstanceId *string `type:"string"`
45439
45440	// [EC2-VPC] The ID of the network interface. If the instance has more than
45441	// one network interface, you must specify a network interface ID.
45442	//
45443	// For EC2-VPC, you can specify either the instance ID or the network interface
45444	// ID, but not both.
45445	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
45446
45447	// [EC2-VPC] The primary or secondary private IP address to associate with the
45448	// Elastic IP address. If no private IP address is specified, the Elastic IP
45449	// address is associated with the primary private IP address.
45450	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
45451
45452	// [EC2-Classic] The Elastic IP address to associate with the instance. This
45453	// is required for EC2-Classic.
45454	PublicIp *string `type:"string"`
45455}
45456
45457// String returns the string representation
45458func (s AssociateAddressInput) String() string {
45459	return awsutil.Prettify(s)
45460}
45461
45462// GoString returns the string representation
45463func (s AssociateAddressInput) GoString() string {
45464	return s.String()
45465}
45466
45467// SetAllocationId sets the AllocationId field's value.
45468func (s *AssociateAddressInput) SetAllocationId(v string) *AssociateAddressInput {
45469	s.AllocationId = &v
45470	return s
45471}
45472
45473// SetAllowReassociation sets the AllowReassociation field's value.
45474func (s *AssociateAddressInput) SetAllowReassociation(v bool) *AssociateAddressInput {
45475	s.AllowReassociation = &v
45476	return s
45477}
45478
45479// SetDryRun sets the DryRun field's value.
45480func (s *AssociateAddressInput) SetDryRun(v bool) *AssociateAddressInput {
45481	s.DryRun = &v
45482	return s
45483}
45484
45485// SetInstanceId sets the InstanceId field's value.
45486func (s *AssociateAddressInput) SetInstanceId(v string) *AssociateAddressInput {
45487	s.InstanceId = &v
45488	return s
45489}
45490
45491// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
45492func (s *AssociateAddressInput) SetNetworkInterfaceId(v string) *AssociateAddressInput {
45493	s.NetworkInterfaceId = &v
45494	return s
45495}
45496
45497// SetPrivateIpAddress sets the PrivateIpAddress field's value.
45498func (s *AssociateAddressInput) SetPrivateIpAddress(v string) *AssociateAddressInput {
45499	s.PrivateIpAddress = &v
45500	return s
45501}
45502
45503// SetPublicIp sets the PublicIp field's value.
45504func (s *AssociateAddressInput) SetPublicIp(v string) *AssociateAddressInput {
45505	s.PublicIp = &v
45506	return s
45507}
45508
45509type AssociateAddressOutput struct {
45510	_ struct{} `type:"structure"`
45511
45512	// [EC2-VPC] The ID that represents the association of the Elastic IP address
45513	// with an instance.
45514	AssociationId *string `locationName:"associationId" type:"string"`
45515}
45516
45517// String returns the string representation
45518func (s AssociateAddressOutput) String() string {
45519	return awsutil.Prettify(s)
45520}
45521
45522// GoString returns the string representation
45523func (s AssociateAddressOutput) GoString() string {
45524	return s.String()
45525}
45526
45527// SetAssociationId sets the AssociationId field's value.
45528func (s *AssociateAddressOutput) SetAssociationId(v string) *AssociateAddressOutput {
45529	s.AssociationId = &v
45530	return s
45531}
45532
45533type AssociateClientVpnTargetNetworkInput struct {
45534	_ struct{} `type:"structure"`
45535
45536	// Unique, case-sensitive identifier that you provide to ensure the idempotency
45537	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
45538	ClientToken *string `type:"string" idempotencyToken:"true"`
45539
45540	// The ID of the Client VPN endpoint.
45541	//
45542	// ClientVpnEndpointId is a required field
45543	ClientVpnEndpointId *string `type:"string" required:"true"`
45544
45545	// Checks whether you have the required permissions for the action, without
45546	// actually making the request, and provides an error response. If you have
45547	// the required permissions, the error response is DryRunOperation. Otherwise,
45548	// it is UnauthorizedOperation.
45549	DryRun *bool `type:"boolean"`
45550
45551	// The ID of the subnet to associate with the Client VPN endpoint.
45552	//
45553	// SubnetId is a required field
45554	SubnetId *string `type:"string" required:"true"`
45555}
45556
45557// String returns the string representation
45558func (s AssociateClientVpnTargetNetworkInput) String() string {
45559	return awsutil.Prettify(s)
45560}
45561
45562// GoString returns the string representation
45563func (s AssociateClientVpnTargetNetworkInput) GoString() string {
45564	return s.String()
45565}
45566
45567// Validate inspects the fields of the type to determine if they are valid.
45568func (s *AssociateClientVpnTargetNetworkInput) Validate() error {
45569	invalidParams := request.ErrInvalidParams{Context: "AssociateClientVpnTargetNetworkInput"}
45570	if s.ClientVpnEndpointId == nil {
45571		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
45572	}
45573	if s.SubnetId == nil {
45574		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
45575	}
45576
45577	if invalidParams.Len() > 0 {
45578		return invalidParams
45579	}
45580	return nil
45581}
45582
45583// SetClientToken sets the ClientToken field's value.
45584func (s *AssociateClientVpnTargetNetworkInput) SetClientToken(v string) *AssociateClientVpnTargetNetworkInput {
45585	s.ClientToken = &v
45586	return s
45587}
45588
45589// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
45590func (s *AssociateClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *AssociateClientVpnTargetNetworkInput {
45591	s.ClientVpnEndpointId = &v
45592	return s
45593}
45594
45595// SetDryRun sets the DryRun field's value.
45596func (s *AssociateClientVpnTargetNetworkInput) SetDryRun(v bool) *AssociateClientVpnTargetNetworkInput {
45597	s.DryRun = &v
45598	return s
45599}
45600
45601// SetSubnetId sets the SubnetId field's value.
45602func (s *AssociateClientVpnTargetNetworkInput) SetSubnetId(v string) *AssociateClientVpnTargetNetworkInput {
45603	s.SubnetId = &v
45604	return s
45605}
45606
45607type AssociateClientVpnTargetNetworkOutput struct {
45608	_ struct{} `type:"structure"`
45609
45610	// The unique ID of the target network association.
45611	AssociationId *string `locationName:"associationId" type:"string"`
45612
45613	// The current state of the target network association.
45614	Status *AssociationStatus `locationName:"status" type:"structure"`
45615}
45616
45617// String returns the string representation
45618func (s AssociateClientVpnTargetNetworkOutput) String() string {
45619	return awsutil.Prettify(s)
45620}
45621
45622// GoString returns the string representation
45623func (s AssociateClientVpnTargetNetworkOutput) GoString() string {
45624	return s.String()
45625}
45626
45627// SetAssociationId sets the AssociationId field's value.
45628func (s *AssociateClientVpnTargetNetworkOutput) SetAssociationId(v string) *AssociateClientVpnTargetNetworkOutput {
45629	s.AssociationId = &v
45630	return s
45631}
45632
45633// SetStatus sets the Status field's value.
45634func (s *AssociateClientVpnTargetNetworkOutput) SetStatus(v *AssociationStatus) *AssociateClientVpnTargetNetworkOutput {
45635	s.Status = v
45636	return s
45637}
45638
45639type AssociateDhcpOptionsInput struct {
45640	_ struct{} `type:"structure"`
45641
45642	// The ID of the DHCP options set, or default to associate no DHCP options with
45643	// the VPC.
45644	//
45645	// DhcpOptionsId is a required field
45646	DhcpOptionsId *string `type:"string" required:"true"`
45647
45648	// Checks whether you have the required permissions for the action, without
45649	// actually making the request, and provides an error response. If you have
45650	// the required permissions, the error response is DryRunOperation. Otherwise,
45651	// it is UnauthorizedOperation.
45652	DryRun *bool `locationName:"dryRun" type:"boolean"`
45653
45654	// The ID of the VPC.
45655	//
45656	// VpcId is a required field
45657	VpcId *string `type:"string" required:"true"`
45658}
45659
45660// String returns the string representation
45661func (s AssociateDhcpOptionsInput) String() string {
45662	return awsutil.Prettify(s)
45663}
45664
45665// GoString returns the string representation
45666func (s AssociateDhcpOptionsInput) GoString() string {
45667	return s.String()
45668}
45669
45670// Validate inspects the fields of the type to determine if they are valid.
45671func (s *AssociateDhcpOptionsInput) Validate() error {
45672	invalidParams := request.ErrInvalidParams{Context: "AssociateDhcpOptionsInput"}
45673	if s.DhcpOptionsId == nil {
45674		invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
45675	}
45676	if s.VpcId == nil {
45677		invalidParams.Add(request.NewErrParamRequired("VpcId"))
45678	}
45679
45680	if invalidParams.Len() > 0 {
45681		return invalidParams
45682	}
45683	return nil
45684}
45685
45686// SetDhcpOptionsId sets the DhcpOptionsId field's value.
45687func (s *AssociateDhcpOptionsInput) SetDhcpOptionsId(v string) *AssociateDhcpOptionsInput {
45688	s.DhcpOptionsId = &v
45689	return s
45690}
45691
45692// SetDryRun sets the DryRun field's value.
45693func (s *AssociateDhcpOptionsInput) SetDryRun(v bool) *AssociateDhcpOptionsInput {
45694	s.DryRun = &v
45695	return s
45696}
45697
45698// SetVpcId sets the VpcId field's value.
45699func (s *AssociateDhcpOptionsInput) SetVpcId(v string) *AssociateDhcpOptionsInput {
45700	s.VpcId = &v
45701	return s
45702}
45703
45704type AssociateDhcpOptionsOutput struct {
45705	_ struct{} `type:"structure"`
45706}
45707
45708// String returns the string representation
45709func (s AssociateDhcpOptionsOutput) String() string {
45710	return awsutil.Prettify(s)
45711}
45712
45713// GoString returns the string representation
45714func (s AssociateDhcpOptionsOutput) GoString() string {
45715	return s.String()
45716}
45717
45718type AssociateEnclaveCertificateIamRoleInput struct {
45719	_ struct{} `type:"structure"`
45720
45721	// The ARN of the ACM certificate with which to associate the IAM role.
45722	CertificateArn *string `min:"1" type:"string"`
45723
45724	// Checks whether you have the required permissions for the action, without
45725	// actually making the request, and provides an error response. If you have
45726	// the required permissions, the error response is DryRunOperation. Otherwise,
45727	// it is UnauthorizedOperation.
45728	DryRun *bool `type:"boolean"`
45729
45730	// The ARN of the IAM role to associate with the ACM certificate. You can associate
45731	// up to 16 IAM roles with an ACM certificate.
45732	RoleArn *string `min:"1" type:"string"`
45733}
45734
45735// String returns the string representation
45736func (s AssociateEnclaveCertificateIamRoleInput) String() string {
45737	return awsutil.Prettify(s)
45738}
45739
45740// GoString returns the string representation
45741func (s AssociateEnclaveCertificateIamRoleInput) GoString() string {
45742	return s.String()
45743}
45744
45745// Validate inspects the fields of the type to determine if they are valid.
45746func (s *AssociateEnclaveCertificateIamRoleInput) Validate() error {
45747	invalidParams := request.ErrInvalidParams{Context: "AssociateEnclaveCertificateIamRoleInput"}
45748	if s.CertificateArn != nil && len(*s.CertificateArn) < 1 {
45749		invalidParams.Add(request.NewErrParamMinLen("CertificateArn", 1))
45750	}
45751	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
45752		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
45753	}
45754
45755	if invalidParams.Len() > 0 {
45756		return invalidParams
45757	}
45758	return nil
45759}
45760
45761// SetCertificateArn sets the CertificateArn field's value.
45762func (s *AssociateEnclaveCertificateIamRoleInput) SetCertificateArn(v string) *AssociateEnclaveCertificateIamRoleInput {
45763	s.CertificateArn = &v
45764	return s
45765}
45766
45767// SetDryRun sets the DryRun field's value.
45768func (s *AssociateEnclaveCertificateIamRoleInput) SetDryRun(v bool) *AssociateEnclaveCertificateIamRoleInput {
45769	s.DryRun = &v
45770	return s
45771}
45772
45773// SetRoleArn sets the RoleArn field's value.
45774func (s *AssociateEnclaveCertificateIamRoleInput) SetRoleArn(v string) *AssociateEnclaveCertificateIamRoleInput {
45775	s.RoleArn = &v
45776	return s
45777}
45778
45779type AssociateEnclaveCertificateIamRoleOutput struct {
45780	_ struct{} `type:"structure"`
45781
45782	// The name of the Amazon S3 bucket to which the certificate was uploaded.
45783	CertificateS3BucketName *string `locationName:"certificateS3BucketName" type:"string"`
45784
45785	// The Amazon S3 object key where the certificate, certificate chain, and encrypted
45786	// private key bundle are stored. The object key is formatted as follows: role_arn/certificate_arn.
45787	CertificateS3ObjectKey *string `locationName:"certificateS3ObjectKey" type:"string"`
45788
45789	// The ID of the KMS key used to encrypt the private key of the certificate.
45790	EncryptionKmsKeyId *string `locationName:"encryptionKmsKeyId" type:"string"`
45791}
45792
45793// String returns the string representation
45794func (s AssociateEnclaveCertificateIamRoleOutput) String() string {
45795	return awsutil.Prettify(s)
45796}
45797
45798// GoString returns the string representation
45799func (s AssociateEnclaveCertificateIamRoleOutput) GoString() string {
45800	return s.String()
45801}
45802
45803// SetCertificateS3BucketName sets the CertificateS3BucketName field's value.
45804func (s *AssociateEnclaveCertificateIamRoleOutput) SetCertificateS3BucketName(v string) *AssociateEnclaveCertificateIamRoleOutput {
45805	s.CertificateS3BucketName = &v
45806	return s
45807}
45808
45809// SetCertificateS3ObjectKey sets the CertificateS3ObjectKey field's value.
45810func (s *AssociateEnclaveCertificateIamRoleOutput) SetCertificateS3ObjectKey(v string) *AssociateEnclaveCertificateIamRoleOutput {
45811	s.CertificateS3ObjectKey = &v
45812	return s
45813}
45814
45815// SetEncryptionKmsKeyId sets the EncryptionKmsKeyId field's value.
45816func (s *AssociateEnclaveCertificateIamRoleOutput) SetEncryptionKmsKeyId(v string) *AssociateEnclaveCertificateIamRoleOutput {
45817	s.EncryptionKmsKeyId = &v
45818	return s
45819}
45820
45821type AssociateIamInstanceProfileInput struct {
45822	_ struct{} `type:"structure"`
45823
45824	// The IAM instance profile.
45825	//
45826	// IamInstanceProfile is a required field
45827	IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
45828
45829	// The ID of the instance.
45830	//
45831	// InstanceId is a required field
45832	InstanceId *string `type:"string" required:"true"`
45833}
45834
45835// String returns the string representation
45836func (s AssociateIamInstanceProfileInput) String() string {
45837	return awsutil.Prettify(s)
45838}
45839
45840// GoString returns the string representation
45841func (s AssociateIamInstanceProfileInput) GoString() string {
45842	return s.String()
45843}
45844
45845// Validate inspects the fields of the type to determine if they are valid.
45846func (s *AssociateIamInstanceProfileInput) Validate() error {
45847	invalidParams := request.ErrInvalidParams{Context: "AssociateIamInstanceProfileInput"}
45848	if s.IamInstanceProfile == nil {
45849		invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
45850	}
45851	if s.InstanceId == nil {
45852		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
45853	}
45854
45855	if invalidParams.Len() > 0 {
45856		return invalidParams
45857	}
45858	return nil
45859}
45860
45861// SetIamInstanceProfile sets the IamInstanceProfile field's value.
45862func (s *AssociateIamInstanceProfileInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *AssociateIamInstanceProfileInput {
45863	s.IamInstanceProfile = v
45864	return s
45865}
45866
45867// SetInstanceId sets the InstanceId field's value.
45868func (s *AssociateIamInstanceProfileInput) SetInstanceId(v string) *AssociateIamInstanceProfileInput {
45869	s.InstanceId = &v
45870	return s
45871}
45872
45873type AssociateIamInstanceProfileOutput struct {
45874	_ struct{} `type:"structure"`
45875
45876	// Information about the IAM instance profile association.
45877	IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
45878}
45879
45880// String returns the string representation
45881func (s AssociateIamInstanceProfileOutput) String() string {
45882	return awsutil.Prettify(s)
45883}
45884
45885// GoString returns the string representation
45886func (s AssociateIamInstanceProfileOutput) GoString() string {
45887	return s.String()
45888}
45889
45890// SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
45891func (s *AssociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *AssociateIamInstanceProfileOutput {
45892	s.IamInstanceProfileAssociation = v
45893	return s
45894}
45895
45896type AssociateInstanceEventWindowInput struct {
45897	_ struct{} `type:"structure"`
45898
45899	// One or more targets associated with the specified event window.
45900	//
45901	// AssociationTarget is a required field
45902	AssociationTarget *InstanceEventWindowAssociationRequest `type:"structure" required:"true"`
45903
45904	// Checks whether you have the required permissions for the action, without
45905	// actually making the request, and provides an error response. If you have
45906	// the required permissions, the error response is DryRunOperation. Otherwise,
45907	// it is UnauthorizedOperation.
45908	DryRun *bool `type:"boolean"`
45909
45910	// The ID of the event window.
45911	//
45912	// InstanceEventWindowId is a required field
45913	InstanceEventWindowId *string `type:"string" required:"true"`
45914}
45915
45916// String returns the string representation
45917func (s AssociateInstanceEventWindowInput) String() string {
45918	return awsutil.Prettify(s)
45919}
45920
45921// GoString returns the string representation
45922func (s AssociateInstanceEventWindowInput) GoString() string {
45923	return s.String()
45924}
45925
45926// Validate inspects the fields of the type to determine if they are valid.
45927func (s *AssociateInstanceEventWindowInput) Validate() error {
45928	invalidParams := request.ErrInvalidParams{Context: "AssociateInstanceEventWindowInput"}
45929	if s.AssociationTarget == nil {
45930		invalidParams.Add(request.NewErrParamRequired("AssociationTarget"))
45931	}
45932	if s.InstanceEventWindowId == nil {
45933		invalidParams.Add(request.NewErrParamRequired("InstanceEventWindowId"))
45934	}
45935
45936	if invalidParams.Len() > 0 {
45937		return invalidParams
45938	}
45939	return nil
45940}
45941
45942// SetAssociationTarget sets the AssociationTarget field's value.
45943func (s *AssociateInstanceEventWindowInput) SetAssociationTarget(v *InstanceEventWindowAssociationRequest) *AssociateInstanceEventWindowInput {
45944	s.AssociationTarget = v
45945	return s
45946}
45947
45948// SetDryRun sets the DryRun field's value.
45949func (s *AssociateInstanceEventWindowInput) SetDryRun(v bool) *AssociateInstanceEventWindowInput {
45950	s.DryRun = &v
45951	return s
45952}
45953
45954// SetInstanceEventWindowId sets the InstanceEventWindowId field's value.
45955func (s *AssociateInstanceEventWindowInput) SetInstanceEventWindowId(v string) *AssociateInstanceEventWindowInput {
45956	s.InstanceEventWindowId = &v
45957	return s
45958}
45959
45960type AssociateInstanceEventWindowOutput struct {
45961	_ struct{} `type:"structure"`
45962
45963	// Information about the event window.
45964	InstanceEventWindow *InstanceEventWindow `locationName:"instanceEventWindow" type:"structure"`
45965}
45966
45967// String returns the string representation
45968func (s AssociateInstanceEventWindowOutput) String() string {
45969	return awsutil.Prettify(s)
45970}
45971
45972// GoString returns the string representation
45973func (s AssociateInstanceEventWindowOutput) GoString() string {
45974	return s.String()
45975}
45976
45977// SetInstanceEventWindow sets the InstanceEventWindow field's value.
45978func (s *AssociateInstanceEventWindowOutput) SetInstanceEventWindow(v *InstanceEventWindow) *AssociateInstanceEventWindowOutput {
45979	s.InstanceEventWindow = v
45980	return s
45981}
45982
45983type AssociateRouteTableInput struct {
45984	_ struct{} `type:"structure"`
45985
45986	// Checks whether you have the required permissions for the action, without
45987	// actually making the request, and provides an error response. If you have
45988	// the required permissions, the error response is DryRunOperation. Otherwise,
45989	// it is UnauthorizedOperation.
45990	DryRun *bool `locationName:"dryRun" type:"boolean"`
45991
45992	// The ID of the internet gateway or virtual private gateway.
45993	GatewayId *string `type:"string"`
45994
45995	// The ID of the route table.
45996	//
45997	// RouteTableId is a required field
45998	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
45999
46000	// The ID of the subnet.
46001	SubnetId *string `locationName:"subnetId" type:"string"`
46002}
46003
46004// String returns the string representation
46005func (s AssociateRouteTableInput) String() string {
46006	return awsutil.Prettify(s)
46007}
46008
46009// GoString returns the string representation
46010func (s AssociateRouteTableInput) GoString() string {
46011	return s.String()
46012}
46013
46014// Validate inspects the fields of the type to determine if they are valid.
46015func (s *AssociateRouteTableInput) Validate() error {
46016	invalidParams := request.ErrInvalidParams{Context: "AssociateRouteTableInput"}
46017	if s.RouteTableId == nil {
46018		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
46019	}
46020
46021	if invalidParams.Len() > 0 {
46022		return invalidParams
46023	}
46024	return nil
46025}
46026
46027// SetDryRun sets the DryRun field's value.
46028func (s *AssociateRouteTableInput) SetDryRun(v bool) *AssociateRouteTableInput {
46029	s.DryRun = &v
46030	return s
46031}
46032
46033// SetGatewayId sets the GatewayId field's value.
46034func (s *AssociateRouteTableInput) SetGatewayId(v string) *AssociateRouteTableInput {
46035	s.GatewayId = &v
46036	return s
46037}
46038
46039// SetRouteTableId sets the RouteTableId field's value.
46040func (s *AssociateRouteTableInput) SetRouteTableId(v string) *AssociateRouteTableInput {
46041	s.RouteTableId = &v
46042	return s
46043}
46044
46045// SetSubnetId sets the SubnetId field's value.
46046func (s *AssociateRouteTableInput) SetSubnetId(v string) *AssociateRouteTableInput {
46047	s.SubnetId = &v
46048	return s
46049}
46050
46051type AssociateRouteTableOutput struct {
46052	_ struct{} `type:"structure"`
46053
46054	// The route table association ID. This ID is required for disassociating the
46055	// route table.
46056	AssociationId *string `locationName:"associationId" type:"string"`
46057
46058	// The state of the association.
46059	AssociationState *RouteTableAssociationState `locationName:"associationState" type:"structure"`
46060}
46061
46062// String returns the string representation
46063func (s AssociateRouteTableOutput) String() string {
46064	return awsutil.Prettify(s)
46065}
46066
46067// GoString returns the string representation
46068func (s AssociateRouteTableOutput) GoString() string {
46069	return s.String()
46070}
46071
46072// SetAssociationId sets the AssociationId field's value.
46073func (s *AssociateRouteTableOutput) SetAssociationId(v string) *AssociateRouteTableOutput {
46074	s.AssociationId = &v
46075	return s
46076}
46077
46078// SetAssociationState sets the AssociationState field's value.
46079func (s *AssociateRouteTableOutput) SetAssociationState(v *RouteTableAssociationState) *AssociateRouteTableOutput {
46080	s.AssociationState = v
46081	return s
46082}
46083
46084type AssociateSubnetCidrBlockInput struct {
46085	_ struct{} `type:"structure"`
46086
46087	// The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix length.
46088	//
46089	// Ipv6CidrBlock is a required field
46090	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string" required:"true"`
46091
46092	// The ID of your subnet.
46093	//
46094	// SubnetId is a required field
46095	SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
46096}
46097
46098// String returns the string representation
46099func (s AssociateSubnetCidrBlockInput) String() string {
46100	return awsutil.Prettify(s)
46101}
46102
46103// GoString returns the string representation
46104func (s AssociateSubnetCidrBlockInput) GoString() string {
46105	return s.String()
46106}
46107
46108// Validate inspects the fields of the type to determine if they are valid.
46109func (s *AssociateSubnetCidrBlockInput) Validate() error {
46110	invalidParams := request.ErrInvalidParams{Context: "AssociateSubnetCidrBlockInput"}
46111	if s.Ipv6CidrBlock == nil {
46112		invalidParams.Add(request.NewErrParamRequired("Ipv6CidrBlock"))
46113	}
46114	if s.SubnetId == nil {
46115		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
46116	}
46117
46118	if invalidParams.Len() > 0 {
46119		return invalidParams
46120	}
46121	return nil
46122}
46123
46124// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
46125func (s *AssociateSubnetCidrBlockInput) SetIpv6CidrBlock(v string) *AssociateSubnetCidrBlockInput {
46126	s.Ipv6CidrBlock = &v
46127	return s
46128}
46129
46130// SetSubnetId sets the SubnetId field's value.
46131func (s *AssociateSubnetCidrBlockInput) SetSubnetId(v string) *AssociateSubnetCidrBlockInput {
46132	s.SubnetId = &v
46133	return s
46134}
46135
46136type AssociateSubnetCidrBlockOutput struct {
46137	_ struct{} `type:"structure"`
46138
46139	// Information about the IPv6 CIDR block association.
46140	Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
46141
46142	// The ID of the subnet.
46143	SubnetId *string `locationName:"subnetId" type:"string"`
46144}
46145
46146// String returns the string representation
46147func (s AssociateSubnetCidrBlockOutput) String() string {
46148	return awsutil.Prettify(s)
46149}
46150
46151// GoString returns the string representation
46152func (s AssociateSubnetCidrBlockOutput) GoString() string {
46153	return s.String()
46154}
46155
46156// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
46157func (s *AssociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *AssociateSubnetCidrBlockOutput {
46158	s.Ipv6CidrBlockAssociation = v
46159	return s
46160}
46161
46162// SetSubnetId sets the SubnetId field's value.
46163func (s *AssociateSubnetCidrBlockOutput) SetSubnetId(v string) *AssociateSubnetCidrBlockOutput {
46164	s.SubnetId = &v
46165	return s
46166}
46167
46168type AssociateTransitGatewayMulticastDomainInput struct {
46169	_ struct{} `type:"structure"`
46170
46171	// Checks whether you have the required permissions for the action, without
46172	// actually making the request, and provides an error response. If you have
46173	// the required permissions, the error response is DryRunOperation. Otherwise,
46174	// it is UnauthorizedOperation.
46175	DryRun *bool `type:"boolean"`
46176
46177	// The IDs of the subnets to associate with the transit gateway multicast domain.
46178	SubnetIds []*string `locationNameList:"item" type:"list"`
46179
46180	// The ID of the transit gateway attachment to associate with the transit gateway
46181	// multicast domain.
46182	TransitGatewayAttachmentId *string `type:"string"`
46183
46184	// The ID of the transit gateway multicast domain.
46185	TransitGatewayMulticastDomainId *string `type:"string"`
46186}
46187
46188// String returns the string representation
46189func (s AssociateTransitGatewayMulticastDomainInput) String() string {
46190	return awsutil.Prettify(s)
46191}
46192
46193// GoString returns the string representation
46194func (s AssociateTransitGatewayMulticastDomainInput) GoString() string {
46195	return s.String()
46196}
46197
46198// SetDryRun sets the DryRun field's value.
46199func (s *AssociateTransitGatewayMulticastDomainInput) SetDryRun(v bool) *AssociateTransitGatewayMulticastDomainInput {
46200	s.DryRun = &v
46201	return s
46202}
46203
46204// SetSubnetIds sets the SubnetIds field's value.
46205func (s *AssociateTransitGatewayMulticastDomainInput) SetSubnetIds(v []*string) *AssociateTransitGatewayMulticastDomainInput {
46206	s.SubnetIds = v
46207	return s
46208}
46209
46210// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
46211func (s *AssociateTransitGatewayMulticastDomainInput) SetTransitGatewayAttachmentId(v string) *AssociateTransitGatewayMulticastDomainInput {
46212	s.TransitGatewayAttachmentId = &v
46213	return s
46214}
46215
46216// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
46217func (s *AssociateTransitGatewayMulticastDomainInput) SetTransitGatewayMulticastDomainId(v string) *AssociateTransitGatewayMulticastDomainInput {
46218	s.TransitGatewayMulticastDomainId = &v
46219	return s
46220}
46221
46222type AssociateTransitGatewayMulticastDomainOutput struct {
46223	_ struct{} `type:"structure"`
46224
46225	// Information about the transit gateway multicast domain associations.
46226	Associations *TransitGatewayMulticastDomainAssociations `locationName:"associations" type:"structure"`
46227}
46228
46229// String returns the string representation
46230func (s AssociateTransitGatewayMulticastDomainOutput) String() string {
46231	return awsutil.Prettify(s)
46232}
46233
46234// GoString returns the string representation
46235func (s AssociateTransitGatewayMulticastDomainOutput) GoString() string {
46236	return s.String()
46237}
46238
46239// SetAssociations sets the Associations field's value.
46240func (s *AssociateTransitGatewayMulticastDomainOutput) SetAssociations(v *TransitGatewayMulticastDomainAssociations) *AssociateTransitGatewayMulticastDomainOutput {
46241	s.Associations = v
46242	return s
46243}
46244
46245type AssociateTransitGatewayRouteTableInput struct {
46246	_ struct{} `type:"structure"`
46247
46248	// Checks whether you have the required permissions for the action, without
46249	// actually making the request, and provides an error response. If you have
46250	// the required permissions, the error response is DryRunOperation. Otherwise,
46251	// it is UnauthorizedOperation.
46252	DryRun *bool `type:"boolean"`
46253
46254	// The ID of the attachment.
46255	//
46256	// TransitGatewayAttachmentId is a required field
46257	TransitGatewayAttachmentId *string `type:"string" required:"true"`
46258
46259	// The ID of the transit gateway route table.
46260	//
46261	// TransitGatewayRouteTableId is a required field
46262	TransitGatewayRouteTableId *string `type:"string" required:"true"`
46263}
46264
46265// String returns the string representation
46266func (s AssociateTransitGatewayRouteTableInput) String() string {
46267	return awsutil.Prettify(s)
46268}
46269
46270// GoString returns the string representation
46271func (s AssociateTransitGatewayRouteTableInput) GoString() string {
46272	return s.String()
46273}
46274
46275// Validate inspects the fields of the type to determine if they are valid.
46276func (s *AssociateTransitGatewayRouteTableInput) Validate() error {
46277	invalidParams := request.ErrInvalidParams{Context: "AssociateTransitGatewayRouteTableInput"}
46278	if s.TransitGatewayAttachmentId == nil {
46279		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
46280	}
46281	if s.TransitGatewayRouteTableId == nil {
46282		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
46283	}
46284
46285	if invalidParams.Len() > 0 {
46286		return invalidParams
46287	}
46288	return nil
46289}
46290
46291// SetDryRun sets the DryRun field's value.
46292func (s *AssociateTransitGatewayRouteTableInput) SetDryRun(v bool) *AssociateTransitGatewayRouteTableInput {
46293	s.DryRun = &v
46294	return s
46295}
46296
46297// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
46298func (s *AssociateTransitGatewayRouteTableInput) SetTransitGatewayAttachmentId(v string) *AssociateTransitGatewayRouteTableInput {
46299	s.TransitGatewayAttachmentId = &v
46300	return s
46301}
46302
46303// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
46304func (s *AssociateTransitGatewayRouteTableInput) SetTransitGatewayRouteTableId(v string) *AssociateTransitGatewayRouteTableInput {
46305	s.TransitGatewayRouteTableId = &v
46306	return s
46307}
46308
46309type AssociateTransitGatewayRouteTableOutput struct {
46310	_ struct{} `type:"structure"`
46311
46312	// The ID of the association.
46313	Association *TransitGatewayAssociation `locationName:"association" type:"structure"`
46314}
46315
46316// String returns the string representation
46317func (s AssociateTransitGatewayRouteTableOutput) String() string {
46318	return awsutil.Prettify(s)
46319}
46320
46321// GoString returns the string representation
46322func (s AssociateTransitGatewayRouteTableOutput) GoString() string {
46323	return s.String()
46324}
46325
46326// SetAssociation sets the Association field's value.
46327func (s *AssociateTransitGatewayRouteTableOutput) SetAssociation(v *TransitGatewayAssociation) *AssociateTransitGatewayRouteTableOutput {
46328	s.Association = v
46329	return s
46330}
46331
46332type AssociateTrunkInterfaceInput struct {
46333	_ struct{} `type:"structure"`
46334
46335	// The ID of the branch network interface.
46336	//
46337	// BranchInterfaceId is a required field
46338	BranchInterfaceId *string `type:"string" required:"true"`
46339
46340	// Unique, case-sensitive identifier that you provide to ensure the idempotency
46341	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
46342	ClientToken *string `type:"string" idempotencyToken:"true"`
46343
46344	// Checks whether you have the required permissions for the action, without
46345	// actually making the request, and provides an error response. If you have
46346	// the required permissions, the error response is DryRunOperation. Otherwise,
46347	// it is UnauthorizedOperation.
46348	DryRun *bool `type:"boolean"`
46349
46350	// The application key. This applies to the GRE protocol.
46351	GreKey *int64 `type:"integer"`
46352
46353	// The ID of the trunk network interface.
46354	//
46355	// TrunkInterfaceId is a required field
46356	TrunkInterfaceId *string `type:"string" required:"true"`
46357
46358	// The ID of the VLAN. This applies to the VLAN protocol.
46359	VlanId *int64 `type:"integer"`
46360}
46361
46362// String returns the string representation
46363func (s AssociateTrunkInterfaceInput) String() string {
46364	return awsutil.Prettify(s)
46365}
46366
46367// GoString returns the string representation
46368func (s AssociateTrunkInterfaceInput) GoString() string {
46369	return s.String()
46370}
46371
46372// Validate inspects the fields of the type to determine if they are valid.
46373func (s *AssociateTrunkInterfaceInput) Validate() error {
46374	invalidParams := request.ErrInvalidParams{Context: "AssociateTrunkInterfaceInput"}
46375	if s.BranchInterfaceId == nil {
46376		invalidParams.Add(request.NewErrParamRequired("BranchInterfaceId"))
46377	}
46378	if s.TrunkInterfaceId == nil {
46379		invalidParams.Add(request.NewErrParamRequired("TrunkInterfaceId"))
46380	}
46381
46382	if invalidParams.Len() > 0 {
46383		return invalidParams
46384	}
46385	return nil
46386}
46387
46388// SetBranchInterfaceId sets the BranchInterfaceId field's value.
46389func (s *AssociateTrunkInterfaceInput) SetBranchInterfaceId(v string) *AssociateTrunkInterfaceInput {
46390	s.BranchInterfaceId = &v
46391	return s
46392}
46393
46394// SetClientToken sets the ClientToken field's value.
46395func (s *AssociateTrunkInterfaceInput) SetClientToken(v string) *AssociateTrunkInterfaceInput {
46396	s.ClientToken = &v
46397	return s
46398}
46399
46400// SetDryRun sets the DryRun field's value.
46401func (s *AssociateTrunkInterfaceInput) SetDryRun(v bool) *AssociateTrunkInterfaceInput {
46402	s.DryRun = &v
46403	return s
46404}
46405
46406// SetGreKey sets the GreKey field's value.
46407func (s *AssociateTrunkInterfaceInput) SetGreKey(v int64) *AssociateTrunkInterfaceInput {
46408	s.GreKey = &v
46409	return s
46410}
46411
46412// SetTrunkInterfaceId sets the TrunkInterfaceId field's value.
46413func (s *AssociateTrunkInterfaceInput) SetTrunkInterfaceId(v string) *AssociateTrunkInterfaceInput {
46414	s.TrunkInterfaceId = &v
46415	return s
46416}
46417
46418// SetVlanId sets the VlanId field's value.
46419func (s *AssociateTrunkInterfaceInput) SetVlanId(v int64) *AssociateTrunkInterfaceInput {
46420	s.VlanId = &v
46421	return s
46422}
46423
46424type AssociateTrunkInterfaceOutput struct {
46425	_ struct{} `type:"structure"`
46426
46427	// Unique, case-sensitive identifier that you provide to ensure the idempotency
46428	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
46429	ClientToken *string `locationName:"clientToken" type:"string"`
46430
46431	// Information about the association between the trunk network interface and
46432	// branch network interface.
46433	InterfaceAssociation *TrunkInterfaceAssociation `locationName:"interfaceAssociation" type:"structure"`
46434}
46435
46436// String returns the string representation
46437func (s AssociateTrunkInterfaceOutput) String() string {
46438	return awsutil.Prettify(s)
46439}
46440
46441// GoString returns the string representation
46442func (s AssociateTrunkInterfaceOutput) GoString() string {
46443	return s.String()
46444}
46445
46446// SetClientToken sets the ClientToken field's value.
46447func (s *AssociateTrunkInterfaceOutput) SetClientToken(v string) *AssociateTrunkInterfaceOutput {
46448	s.ClientToken = &v
46449	return s
46450}
46451
46452// SetInterfaceAssociation sets the InterfaceAssociation field's value.
46453func (s *AssociateTrunkInterfaceOutput) SetInterfaceAssociation(v *TrunkInterfaceAssociation) *AssociateTrunkInterfaceOutput {
46454	s.InterfaceAssociation = v
46455	return s
46456}
46457
46458type AssociateVpcCidrBlockInput struct {
46459	_ struct{} `type:"structure"`
46460
46461	// Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
46462	// the VPC. You cannot specify the range of IPv6 addresses, or the size of the
46463	// CIDR block.
46464	AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
46465
46466	// An IPv4 CIDR block to associate with the VPC.
46467	CidrBlock *string `type:"string"`
46468
46469	// An IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool
46470	// in the request.
46471	//
46472	// To let Amazon choose the IPv6 CIDR block for you, omit this parameter.
46473	Ipv6CidrBlock *string `type:"string"`
46474
46475	// The name of the location from which we advertise the IPV6 CIDR block. Use
46476	// this parameter to limit the CIDR block to this location.
46477	//
46478	// You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.
46479	//
46480	// You can have one IPv6 CIDR block association per network border group.
46481	Ipv6CidrBlockNetworkBorderGroup *string `type:"string"`
46482
46483	// The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.
46484	Ipv6Pool *string `type:"string"`
46485
46486	// The ID of the VPC.
46487	//
46488	// VpcId is a required field
46489	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
46490}
46491
46492// String returns the string representation
46493func (s AssociateVpcCidrBlockInput) String() string {
46494	return awsutil.Prettify(s)
46495}
46496
46497// GoString returns the string representation
46498func (s AssociateVpcCidrBlockInput) GoString() string {
46499	return s.String()
46500}
46501
46502// Validate inspects the fields of the type to determine if they are valid.
46503func (s *AssociateVpcCidrBlockInput) Validate() error {
46504	invalidParams := request.ErrInvalidParams{Context: "AssociateVpcCidrBlockInput"}
46505	if s.VpcId == nil {
46506		invalidParams.Add(request.NewErrParamRequired("VpcId"))
46507	}
46508
46509	if invalidParams.Len() > 0 {
46510		return invalidParams
46511	}
46512	return nil
46513}
46514
46515// SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
46516func (s *AssociateVpcCidrBlockInput) SetAmazonProvidedIpv6CidrBlock(v bool) *AssociateVpcCidrBlockInput {
46517	s.AmazonProvidedIpv6CidrBlock = &v
46518	return s
46519}
46520
46521// SetCidrBlock sets the CidrBlock field's value.
46522func (s *AssociateVpcCidrBlockInput) SetCidrBlock(v string) *AssociateVpcCidrBlockInput {
46523	s.CidrBlock = &v
46524	return s
46525}
46526
46527// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
46528func (s *AssociateVpcCidrBlockInput) SetIpv6CidrBlock(v string) *AssociateVpcCidrBlockInput {
46529	s.Ipv6CidrBlock = &v
46530	return s
46531}
46532
46533// SetIpv6CidrBlockNetworkBorderGroup sets the Ipv6CidrBlockNetworkBorderGroup field's value.
46534func (s *AssociateVpcCidrBlockInput) SetIpv6CidrBlockNetworkBorderGroup(v string) *AssociateVpcCidrBlockInput {
46535	s.Ipv6CidrBlockNetworkBorderGroup = &v
46536	return s
46537}
46538
46539// SetIpv6Pool sets the Ipv6Pool field's value.
46540func (s *AssociateVpcCidrBlockInput) SetIpv6Pool(v string) *AssociateVpcCidrBlockInput {
46541	s.Ipv6Pool = &v
46542	return s
46543}
46544
46545// SetVpcId sets the VpcId field's value.
46546func (s *AssociateVpcCidrBlockInput) SetVpcId(v string) *AssociateVpcCidrBlockInput {
46547	s.VpcId = &v
46548	return s
46549}
46550
46551type AssociateVpcCidrBlockOutput struct {
46552	_ struct{} `type:"structure"`
46553
46554	// Information about the IPv4 CIDR block association.
46555	CidrBlockAssociation *VpcCidrBlockAssociation `locationName:"cidrBlockAssociation" type:"structure"`
46556
46557	// Information about the IPv6 CIDR block association.
46558	Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
46559
46560	// The ID of the VPC.
46561	VpcId *string `locationName:"vpcId" type:"string"`
46562}
46563
46564// String returns the string representation
46565func (s AssociateVpcCidrBlockOutput) String() string {
46566	return awsutil.Prettify(s)
46567}
46568
46569// GoString returns the string representation
46570func (s AssociateVpcCidrBlockOutput) GoString() string {
46571	return s.String()
46572}
46573
46574// SetCidrBlockAssociation sets the CidrBlockAssociation field's value.
46575func (s *AssociateVpcCidrBlockOutput) SetCidrBlockAssociation(v *VpcCidrBlockAssociation) *AssociateVpcCidrBlockOutput {
46576	s.CidrBlockAssociation = v
46577	return s
46578}
46579
46580// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
46581func (s *AssociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *AssociateVpcCidrBlockOutput {
46582	s.Ipv6CidrBlockAssociation = v
46583	return s
46584}
46585
46586// SetVpcId sets the VpcId field's value.
46587func (s *AssociateVpcCidrBlockOutput) SetVpcId(v string) *AssociateVpcCidrBlockOutput {
46588	s.VpcId = &v
46589	return s
46590}
46591
46592// Information about the associated IAM roles.
46593type AssociatedRole struct {
46594	_ struct{} `type:"structure"`
46595
46596	// The ARN of the associated IAM role.
46597	AssociatedRoleArn *string `locationName:"associatedRoleArn" min:"1" type:"string"`
46598
46599	// The name of the Amazon S3 bucket in which the Amazon S3 object is stored.
46600	CertificateS3BucketName *string `locationName:"certificateS3BucketName" type:"string"`
46601
46602	// The key of the Amazon S3 object ey where the certificate, certificate chain,
46603	// and encrypted private key bundle is stored. The object key is formated as
46604	// follows: role_arn/certificate_arn.
46605	CertificateS3ObjectKey *string `locationName:"certificateS3ObjectKey" type:"string"`
46606
46607	// The ID of the KMS customer master key (CMK) used to encrypt the private key.
46608	EncryptionKmsKeyId *string `locationName:"encryptionKmsKeyId" type:"string"`
46609}
46610
46611// String returns the string representation
46612func (s AssociatedRole) String() string {
46613	return awsutil.Prettify(s)
46614}
46615
46616// GoString returns the string representation
46617func (s AssociatedRole) GoString() string {
46618	return s.String()
46619}
46620
46621// SetAssociatedRoleArn sets the AssociatedRoleArn field's value.
46622func (s *AssociatedRole) SetAssociatedRoleArn(v string) *AssociatedRole {
46623	s.AssociatedRoleArn = &v
46624	return s
46625}
46626
46627// SetCertificateS3BucketName sets the CertificateS3BucketName field's value.
46628func (s *AssociatedRole) SetCertificateS3BucketName(v string) *AssociatedRole {
46629	s.CertificateS3BucketName = &v
46630	return s
46631}
46632
46633// SetCertificateS3ObjectKey sets the CertificateS3ObjectKey field's value.
46634func (s *AssociatedRole) SetCertificateS3ObjectKey(v string) *AssociatedRole {
46635	s.CertificateS3ObjectKey = &v
46636	return s
46637}
46638
46639// SetEncryptionKmsKeyId sets the EncryptionKmsKeyId field's value.
46640func (s *AssociatedRole) SetEncryptionKmsKeyId(v string) *AssociatedRole {
46641	s.EncryptionKmsKeyId = &v
46642	return s
46643}
46644
46645// Describes a target network that is associated with a Client VPN endpoint.
46646// A target network is a subnet in a VPC.
46647type AssociatedTargetNetwork struct {
46648	_ struct{} `type:"structure"`
46649
46650	// The ID of the subnet.
46651	NetworkId *string `locationName:"networkId" type:"string"`
46652
46653	// The target network type.
46654	NetworkType *string `locationName:"networkType" type:"string" enum:"AssociatedNetworkType"`
46655}
46656
46657// String returns the string representation
46658func (s AssociatedTargetNetwork) String() string {
46659	return awsutil.Prettify(s)
46660}
46661
46662// GoString returns the string representation
46663func (s AssociatedTargetNetwork) GoString() string {
46664	return s.String()
46665}
46666
46667// SetNetworkId sets the NetworkId field's value.
46668func (s *AssociatedTargetNetwork) SetNetworkId(v string) *AssociatedTargetNetwork {
46669	s.NetworkId = &v
46670	return s
46671}
46672
46673// SetNetworkType sets the NetworkType field's value.
46674func (s *AssociatedTargetNetwork) SetNetworkType(v string) *AssociatedTargetNetwork {
46675	s.NetworkType = &v
46676	return s
46677}
46678
46679// Describes the state of a target network association.
46680type AssociationStatus struct {
46681	_ struct{} `type:"structure"`
46682
46683	// The state of the target network association.
46684	Code *string `locationName:"code" type:"string" enum:"AssociationStatusCode"`
46685
46686	// A message about the status of the target network association, if applicable.
46687	Message *string `locationName:"message" type:"string"`
46688}
46689
46690// String returns the string representation
46691func (s AssociationStatus) String() string {
46692	return awsutil.Prettify(s)
46693}
46694
46695// GoString returns the string representation
46696func (s AssociationStatus) GoString() string {
46697	return s.String()
46698}
46699
46700// SetCode sets the Code field's value.
46701func (s *AssociationStatus) SetCode(v string) *AssociationStatus {
46702	s.Code = &v
46703	return s
46704}
46705
46706// SetMessage sets the Message field's value.
46707func (s *AssociationStatus) SetMessage(v string) *AssociationStatus {
46708	s.Message = &v
46709	return s
46710}
46711
46712// Describes integration options for Amazon Athena.
46713type AthenaIntegration struct {
46714	_ struct{} `type:"structure"`
46715
46716	// The location in Amazon S3 to store the generated CloudFormation template.
46717	//
46718	// IntegrationResultS3DestinationArn is a required field
46719	IntegrationResultS3DestinationArn *string `type:"string" required:"true"`
46720
46721	// The end date for the partition.
46722	PartitionEndDate *time.Time `type:"timestamp"`
46723
46724	// The schedule for adding new partitions to the table.
46725	//
46726	// PartitionLoadFrequency is a required field
46727	PartitionLoadFrequency *string `type:"string" required:"true" enum:"PartitionLoadFrequency"`
46728
46729	// The start date for the partition.
46730	PartitionStartDate *time.Time `type:"timestamp"`
46731}
46732
46733// String returns the string representation
46734func (s AthenaIntegration) String() string {
46735	return awsutil.Prettify(s)
46736}
46737
46738// GoString returns the string representation
46739func (s AthenaIntegration) GoString() string {
46740	return s.String()
46741}
46742
46743// Validate inspects the fields of the type to determine if they are valid.
46744func (s *AthenaIntegration) Validate() error {
46745	invalidParams := request.ErrInvalidParams{Context: "AthenaIntegration"}
46746	if s.IntegrationResultS3DestinationArn == nil {
46747		invalidParams.Add(request.NewErrParamRequired("IntegrationResultS3DestinationArn"))
46748	}
46749	if s.PartitionLoadFrequency == nil {
46750		invalidParams.Add(request.NewErrParamRequired("PartitionLoadFrequency"))
46751	}
46752
46753	if invalidParams.Len() > 0 {
46754		return invalidParams
46755	}
46756	return nil
46757}
46758
46759// SetIntegrationResultS3DestinationArn sets the IntegrationResultS3DestinationArn field's value.
46760func (s *AthenaIntegration) SetIntegrationResultS3DestinationArn(v string) *AthenaIntegration {
46761	s.IntegrationResultS3DestinationArn = &v
46762	return s
46763}
46764
46765// SetPartitionEndDate sets the PartitionEndDate field's value.
46766func (s *AthenaIntegration) SetPartitionEndDate(v time.Time) *AthenaIntegration {
46767	s.PartitionEndDate = &v
46768	return s
46769}
46770
46771// SetPartitionLoadFrequency sets the PartitionLoadFrequency field's value.
46772func (s *AthenaIntegration) SetPartitionLoadFrequency(v string) *AthenaIntegration {
46773	s.PartitionLoadFrequency = &v
46774	return s
46775}
46776
46777// SetPartitionStartDate sets the PartitionStartDate field's value.
46778func (s *AthenaIntegration) SetPartitionStartDate(v time.Time) *AthenaIntegration {
46779	s.PartitionStartDate = &v
46780	return s
46781}
46782
46783type AttachClassicLinkVpcInput struct {
46784	_ struct{} `type:"structure"`
46785
46786	// Checks whether you have the required permissions for the action, without
46787	// actually making the request, and provides an error response. If you have
46788	// the required permissions, the error response is DryRunOperation. Otherwise,
46789	// it is UnauthorizedOperation.
46790	DryRun *bool `locationName:"dryRun" type:"boolean"`
46791
46792	// The ID of one or more of the VPC's security groups. You cannot specify security
46793	// groups from a different VPC.
46794	//
46795	// Groups is a required field
46796	Groups []*string `locationName:"SecurityGroupId" locationNameList:"groupId" type:"list" required:"true"`
46797
46798	// The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.
46799	//
46800	// InstanceId is a required field
46801	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
46802
46803	// The ID of a ClassicLink-enabled VPC.
46804	//
46805	// VpcId is a required field
46806	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
46807}
46808
46809// String returns the string representation
46810func (s AttachClassicLinkVpcInput) String() string {
46811	return awsutil.Prettify(s)
46812}
46813
46814// GoString returns the string representation
46815func (s AttachClassicLinkVpcInput) GoString() string {
46816	return s.String()
46817}
46818
46819// Validate inspects the fields of the type to determine if they are valid.
46820func (s *AttachClassicLinkVpcInput) Validate() error {
46821	invalidParams := request.ErrInvalidParams{Context: "AttachClassicLinkVpcInput"}
46822	if s.Groups == nil {
46823		invalidParams.Add(request.NewErrParamRequired("Groups"))
46824	}
46825	if s.InstanceId == nil {
46826		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
46827	}
46828	if s.VpcId == nil {
46829		invalidParams.Add(request.NewErrParamRequired("VpcId"))
46830	}
46831
46832	if invalidParams.Len() > 0 {
46833		return invalidParams
46834	}
46835	return nil
46836}
46837
46838// SetDryRun sets the DryRun field's value.
46839func (s *AttachClassicLinkVpcInput) SetDryRun(v bool) *AttachClassicLinkVpcInput {
46840	s.DryRun = &v
46841	return s
46842}
46843
46844// SetGroups sets the Groups field's value.
46845func (s *AttachClassicLinkVpcInput) SetGroups(v []*string) *AttachClassicLinkVpcInput {
46846	s.Groups = v
46847	return s
46848}
46849
46850// SetInstanceId sets the InstanceId field's value.
46851func (s *AttachClassicLinkVpcInput) SetInstanceId(v string) *AttachClassicLinkVpcInput {
46852	s.InstanceId = &v
46853	return s
46854}
46855
46856// SetVpcId sets the VpcId field's value.
46857func (s *AttachClassicLinkVpcInput) SetVpcId(v string) *AttachClassicLinkVpcInput {
46858	s.VpcId = &v
46859	return s
46860}
46861
46862type AttachClassicLinkVpcOutput struct {
46863	_ struct{} `type:"structure"`
46864
46865	// Returns true if the request succeeds; otherwise, it returns an error.
46866	Return *bool `locationName:"return" type:"boolean"`
46867}
46868
46869// String returns the string representation
46870func (s AttachClassicLinkVpcOutput) String() string {
46871	return awsutil.Prettify(s)
46872}
46873
46874// GoString returns the string representation
46875func (s AttachClassicLinkVpcOutput) GoString() string {
46876	return s.String()
46877}
46878
46879// SetReturn sets the Return field's value.
46880func (s *AttachClassicLinkVpcOutput) SetReturn(v bool) *AttachClassicLinkVpcOutput {
46881	s.Return = &v
46882	return s
46883}
46884
46885type AttachInternetGatewayInput struct {
46886	_ struct{} `type:"structure"`
46887
46888	// Checks whether you have the required permissions for the action, without
46889	// actually making the request, and provides an error response. If you have
46890	// the required permissions, the error response is DryRunOperation. Otherwise,
46891	// it is UnauthorizedOperation.
46892	DryRun *bool `locationName:"dryRun" type:"boolean"`
46893
46894	// The ID of the internet gateway.
46895	//
46896	// InternetGatewayId is a required field
46897	InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
46898
46899	// The ID of the VPC.
46900	//
46901	// VpcId is a required field
46902	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
46903}
46904
46905// String returns the string representation
46906func (s AttachInternetGatewayInput) String() string {
46907	return awsutil.Prettify(s)
46908}
46909
46910// GoString returns the string representation
46911func (s AttachInternetGatewayInput) GoString() string {
46912	return s.String()
46913}
46914
46915// Validate inspects the fields of the type to determine if they are valid.
46916func (s *AttachInternetGatewayInput) Validate() error {
46917	invalidParams := request.ErrInvalidParams{Context: "AttachInternetGatewayInput"}
46918	if s.InternetGatewayId == nil {
46919		invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
46920	}
46921	if s.VpcId == nil {
46922		invalidParams.Add(request.NewErrParamRequired("VpcId"))
46923	}
46924
46925	if invalidParams.Len() > 0 {
46926		return invalidParams
46927	}
46928	return nil
46929}
46930
46931// SetDryRun sets the DryRun field's value.
46932func (s *AttachInternetGatewayInput) SetDryRun(v bool) *AttachInternetGatewayInput {
46933	s.DryRun = &v
46934	return s
46935}
46936
46937// SetInternetGatewayId sets the InternetGatewayId field's value.
46938func (s *AttachInternetGatewayInput) SetInternetGatewayId(v string) *AttachInternetGatewayInput {
46939	s.InternetGatewayId = &v
46940	return s
46941}
46942
46943// SetVpcId sets the VpcId field's value.
46944func (s *AttachInternetGatewayInput) SetVpcId(v string) *AttachInternetGatewayInput {
46945	s.VpcId = &v
46946	return s
46947}
46948
46949type AttachInternetGatewayOutput struct {
46950	_ struct{} `type:"structure"`
46951}
46952
46953// String returns the string representation
46954func (s AttachInternetGatewayOutput) String() string {
46955	return awsutil.Prettify(s)
46956}
46957
46958// GoString returns the string representation
46959func (s AttachInternetGatewayOutput) GoString() string {
46960	return s.String()
46961}
46962
46963// Contains the parameters for AttachNetworkInterface.
46964type AttachNetworkInterfaceInput struct {
46965	_ struct{} `type:"structure"`
46966
46967	// The index of the device for the network interface attachment.
46968	//
46969	// DeviceIndex is a required field
46970	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer" required:"true"`
46971
46972	// Checks whether you have the required permissions for the action, without
46973	// actually making the request, and provides an error response. If you have
46974	// the required permissions, the error response is DryRunOperation. Otherwise,
46975	// it is UnauthorizedOperation.
46976	DryRun *bool `locationName:"dryRun" type:"boolean"`
46977
46978	// The ID of the instance.
46979	//
46980	// InstanceId is a required field
46981	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
46982
46983	// The index of the network card. Some instance types support multiple network
46984	// cards. The primary network interface must be assigned to network card index
46985	// 0. The default is network card index 0.
46986	NetworkCardIndex *int64 `type:"integer"`
46987
46988	// The ID of the network interface.
46989	//
46990	// NetworkInterfaceId is a required field
46991	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
46992}
46993
46994// String returns the string representation
46995func (s AttachNetworkInterfaceInput) String() string {
46996	return awsutil.Prettify(s)
46997}
46998
46999// GoString returns the string representation
47000func (s AttachNetworkInterfaceInput) GoString() string {
47001	return s.String()
47002}
47003
47004// Validate inspects the fields of the type to determine if they are valid.
47005func (s *AttachNetworkInterfaceInput) Validate() error {
47006	invalidParams := request.ErrInvalidParams{Context: "AttachNetworkInterfaceInput"}
47007	if s.DeviceIndex == nil {
47008		invalidParams.Add(request.NewErrParamRequired("DeviceIndex"))
47009	}
47010	if s.InstanceId == nil {
47011		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
47012	}
47013	if s.NetworkInterfaceId == nil {
47014		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
47015	}
47016
47017	if invalidParams.Len() > 0 {
47018		return invalidParams
47019	}
47020	return nil
47021}
47022
47023// SetDeviceIndex sets the DeviceIndex field's value.
47024func (s *AttachNetworkInterfaceInput) SetDeviceIndex(v int64) *AttachNetworkInterfaceInput {
47025	s.DeviceIndex = &v
47026	return s
47027}
47028
47029// SetDryRun sets the DryRun field's value.
47030func (s *AttachNetworkInterfaceInput) SetDryRun(v bool) *AttachNetworkInterfaceInput {
47031	s.DryRun = &v
47032	return s
47033}
47034
47035// SetInstanceId sets the InstanceId field's value.
47036func (s *AttachNetworkInterfaceInput) SetInstanceId(v string) *AttachNetworkInterfaceInput {
47037	s.InstanceId = &v
47038	return s
47039}
47040
47041// SetNetworkCardIndex sets the NetworkCardIndex field's value.
47042func (s *AttachNetworkInterfaceInput) SetNetworkCardIndex(v int64) *AttachNetworkInterfaceInput {
47043	s.NetworkCardIndex = &v
47044	return s
47045}
47046
47047// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
47048func (s *AttachNetworkInterfaceInput) SetNetworkInterfaceId(v string) *AttachNetworkInterfaceInput {
47049	s.NetworkInterfaceId = &v
47050	return s
47051}
47052
47053// Contains the output of AttachNetworkInterface.
47054type AttachNetworkInterfaceOutput struct {
47055	_ struct{} `type:"structure"`
47056
47057	// The ID of the network interface attachment.
47058	AttachmentId *string `locationName:"attachmentId" type:"string"`
47059
47060	// The index of the network card.
47061	NetworkCardIndex *int64 `locationName:"networkCardIndex" type:"integer"`
47062}
47063
47064// String returns the string representation
47065func (s AttachNetworkInterfaceOutput) String() string {
47066	return awsutil.Prettify(s)
47067}
47068
47069// GoString returns the string representation
47070func (s AttachNetworkInterfaceOutput) GoString() string {
47071	return s.String()
47072}
47073
47074// SetAttachmentId sets the AttachmentId field's value.
47075func (s *AttachNetworkInterfaceOutput) SetAttachmentId(v string) *AttachNetworkInterfaceOutput {
47076	s.AttachmentId = &v
47077	return s
47078}
47079
47080// SetNetworkCardIndex sets the NetworkCardIndex field's value.
47081func (s *AttachNetworkInterfaceOutput) SetNetworkCardIndex(v int64) *AttachNetworkInterfaceOutput {
47082	s.NetworkCardIndex = &v
47083	return s
47084}
47085
47086type AttachVolumeInput struct {
47087	_ struct{} `type:"structure"`
47088
47089	// The device name (for example, /dev/sdh or xvdh).
47090	//
47091	// Device is a required field
47092	Device *string `type:"string" required:"true"`
47093
47094	// Checks whether you have the required permissions for the action, without
47095	// actually making the request, and provides an error response. If you have
47096	// the required permissions, the error response is DryRunOperation. Otherwise,
47097	// it is UnauthorizedOperation.
47098	DryRun *bool `locationName:"dryRun" type:"boolean"`
47099
47100	// The ID of the instance.
47101	//
47102	// InstanceId is a required field
47103	InstanceId *string `type:"string" required:"true"`
47104
47105	// The ID of the EBS volume. The volume and instance must be within the same
47106	// Availability Zone.
47107	//
47108	// VolumeId is a required field
47109	VolumeId *string `type:"string" required:"true"`
47110}
47111
47112// String returns the string representation
47113func (s AttachVolumeInput) String() string {
47114	return awsutil.Prettify(s)
47115}
47116
47117// GoString returns the string representation
47118func (s AttachVolumeInput) GoString() string {
47119	return s.String()
47120}
47121
47122// Validate inspects the fields of the type to determine if they are valid.
47123func (s *AttachVolumeInput) Validate() error {
47124	invalidParams := request.ErrInvalidParams{Context: "AttachVolumeInput"}
47125	if s.Device == nil {
47126		invalidParams.Add(request.NewErrParamRequired("Device"))
47127	}
47128	if s.InstanceId == nil {
47129		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
47130	}
47131	if s.VolumeId == nil {
47132		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
47133	}
47134
47135	if invalidParams.Len() > 0 {
47136		return invalidParams
47137	}
47138	return nil
47139}
47140
47141// SetDevice sets the Device field's value.
47142func (s *AttachVolumeInput) SetDevice(v string) *AttachVolumeInput {
47143	s.Device = &v
47144	return s
47145}
47146
47147// SetDryRun sets the DryRun field's value.
47148func (s *AttachVolumeInput) SetDryRun(v bool) *AttachVolumeInput {
47149	s.DryRun = &v
47150	return s
47151}
47152
47153// SetInstanceId sets the InstanceId field's value.
47154func (s *AttachVolumeInput) SetInstanceId(v string) *AttachVolumeInput {
47155	s.InstanceId = &v
47156	return s
47157}
47158
47159// SetVolumeId sets the VolumeId field's value.
47160func (s *AttachVolumeInput) SetVolumeId(v string) *AttachVolumeInput {
47161	s.VolumeId = &v
47162	return s
47163}
47164
47165// Contains the parameters for AttachVpnGateway.
47166type AttachVpnGatewayInput struct {
47167	_ struct{} `type:"structure"`
47168
47169	// Checks whether you have the required permissions for the action, without
47170	// actually making the request, and provides an error response. If you have
47171	// the required permissions, the error response is DryRunOperation. Otherwise,
47172	// it is UnauthorizedOperation.
47173	DryRun *bool `locationName:"dryRun" type:"boolean"`
47174
47175	// The ID of the VPC.
47176	//
47177	// VpcId is a required field
47178	VpcId *string `type:"string" required:"true"`
47179
47180	// The ID of the virtual private gateway.
47181	//
47182	// VpnGatewayId is a required field
47183	VpnGatewayId *string `type:"string" required:"true"`
47184}
47185
47186// String returns the string representation
47187func (s AttachVpnGatewayInput) String() string {
47188	return awsutil.Prettify(s)
47189}
47190
47191// GoString returns the string representation
47192func (s AttachVpnGatewayInput) GoString() string {
47193	return s.String()
47194}
47195
47196// Validate inspects the fields of the type to determine if they are valid.
47197func (s *AttachVpnGatewayInput) Validate() error {
47198	invalidParams := request.ErrInvalidParams{Context: "AttachVpnGatewayInput"}
47199	if s.VpcId == nil {
47200		invalidParams.Add(request.NewErrParamRequired("VpcId"))
47201	}
47202	if s.VpnGatewayId == nil {
47203		invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
47204	}
47205
47206	if invalidParams.Len() > 0 {
47207		return invalidParams
47208	}
47209	return nil
47210}
47211
47212// SetDryRun sets the DryRun field's value.
47213func (s *AttachVpnGatewayInput) SetDryRun(v bool) *AttachVpnGatewayInput {
47214	s.DryRun = &v
47215	return s
47216}
47217
47218// SetVpcId sets the VpcId field's value.
47219func (s *AttachVpnGatewayInput) SetVpcId(v string) *AttachVpnGatewayInput {
47220	s.VpcId = &v
47221	return s
47222}
47223
47224// SetVpnGatewayId sets the VpnGatewayId field's value.
47225func (s *AttachVpnGatewayInput) SetVpnGatewayId(v string) *AttachVpnGatewayInput {
47226	s.VpnGatewayId = &v
47227	return s
47228}
47229
47230// Contains the output of AttachVpnGateway.
47231type AttachVpnGatewayOutput struct {
47232	_ struct{} `type:"structure"`
47233
47234	// Information about the attachment.
47235	VpcAttachment *VpcAttachment `locationName:"attachment" type:"structure"`
47236}
47237
47238// String returns the string representation
47239func (s AttachVpnGatewayOutput) String() string {
47240	return awsutil.Prettify(s)
47241}
47242
47243// GoString returns the string representation
47244func (s AttachVpnGatewayOutput) GoString() string {
47245	return s.String()
47246}
47247
47248// SetVpcAttachment sets the VpcAttachment field's value.
47249func (s *AttachVpnGatewayOutput) SetVpcAttachment(v *VpcAttachment) *AttachVpnGatewayOutput {
47250	s.VpcAttachment = v
47251	return s
47252}
47253
47254// Describes a value for a resource attribute that is a Boolean value.
47255type AttributeBooleanValue struct {
47256	_ struct{} `type:"structure"`
47257
47258	// The attribute value. The valid values are true or false.
47259	Value *bool `locationName:"value" type:"boolean"`
47260}
47261
47262// String returns the string representation
47263func (s AttributeBooleanValue) String() string {
47264	return awsutil.Prettify(s)
47265}
47266
47267// GoString returns the string representation
47268func (s AttributeBooleanValue) GoString() string {
47269	return s.String()
47270}
47271
47272// SetValue sets the Value field's value.
47273func (s *AttributeBooleanValue) SetValue(v bool) *AttributeBooleanValue {
47274	s.Value = &v
47275	return s
47276}
47277
47278// Describes a value for a resource attribute that is a String.
47279type AttributeValue struct {
47280	_ struct{} `type:"structure"`
47281
47282	// The attribute value. The value is case-sensitive.
47283	Value *string `locationName:"value" type:"string"`
47284}
47285
47286// String returns the string representation
47287func (s AttributeValue) String() string {
47288	return awsutil.Prettify(s)
47289}
47290
47291// GoString returns the string representation
47292func (s AttributeValue) GoString() string {
47293	return s.String()
47294}
47295
47296// SetValue sets the Value field's value.
47297func (s *AttributeValue) SetValue(v string) *AttributeValue {
47298	s.Value = &v
47299	return s
47300}
47301
47302// Information about an authorization rule.
47303type AuthorizationRule struct {
47304	_ struct{} `type:"structure"`
47305
47306	// Indicates whether the authorization rule grants access to all clients.
47307	AccessAll *bool `locationName:"accessAll" type:"boolean"`
47308
47309	// The ID of the Client VPN endpoint with which the authorization rule is associated.
47310	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
47311
47312	// A brief description of the authorization rule.
47313	Description *string `locationName:"description" type:"string"`
47314
47315	// The IPv4 address range, in CIDR notation, of the network to which the authorization
47316	// rule applies.
47317	DestinationCidr *string `locationName:"destinationCidr" type:"string"`
47318
47319	// The ID of the Active Directory group to which the authorization rule grants
47320	// access.
47321	GroupId *string `locationName:"groupId" type:"string"`
47322
47323	// The current state of the authorization rule.
47324	Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"`
47325}
47326
47327// String returns the string representation
47328func (s AuthorizationRule) String() string {
47329	return awsutil.Prettify(s)
47330}
47331
47332// GoString returns the string representation
47333func (s AuthorizationRule) GoString() string {
47334	return s.String()
47335}
47336
47337// SetAccessAll sets the AccessAll field's value.
47338func (s *AuthorizationRule) SetAccessAll(v bool) *AuthorizationRule {
47339	s.AccessAll = &v
47340	return s
47341}
47342
47343// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
47344func (s *AuthorizationRule) SetClientVpnEndpointId(v string) *AuthorizationRule {
47345	s.ClientVpnEndpointId = &v
47346	return s
47347}
47348
47349// SetDescription sets the Description field's value.
47350func (s *AuthorizationRule) SetDescription(v string) *AuthorizationRule {
47351	s.Description = &v
47352	return s
47353}
47354
47355// SetDestinationCidr sets the DestinationCidr field's value.
47356func (s *AuthorizationRule) SetDestinationCidr(v string) *AuthorizationRule {
47357	s.DestinationCidr = &v
47358	return s
47359}
47360
47361// SetGroupId sets the GroupId field's value.
47362func (s *AuthorizationRule) SetGroupId(v string) *AuthorizationRule {
47363	s.GroupId = &v
47364	return s
47365}
47366
47367// SetStatus sets the Status field's value.
47368func (s *AuthorizationRule) SetStatus(v *ClientVpnAuthorizationRuleStatus) *AuthorizationRule {
47369	s.Status = v
47370	return s
47371}
47372
47373type AuthorizeClientVpnIngressInput struct {
47374	_ struct{} `type:"structure"`
47375
47376	// The ID of the group to grant access to, for example, the Active Directory
47377	// group or identity provider (IdP) group. Required if AuthorizeAllGroups is
47378	// false or not specified.
47379	AccessGroupId *string `type:"string"`
47380
47381	// Indicates whether to grant access to all clients. Specify true to grant all
47382	// clients who successfully establish a VPN connection access to the network.
47383	// Must be set to true if AccessGroupId is not specified.
47384	AuthorizeAllGroups *bool `type:"boolean"`
47385
47386	// Unique, case-sensitive identifier that you provide to ensure the idempotency
47387	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
47388	ClientToken *string `type:"string" idempotencyToken:"true"`
47389
47390	// The ID of the Client VPN endpoint.
47391	//
47392	// ClientVpnEndpointId is a required field
47393	ClientVpnEndpointId *string `type:"string" required:"true"`
47394
47395	// A brief description of the authorization rule.
47396	Description *string `type:"string"`
47397
47398	// Checks whether you have the required permissions for the action, without
47399	// actually making the request, and provides an error response. If you have
47400	// the required permissions, the error response is DryRunOperation. Otherwise,
47401	// it is UnauthorizedOperation.
47402	DryRun *bool `type:"boolean"`
47403
47404	// The IPv4 address range, in CIDR notation, of the network for which access
47405	// is being authorized.
47406	//
47407	// TargetNetworkCidr is a required field
47408	TargetNetworkCidr *string `type:"string" required:"true"`
47409}
47410
47411// String returns the string representation
47412func (s AuthorizeClientVpnIngressInput) String() string {
47413	return awsutil.Prettify(s)
47414}
47415
47416// GoString returns the string representation
47417func (s AuthorizeClientVpnIngressInput) GoString() string {
47418	return s.String()
47419}
47420
47421// Validate inspects the fields of the type to determine if they are valid.
47422func (s *AuthorizeClientVpnIngressInput) Validate() error {
47423	invalidParams := request.ErrInvalidParams{Context: "AuthorizeClientVpnIngressInput"}
47424	if s.ClientVpnEndpointId == nil {
47425		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
47426	}
47427	if s.TargetNetworkCidr == nil {
47428		invalidParams.Add(request.NewErrParamRequired("TargetNetworkCidr"))
47429	}
47430
47431	if invalidParams.Len() > 0 {
47432		return invalidParams
47433	}
47434	return nil
47435}
47436
47437// SetAccessGroupId sets the AccessGroupId field's value.
47438func (s *AuthorizeClientVpnIngressInput) SetAccessGroupId(v string) *AuthorizeClientVpnIngressInput {
47439	s.AccessGroupId = &v
47440	return s
47441}
47442
47443// SetAuthorizeAllGroups sets the AuthorizeAllGroups field's value.
47444func (s *AuthorizeClientVpnIngressInput) SetAuthorizeAllGroups(v bool) *AuthorizeClientVpnIngressInput {
47445	s.AuthorizeAllGroups = &v
47446	return s
47447}
47448
47449// SetClientToken sets the ClientToken field's value.
47450func (s *AuthorizeClientVpnIngressInput) SetClientToken(v string) *AuthorizeClientVpnIngressInput {
47451	s.ClientToken = &v
47452	return s
47453}
47454
47455// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
47456func (s *AuthorizeClientVpnIngressInput) SetClientVpnEndpointId(v string) *AuthorizeClientVpnIngressInput {
47457	s.ClientVpnEndpointId = &v
47458	return s
47459}
47460
47461// SetDescription sets the Description field's value.
47462func (s *AuthorizeClientVpnIngressInput) SetDescription(v string) *AuthorizeClientVpnIngressInput {
47463	s.Description = &v
47464	return s
47465}
47466
47467// SetDryRun sets the DryRun field's value.
47468func (s *AuthorizeClientVpnIngressInput) SetDryRun(v bool) *AuthorizeClientVpnIngressInput {
47469	s.DryRun = &v
47470	return s
47471}
47472
47473// SetTargetNetworkCidr sets the TargetNetworkCidr field's value.
47474func (s *AuthorizeClientVpnIngressInput) SetTargetNetworkCidr(v string) *AuthorizeClientVpnIngressInput {
47475	s.TargetNetworkCidr = &v
47476	return s
47477}
47478
47479type AuthorizeClientVpnIngressOutput struct {
47480	_ struct{} `type:"structure"`
47481
47482	// The current state of the authorization rule.
47483	Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"`
47484}
47485
47486// String returns the string representation
47487func (s AuthorizeClientVpnIngressOutput) String() string {
47488	return awsutil.Prettify(s)
47489}
47490
47491// GoString returns the string representation
47492func (s AuthorizeClientVpnIngressOutput) GoString() string {
47493	return s.String()
47494}
47495
47496// SetStatus sets the Status field's value.
47497func (s *AuthorizeClientVpnIngressOutput) SetStatus(v *ClientVpnAuthorizationRuleStatus) *AuthorizeClientVpnIngressOutput {
47498	s.Status = v
47499	return s
47500}
47501
47502type AuthorizeSecurityGroupEgressInput struct {
47503	_ struct{} `type:"structure"`
47504
47505	// Not supported. Use a set of IP permissions to specify the CIDR.
47506	CidrIp *string `locationName:"cidrIp" type:"string"`
47507
47508	// Checks whether you have the required permissions for the action, without
47509	// actually making the request, and provides an error response. If you have
47510	// the required permissions, the error response is DryRunOperation. Otherwise,
47511	// it is UnauthorizedOperation.
47512	DryRun *bool `locationName:"dryRun" type:"boolean"`
47513
47514	// Not supported. Use a set of IP permissions to specify the port.
47515	FromPort *int64 `locationName:"fromPort" type:"integer"`
47516
47517	// The ID of the security group.
47518	//
47519	// GroupId is a required field
47520	GroupId *string `locationName:"groupId" type:"string" required:"true"`
47521
47522	// The sets of IP permissions. You can't specify a destination security group
47523	// and a CIDR IP address range in the same set of permissions.
47524	IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
47525
47526	// Not supported. Use a set of IP permissions to specify the protocol name or
47527	// number.
47528	IpProtocol *string `locationName:"ipProtocol" type:"string"`
47529
47530	// Not supported. Use a set of IP permissions to specify a destination security
47531	// group.
47532	SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
47533
47534	// Not supported. Use a set of IP permissions to specify a destination security
47535	// group.
47536	SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
47537
47538	// The tags applied to the security group rule.
47539	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
47540
47541	// Not supported. Use a set of IP permissions to specify the port.
47542	ToPort *int64 `locationName:"toPort" type:"integer"`
47543}
47544
47545// String returns the string representation
47546func (s AuthorizeSecurityGroupEgressInput) String() string {
47547	return awsutil.Prettify(s)
47548}
47549
47550// GoString returns the string representation
47551func (s AuthorizeSecurityGroupEgressInput) GoString() string {
47552	return s.String()
47553}
47554
47555// Validate inspects the fields of the type to determine if they are valid.
47556func (s *AuthorizeSecurityGroupEgressInput) Validate() error {
47557	invalidParams := request.ErrInvalidParams{Context: "AuthorizeSecurityGroupEgressInput"}
47558	if s.GroupId == nil {
47559		invalidParams.Add(request.NewErrParamRequired("GroupId"))
47560	}
47561
47562	if invalidParams.Len() > 0 {
47563		return invalidParams
47564	}
47565	return nil
47566}
47567
47568// SetCidrIp sets the CidrIp field's value.
47569func (s *AuthorizeSecurityGroupEgressInput) SetCidrIp(v string) *AuthorizeSecurityGroupEgressInput {
47570	s.CidrIp = &v
47571	return s
47572}
47573
47574// SetDryRun sets the DryRun field's value.
47575func (s *AuthorizeSecurityGroupEgressInput) SetDryRun(v bool) *AuthorizeSecurityGroupEgressInput {
47576	s.DryRun = &v
47577	return s
47578}
47579
47580// SetFromPort sets the FromPort field's value.
47581func (s *AuthorizeSecurityGroupEgressInput) SetFromPort(v int64) *AuthorizeSecurityGroupEgressInput {
47582	s.FromPort = &v
47583	return s
47584}
47585
47586// SetGroupId sets the GroupId field's value.
47587func (s *AuthorizeSecurityGroupEgressInput) SetGroupId(v string) *AuthorizeSecurityGroupEgressInput {
47588	s.GroupId = &v
47589	return s
47590}
47591
47592// SetIpPermissions sets the IpPermissions field's value.
47593func (s *AuthorizeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupEgressInput {
47594	s.IpPermissions = v
47595	return s
47596}
47597
47598// SetIpProtocol sets the IpProtocol field's value.
47599func (s *AuthorizeSecurityGroupEgressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupEgressInput {
47600	s.IpProtocol = &v
47601	return s
47602}
47603
47604// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
47605func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupEgressInput {
47606	s.SourceSecurityGroupName = &v
47607	return s
47608}
47609
47610// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
47611func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupEgressInput {
47612	s.SourceSecurityGroupOwnerId = &v
47613	return s
47614}
47615
47616// SetTagSpecifications sets the TagSpecifications field's value.
47617func (s *AuthorizeSecurityGroupEgressInput) SetTagSpecifications(v []*TagSpecification) *AuthorizeSecurityGroupEgressInput {
47618	s.TagSpecifications = v
47619	return s
47620}
47621
47622// SetToPort sets the ToPort field's value.
47623func (s *AuthorizeSecurityGroupEgressInput) SetToPort(v int64) *AuthorizeSecurityGroupEgressInput {
47624	s.ToPort = &v
47625	return s
47626}
47627
47628type AuthorizeSecurityGroupEgressOutput struct {
47629	_ struct{} `type:"structure"`
47630
47631	// Returns true if the request succeeds; otherwise, returns an error.
47632	Return *bool `locationName:"return" type:"boolean"`
47633
47634	// Information about the outbound (egress) security group rules that were added.
47635	SecurityGroupRules []*SecurityGroupRule `locationName:"securityGroupRuleSet" locationNameList:"item" type:"list"`
47636}
47637
47638// String returns the string representation
47639func (s AuthorizeSecurityGroupEgressOutput) String() string {
47640	return awsutil.Prettify(s)
47641}
47642
47643// GoString returns the string representation
47644func (s AuthorizeSecurityGroupEgressOutput) GoString() string {
47645	return s.String()
47646}
47647
47648// SetReturn sets the Return field's value.
47649func (s *AuthorizeSecurityGroupEgressOutput) SetReturn(v bool) *AuthorizeSecurityGroupEgressOutput {
47650	s.Return = &v
47651	return s
47652}
47653
47654// SetSecurityGroupRules sets the SecurityGroupRules field's value.
47655func (s *AuthorizeSecurityGroupEgressOutput) SetSecurityGroupRules(v []*SecurityGroupRule) *AuthorizeSecurityGroupEgressOutput {
47656	s.SecurityGroupRules = v
47657	return s
47658}
47659
47660type AuthorizeSecurityGroupIngressInput struct {
47661	_ struct{} `type:"structure"`
47662
47663	// The IPv4 address range, in CIDR format. You can't specify this parameter
47664	// when specifying a source security group. To specify an IPv6 address range,
47665	// use a set of IP permissions.
47666	//
47667	// Alternatively, use a set of IP permissions to specify multiple rules and
47668	// a description for the rule.
47669	CidrIp *string `type:"string"`
47670
47671	// Checks whether you have the required permissions for the action, without
47672	// actually making the request, and provides an error response. If you have
47673	// the required permissions, the error response is DryRunOperation. Otherwise,
47674	// it is UnauthorizedOperation.
47675	DryRun *bool `locationName:"dryRun" type:"boolean"`
47676
47677	// The start of port range for the TCP and UDP protocols, or an ICMP type number.
47678	// For the ICMP type number, use -1 to specify all types. If you specify all
47679	// ICMP types, you must specify all codes.
47680	//
47681	// Alternatively, use a set of IP permissions to specify multiple rules and
47682	// a description for the rule.
47683	FromPort *int64 `type:"integer"`
47684
47685	// The ID of the security group. You must specify either the security group
47686	// ID or the security group name in the request. For security groups in a nondefault
47687	// VPC, you must specify the security group ID.
47688	GroupId *string `type:"string"`
47689
47690	// [EC2-Classic, default VPC] The name of the security group. You must specify
47691	// either the security group ID or the security group name in the request.
47692	GroupName *string `type:"string"`
47693
47694	// The sets of IP permissions.
47695	IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
47696
47697	// The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
47698	// To specify icmpv6, use a set of IP permissions.
47699	//
47700	// [VPC only] Use -1 to specify all protocols. If you specify -1 or a protocol
47701	// other than tcp, udp, or icmp, traffic on all ports is allowed, regardless
47702	// of any ports you specify.
47703	//
47704	// Alternatively, use a set of IP permissions to specify multiple rules and
47705	// a description for the rule.
47706	IpProtocol *string `type:"string"`
47707
47708	// [EC2-Classic, default VPC] The name of the source security group. You can't
47709	// specify this parameter in combination with the following parameters: the
47710	// CIDR IP address range, the start of the port range, the IP protocol, and
47711	// the end of the port range. Creates rules that grant full ICMP, UDP, and TCP
47712	// access. To create a rule with a specific IP protocol and port range, use
47713	// a set of IP permissions instead. For EC2-VPC, the source security group must
47714	// be in the same VPC.
47715	SourceSecurityGroupName *string `type:"string"`
47716
47717	// [nondefault VPC] The Amazon Web Services account ID for the source security
47718	// group, if the source security group is in a different account. You can't
47719	// specify this parameter in combination with the following parameters: the
47720	// CIDR IP address range, the IP protocol, the start of the port range, and
47721	// the end of the port range. Creates rules that grant full ICMP, UDP, and TCP
47722	// access. To create a rule with a specific IP protocol and port range, use
47723	// a set of IP permissions instead.
47724	SourceSecurityGroupOwnerId *string `type:"string"`
47725
47726	// [VPC Only] The tags applied to the security group rule.
47727	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
47728
47729	// The end of port range for the TCP and UDP protocols, or an ICMP code number.
47730	// For the ICMP code number, use -1 to specify all codes. If you specify all
47731	// ICMP types, you must specify all codes.
47732	//
47733	// Alternatively, use a set of IP permissions to specify multiple rules and
47734	// a description for the rule.
47735	ToPort *int64 `type:"integer"`
47736}
47737
47738// String returns the string representation
47739func (s AuthorizeSecurityGroupIngressInput) String() string {
47740	return awsutil.Prettify(s)
47741}
47742
47743// GoString returns the string representation
47744func (s AuthorizeSecurityGroupIngressInput) GoString() string {
47745	return s.String()
47746}
47747
47748// SetCidrIp sets the CidrIp field's value.
47749func (s *AuthorizeSecurityGroupIngressInput) SetCidrIp(v string) *AuthorizeSecurityGroupIngressInput {
47750	s.CidrIp = &v
47751	return s
47752}
47753
47754// SetDryRun sets the DryRun field's value.
47755func (s *AuthorizeSecurityGroupIngressInput) SetDryRun(v bool) *AuthorizeSecurityGroupIngressInput {
47756	s.DryRun = &v
47757	return s
47758}
47759
47760// SetFromPort sets the FromPort field's value.
47761func (s *AuthorizeSecurityGroupIngressInput) SetFromPort(v int64) *AuthorizeSecurityGroupIngressInput {
47762	s.FromPort = &v
47763	return s
47764}
47765
47766// SetGroupId sets the GroupId field's value.
47767func (s *AuthorizeSecurityGroupIngressInput) SetGroupId(v string) *AuthorizeSecurityGroupIngressInput {
47768	s.GroupId = &v
47769	return s
47770}
47771
47772// SetGroupName sets the GroupName field's value.
47773func (s *AuthorizeSecurityGroupIngressInput) SetGroupName(v string) *AuthorizeSecurityGroupIngressInput {
47774	s.GroupName = &v
47775	return s
47776}
47777
47778// SetIpPermissions sets the IpPermissions field's value.
47779func (s *AuthorizeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupIngressInput {
47780	s.IpPermissions = v
47781	return s
47782}
47783
47784// SetIpProtocol sets the IpProtocol field's value.
47785func (s *AuthorizeSecurityGroupIngressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupIngressInput {
47786	s.IpProtocol = &v
47787	return s
47788}
47789
47790// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
47791func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupIngressInput {
47792	s.SourceSecurityGroupName = &v
47793	return s
47794}
47795
47796// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
47797func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupIngressInput {
47798	s.SourceSecurityGroupOwnerId = &v
47799	return s
47800}
47801
47802// SetTagSpecifications sets the TagSpecifications field's value.
47803func (s *AuthorizeSecurityGroupIngressInput) SetTagSpecifications(v []*TagSpecification) *AuthorizeSecurityGroupIngressInput {
47804	s.TagSpecifications = v
47805	return s
47806}
47807
47808// SetToPort sets the ToPort field's value.
47809func (s *AuthorizeSecurityGroupIngressInput) SetToPort(v int64) *AuthorizeSecurityGroupIngressInput {
47810	s.ToPort = &v
47811	return s
47812}
47813
47814type AuthorizeSecurityGroupIngressOutput struct {
47815	_ struct{} `type:"structure"`
47816
47817	// Returns true if the request succeeds; otherwise, returns an error.
47818	Return *bool `locationName:"return" type:"boolean"`
47819
47820	// Information about the inbound (ingress) security group rules that were added.
47821	SecurityGroupRules []*SecurityGroupRule `locationName:"securityGroupRuleSet" locationNameList:"item" type:"list"`
47822}
47823
47824// String returns the string representation
47825func (s AuthorizeSecurityGroupIngressOutput) String() string {
47826	return awsutil.Prettify(s)
47827}
47828
47829// GoString returns the string representation
47830func (s AuthorizeSecurityGroupIngressOutput) GoString() string {
47831	return s.String()
47832}
47833
47834// SetReturn sets the Return field's value.
47835func (s *AuthorizeSecurityGroupIngressOutput) SetReturn(v bool) *AuthorizeSecurityGroupIngressOutput {
47836	s.Return = &v
47837	return s
47838}
47839
47840// SetSecurityGroupRules sets the SecurityGroupRules field's value.
47841func (s *AuthorizeSecurityGroupIngressOutput) SetSecurityGroupRules(v []*SecurityGroupRule) *AuthorizeSecurityGroupIngressOutput {
47842	s.SecurityGroupRules = v
47843	return s
47844}
47845
47846// Describes Availability Zones, Local Zones, and Wavelength Zones.
47847type AvailabilityZone struct {
47848	_ struct{} `type:"structure"`
47849
47850	// For Availability Zones, this parameter has the same value as the Region name.
47851	//
47852	// For Local Zones, the name of the associated group, for example us-west-2-lax-1.
47853	//
47854	// For Wavelength Zones, the name of the associated group, for example us-east-1-wl1-bos-wlz-1.
47855	GroupName *string `locationName:"groupName" type:"string"`
47856
47857	// Any messages about the Availability Zone, Local Zone, or Wavelength Zone.
47858	Messages []*AvailabilityZoneMessage `locationName:"messageSet" locationNameList:"item" type:"list"`
47859
47860	// The name of the network border group.
47861	NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
47862
47863	// For Availability Zones, this parameter always has the value of opt-in-not-required.
47864	//
47865	// For Local Zones and Wavelength Zones, this parameter is the opt-in status.
47866	// The possible values are opted-in, and not-opted-in.
47867	OptInStatus *string `locationName:"optInStatus" type:"string" enum:"AvailabilityZoneOptInStatus"`
47868
47869	// The ID of the zone that handles some of the Local Zone or Wavelength Zone
47870	// control plane operations, such as API calls.
47871	ParentZoneId *string `locationName:"parentZoneId" type:"string"`
47872
47873	// The name of the zone that handles some of the Local Zone or Wavelength Zone
47874	// control plane operations, such as API calls.
47875	ParentZoneName *string `locationName:"parentZoneName" type:"string"`
47876
47877	// The name of the Region.
47878	RegionName *string `locationName:"regionName" type:"string"`
47879
47880	// The state of the Availability Zone, Local Zone, or Wavelength Zone.
47881	State *string `locationName:"zoneState" type:"string" enum:"AvailabilityZoneState"`
47882
47883	// The ID of the Availability Zone, Local Zone, or Wavelength Zone.
47884	ZoneId *string `locationName:"zoneId" type:"string"`
47885
47886	// The name of the Availability Zone, Local Zone, or Wavelength Zone.
47887	ZoneName *string `locationName:"zoneName" type:"string"`
47888
47889	// The type of zone. The valid values are availability-zone, local-zone, and
47890	// wavelength-zone.
47891	ZoneType *string `locationName:"zoneType" type:"string"`
47892}
47893
47894// String returns the string representation
47895func (s AvailabilityZone) String() string {
47896	return awsutil.Prettify(s)
47897}
47898
47899// GoString returns the string representation
47900func (s AvailabilityZone) GoString() string {
47901	return s.String()
47902}
47903
47904// SetGroupName sets the GroupName field's value.
47905func (s *AvailabilityZone) SetGroupName(v string) *AvailabilityZone {
47906	s.GroupName = &v
47907	return s
47908}
47909
47910// SetMessages sets the Messages field's value.
47911func (s *AvailabilityZone) SetMessages(v []*AvailabilityZoneMessage) *AvailabilityZone {
47912	s.Messages = v
47913	return s
47914}
47915
47916// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
47917func (s *AvailabilityZone) SetNetworkBorderGroup(v string) *AvailabilityZone {
47918	s.NetworkBorderGroup = &v
47919	return s
47920}
47921
47922// SetOptInStatus sets the OptInStatus field's value.
47923func (s *AvailabilityZone) SetOptInStatus(v string) *AvailabilityZone {
47924	s.OptInStatus = &v
47925	return s
47926}
47927
47928// SetParentZoneId sets the ParentZoneId field's value.
47929func (s *AvailabilityZone) SetParentZoneId(v string) *AvailabilityZone {
47930	s.ParentZoneId = &v
47931	return s
47932}
47933
47934// SetParentZoneName sets the ParentZoneName field's value.
47935func (s *AvailabilityZone) SetParentZoneName(v string) *AvailabilityZone {
47936	s.ParentZoneName = &v
47937	return s
47938}
47939
47940// SetRegionName sets the RegionName field's value.
47941func (s *AvailabilityZone) SetRegionName(v string) *AvailabilityZone {
47942	s.RegionName = &v
47943	return s
47944}
47945
47946// SetState sets the State field's value.
47947func (s *AvailabilityZone) SetState(v string) *AvailabilityZone {
47948	s.State = &v
47949	return s
47950}
47951
47952// SetZoneId sets the ZoneId field's value.
47953func (s *AvailabilityZone) SetZoneId(v string) *AvailabilityZone {
47954	s.ZoneId = &v
47955	return s
47956}
47957
47958// SetZoneName sets the ZoneName field's value.
47959func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
47960	s.ZoneName = &v
47961	return s
47962}
47963
47964// SetZoneType sets the ZoneType field's value.
47965func (s *AvailabilityZone) SetZoneType(v string) *AvailabilityZone {
47966	s.ZoneType = &v
47967	return s
47968}
47969
47970// Describes a message about an Availability Zone, Local Zone, or Wavelength
47971// Zone.
47972type AvailabilityZoneMessage struct {
47973	_ struct{} `type:"structure"`
47974
47975	// The message about the Availability Zone, Local Zone, or Wavelength Zone.
47976	Message *string `locationName:"message" type:"string"`
47977}
47978
47979// String returns the string representation
47980func (s AvailabilityZoneMessage) String() string {
47981	return awsutil.Prettify(s)
47982}
47983
47984// GoString returns the string representation
47985func (s AvailabilityZoneMessage) GoString() string {
47986	return s.String()
47987}
47988
47989// SetMessage sets the Message field's value.
47990func (s *AvailabilityZoneMessage) SetMessage(v string) *AvailabilityZoneMessage {
47991	s.Message = &v
47992	return s
47993}
47994
47995// The capacity information for instances that can be launched onto the Dedicated
47996// Host.
47997type AvailableCapacity struct {
47998	_ struct{} `type:"structure"`
47999
48000	// The number of instances that can be launched onto the Dedicated Host depending
48001	// on the host's available capacity. For Dedicated Hosts that support multiple
48002	// instance types, this parameter represents the number of instances for each
48003	// instance size that is supported on the host.
48004	AvailableInstanceCapacity []*InstanceCapacity `locationName:"availableInstanceCapacity" locationNameList:"item" type:"list"`
48005
48006	// The number of vCPUs available for launching instances onto the Dedicated
48007	// Host.
48008	AvailableVCpus *int64 `locationName:"availableVCpus" type:"integer"`
48009}
48010
48011// String returns the string representation
48012func (s AvailableCapacity) String() string {
48013	return awsutil.Prettify(s)
48014}
48015
48016// GoString returns the string representation
48017func (s AvailableCapacity) GoString() string {
48018	return s.String()
48019}
48020
48021// SetAvailableInstanceCapacity sets the AvailableInstanceCapacity field's value.
48022func (s *AvailableCapacity) SetAvailableInstanceCapacity(v []*InstanceCapacity) *AvailableCapacity {
48023	s.AvailableInstanceCapacity = v
48024	return s
48025}
48026
48027// SetAvailableVCpus sets the AvailableVCpus field's value.
48028func (s *AvailableCapacity) SetAvailableVCpus(v int64) *AvailableCapacity {
48029	s.AvailableVCpus = &v
48030	return s
48031}
48032
48033type BlobAttributeValue struct {
48034	_ struct{} `type:"structure"`
48035
48036	// Value is automatically base64 encoded/decoded by the SDK.
48037	Value []byte `locationName:"value" type:"blob"`
48038}
48039
48040// String returns the string representation
48041func (s BlobAttributeValue) String() string {
48042	return awsutil.Prettify(s)
48043}
48044
48045// GoString returns the string representation
48046func (s BlobAttributeValue) GoString() string {
48047	return s.String()
48048}
48049
48050// SetValue sets the Value field's value.
48051func (s *BlobAttributeValue) SetValue(v []byte) *BlobAttributeValue {
48052	s.Value = v
48053	return s
48054}
48055
48056// Describes a block device mapping, which defines the EBS volumes and instance
48057// store volumes to attach to an instance at launch.
48058type BlockDeviceMapping struct {
48059	_ struct{} `type:"structure"`
48060
48061	// The device name (for example, /dev/sdh or xvdh).
48062	DeviceName *string `locationName:"deviceName" type:"string"`
48063
48064	// Parameters used to automatically set up EBS volumes when the instance is
48065	// launched.
48066	Ebs *EbsBlockDevice `locationName:"ebs" type:"structure"`
48067
48068	// To omit the device from the block device mapping, specify an empty string.
48069	// When this property is specified, the device is removed from the block device
48070	// mapping regardless of the assigned value.
48071	NoDevice *string `locationName:"noDevice" type:"string"`
48072
48073	// The virtual device name (ephemeralN). Instance store volumes are numbered
48074	// starting from 0. An instance type with 2 available instance store volumes
48075	// can specify mappings for ephemeral0 and ephemeral1. The number of available
48076	// instance store volumes depends on the instance type. After you connect to
48077	// the instance, you must mount the volume.
48078	//
48079	// NVMe instance store volumes are automatically enumerated and assigned a device
48080	// name. Including them in your block device mapping has no effect.
48081	//
48082	// Constraints: For M3 instances, you must specify instance store volumes in
48083	// the block device mapping for the instance. When you launch an M3 instance,
48084	// we ignore any instance store volumes specified in the block device mapping
48085	// for the AMI.
48086	VirtualName *string `locationName:"virtualName" type:"string"`
48087}
48088
48089// String returns the string representation
48090func (s BlockDeviceMapping) String() string {
48091	return awsutil.Prettify(s)
48092}
48093
48094// GoString returns the string representation
48095func (s BlockDeviceMapping) GoString() string {
48096	return s.String()
48097}
48098
48099// SetDeviceName sets the DeviceName field's value.
48100func (s *BlockDeviceMapping) SetDeviceName(v string) *BlockDeviceMapping {
48101	s.DeviceName = &v
48102	return s
48103}
48104
48105// SetEbs sets the Ebs field's value.
48106func (s *BlockDeviceMapping) SetEbs(v *EbsBlockDevice) *BlockDeviceMapping {
48107	s.Ebs = v
48108	return s
48109}
48110
48111// SetNoDevice sets the NoDevice field's value.
48112func (s *BlockDeviceMapping) SetNoDevice(v string) *BlockDeviceMapping {
48113	s.NoDevice = &v
48114	return s
48115}
48116
48117// SetVirtualName sets the VirtualName field's value.
48118func (s *BlockDeviceMapping) SetVirtualName(v string) *BlockDeviceMapping {
48119	s.VirtualName = &v
48120	return s
48121}
48122
48123// Contains the parameters for BundleInstance.
48124type BundleInstanceInput struct {
48125	_ struct{} `type:"structure"`
48126
48127	// Checks whether you have the required permissions for the action, without
48128	// actually making the request, and provides an error response. If you have
48129	// the required permissions, the error response is DryRunOperation. Otherwise,
48130	// it is UnauthorizedOperation.
48131	DryRun *bool `locationName:"dryRun" type:"boolean"`
48132
48133	// The ID of the instance to bundle.
48134	//
48135	// Type: String
48136	//
48137	// Default: None
48138	//
48139	// Required: Yes
48140	//
48141	// InstanceId is a required field
48142	InstanceId *string `type:"string" required:"true"`
48143
48144	// The bucket in which to store the AMI. You can specify a bucket that you already
48145	// own or a new bucket that Amazon EC2 creates on your behalf. If you specify
48146	// a bucket that belongs to someone else, Amazon EC2 returns an error.
48147	//
48148	// Storage is a required field
48149	Storage *Storage `type:"structure" required:"true"`
48150}
48151
48152// String returns the string representation
48153func (s BundleInstanceInput) String() string {
48154	return awsutil.Prettify(s)
48155}
48156
48157// GoString returns the string representation
48158func (s BundleInstanceInput) GoString() string {
48159	return s.String()
48160}
48161
48162// Validate inspects the fields of the type to determine if they are valid.
48163func (s *BundleInstanceInput) Validate() error {
48164	invalidParams := request.ErrInvalidParams{Context: "BundleInstanceInput"}
48165	if s.InstanceId == nil {
48166		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
48167	}
48168	if s.Storage == nil {
48169		invalidParams.Add(request.NewErrParamRequired("Storage"))
48170	}
48171
48172	if invalidParams.Len() > 0 {
48173		return invalidParams
48174	}
48175	return nil
48176}
48177
48178// SetDryRun sets the DryRun field's value.
48179func (s *BundleInstanceInput) SetDryRun(v bool) *BundleInstanceInput {
48180	s.DryRun = &v
48181	return s
48182}
48183
48184// SetInstanceId sets the InstanceId field's value.
48185func (s *BundleInstanceInput) SetInstanceId(v string) *BundleInstanceInput {
48186	s.InstanceId = &v
48187	return s
48188}
48189
48190// SetStorage sets the Storage field's value.
48191func (s *BundleInstanceInput) SetStorage(v *Storage) *BundleInstanceInput {
48192	s.Storage = v
48193	return s
48194}
48195
48196// Contains the output of BundleInstance.
48197type BundleInstanceOutput struct {
48198	_ struct{} `type:"structure"`
48199
48200	// Information about the bundle task.
48201	BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
48202}
48203
48204// String returns the string representation
48205func (s BundleInstanceOutput) String() string {
48206	return awsutil.Prettify(s)
48207}
48208
48209// GoString returns the string representation
48210func (s BundleInstanceOutput) GoString() string {
48211	return s.String()
48212}
48213
48214// SetBundleTask sets the BundleTask field's value.
48215func (s *BundleInstanceOutput) SetBundleTask(v *BundleTask) *BundleInstanceOutput {
48216	s.BundleTask = v
48217	return s
48218}
48219
48220// Describes a bundle task.
48221type BundleTask struct {
48222	_ struct{} `type:"structure"`
48223
48224	// The ID of the bundle task.
48225	BundleId *string `locationName:"bundleId" type:"string"`
48226
48227	// If the task fails, a description of the error.
48228	BundleTaskError *BundleTaskError `locationName:"error" type:"structure"`
48229
48230	// The ID of the instance associated with this bundle task.
48231	InstanceId *string `locationName:"instanceId" type:"string"`
48232
48233	// The level of task completion, as a percent (for example, 20%).
48234	Progress *string `locationName:"progress" type:"string"`
48235
48236	// The time this task started.
48237	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
48238
48239	// The state of the task.
48240	State *string `locationName:"state" type:"string" enum:"BundleTaskState"`
48241
48242	// The Amazon S3 storage locations.
48243	Storage *Storage `locationName:"storage" type:"structure"`
48244
48245	// The time of the most recent update for the task.
48246	UpdateTime *time.Time `locationName:"updateTime" type:"timestamp"`
48247}
48248
48249// String returns the string representation
48250func (s BundleTask) String() string {
48251	return awsutil.Prettify(s)
48252}
48253
48254// GoString returns the string representation
48255func (s BundleTask) GoString() string {
48256	return s.String()
48257}
48258
48259// SetBundleId sets the BundleId field's value.
48260func (s *BundleTask) SetBundleId(v string) *BundleTask {
48261	s.BundleId = &v
48262	return s
48263}
48264
48265// SetBundleTaskError sets the BundleTaskError field's value.
48266func (s *BundleTask) SetBundleTaskError(v *BundleTaskError) *BundleTask {
48267	s.BundleTaskError = v
48268	return s
48269}
48270
48271// SetInstanceId sets the InstanceId field's value.
48272func (s *BundleTask) SetInstanceId(v string) *BundleTask {
48273	s.InstanceId = &v
48274	return s
48275}
48276
48277// SetProgress sets the Progress field's value.
48278func (s *BundleTask) SetProgress(v string) *BundleTask {
48279	s.Progress = &v
48280	return s
48281}
48282
48283// SetStartTime sets the StartTime field's value.
48284func (s *BundleTask) SetStartTime(v time.Time) *BundleTask {
48285	s.StartTime = &v
48286	return s
48287}
48288
48289// SetState sets the State field's value.
48290func (s *BundleTask) SetState(v string) *BundleTask {
48291	s.State = &v
48292	return s
48293}
48294
48295// SetStorage sets the Storage field's value.
48296func (s *BundleTask) SetStorage(v *Storage) *BundleTask {
48297	s.Storage = v
48298	return s
48299}
48300
48301// SetUpdateTime sets the UpdateTime field's value.
48302func (s *BundleTask) SetUpdateTime(v time.Time) *BundleTask {
48303	s.UpdateTime = &v
48304	return s
48305}
48306
48307// Describes an error for BundleInstance.
48308type BundleTaskError struct {
48309	_ struct{} `type:"structure"`
48310
48311	// The error code.
48312	Code *string `locationName:"code" type:"string"`
48313
48314	// The error message.
48315	Message *string `locationName:"message" type:"string"`
48316}
48317
48318// String returns the string representation
48319func (s BundleTaskError) String() string {
48320	return awsutil.Prettify(s)
48321}
48322
48323// GoString returns the string representation
48324func (s BundleTaskError) GoString() string {
48325	return s.String()
48326}
48327
48328// SetCode sets the Code field's value.
48329func (s *BundleTaskError) SetCode(v string) *BundleTaskError {
48330	s.Code = &v
48331	return s
48332}
48333
48334// SetMessage sets the Message field's value.
48335func (s *BundleTaskError) SetMessage(v string) *BundleTaskError {
48336	s.Message = &v
48337	return s
48338}
48339
48340// Information about an address range that is provisioned for use with your
48341// Amazon Web Services resources through bring your own IP addresses (BYOIP).
48342type ByoipCidr struct {
48343	_ struct{} `type:"structure"`
48344
48345	// The address range, in CIDR notation.
48346	Cidr *string `locationName:"cidr" type:"string"`
48347
48348	// The description of the address range.
48349	Description *string `locationName:"description" type:"string"`
48350
48351	// The state of the address pool.
48352	State *string `locationName:"state" type:"string" enum:"ByoipCidrState"`
48353
48354	// Upon success, contains the ID of the address pool. Otherwise, contains an
48355	// error message.
48356	StatusMessage *string `locationName:"statusMessage" type:"string"`
48357}
48358
48359// String returns the string representation
48360func (s ByoipCidr) String() string {
48361	return awsutil.Prettify(s)
48362}
48363
48364// GoString returns the string representation
48365func (s ByoipCidr) GoString() string {
48366	return s.String()
48367}
48368
48369// SetCidr sets the Cidr field's value.
48370func (s *ByoipCidr) SetCidr(v string) *ByoipCidr {
48371	s.Cidr = &v
48372	return s
48373}
48374
48375// SetDescription sets the Description field's value.
48376func (s *ByoipCidr) SetDescription(v string) *ByoipCidr {
48377	s.Description = &v
48378	return s
48379}
48380
48381// SetState sets the State field's value.
48382func (s *ByoipCidr) SetState(v string) *ByoipCidr {
48383	s.State = &v
48384	return s
48385}
48386
48387// SetStatusMessage sets the StatusMessage field's value.
48388func (s *ByoipCidr) SetStatusMessage(v string) *ByoipCidr {
48389	s.StatusMessage = &v
48390	return s
48391}
48392
48393// Contains the parameters for CancelBundleTask.
48394type CancelBundleTaskInput struct {
48395	_ struct{} `type:"structure"`
48396
48397	// The ID of the bundle task.
48398	//
48399	// BundleId is a required field
48400	BundleId *string `type:"string" required:"true"`
48401
48402	// Checks whether you have the required permissions for the action, without
48403	// actually making the request, and provides an error response. If you have
48404	// the required permissions, the error response is DryRunOperation. Otherwise,
48405	// it is UnauthorizedOperation.
48406	DryRun *bool `locationName:"dryRun" type:"boolean"`
48407}
48408
48409// String returns the string representation
48410func (s CancelBundleTaskInput) String() string {
48411	return awsutil.Prettify(s)
48412}
48413
48414// GoString returns the string representation
48415func (s CancelBundleTaskInput) GoString() string {
48416	return s.String()
48417}
48418
48419// Validate inspects the fields of the type to determine if they are valid.
48420func (s *CancelBundleTaskInput) Validate() error {
48421	invalidParams := request.ErrInvalidParams{Context: "CancelBundleTaskInput"}
48422	if s.BundleId == nil {
48423		invalidParams.Add(request.NewErrParamRequired("BundleId"))
48424	}
48425
48426	if invalidParams.Len() > 0 {
48427		return invalidParams
48428	}
48429	return nil
48430}
48431
48432// SetBundleId sets the BundleId field's value.
48433func (s *CancelBundleTaskInput) SetBundleId(v string) *CancelBundleTaskInput {
48434	s.BundleId = &v
48435	return s
48436}
48437
48438// SetDryRun sets the DryRun field's value.
48439func (s *CancelBundleTaskInput) SetDryRun(v bool) *CancelBundleTaskInput {
48440	s.DryRun = &v
48441	return s
48442}
48443
48444// Contains the output of CancelBundleTask.
48445type CancelBundleTaskOutput struct {
48446	_ struct{} `type:"structure"`
48447
48448	// Information about the bundle task.
48449	BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
48450}
48451
48452// String returns the string representation
48453func (s CancelBundleTaskOutput) String() string {
48454	return awsutil.Prettify(s)
48455}
48456
48457// GoString returns the string representation
48458func (s CancelBundleTaskOutput) GoString() string {
48459	return s.String()
48460}
48461
48462// SetBundleTask sets the BundleTask field's value.
48463func (s *CancelBundleTaskOutput) SetBundleTask(v *BundleTask) *CancelBundleTaskOutput {
48464	s.BundleTask = v
48465	return s
48466}
48467
48468type CancelCapacityReservationInput struct {
48469	_ struct{} `type:"structure"`
48470
48471	// The ID of the Capacity Reservation to be cancelled.
48472	//
48473	// CapacityReservationId is a required field
48474	CapacityReservationId *string `type:"string" required:"true"`
48475
48476	// Checks whether you have the required permissions for the action, without
48477	// actually making the request, and provides an error response. If you have
48478	// the required permissions, the error response is DryRunOperation. Otherwise,
48479	// it is UnauthorizedOperation.
48480	DryRun *bool `type:"boolean"`
48481}
48482
48483// String returns the string representation
48484func (s CancelCapacityReservationInput) String() string {
48485	return awsutil.Prettify(s)
48486}
48487
48488// GoString returns the string representation
48489func (s CancelCapacityReservationInput) GoString() string {
48490	return s.String()
48491}
48492
48493// Validate inspects the fields of the type to determine if they are valid.
48494func (s *CancelCapacityReservationInput) Validate() error {
48495	invalidParams := request.ErrInvalidParams{Context: "CancelCapacityReservationInput"}
48496	if s.CapacityReservationId == nil {
48497		invalidParams.Add(request.NewErrParamRequired("CapacityReservationId"))
48498	}
48499
48500	if invalidParams.Len() > 0 {
48501		return invalidParams
48502	}
48503	return nil
48504}
48505
48506// SetCapacityReservationId sets the CapacityReservationId field's value.
48507func (s *CancelCapacityReservationInput) SetCapacityReservationId(v string) *CancelCapacityReservationInput {
48508	s.CapacityReservationId = &v
48509	return s
48510}
48511
48512// SetDryRun sets the DryRun field's value.
48513func (s *CancelCapacityReservationInput) SetDryRun(v bool) *CancelCapacityReservationInput {
48514	s.DryRun = &v
48515	return s
48516}
48517
48518type CancelCapacityReservationOutput struct {
48519	_ struct{} `type:"structure"`
48520
48521	// Returns true if the request succeeds; otherwise, it returns an error.
48522	Return *bool `locationName:"return" type:"boolean"`
48523}
48524
48525// String returns the string representation
48526func (s CancelCapacityReservationOutput) String() string {
48527	return awsutil.Prettify(s)
48528}
48529
48530// GoString returns the string representation
48531func (s CancelCapacityReservationOutput) GoString() string {
48532	return s.String()
48533}
48534
48535// SetReturn sets the Return field's value.
48536func (s *CancelCapacityReservationOutput) SetReturn(v bool) *CancelCapacityReservationOutput {
48537	s.Return = &v
48538	return s
48539}
48540
48541type CancelConversionTaskInput struct {
48542	_ struct{} `type:"structure"`
48543
48544	// The ID of the conversion task.
48545	//
48546	// ConversionTaskId is a required field
48547	ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"`
48548
48549	// Checks whether you have the required permissions for the action, without
48550	// actually making the request, and provides an error response. If you have
48551	// the required permissions, the error response is DryRunOperation. Otherwise,
48552	// it is UnauthorizedOperation.
48553	DryRun *bool `locationName:"dryRun" type:"boolean"`
48554
48555	// The reason for canceling the conversion task.
48556	ReasonMessage *string `locationName:"reasonMessage" type:"string"`
48557}
48558
48559// String returns the string representation
48560func (s CancelConversionTaskInput) String() string {
48561	return awsutil.Prettify(s)
48562}
48563
48564// GoString returns the string representation
48565func (s CancelConversionTaskInput) GoString() string {
48566	return s.String()
48567}
48568
48569// Validate inspects the fields of the type to determine if they are valid.
48570func (s *CancelConversionTaskInput) Validate() error {
48571	invalidParams := request.ErrInvalidParams{Context: "CancelConversionTaskInput"}
48572	if s.ConversionTaskId == nil {
48573		invalidParams.Add(request.NewErrParamRequired("ConversionTaskId"))
48574	}
48575
48576	if invalidParams.Len() > 0 {
48577		return invalidParams
48578	}
48579	return nil
48580}
48581
48582// SetConversionTaskId sets the ConversionTaskId field's value.
48583func (s *CancelConversionTaskInput) SetConversionTaskId(v string) *CancelConversionTaskInput {
48584	s.ConversionTaskId = &v
48585	return s
48586}
48587
48588// SetDryRun sets the DryRun field's value.
48589func (s *CancelConversionTaskInput) SetDryRun(v bool) *CancelConversionTaskInput {
48590	s.DryRun = &v
48591	return s
48592}
48593
48594// SetReasonMessage sets the ReasonMessage field's value.
48595func (s *CancelConversionTaskInput) SetReasonMessage(v string) *CancelConversionTaskInput {
48596	s.ReasonMessage = &v
48597	return s
48598}
48599
48600type CancelConversionTaskOutput struct {
48601	_ struct{} `type:"structure"`
48602}
48603
48604// String returns the string representation
48605func (s CancelConversionTaskOutput) String() string {
48606	return awsutil.Prettify(s)
48607}
48608
48609// GoString returns the string representation
48610func (s CancelConversionTaskOutput) GoString() string {
48611	return s.String()
48612}
48613
48614type CancelExportTaskInput struct {
48615	_ struct{} `type:"structure"`
48616
48617	// The ID of the export task. This is the ID returned by CreateInstanceExportTask.
48618	//
48619	// ExportTaskId is a required field
48620	ExportTaskId *string `locationName:"exportTaskId" type:"string" required:"true"`
48621}
48622
48623// String returns the string representation
48624func (s CancelExportTaskInput) String() string {
48625	return awsutil.Prettify(s)
48626}
48627
48628// GoString returns the string representation
48629func (s CancelExportTaskInput) GoString() string {
48630	return s.String()
48631}
48632
48633// Validate inspects the fields of the type to determine if they are valid.
48634func (s *CancelExportTaskInput) Validate() error {
48635	invalidParams := request.ErrInvalidParams{Context: "CancelExportTaskInput"}
48636	if s.ExportTaskId == nil {
48637		invalidParams.Add(request.NewErrParamRequired("ExportTaskId"))
48638	}
48639
48640	if invalidParams.Len() > 0 {
48641		return invalidParams
48642	}
48643	return nil
48644}
48645
48646// SetExportTaskId sets the ExportTaskId field's value.
48647func (s *CancelExportTaskInput) SetExportTaskId(v string) *CancelExportTaskInput {
48648	s.ExportTaskId = &v
48649	return s
48650}
48651
48652type CancelExportTaskOutput struct {
48653	_ struct{} `type:"structure"`
48654}
48655
48656// String returns the string representation
48657func (s CancelExportTaskOutput) String() string {
48658	return awsutil.Prettify(s)
48659}
48660
48661// GoString returns the string representation
48662func (s CancelExportTaskOutput) GoString() string {
48663	return s.String()
48664}
48665
48666type CancelImportTaskInput struct {
48667	_ struct{} `type:"structure"`
48668
48669	// The reason for canceling the task.
48670	CancelReason *string `type:"string"`
48671
48672	// Checks whether you have the required permissions for the action, without
48673	// actually making the request, and provides an error response. If you have
48674	// the required permissions, the error response is DryRunOperation. Otherwise,
48675	// it is UnauthorizedOperation.
48676	DryRun *bool `type:"boolean"`
48677
48678	// The ID of the import image or import snapshot task to be canceled.
48679	ImportTaskId *string `type:"string"`
48680}
48681
48682// String returns the string representation
48683func (s CancelImportTaskInput) String() string {
48684	return awsutil.Prettify(s)
48685}
48686
48687// GoString returns the string representation
48688func (s CancelImportTaskInput) GoString() string {
48689	return s.String()
48690}
48691
48692// SetCancelReason sets the CancelReason field's value.
48693func (s *CancelImportTaskInput) SetCancelReason(v string) *CancelImportTaskInput {
48694	s.CancelReason = &v
48695	return s
48696}
48697
48698// SetDryRun sets the DryRun field's value.
48699func (s *CancelImportTaskInput) SetDryRun(v bool) *CancelImportTaskInput {
48700	s.DryRun = &v
48701	return s
48702}
48703
48704// SetImportTaskId sets the ImportTaskId field's value.
48705func (s *CancelImportTaskInput) SetImportTaskId(v string) *CancelImportTaskInput {
48706	s.ImportTaskId = &v
48707	return s
48708}
48709
48710type CancelImportTaskOutput struct {
48711	_ struct{} `type:"structure"`
48712
48713	// The ID of the task being canceled.
48714	ImportTaskId *string `locationName:"importTaskId" type:"string"`
48715
48716	// The current state of the task being canceled.
48717	PreviousState *string `locationName:"previousState" type:"string"`
48718
48719	// The current state of the task being canceled.
48720	State *string `locationName:"state" type:"string"`
48721}
48722
48723// String returns the string representation
48724func (s CancelImportTaskOutput) String() string {
48725	return awsutil.Prettify(s)
48726}
48727
48728// GoString returns the string representation
48729func (s CancelImportTaskOutput) GoString() string {
48730	return s.String()
48731}
48732
48733// SetImportTaskId sets the ImportTaskId field's value.
48734func (s *CancelImportTaskOutput) SetImportTaskId(v string) *CancelImportTaskOutput {
48735	s.ImportTaskId = &v
48736	return s
48737}
48738
48739// SetPreviousState sets the PreviousState field's value.
48740func (s *CancelImportTaskOutput) SetPreviousState(v string) *CancelImportTaskOutput {
48741	s.PreviousState = &v
48742	return s
48743}
48744
48745// SetState sets the State field's value.
48746func (s *CancelImportTaskOutput) SetState(v string) *CancelImportTaskOutput {
48747	s.State = &v
48748	return s
48749}
48750
48751// Contains the parameters for CancelReservedInstancesListing.
48752type CancelReservedInstancesListingInput struct {
48753	_ struct{} `type:"structure"`
48754
48755	// The ID of the Reserved Instance listing.
48756	//
48757	// ReservedInstancesListingId is a required field
48758	ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string" required:"true"`
48759}
48760
48761// String returns the string representation
48762func (s CancelReservedInstancesListingInput) String() string {
48763	return awsutil.Prettify(s)
48764}
48765
48766// GoString returns the string representation
48767func (s CancelReservedInstancesListingInput) GoString() string {
48768	return s.String()
48769}
48770
48771// Validate inspects the fields of the type to determine if they are valid.
48772func (s *CancelReservedInstancesListingInput) Validate() error {
48773	invalidParams := request.ErrInvalidParams{Context: "CancelReservedInstancesListingInput"}
48774	if s.ReservedInstancesListingId == nil {
48775		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesListingId"))
48776	}
48777
48778	if invalidParams.Len() > 0 {
48779		return invalidParams
48780	}
48781	return nil
48782}
48783
48784// SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
48785func (s *CancelReservedInstancesListingInput) SetReservedInstancesListingId(v string) *CancelReservedInstancesListingInput {
48786	s.ReservedInstancesListingId = &v
48787	return s
48788}
48789
48790// Contains the output of CancelReservedInstancesListing.
48791type CancelReservedInstancesListingOutput struct {
48792	_ struct{} `type:"structure"`
48793
48794	// The Reserved Instance listing.
48795	ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
48796}
48797
48798// String returns the string representation
48799func (s CancelReservedInstancesListingOutput) String() string {
48800	return awsutil.Prettify(s)
48801}
48802
48803// GoString returns the string representation
48804func (s CancelReservedInstancesListingOutput) GoString() string {
48805	return s.String()
48806}
48807
48808// SetReservedInstancesListings sets the ReservedInstancesListings field's value.
48809func (s *CancelReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CancelReservedInstancesListingOutput {
48810	s.ReservedInstancesListings = v
48811	return s
48812}
48813
48814// Describes a Spot Fleet error.
48815type CancelSpotFleetRequestsError struct {
48816	_ struct{} `type:"structure"`
48817
48818	// The error code.
48819	Code *string `locationName:"code" type:"string" enum:"CancelBatchErrorCode"`
48820
48821	// The description for the error code.
48822	Message *string `locationName:"message" type:"string"`
48823}
48824
48825// String returns the string representation
48826func (s CancelSpotFleetRequestsError) String() string {
48827	return awsutil.Prettify(s)
48828}
48829
48830// GoString returns the string representation
48831func (s CancelSpotFleetRequestsError) GoString() string {
48832	return s.String()
48833}
48834
48835// SetCode sets the Code field's value.
48836func (s *CancelSpotFleetRequestsError) SetCode(v string) *CancelSpotFleetRequestsError {
48837	s.Code = &v
48838	return s
48839}
48840
48841// SetMessage sets the Message field's value.
48842func (s *CancelSpotFleetRequestsError) SetMessage(v string) *CancelSpotFleetRequestsError {
48843	s.Message = &v
48844	return s
48845}
48846
48847// Describes a Spot Fleet request that was not successfully canceled.
48848type CancelSpotFleetRequestsErrorItem struct {
48849	_ struct{} `type:"structure"`
48850
48851	// The error.
48852	Error *CancelSpotFleetRequestsError `locationName:"error" type:"structure"`
48853
48854	// The ID of the Spot Fleet request.
48855	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
48856}
48857
48858// String returns the string representation
48859func (s CancelSpotFleetRequestsErrorItem) String() string {
48860	return awsutil.Prettify(s)
48861}
48862
48863// GoString returns the string representation
48864func (s CancelSpotFleetRequestsErrorItem) GoString() string {
48865	return s.String()
48866}
48867
48868// SetError sets the Error field's value.
48869func (s *CancelSpotFleetRequestsErrorItem) SetError(v *CancelSpotFleetRequestsError) *CancelSpotFleetRequestsErrorItem {
48870	s.Error = v
48871	return s
48872}
48873
48874// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
48875func (s *CancelSpotFleetRequestsErrorItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsErrorItem {
48876	s.SpotFleetRequestId = &v
48877	return s
48878}
48879
48880// Contains the parameters for CancelSpotFleetRequests.
48881type CancelSpotFleetRequestsInput struct {
48882	_ struct{} `type:"structure"`
48883
48884	// Checks whether you have the required permissions for the action, without
48885	// actually making the request, and provides an error response. If you have
48886	// the required permissions, the error response is DryRunOperation. Otherwise,
48887	// it is UnauthorizedOperation.
48888	DryRun *bool `locationName:"dryRun" type:"boolean"`
48889
48890	// The IDs of the Spot Fleet requests.
48891	//
48892	// SpotFleetRequestIds is a required field
48893	SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list" required:"true"`
48894
48895	// Indicates whether to terminate instances for a Spot Fleet request if it is
48896	// canceled successfully.
48897	//
48898	// TerminateInstances is a required field
48899	TerminateInstances *bool `locationName:"terminateInstances" type:"boolean" required:"true"`
48900}
48901
48902// String returns the string representation
48903func (s CancelSpotFleetRequestsInput) String() string {
48904	return awsutil.Prettify(s)
48905}
48906
48907// GoString returns the string representation
48908func (s CancelSpotFleetRequestsInput) GoString() string {
48909	return s.String()
48910}
48911
48912// Validate inspects the fields of the type to determine if they are valid.
48913func (s *CancelSpotFleetRequestsInput) Validate() error {
48914	invalidParams := request.ErrInvalidParams{Context: "CancelSpotFleetRequestsInput"}
48915	if s.SpotFleetRequestIds == nil {
48916		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestIds"))
48917	}
48918	if s.TerminateInstances == nil {
48919		invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
48920	}
48921
48922	if invalidParams.Len() > 0 {
48923		return invalidParams
48924	}
48925	return nil
48926}
48927
48928// SetDryRun sets the DryRun field's value.
48929func (s *CancelSpotFleetRequestsInput) SetDryRun(v bool) *CancelSpotFleetRequestsInput {
48930	s.DryRun = &v
48931	return s
48932}
48933
48934// SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
48935func (s *CancelSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *CancelSpotFleetRequestsInput {
48936	s.SpotFleetRequestIds = v
48937	return s
48938}
48939
48940// SetTerminateInstances sets the TerminateInstances field's value.
48941func (s *CancelSpotFleetRequestsInput) SetTerminateInstances(v bool) *CancelSpotFleetRequestsInput {
48942	s.TerminateInstances = &v
48943	return s
48944}
48945
48946// Contains the output of CancelSpotFleetRequests.
48947type CancelSpotFleetRequestsOutput struct {
48948	_ struct{} `type:"structure"`
48949
48950	// Information about the Spot Fleet requests that are successfully canceled.
48951	SuccessfulFleetRequests []*CancelSpotFleetRequestsSuccessItem `locationName:"successfulFleetRequestSet" locationNameList:"item" type:"list"`
48952
48953	// Information about the Spot Fleet requests that are not successfully canceled.
48954	UnsuccessfulFleetRequests []*CancelSpotFleetRequestsErrorItem `locationName:"unsuccessfulFleetRequestSet" locationNameList:"item" type:"list"`
48955}
48956
48957// String returns the string representation
48958func (s CancelSpotFleetRequestsOutput) String() string {
48959	return awsutil.Prettify(s)
48960}
48961
48962// GoString returns the string representation
48963func (s CancelSpotFleetRequestsOutput) GoString() string {
48964	return s.String()
48965}
48966
48967// SetSuccessfulFleetRequests sets the SuccessfulFleetRequests field's value.
48968func (s *CancelSpotFleetRequestsOutput) SetSuccessfulFleetRequests(v []*CancelSpotFleetRequestsSuccessItem) *CancelSpotFleetRequestsOutput {
48969	s.SuccessfulFleetRequests = v
48970	return s
48971}
48972
48973// SetUnsuccessfulFleetRequests sets the UnsuccessfulFleetRequests field's value.
48974func (s *CancelSpotFleetRequestsOutput) SetUnsuccessfulFleetRequests(v []*CancelSpotFleetRequestsErrorItem) *CancelSpotFleetRequestsOutput {
48975	s.UnsuccessfulFleetRequests = v
48976	return s
48977}
48978
48979// Describes a Spot Fleet request that was successfully canceled.
48980type CancelSpotFleetRequestsSuccessItem struct {
48981	_ struct{} `type:"structure"`
48982
48983	// The current state of the Spot Fleet request.
48984	CurrentSpotFleetRequestState *string `locationName:"currentSpotFleetRequestState" type:"string" enum:"BatchState"`
48985
48986	// The previous state of the Spot Fleet request.
48987	PreviousSpotFleetRequestState *string `locationName:"previousSpotFleetRequestState" type:"string" enum:"BatchState"`
48988
48989	// The ID of the Spot Fleet request.
48990	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
48991}
48992
48993// String returns the string representation
48994func (s CancelSpotFleetRequestsSuccessItem) String() string {
48995	return awsutil.Prettify(s)
48996}
48997
48998// GoString returns the string representation
48999func (s CancelSpotFleetRequestsSuccessItem) GoString() string {
49000	return s.String()
49001}
49002
49003// SetCurrentSpotFleetRequestState sets the CurrentSpotFleetRequestState field's value.
49004func (s *CancelSpotFleetRequestsSuccessItem) SetCurrentSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
49005	s.CurrentSpotFleetRequestState = &v
49006	return s
49007}
49008
49009// SetPreviousSpotFleetRequestState sets the PreviousSpotFleetRequestState field's value.
49010func (s *CancelSpotFleetRequestsSuccessItem) SetPreviousSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
49011	s.PreviousSpotFleetRequestState = &v
49012	return s
49013}
49014
49015// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
49016func (s *CancelSpotFleetRequestsSuccessItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsSuccessItem {
49017	s.SpotFleetRequestId = &v
49018	return s
49019}
49020
49021// Contains the parameters for CancelSpotInstanceRequests.
49022type CancelSpotInstanceRequestsInput struct {
49023	_ struct{} `type:"structure"`
49024
49025	// Checks whether you have the required permissions for the action, without
49026	// actually making the request, and provides an error response. If you have
49027	// the required permissions, the error response is DryRunOperation. Otherwise,
49028	// it is UnauthorizedOperation.
49029	DryRun *bool `locationName:"dryRun" type:"boolean"`
49030
49031	// One or more Spot Instance request IDs.
49032	//
49033	// SpotInstanceRequestIds is a required field
49034	SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list" required:"true"`
49035}
49036
49037// String returns the string representation
49038func (s CancelSpotInstanceRequestsInput) String() string {
49039	return awsutil.Prettify(s)
49040}
49041
49042// GoString returns the string representation
49043func (s CancelSpotInstanceRequestsInput) GoString() string {
49044	return s.String()
49045}
49046
49047// Validate inspects the fields of the type to determine if they are valid.
49048func (s *CancelSpotInstanceRequestsInput) Validate() error {
49049	invalidParams := request.ErrInvalidParams{Context: "CancelSpotInstanceRequestsInput"}
49050	if s.SpotInstanceRequestIds == nil {
49051		invalidParams.Add(request.NewErrParamRequired("SpotInstanceRequestIds"))
49052	}
49053
49054	if invalidParams.Len() > 0 {
49055		return invalidParams
49056	}
49057	return nil
49058}
49059
49060// SetDryRun sets the DryRun field's value.
49061func (s *CancelSpotInstanceRequestsInput) SetDryRun(v bool) *CancelSpotInstanceRequestsInput {
49062	s.DryRun = &v
49063	return s
49064}
49065
49066// SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
49067func (s *CancelSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *CancelSpotInstanceRequestsInput {
49068	s.SpotInstanceRequestIds = v
49069	return s
49070}
49071
49072// Contains the output of CancelSpotInstanceRequests.
49073type CancelSpotInstanceRequestsOutput struct {
49074	_ struct{} `type:"structure"`
49075
49076	// One or more Spot Instance requests.
49077	CancelledSpotInstanceRequests []*CancelledSpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
49078}
49079
49080// String returns the string representation
49081func (s CancelSpotInstanceRequestsOutput) String() string {
49082	return awsutil.Prettify(s)
49083}
49084
49085// GoString returns the string representation
49086func (s CancelSpotInstanceRequestsOutput) GoString() string {
49087	return s.String()
49088}
49089
49090// SetCancelledSpotInstanceRequests sets the CancelledSpotInstanceRequests field's value.
49091func (s *CancelSpotInstanceRequestsOutput) SetCancelledSpotInstanceRequests(v []*CancelledSpotInstanceRequest) *CancelSpotInstanceRequestsOutput {
49092	s.CancelledSpotInstanceRequests = v
49093	return s
49094}
49095
49096// Describes a request to cancel a Spot Instance.
49097type CancelledSpotInstanceRequest struct {
49098	_ struct{} `type:"structure"`
49099
49100	// The ID of the Spot Instance request.
49101	SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
49102
49103	// The state of the Spot Instance request.
49104	State *string `locationName:"state" type:"string" enum:"CancelSpotInstanceRequestState"`
49105}
49106
49107// String returns the string representation
49108func (s CancelledSpotInstanceRequest) String() string {
49109	return awsutil.Prettify(s)
49110}
49111
49112// GoString returns the string representation
49113func (s CancelledSpotInstanceRequest) GoString() string {
49114	return s.String()
49115}
49116
49117// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
49118func (s *CancelledSpotInstanceRequest) SetSpotInstanceRequestId(v string) *CancelledSpotInstanceRequest {
49119	s.SpotInstanceRequestId = &v
49120	return s
49121}
49122
49123// SetState sets the State field's value.
49124func (s *CancelledSpotInstanceRequest) SetState(v string) *CancelledSpotInstanceRequest {
49125	s.State = &v
49126	return s
49127}
49128
49129// Describes a Capacity Reservation.
49130type CapacityReservation struct {
49131	_ struct{} `type:"structure"`
49132
49133	// The Availability Zone in which the capacity is reserved.
49134	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
49135
49136	// The Availability Zone ID of the Capacity Reservation.
49137	AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"`
49138
49139	// The remaining capacity. Indicates the number of instances that can be launched
49140	// in the Capacity Reservation.
49141	AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
49142
49143	// The Amazon Resource Name (ARN) of the Capacity Reservation.
49144	CapacityReservationArn *string `locationName:"capacityReservationArn" type:"string"`
49145
49146	// The ID of the Capacity Reservation.
49147	CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
49148
49149	// The date and time at which the Capacity Reservation was created.
49150	CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
49151
49152	// Indicates whether the Capacity Reservation supports EBS-optimized instances.
49153	// This optimization provides dedicated throughput to Amazon EBS and an optimized
49154	// configuration stack to provide optimal I/O performance. This optimization
49155	// isn't available with all instance types. Additional usage charges apply when
49156	// using an EBS- optimized instance.
49157	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
49158
49159	// The date and time at which the Capacity Reservation expires. When a Capacity
49160	// Reservation expires, the reserved capacity is released and you can no longer
49161	// launch instances into it. The Capacity Reservation's state changes to expired
49162	// when it reaches its end date and time.
49163	EndDate *time.Time `locationName:"endDate" type:"timestamp"`
49164
49165	// Indicates the way in which the Capacity Reservation ends. A Capacity Reservation
49166	// can have one of the following end types:
49167	//
49168	//    * unlimited - The Capacity Reservation remains active until you explicitly
49169	//    cancel it.
49170	//
49171	//    * limited - The Capacity Reservation expires automatically at a specified
49172	//    date and time.
49173	EndDateType *string `locationName:"endDateType" type:"string" enum:"EndDateType"`
49174
49175	// Indicates whether the Capacity Reservation supports instances with temporary,
49176	// block-level storage.
49177	EphemeralStorage *bool `locationName:"ephemeralStorage" type:"boolean"`
49178
49179	// Indicates the type of instance launches that the Capacity Reservation accepts.
49180	// The options include:
49181	//
49182	//    * open - The Capacity Reservation accepts all instances that have matching
49183	//    attributes (instance type, platform, and Availability Zone). Instances
49184	//    that have matching attributes launch into the Capacity Reservation automatically
49185	//    without specifying any additional parameters.
49186	//
49187	//    * targeted - The Capacity Reservation only accepts instances that have
49188	//    matching attributes (instance type, platform, and Availability Zone),
49189	//    and explicitly target the Capacity Reservation. This ensures that only
49190	//    permitted instances can use the reserved capacity.
49191	InstanceMatchCriteria *string `locationName:"instanceMatchCriteria" type:"string" enum:"InstanceMatchCriteria"`
49192
49193	// The type of operating system for which the Capacity Reservation reserves
49194	// capacity.
49195	InstancePlatform *string `locationName:"instancePlatform" type:"string" enum:"CapacityReservationInstancePlatform"`
49196
49197	// The type of instance for which the Capacity Reservation reserves capacity.
49198	InstanceType *string `locationName:"instanceType" type:"string"`
49199
49200	// The Amazon Resource Name (ARN) of the Outpost on which the Capacity Reservation
49201	// was created.
49202	OutpostArn *string `locationName:"outpostArn" type:"string"`
49203
49204	// The ID of the Amazon Web Services account that owns the Capacity Reservation.
49205	OwnerId *string `locationName:"ownerId" type:"string"`
49206
49207	// The date and time at which the Capacity Reservation was started.
49208	StartDate *time.Time `locationName:"startDate" type:"timestamp"`
49209
49210	// The current state of the Capacity Reservation. A Capacity Reservation can
49211	// be in one of the following states:
49212	//
49213	//    * active - The Capacity Reservation is active and the capacity is available
49214	//    for your use.
49215	//
49216	//    * expired - The Capacity Reservation expired automatically at the date
49217	//    and time specified in your request. The reserved capacity is no longer
49218	//    available for your use.
49219	//
49220	//    * cancelled - The Capacity Reservation was cancelled. The reserved capacity
49221	//    is no longer available for your use.
49222	//
49223	//    * pending - The Capacity Reservation request was successful but the capacity
49224	//    provisioning is still pending.
49225	//
49226	//    * failed - The Capacity Reservation request has failed. A request might
49227	//    fail due to invalid request parameters, capacity constraints, or instance
49228	//    limit constraints. Failed requests are retained for 60 minutes.
49229	State *string `locationName:"state" type:"string" enum:"CapacityReservationState"`
49230
49231	// Any tags assigned to the Capacity Reservation.
49232	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
49233
49234	// Indicates the tenancy of the Capacity Reservation. A Capacity Reservation
49235	// can have one of the following tenancy settings:
49236	//
49237	//    * default - The Capacity Reservation is created on hardware that is shared
49238	//    with other Amazon Web Services accounts.
49239	//
49240	//    * dedicated - The Capacity Reservation is created on single-tenant hardware
49241	//    that is dedicated to a single Amazon Web Services account.
49242	Tenancy *string `locationName:"tenancy" type:"string" enum:"CapacityReservationTenancy"`
49243
49244	// The total number of instances for which the Capacity Reservation reserves
49245	// capacity.
49246	TotalInstanceCount *int64 `locationName:"totalInstanceCount" type:"integer"`
49247}
49248
49249// String returns the string representation
49250func (s CapacityReservation) String() string {
49251	return awsutil.Prettify(s)
49252}
49253
49254// GoString returns the string representation
49255func (s CapacityReservation) GoString() string {
49256	return s.String()
49257}
49258
49259// SetAvailabilityZone sets the AvailabilityZone field's value.
49260func (s *CapacityReservation) SetAvailabilityZone(v string) *CapacityReservation {
49261	s.AvailabilityZone = &v
49262	return s
49263}
49264
49265// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
49266func (s *CapacityReservation) SetAvailabilityZoneId(v string) *CapacityReservation {
49267	s.AvailabilityZoneId = &v
49268	return s
49269}
49270
49271// SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
49272func (s *CapacityReservation) SetAvailableInstanceCount(v int64) *CapacityReservation {
49273	s.AvailableInstanceCount = &v
49274	return s
49275}
49276
49277// SetCapacityReservationArn sets the CapacityReservationArn field's value.
49278func (s *CapacityReservation) SetCapacityReservationArn(v string) *CapacityReservation {
49279	s.CapacityReservationArn = &v
49280	return s
49281}
49282
49283// SetCapacityReservationId sets the CapacityReservationId field's value.
49284func (s *CapacityReservation) SetCapacityReservationId(v string) *CapacityReservation {
49285	s.CapacityReservationId = &v
49286	return s
49287}
49288
49289// SetCreateDate sets the CreateDate field's value.
49290func (s *CapacityReservation) SetCreateDate(v time.Time) *CapacityReservation {
49291	s.CreateDate = &v
49292	return s
49293}
49294
49295// SetEbsOptimized sets the EbsOptimized field's value.
49296func (s *CapacityReservation) SetEbsOptimized(v bool) *CapacityReservation {
49297	s.EbsOptimized = &v
49298	return s
49299}
49300
49301// SetEndDate sets the EndDate field's value.
49302func (s *CapacityReservation) SetEndDate(v time.Time) *CapacityReservation {
49303	s.EndDate = &v
49304	return s
49305}
49306
49307// SetEndDateType sets the EndDateType field's value.
49308func (s *CapacityReservation) SetEndDateType(v string) *CapacityReservation {
49309	s.EndDateType = &v
49310	return s
49311}
49312
49313// SetEphemeralStorage sets the EphemeralStorage field's value.
49314func (s *CapacityReservation) SetEphemeralStorage(v bool) *CapacityReservation {
49315	s.EphemeralStorage = &v
49316	return s
49317}
49318
49319// SetInstanceMatchCriteria sets the InstanceMatchCriteria field's value.
49320func (s *CapacityReservation) SetInstanceMatchCriteria(v string) *CapacityReservation {
49321	s.InstanceMatchCriteria = &v
49322	return s
49323}
49324
49325// SetInstancePlatform sets the InstancePlatform field's value.
49326func (s *CapacityReservation) SetInstancePlatform(v string) *CapacityReservation {
49327	s.InstancePlatform = &v
49328	return s
49329}
49330
49331// SetInstanceType sets the InstanceType field's value.
49332func (s *CapacityReservation) SetInstanceType(v string) *CapacityReservation {
49333	s.InstanceType = &v
49334	return s
49335}
49336
49337// SetOutpostArn sets the OutpostArn field's value.
49338func (s *CapacityReservation) SetOutpostArn(v string) *CapacityReservation {
49339	s.OutpostArn = &v
49340	return s
49341}
49342
49343// SetOwnerId sets the OwnerId field's value.
49344func (s *CapacityReservation) SetOwnerId(v string) *CapacityReservation {
49345	s.OwnerId = &v
49346	return s
49347}
49348
49349// SetStartDate sets the StartDate field's value.
49350func (s *CapacityReservation) SetStartDate(v time.Time) *CapacityReservation {
49351	s.StartDate = &v
49352	return s
49353}
49354
49355// SetState sets the State field's value.
49356func (s *CapacityReservation) SetState(v string) *CapacityReservation {
49357	s.State = &v
49358	return s
49359}
49360
49361// SetTags sets the Tags field's value.
49362func (s *CapacityReservation) SetTags(v []*Tag) *CapacityReservation {
49363	s.Tags = v
49364	return s
49365}
49366
49367// SetTenancy sets the Tenancy field's value.
49368func (s *CapacityReservation) SetTenancy(v string) *CapacityReservation {
49369	s.Tenancy = &v
49370	return s
49371}
49372
49373// SetTotalInstanceCount sets the TotalInstanceCount field's value.
49374func (s *CapacityReservation) SetTotalInstanceCount(v int64) *CapacityReservation {
49375	s.TotalInstanceCount = &v
49376	return s
49377}
49378
49379// Describes a resource group to which a Capacity Reservation has been added.
49380type CapacityReservationGroup struct {
49381	_ struct{} `type:"structure"`
49382
49383	// The ARN of the resource group.
49384	GroupArn *string `locationName:"groupArn" type:"string"`
49385
49386	// The ID of the Amazon Web Services account that owns the resource group.
49387	OwnerId *string `locationName:"ownerId" type:"string"`
49388}
49389
49390// String returns the string representation
49391func (s CapacityReservationGroup) String() string {
49392	return awsutil.Prettify(s)
49393}
49394
49395// GoString returns the string representation
49396func (s CapacityReservationGroup) GoString() string {
49397	return s.String()
49398}
49399
49400// SetGroupArn sets the GroupArn field's value.
49401func (s *CapacityReservationGroup) SetGroupArn(v string) *CapacityReservationGroup {
49402	s.GroupArn = &v
49403	return s
49404}
49405
49406// SetOwnerId sets the OwnerId field's value.
49407func (s *CapacityReservationGroup) SetOwnerId(v string) *CapacityReservationGroup {
49408	s.OwnerId = &v
49409	return s
49410}
49411
49412// Describes the strategy for using unused Capacity Reservations for fulfilling
49413// On-Demand capacity.
49414//
49415// This strategy can only be used if the EC2 Fleet is of type instant.
49416//
49417// For more information about Capacity Reservations, see On-Demand Capacity
49418// Reservations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html)
49419// in the Amazon EC2 User Guide. For examples of using Capacity Reservations
49420// in an EC2 Fleet, see EC2 Fleet example configurations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-examples.html)
49421// in the Amazon EC2 User Guide.
49422type CapacityReservationOptions struct {
49423	_ struct{} `type:"structure"`
49424
49425	// Indicates whether to use unused Capacity Reservations for fulfilling On-Demand
49426	// capacity.
49427	//
49428	// If you specify use-capacity-reservations-first, the fleet uses unused Capacity
49429	// Reservations to fulfill On-Demand capacity up to the target On-Demand capacity.
49430	// If multiple instance pools have unused Capacity Reservations, the On-Demand
49431	// allocation strategy (lowest-price or prioritized) is applied. If the number
49432	// of unused Capacity Reservations is less than the On-Demand target capacity,
49433	// the remaining On-Demand target capacity is launched according to the On-Demand
49434	// allocation strategy (lowest-price or prioritized).
49435	//
49436	// If you do not specify a value, the fleet fulfils the On-Demand capacity according
49437	// to the chosen On-Demand allocation strategy.
49438	UsageStrategy *string `locationName:"usageStrategy" type:"string" enum:"FleetCapacityReservationUsageStrategy"`
49439}
49440
49441// String returns the string representation
49442func (s CapacityReservationOptions) String() string {
49443	return awsutil.Prettify(s)
49444}
49445
49446// GoString returns the string representation
49447func (s CapacityReservationOptions) GoString() string {
49448	return s.String()
49449}
49450
49451// SetUsageStrategy sets the UsageStrategy field's value.
49452func (s *CapacityReservationOptions) SetUsageStrategy(v string) *CapacityReservationOptions {
49453	s.UsageStrategy = &v
49454	return s
49455}
49456
49457// Describes the strategy for using unused Capacity Reservations for fulfilling
49458// On-Demand capacity.
49459//
49460// This strategy can only be used if the EC2 Fleet is of type instant.
49461//
49462// For more information about Capacity Reservations, see On-Demand Capacity
49463// Reservations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html)
49464// in the Amazon EC2 User Guide. For examples of using Capacity Reservations
49465// in an EC2 Fleet, see EC2 Fleet example configurations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-examples.html)
49466// in the Amazon EC2 User Guide.
49467type CapacityReservationOptionsRequest struct {
49468	_ struct{} `type:"structure"`
49469
49470	// Indicates whether to use unused Capacity Reservations for fulfilling On-Demand
49471	// capacity.
49472	//
49473	// If you specify use-capacity-reservations-first, the fleet uses unused Capacity
49474	// Reservations to fulfill On-Demand capacity up to the target On-Demand capacity.
49475	// If multiple instance pools have unused Capacity Reservations, the On-Demand
49476	// allocation strategy (lowest-price or prioritized) is applied. If the number
49477	// of unused Capacity Reservations is less than the On-Demand target capacity,
49478	// the remaining On-Demand target capacity is launched according to the On-Demand
49479	// allocation strategy (lowest-price or prioritized).
49480	//
49481	// If you do not specify a value, the fleet fulfils the On-Demand capacity according
49482	// to the chosen On-Demand allocation strategy.
49483	UsageStrategy *string `type:"string" enum:"FleetCapacityReservationUsageStrategy"`
49484}
49485
49486// String returns the string representation
49487func (s CapacityReservationOptionsRequest) String() string {
49488	return awsutil.Prettify(s)
49489}
49490
49491// GoString returns the string representation
49492func (s CapacityReservationOptionsRequest) GoString() string {
49493	return s.String()
49494}
49495
49496// SetUsageStrategy sets the UsageStrategy field's value.
49497func (s *CapacityReservationOptionsRequest) SetUsageStrategy(v string) *CapacityReservationOptionsRequest {
49498	s.UsageStrategy = &v
49499	return s
49500}
49501
49502// Describes an instance's Capacity Reservation targeting option. You can specify
49503// only one parameter at a time. If you specify CapacityReservationPreference
49504// and CapacityReservationTarget, the request fails.
49505//
49506// Use the CapacityReservationPreference parameter to configure the instance
49507// to run as an On-Demand Instance or to run in any open Capacity Reservation
49508// that has matching attributes (instance type, platform, Availability Zone).
49509// Use the CapacityReservationTarget parameter to explicitly target a specific
49510// Capacity Reservation or a Capacity Reservation group.
49511type CapacityReservationSpecification struct {
49512	_ struct{} `type:"structure"`
49513
49514	// Indicates the instance's Capacity Reservation preferences. Possible preferences
49515	// include:
49516	//
49517	//    * open - The instance can run in any open Capacity Reservation that has
49518	//    matching attributes (instance type, platform, Availability Zone).
49519	//
49520	//    * none - The instance avoids running in a Capacity Reservation even if
49521	//    one is available. The instance runs as an On-Demand Instance.
49522	CapacityReservationPreference *string `type:"string" enum:"CapacityReservationPreference"`
49523
49524	// Information about the target Capacity Reservation or Capacity Reservation
49525	// group.
49526	CapacityReservationTarget *CapacityReservationTarget `type:"structure"`
49527}
49528
49529// String returns the string representation
49530func (s CapacityReservationSpecification) String() string {
49531	return awsutil.Prettify(s)
49532}
49533
49534// GoString returns the string representation
49535func (s CapacityReservationSpecification) GoString() string {
49536	return s.String()
49537}
49538
49539// SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
49540func (s *CapacityReservationSpecification) SetCapacityReservationPreference(v string) *CapacityReservationSpecification {
49541	s.CapacityReservationPreference = &v
49542	return s
49543}
49544
49545// SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
49546func (s *CapacityReservationSpecification) SetCapacityReservationTarget(v *CapacityReservationTarget) *CapacityReservationSpecification {
49547	s.CapacityReservationTarget = v
49548	return s
49549}
49550
49551// Describes the instance's Capacity Reservation targeting preferences. The
49552// action returns the capacityReservationPreference response element if the
49553// instance is configured to run in On-Demand capacity, or if it is configured
49554// in run in any open Capacity Reservation that has matching attributes (instance
49555// type, platform, Availability Zone). The action returns the capacityReservationTarget
49556// response element if the instance explicily targets a specific Capacity Reservation
49557// or Capacity Reservation group.
49558type CapacityReservationSpecificationResponse struct {
49559	_ struct{} `type:"structure"`
49560
49561	// Describes the instance's Capacity Reservation preferences. Possible preferences
49562	// include:
49563	//
49564	//    * open - The instance can run in any open Capacity Reservation that has
49565	//    matching attributes (instance type, platform, Availability Zone).
49566	//
49567	//    * none - The instance avoids running in a Capacity Reservation even if
49568	//    one is available. The instance runs in On-Demand capacity.
49569	CapacityReservationPreference *string `locationName:"capacityReservationPreference" type:"string" enum:"CapacityReservationPreference"`
49570
49571	// Information about the targeted Capacity Reservation or Capacity Reservation
49572	// group.
49573	CapacityReservationTarget *CapacityReservationTargetResponse `locationName:"capacityReservationTarget" type:"structure"`
49574}
49575
49576// String returns the string representation
49577func (s CapacityReservationSpecificationResponse) String() string {
49578	return awsutil.Prettify(s)
49579}
49580
49581// GoString returns the string representation
49582func (s CapacityReservationSpecificationResponse) GoString() string {
49583	return s.String()
49584}
49585
49586// SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
49587func (s *CapacityReservationSpecificationResponse) SetCapacityReservationPreference(v string) *CapacityReservationSpecificationResponse {
49588	s.CapacityReservationPreference = &v
49589	return s
49590}
49591
49592// SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
49593func (s *CapacityReservationSpecificationResponse) SetCapacityReservationTarget(v *CapacityReservationTargetResponse) *CapacityReservationSpecificationResponse {
49594	s.CapacityReservationTarget = v
49595	return s
49596}
49597
49598// Describes a target Capacity Reservation or Capacity Reservation group.
49599type CapacityReservationTarget struct {
49600	_ struct{} `type:"structure"`
49601
49602	// The ID of the Capacity Reservation in which to run the instance.
49603	CapacityReservationId *string `type:"string"`
49604
49605	// The ARN of the Capacity Reservation resource group in which to run the instance.
49606	CapacityReservationResourceGroupArn *string `type:"string"`
49607}
49608
49609// String returns the string representation
49610func (s CapacityReservationTarget) String() string {
49611	return awsutil.Prettify(s)
49612}
49613
49614// GoString returns the string representation
49615func (s CapacityReservationTarget) GoString() string {
49616	return s.String()
49617}
49618
49619// SetCapacityReservationId sets the CapacityReservationId field's value.
49620func (s *CapacityReservationTarget) SetCapacityReservationId(v string) *CapacityReservationTarget {
49621	s.CapacityReservationId = &v
49622	return s
49623}
49624
49625// SetCapacityReservationResourceGroupArn sets the CapacityReservationResourceGroupArn field's value.
49626func (s *CapacityReservationTarget) SetCapacityReservationResourceGroupArn(v string) *CapacityReservationTarget {
49627	s.CapacityReservationResourceGroupArn = &v
49628	return s
49629}
49630
49631// Describes a target Capacity Reservation or Capacity Reservation group.
49632type CapacityReservationTargetResponse struct {
49633	_ struct{} `type:"structure"`
49634
49635	// The ID of the targeted Capacity Reservation.
49636	CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
49637
49638	// The ARN of the targeted Capacity Reservation group.
49639	CapacityReservationResourceGroupArn *string `locationName:"capacityReservationResourceGroupArn" type:"string"`
49640}
49641
49642// String returns the string representation
49643func (s CapacityReservationTargetResponse) String() string {
49644	return awsutil.Prettify(s)
49645}
49646
49647// GoString returns the string representation
49648func (s CapacityReservationTargetResponse) GoString() string {
49649	return s.String()
49650}
49651
49652// SetCapacityReservationId sets the CapacityReservationId field's value.
49653func (s *CapacityReservationTargetResponse) SetCapacityReservationId(v string) *CapacityReservationTargetResponse {
49654	s.CapacityReservationId = &v
49655	return s
49656}
49657
49658// SetCapacityReservationResourceGroupArn sets the CapacityReservationResourceGroupArn field's value.
49659func (s *CapacityReservationTargetResponse) SetCapacityReservationResourceGroupArn(v string) *CapacityReservationTargetResponse {
49660	s.CapacityReservationResourceGroupArn = &v
49661	return s
49662}
49663
49664// Describes a carrier gateway.
49665type CarrierGateway struct {
49666	_ struct{} `type:"structure"`
49667
49668	// The ID of the carrier gateway.
49669	CarrierGatewayId *string `locationName:"carrierGatewayId" type:"string"`
49670
49671	// The Amazon Web Services account ID of the owner of the carrier gateway.
49672	OwnerId *string `locationName:"ownerId" type:"string"`
49673
49674	// The state of the carrier gateway.
49675	State *string `locationName:"state" type:"string" enum:"CarrierGatewayState"`
49676
49677	// The tags assigned to the carrier gateway.
49678	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
49679
49680	// The ID of the VPC associated with the carrier gateway.
49681	VpcId *string `locationName:"vpcId" type:"string"`
49682}
49683
49684// String returns the string representation
49685func (s CarrierGateway) String() string {
49686	return awsutil.Prettify(s)
49687}
49688
49689// GoString returns the string representation
49690func (s CarrierGateway) GoString() string {
49691	return s.String()
49692}
49693
49694// SetCarrierGatewayId sets the CarrierGatewayId field's value.
49695func (s *CarrierGateway) SetCarrierGatewayId(v string) *CarrierGateway {
49696	s.CarrierGatewayId = &v
49697	return s
49698}
49699
49700// SetOwnerId sets the OwnerId field's value.
49701func (s *CarrierGateway) SetOwnerId(v string) *CarrierGateway {
49702	s.OwnerId = &v
49703	return s
49704}
49705
49706// SetState sets the State field's value.
49707func (s *CarrierGateway) SetState(v string) *CarrierGateway {
49708	s.State = &v
49709	return s
49710}
49711
49712// SetTags sets the Tags field's value.
49713func (s *CarrierGateway) SetTags(v []*Tag) *CarrierGateway {
49714	s.Tags = v
49715	return s
49716}
49717
49718// SetVpcId sets the VpcId field's value.
49719func (s *CarrierGateway) SetVpcId(v string) *CarrierGateway {
49720	s.VpcId = &v
49721	return s
49722}
49723
49724// Information about the client certificate used for authentication.
49725type CertificateAuthentication struct {
49726	_ struct{} `type:"structure"`
49727
49728	// The ARN of the client certificate.
49729	ClientRootCertificateChain *string `locationName:"clientRootCertificateChain" type:"string"`
49730}
49731
49732// String returns the string representation
49733func (s CertificateAuthentication) String() string {
49734	return awsutil.Prettify(s)
49735}
49736
49737// GoString returns the string representation
49738func (s CertificateAuthentication) GoString() string {
49739	return s.String()
49740}
49741
49742// SetClientRootCertificateChain sets the ClientRootCertificateChain field's value.
49743func (s *CertificateAuthentication) SetClientRootCertificateChain(v string) *CertificateAuthentication {
49744	s.ClientRootCertificateChain = &v
49745	return s
49746}
49747
49748// Information about the client certificate to be used for authentication.
49749type CertificateAuthenticationRequest struct {
49750	_ struct{} `type:"structure"`
49751
49752	// The ARN of the client certificate. The certificate must be signed by a certificate
49753	// authority (CA) and it must be provisioned in AWS Certificate Manager (ACM).
49754	ClientRootCertificateChainArn *string `type:"string"`
49755}
49756
49757// String returns the string representation
49758func (s CertificateAuthenticationRequest) String() string {
49759	return awsutil.Prettify(s)
49760}
49761
49762// GoString returns the string representation
49763func (s CertificateAuthenticationRequest) GoString() string {
49764	return s.String()
49765}
49766
49767// SetClientRootCertificateChainArn sets the ClientRootCertificateChainArn field's value.
49768func (s *CertificateAuthenticationRequest) SetClientRootCertificateChainArn(v string) *CertificateAuthenticationRequest {
49769	s.ClientRootCertificateChainArn = &v
49770	return s
49771}
49772
49773// Provides authorization for Amazon to bring a specific IP address range to
49774// a specific Amazon Web Services account using bring your own IP addresses
49775// (BYOIP). For more information, see Configuring your BYOIP address range (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#prepare-for-byoip)
49776// in the Amazon Elastic Compute Cloud User Guide.
49777type CidrAuthorizationContext struct {
49778	_ struct{} `type:"structure"`
49779
49780	// The plain-text authorization message for the prefix and account.
49781	//
49782	// Message is a required field
49783	Message *string `type:"string" required:"true"`
49784
49785	// The signed authorization message for the prefix and account.
49786	//
49787	// Signature is a required field
49788	Signature *string `type:"string" required:"true"`
49789}
49790
49791// String returns the string representation
49792func (s CidrAuthorizationContext) String() string {
49793	return awsutil.Prettify(s)
49794}
49795
49796// GoString returns the string representation
49797func (s CidrAuthorizationContext) GoString() string {
49798	return s.String()
49799}
49800
49801// Validate inspects the fields of the type to determine if they are valid.
49802func (s *CidrAuthorizationContext) Validate() error {
49803	invalidParams := request.ErrInvalidParams{Context: "CidrAuthorizationContext"}
49804	if s.Message == nil {
49805		invalidParams.Add(request.NewErrParamRequired("Message"))
49806	}
49807	if s.Signature == nil {
49808		invalidParams.Add(request.NewErrParamRequired("Signature"))
49809	}
49810
49811	if invalidParams.Len() > 0 {
49812		return invalidParams
49813	}
49814	return nil
49815}
49816
49817// SetMessage sets the Message field's value.
49818func (s *CidrAuthorizationContext) SetMessage(v string) *CidrAuthorizationContext {
49819	s.Message = &v
49820	return s
49821}
49822
49823// SetSignature sets the Signature field's value.
49824func (s *CidrAuthorizationContext) SetSignature(v string) *CidrAuthorizationContext {
49825	s.Signature = &v
49826	return s
49827}
49828
49829// Describes an IPv4 CIDR block.
49830type CidrBlock struct {
49831	_ struct{} `type:"structure"`
49832
49833	// The IPv4 CIDR block.
49834	CidrBlock *string `locationName:"cidrBlock" type:"string"`
49835}
49836
49837// String returns the string representation
49838func (s CidrBlock) String() string {
49839	return awsutil.Prettify(s)
49840}
49841
49842// GoString returns the string representation
49843func (s CidrBlock) GoString() string {
49844	return s.String()
49845}
49846
49847// SetCidrBlock sets the CidrBlock field's value.
49848func (s *CidrBlock) SetCidrBlock(v string) *CidrBlock {
49849	s.CidrBlock = &v
49850	return s
49851}
49852
49853// Describes the ClassicLink DNS support status of a VPC.
49854type ClassicLinkDnsSupport struct {
49855	_ struct{} `type:"structure"`
49856
49857	// Indicates whether ClassicLink DNS support is enabled for the VPC.
49858	ClassicLinkDnsSupported *bool `locationName:"classicLinkDnsSupported" type:"boolean"`
49859
49860	// The ID of the VPC.
49861	VpcId *string `locationName:"vpcId" type:"string"`
49862}
49863
49864// String returns the string representation
49865func (s ClassicLinkDnsSupport) String() string {
49866	return awsutil.Prettify(s)
49867}
49868
49869// GoString returns the string representation
49870func (s ClassicLinkDnsSupport) GoString() string {
49871	return s.String()
49872}
49873
49874// SetClassicLinkDnsSupported sets the ClassicLinkDnsSupported field's value.
49875func (s *ClassicLinkDnsSupport) SetClassicLinkDnsSupported(v bool) *ClassicLinkDnsSupport {
49876	s.ClassicLinkDnsSupported = &v
49877	return s
49878}
49879
49880// SetVpcId sets the VpcId field's value.
49881func (s *ClassicLinkDnsSupport) SetVpcId(v string) *ClassicLinkDnsSupport {
49882	s.VpcId = &v
49883	return s
49884}
49885
49886// Describes a linked EC2-Classic instance.
49887type ClassicLinkInstance struct {
49888	_ struct{} `type:"structure"`
49889
49890	// A list of security groups.
49891	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
49892
49893	// The ID of the instance.
49894	InstanceId *string `locationName:"instanceId" type:"string"`
49895
49896	// Any tags assigned to the instance.
49897	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
49898
49899	// The ID of the VPC.
49900	VpcId *string `locationName:"vpcId" type:"string"`
49901}
49902
49903// String returns the string representation
49904func (s ClassicLinkInstance) String() string {
49905	return awsutil.Prettify(s)
49906}
49907
49908// GoString returns the string representation
49909func (s ClassicLinkInstance) GoString() string {
49910	return s.String()
49911}
49912
49913// SetGroups sets the Groups field's value.
49914func (s *ClassicLinkInstance) SetGroups(v []*GroupIdentifier) *ClassicLinkInstance {
49915	s.Groups = v
49916	return s
49917}
49918
49919// SetInstanceId sets the InstanceId field's value.
49920func (s *ClassicLinkInstance) SetInstanceId(v string) *ClassicLinkInstance {
49921	s.InstanceId = &v
49922	return s
49923}
49924
49925// SetTags sets the Tags field's value.
49926func (s *ClassicLinkInstance) SetTags(v []*Tag) *ClassicLinkInstance {
49927	s.Tags = v
49928	return s
49929}
49930
49931// SetVpcId sets the VpcId field's value.
49932func (s *ClassicLinkInstance) SetVpcId(v string) *ClassicLinkInstance {
49933	s.VpcId = &v
49934	return s
49935}
49936
49937// Describes a Classic Load Balancer.
49938type ClassicLoadBalancer struct {
49939	_ struct{} `type:"structure"`
49940
49941	// The name of the load balancer.
49942	Name *string `locationName:"name" type:"string"`
49943}
49944
49945// String returns the string representation
49946func (s ClassicLoadBalancer) String() string {
49947	return awsutil.Prettify(s)
49948}
49949
49950// GoString returns the string representation
49951func (s ClassicLoadBalancer) GoString() string {
49952	return s.String()
49953}
49954
49955// SetName sets the Name field's value.
49956func (s *ClassicLoadBalancer) SetName(v string) *ClassicLoadBalancer {
49957	s.Name = &v
49958	return s
49959}
49960
49961// Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet
49962// registers the running Spot Instances with these Classic Load Balancers.
49963type ClassicLoadBalancersConfig struct {
49964	_ struct{} `type:"structure"`
49965
49966	// One or more Classic Load Balancers.
49967	ClassicLoadBalancers []*ClassicLoadBalancer `locationName:"classicLoadBalancers" locationNameList:"item" min:"1" type:"list"`
49968}
49969
49970// String returns the string representation
49971func (s ClassicLoadBalancersConfig) String() string {
49972	return awsutil.Prettify(s)
49973}
49974
49975// GoString returns the string representation
49976func (s ClassicLoadBalancersConfig) GoString() string {
49977	return s.String()
49978}
49979
49980// Validate inspects the fields of the type to determine if they are valid.
49981func (s *ClassicLoadBalancersConfig) Validate() error {
49982	invalidParams := request.ErrInvalidParams{Context: "ClassicLoadBalancersConfig"}
49983	if s.ClassicLoadBalancers != nil && len(s.ClassicLoadBalancers) < 1 {
49984		invalidParams.Add(request.NewErrParamMinLen("ClassicLoadBalancers", 1))
49985	}
49986
49987	if invalidParams.Len() > 0 {
49988		return invalidParams
49989	}
49990	return nil
49991}
49992
49993// SetClassicLoadBalancers sets the ClassicLoadBalancers field's value.
49994func (s *ClassicLoadBalancersConfig) SetClassicLoadBalancers(v []*ClassicLoadBalancer) *ClassicLoadBalancersConfig {
49995	s.ClassicLoadBalancers = v
49996	return s
49997}
49998
49999// Describes the state of a client certificate revocation list.
50000type ClientCertificateRevocationListStatus struct {
50001	_ struct{} `type:"structure"`
50002
50003	// The state of the client certificate revocation list.
50004	Code *string `locationName:"code" type:"string" enum:"ClientCertificateRevocationListStatusCode"`
50005
50006	// A message about the status of the client certificate revocation list, if
50007	// applicable.
50008	Message *string `locationName:"message" type:"string"`
50009}
50010
50011// String returns the string representation
50012func (s ClientCertificateRevocationListStatus) String() string {
50013	return awsutil.Prettify(s)
50014}
50015
50016// GoString returns the string representation
50017func (s ClientCertificateRevocationListStatus) GoString() string {
50018	return s.String()
50019}
50020
50021// SetCode sets the Code field's value.
50022func (s *ClientCertificateRevocationListStatus) SetCode(v string) *ClientCertificateRevocationListStatus {
50023	s.Code = &v
50024	return s
50025}
50026
50027// SetMessage sets the Message field's value.
50028func (s *ClientCertificateRevocationListStatus) SetMessage(v string) *ClientCertificateRevocationListStatus {
50029	s.Message = &v
50030	return s
50031}
50032
50033// The options for managing connection authorization for new client connections.
50034type ClientConnectOptions struct {
50035	_ struct{} `type:"structure"`
50036
50037	// Indicates whether client connect options are enabled. The default is false
50038	// (not enabled).
50039	Enabled *bool `type:"boolean"`
50040
50041	// The Amazon Resource Name (ARN) of the AWS Lambda function used for connection
50042	// authorization.
50043	LambdaFunctionArn *string `type:"string"`
50044}
50045
50046// String returns the string representation
50047func (s ClientConnectOptions) String() string {
50048	return awsutil.Prettify(s)
50049}
50050
50051// GoString returns the string representation
50052func (s ClientConnectOptions) GoString() string {
50053	return s.String()
50054}
50055
50056// SetEnabled sets the Enabled field's value.
50057func (s *ClientConnectOptions) SetEnabled(v bool) *ClientConnectOptions {
50058	s.Enabled = &v
50059	return s
50060}
50061
50062// SetLambdaFunctionArn sets the LambdaFunctionArn field's value.
50063func (s *ClientConnectOptions) SetLambdaFunctionArn(v string) *ClientConnectOptions {
50064	s.LambdaFunctionArn = &v
50065	return s
50066}
50067
50068// The options for managing connection authorization for new client connections.
50069type ClientConnectResponseOptions struct {
50070	_ struct{} `type:"structure"`
50071
50072	// Indicates whether client connect options are enabled.
50073	Enabled *bool `locationName:"enabled" type:"boolean"`
50074
50075	// The Amazon Resource Name (ARN) of the AWS Lambda function used for connection
50076	// authorization.
50077	LambdaFunctionArn *string `locationName:"lambdaFunctionArn" type:"string"`
50078
50079	// The status of any updates to the client connect options.
50080	Status *ClientVpnEndpointAttributeStatus `locationName:"status" type:"structure"`
50081}
50082
50083// String returns the string representation
50084func (s ClientConnectResponseOptions) String() string {
50085	return awsutil.Prettify(s)
50086}
50087
50088// GoString returns the string representation
50089func (s ClientConnectResponseOptions) GoString() string {
50090	return s.String()
50091}
50092
50093// SetEnabled sets the Enabled field's value.
50094func (s *ClientConnectResponseOptions) SetEnabled(v bool) *ClientConnectResponseOptions {
50095	s.Enabled = &v
50096	return s
50097}
50098
50099// SetLambdaFunctionArn sets the LambdaFunctionArn field's value.
50100func (s *ClientConnectResponseOptions) SetLambdaFunctionArn(v string) *ClientConnectResponseOptions {
50101	s.LambdaFunctionArn = &v
50102	return s
50103}
50104
50105// SetStatus sets the Status field's value.
50106func (s *ClientConnectResponseOptions) SetStatus(v *ClientVpnEndpointAttributeStatus) *ClientConnectResponseOptions {
50107	s.Status = v
50108	return s
50109}
50110
50111// Describes the client-specific data.
50112type ClientData struct {
50113	_ struct{} `type:"structure"`
50114
50115	// A user-defined comment about the disk upload.
50116	Comment *string `type:"string"`
50117
50118	// The time that the disk upload ends.
50119	UploadEnd *time.Time `type:"timestamp"`
50120
50121	// The size of the uploaded disk image, in GiB.
50122	UploadSize *float64 `type:"double"`
50123
50124	// The time that the disk upload starts.
50125	UploadStart *time.Time `type:"timestamp"`
50126}
50127
50128// String returns the string representation
50129func (s ClientData) String() string {
50130	return awsutil.Prettify(s)
50131}
50132
50133// GoString returns the string representation
50134func (s ClientData) GoString() string {
50135	return s.String()
50136}
50137
50138// SetComment sets the Comment field's value.
50139func (s *ClientData) SetComment(v string) *ClientData {
50140	s.Comment = &v
50141	return s
50142}
50143
50144// SetUploadEnd sets the UploadEnd field's value.
50145func (s *ClientData) SetUploadEnd(v time.Time) *ClientData {
50146	s.UploadEnd = &v
50147	return s
50148}
50149
50150// SetUploadSize sets the UploadSize field's value.
50151func (s *ClientData) SetUploadSize(v float64) *ClientData {
50152	s.UploadSize = &v
50153	return s
50154}
50155
50156// SetUploadStart sets the UploadStart field's value.
50157func (s *ClientData) SetUploadStart(v time.Time) *ClientData {
50158	s.UploadStart = &v
50159	return s
50160}
50161
50162// Describes the authentication methods used by a Client VPN endpoint. For more
50163// information, see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/client-authentication.html)
50164// in the AWS Client VPN Administrator Guide.
50165type ClientVpnAuthentication struct {
50166	_ struct{} `type:"structure"`
50167
50168	// Information about the Active Directory, if applicable.
50169	ActiveDirectory *DirectoryServiceAuthentication `locationName:"activeDirectory" type:"structure"`
50170
50171	// Information about the IAM SAML identity provider, if applicable.
50172	FederatedAuthentication *FederatedAuthentication `locationName:"federatedAuthentication" type:"structure"`
50173
50174	// Information about the authentication certificates, if applicable.
50175	MutualAuthentication *CertificateAuthentication `locationName:"mutualAuthentication" type:"structure"`
50176
50177	// The authentication type used.
50178	Type *string `locationName:"type" type:"string" enum:"ClientVpnAuthenticationType"`
50179}
50180
50181// String returns the string representation
50182func (s ClientVpnAuthentication) String() string {
50183	return awsutil.Prettify(s)
50184}
50185
50186// GoString returns the string representation
50187func (s ClientVpnAuthentication) GoString() string {
50188	return s.String()
50189}
50190
50191// SetActiveDirectory sets the ActiveDirectory field's value.
50192func (s *ClientVpnAuthentication) SetActiveDirectory(v *DirectoryServiceAuthentication) *ClientVpnAuthentication {
50193	s.ActiveDirectory = v
50194	return s
50195}
50196
50197// SetFederatedAuthentication sets the FederatedAuthentication field's value.
50198func (s *ClientVpnAuthentication) SetFederatedAuthentication(v *FederatedAuthentication) *ClientVpnAuthentication {
50199	s.FederatedAuthentication = v
50200	return s
50201}
50202
50203// SetMutualAuthentication sets the MutualAuthentication field's value.
50204func (s *ClientVpnAuthentication) SetMutualAuthentication(v *CertificateAuthentication) *ClientVpnAuthentication {
50205	s.MutualAuthentication = v
50206	return s
50207}
50208
50209// SetType sets the Type field's value.
50210func (s *ClientVpnAuthentication) SetType(v string) *ClientVpnAuthentication {
50211	s.Type = &v
50212	return s
50213}
50214
50215// Describes the authentication method to be used by a Client VPN endpoint.
50216// For more information, see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication)
50217// in the AWS Client VPN Administrator Guide.
50218type ClientVpnAuthenticationRequest struct {
50219	_ struct{} `type:"structure"`
50220
50221	// Information about the Active Directory to be used, if applicable. You must
50222	// provide this information if Type is directory-service-authentication.
50223	ActiveDirectory *DirectoryServiceAuthenticationRequest `type:"structure"`
50224
50225	// Information about the IAM SAML identity provider to be used, if applicable.
50226	// You must provide this information if Type is federated-authentication.
50227	FederatedAuthentication *FederatedAuthenticationRequest `type:"structure"`
50228
50229	// Information about the authentication certificates to be used, if applicable.
50230	// You must provide this information if Type is certificate-authentication.
50231	MutualAuthentication *CertificateAuthenticationRequest `type:"structure"`
50232
50233	// The type of client authentication to be used.
50234	Type *string `type:"string" enum:"ClientVpnAuthenticationType"`
50235}
50236
50237// String returns the string representation
50238func (s ClientVpnAuthenticationRequest) String() string {
50239	return awsutil.Prettify(s)
50240}
50241
50242// GoString returns the string representation
50243func (s ClientVpnAuthenticationRequest) GoString() string {
50244	return s.String()
50245}
50246
50247// SetActiveDirectory sets the ActiveDirectory field's value.
50248func (s *ClientVpnAuthenticationRequest) SetActiveDirectory(v *DirectoryServiceAuthenticationRequest) *ClientVpnAuthenticationRequest {
50249	s.ActiveDirectory = v
50250	return s
50251}
50252
50253// SetFederatedAuthentication sets the FederatedAuthentication field's value.
50254func (s *ClientVpnAuthenticationRequest) SetFederatedAuthentication(v *FederatedAuthenticationRequest) *ClientVpnAuthenticationRequest {
50255	s.FederatedAuthentication = v
50256	return s
50257}
50258
50259// SetMutualAuthentication sets the MutualAuthentication field's value.
50260func (s *ClientVpnAuthenticationRequest) SetMutualAuthentication(v *CertificateAuthenticationRequest) *ClientVpnAuthenticationRequest {
50261	s.MutualAuthentication = v
50262	return s
50263}
50264
50265// SetType sets the Type field's value.
50266func (s *ClientVpnAuthenticationRequest) SetType(v string) *ClientVpnAuthenticationRequest {
50267	s.Type = &v
50268	return s
50269}
50270
50271// Describes the state of an authorization rule.
50272type ClientVpnAuthorizationRuleStatus struct {
50273	_ struct{} `type:"structure"`
50274
50275	// The state of the authorization rule.
50276	Code *string `locationName:"code" type:"string" enum:"ClientVpnAuthorizationRuleStatusCode"`
50277
50278	// A message about the status of the authorization rule, if applicable.
50279	Message *string `locationName:"message" type:"string"`
50280}
50281
50282// String returns the string representation
50283func (s ClientVpnAuthorizationRuleStatus) String() string {
50284	return awsutil.Prettify(s)
50285}
50286
50287// GoString returns the string representation
50288func (s ClientVpnAuthorizationRuleStatus) GoString() string {
50289	return s.String()
50290}
50291
50292// SetCode sets the Code field's value.
50293func (s *ClientVpnAuthorizationRuleStatus) SetCode(v string) *ClientVpnAuthorizationRuleStatus {
50294	s.Code = &v
50295	return s
50296}
50297
50298// SetMessage sets the Message field's value.
50299func (s *ClientVpnAuthorizationRuleStatus) SetMessage(v string) *ClientVpnAuthorizationRuleStatus {
50300	s.Message = &v
50301	return s
50302}
50303
50304// Describes a client connection.
50305type ClientVpnConnection struct {
50306	_ struct{} `type:"structure"`
50307
50308	// The IP address of the client.
50309	ClientIp *string `locationName:"clientIp" type:"string"`
50310
50311	// The ID of the Client VPN endpoint to which the client is connected.
50312	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
50313
50314	// The common name associated with the client. This is either the name of the
50315	// client certificate, or the Active Directory user name.
50316	CommonName *string `locationName:"commonName" type:"string"`
50317
50318	// The date and time the client connection was terminated.
50319	ConnectionEndTime *string `locationName:"connectionEndTime" type:"string"`
50320
50321	// The date and time the client connection was established.
50322	ConnectionEstablishedTime *string `locationName:"connectionEstablishedTime" type:"string"`
50323
50324	// The ID of the client connection.
50325	ConnectionId *string `locationName:"connectionId" type:"string"`
50326
50327	// The number of bytes received by the client.
50328	EgressBytes *string `locationName:"egressBytes" type:"string"`
50329
50330	// The number of packets received by the client.
50331	EgressPackets *string `locationName:"egressPackets" type:"string"`
50332
50333	// The number of bytes sent by the client.
50334	IngressBytes *string `locationName:"ingressBytes" type:"string"`
50335
50336	// The number of packets sent by the client.
50337	IngressPackets *string `locationName:"ingressPackets" type:"string"`
50338
50339	// The statuses returned by the client connect handler for posture compliance,
50340	// if applicable.
50341	PostureComplianceStatuses []*string `locationName:"postureComplianceStatusSet" locationNameList:"item" type:"list"`
50342
50343	// The current state of the client connection.
50344	Status *ClientVpnConnectionStatus `locationName:"status" type:"structure"`
50345
50346	// The current date and time.
50347	Timestamp *string `locationName:"timestamp" type:"string"`
50348
50349	// The username of the client who established the client connection. This information
50350	// is only provided if Active Directory client authentication is used.
50351	Username *string `locationName:"username" type:"string"`
50352}
50353
50354// String returns the string representation
50355func (s ClientVpnConnection) String() string {
50356	return awsutil.Prettify(s)
50357}
50358
50359// GoString returns the string representation
50360func (s ClientVpnConnection) GoString() string {
50361	return s.String()
50362}
50363
50364// SetClientIp sets the ClientIp field's value.
50365func (s *ClientVpnConnection) SetClientIp(v string) *ClientVpnConnection {
50366	s.ClientIp = &v
50367	return s
50368}
50369
50370// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
50371func (s *ClientVpnConnection) SetClientVpnEndpointId(v string) *ClientVpnConnection {
50372	s.ClientVpnEndpointId = &v
50373	return s
50374}
50375
50376// SetCommonName sets the CommonName field's value.
50377func (s *ClientVpnConnection) SetCommonName(v string) *ClientVpnConnection {
50378	s.CommonName = &v
50379	return s
50380}
50381
50382// SetConnectionEndTime sets the ConnectionEndTime field's value.
50383func (s *ClientVpnConnection) SetConnectionEndTime(v string) *ClientVpnConnection {
50384	s.ConnectionEndTime = &v
50385	return s
50386}
50387
50388// SetConnectionEstablishedTime sets the ConnectionEstablishedTime field's value.
50389func (s *ClientVpnConnection) SetConnectionEstablishedTime(v string) *ClientVpnConnection {
50390	s.ConnectionEstablishedTime = &v
50391	return s
50392}
50393
50394// SetConnectionId sets the ConnectionId field's value.
50395func (s *ClientVpnConnection) SetConnectionId(v string) *ClientVpnConnection {
50396	s.ConnectionId = &v
50397	return s
50398}
50399
50400// SetEgressBytes sets the EgressBytes field's value.
50401func (s *ClientVpnConnection) SetEgressBytes(v string) *ClientVpnConnection {
50402	s.EgressBytes = &v
50403	return s
50404}
50405
50406// SetEgressPackets sets the EgressPackets field's value.
50407func (s *ClientVpnConnection) SetEgressPackets(v string) *ClientVpnConnection {
50408	s.EgressPackets = &v
50409	return s
50410}
50411
50412// SetIngressBytes sets the IngressBytes field's value.
50413func (s *ClientVpnConnection) SetIngressBytes(v string) *ClientVpnConnection {
50414	s.IngressBytes = &v
50415	return s
50416}
50417
50418// SetIngressPackets sets the IngressPackets field's value.
50419func (s *ClientVpnConnection) SetIngressPackets(v string) *ClientVpnConnection {
50420	s.IngressPackets = &v
50421	return s
50422}
50423
50424// SetPostureComplianceStatuses sets the PostureComplianceStatuses field's value.
50425func (s *ClientVpnConnection) SetPostureComplianceStatuses(v []*string) *ClientVpnConnection {
50426	s.PostureComplianceStatuses = v
50427	return s
50428}
50429
50430// SetStatus sets the Status field's value.
50431func (s *ClientVpnConnection) SetStatus(v *ClientVpnConnectionStatus) *ClientVpnConnection {
50432	s.Status = v
50433	return s
50434}
50435
50436// SetTimestamp sets the Timestamp field's value.
50437func (s *ClientVpnConnection) SetTimestamp(v string) *ClientVpnConnection {
50438	s.Timestamp = &v
50439	return s
50440}
50441
50442// SetUsername sets the Username field's value.
50443func (s *ClientVpnConnection) SetUsername(v string) *ClientVpnConnection {
50444	s.Username = &v
50445	return s
50446}
50447
50448// Describes the status of a client connection.
50449type ClientVpnConnectionStatus struct {
50450	_ struct{} `type:"structure"`
50451
50452	// The state of the client connection.
50453	Code *string `locationName:"code" type:"string" enum:"ClientVpnConnectionStatusCode"`
50454
50455	// A message about the status of the client connection, if applicable.
50456	Message *string `locationName:"message" type:"string"`
50457}
50458
50459// String returns the string representation
50460func (s ClientVpnConnectionStatus) String() string {
50461	return awsutil.Prettify(s)
50462}
50463
50464// GoString returns the string representation
50465func (s ClientVpnConnectionStatus) GoString() string {
50466	return s.String()
50467}
50468
50469// SetCode sets the Code field's value.
50470func (s *ClientVpnConnectionStatus) SetCode(v string) *ClientVpnConnectionStatus {
50471	s.Code = &v
50472	return s
50473}
50474
50475// SetMessage sets the Message field's value.
50476func (s *ClientVpnConnectionStatus) SetMessage(v string) *ClientVpnConnectionStatus {
50477	s.Message = &v
50478	return s
50479}
50480
50481// Describes a Client VPN endpoint.
50482type ClientVpnEndpoint struct {
50483	_ struct{} `type:"structure"`
50484
50485	// Information about the associated target networks. A target network is a subnet
50486	// in a VPC.
50487	//
50488	// Deprecated: This property is deprecated. To view the target networks associated with a Client VPN endpoint, call DescribeClientVpnTargetNetworks and inspect the clientVpnTargetNetworks response element.
50489	AssociatedTargetNetworks []*AssociatedTargetNetwork `locationName:"associatedTargetNetwork" locationNameList:"item" deprecated:"true" type:"list"`
50490
50491	// Information about the authentication method used by the Client VPN endpoint.
50492	AuthenticationOptions []*ClientVpnAuthentication `locationName:"authenticationOptions" locationNameList:"item" type:"list"`
50493
50494	// The IPv4 address range, in CIDR notation, from which client IP addresses
50495	// are assigned.
50496	ClientCidrBlock *string `locationName:"clientCidrBlock" type:"string"`
50497
50498	// The options for managing connection authorization for new client connections.
50499	ClientConnectOptions *ClientConnectResponseOptions `locationName:"clientConnectOptions" type:"structure"`
50500
50501	// The ID of the Client VPN endpoint.
50502	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
50503
50504	// Information about the client connection logging options for the Client VPN
50505	// endpoint.
50506	ConnectionLogOptions *ConnectionLogResponseOptions `locationName:"connectionLogOptions" type:"structure"`
50507
50508	// The date and time the Client VPN endpoint was created.
50509	CreationTime *string `locationName:"creationTime" type:"string"`
50510
50511	// The date and time the Client VPN endpoint was deleted, if applicable.
50512	DeletionTime *string `locationName:"deletionTime" type:"string"`
50513
50514	// A brief description of the endpoint.
50515	Description *string `locationName:"description" type:"string"`
50516
50517	// The DNS name to be used by clients when connecting to the Client VPN endpoint.
50518	DnsName *string `locationName:"dnsName" type:"string"`
50519
50520	// Information about the DNS servers to be used for DNS resolution.
50521	DnsServers []*string `locationName:"dnsServer" locationNameList:"item" type:"list"`
50522
50523	// The IDs of the security groups for the target network.
50524	SecurityGroupIds []*string `locationName:"securityGroupIdSet" locationNameList:"item" type:"list"`
50525
50526	// The URL of the self-service portal.
50527	SelfServicePortalUrl *string `locationName:"selfServicePortalUrl" type:"string"`
50528
50529	// The ARN of the server certificate.
50530	ServerCertificateArn *string `locationName:"serverCertificateArn" type:"string"`
50531
50532	// Indicates whether split-tunnel is enabled in the AWS Client VPN endpoint.
50533	//
50534	// For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client
50535	// VPN Endpoint (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html)
50536	// in the AWS Client VPN Administrator Guide.
50537	SplitTunnel *bool `locationName:"splitTunnel" type:"boolean"`
50538
50539	// The current state of the Client VPN endpoint.
50540	Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"`
50541
50542	// Any tags assigned to the Client VPN endpoint.
50543	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
50544
50545	// The transport protocol used by the Client VPN endpoint.
50546	TransportProtocol *string `locationName:"transportProtocol" type:"string" enum:"TransportProtocol"`
50547
50548	// The ID of the VPC.
50549	VpcId *string `locationName:"vpcId" type:"string"`
50550
50551	// The port number for the Client VPN endpoint.
50552	VpnPort *int64 `locationName:"vpnPort" type:"integer"`
50553
50554	// The protocol used by the VPN session.
50555	VpnProtocol *string `locationName:"vpnProtocol" type:"string" enum:"VpnProtocol"`
50556}
50557
50558// String returns the string representation
50559func (s ClientVpnEndpoint) String() string {
50560	return awsutil.Prettify(s)
50561}
50562
50563// GoString returns the string representation
50564func (s ClientVpnEndpoint) GoString() string {
50565	return s.String()
50566}
50567
50568// SetAssociatedTargetNetworks sets the AssociatedTargetNetworks field's value.
50569func (s *ClientVpnEndpoint) SetAssociatedTargetNetworks(v []*AssociatedTargetNetwork) *ClientVpnEndpoint {
50570	s.AssociatedTargetNetworks = v
50571	return s
50572}
50573
50574// SetAuthenticationOptions sets the AuthenticationOptions field's value.
50575func (s *ClientVpnEndpoint) SetAuthenticationOptions(v []*ClientVpnAuthentication) *ClientVpnEndpoint {
50576	s.AuthenticationOptions = v
50577	return s
50578}
50579
50580// SetClientCidrBlock sets the ClientCidrBlock field's value.
50581func (s *ClientVpnEndpoint) SetClientCidrBlock(v string) *ClientVpnEndpoint {
50582	s.ClientCidrBlock = &v
50583	return s
50584}
50585
50586// SetClientConnectOptions sets the ClientConnectOptions field's value.
50587func (s *ClientVpnEndpoint) SetClientConnectOptions(v *ClientConnectResponseOptions) *ClientVpnEndpoint {
50588	s.ClientConnectOptions = v
50589	return s
50590}
50591
50592// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
50593func (s *ClientVpnEndpoint) SetClientVpnEndpointId(v string) *ClientVpnEndpoint {
50594	s.ClientVpnEndpointId = &v
50595	return s
50596}
50597
50598// SetConnectionLogOptions sets the ConnectionLogOptions field's value.
50599func (s *ClientVpnEndpoint) SetConnectionLogOptions(v *ConnectionLogResponseOptions) *ClientVpnEndpoint {
50600	s.ConnectionLogOptions = v
50601	return s
50602}
50603
50604// SetCreationTime sets the CreationTime field's value.
50605func (s *ClientVpnEndpoint) SetCreationTime(v string) *ClientVpnEndpoint {
50606	s.CreationTime = &v
50607	return s
50608}
50609
50610// SetDeletionTime sets the DeletionTime field's value.
50611func (s *ClientVpnEndpoint) SetDeletionTime(v string) *ClientVpnEndpoint {
50612	s.DeletionTime = &v
50613	return s
50614}
50615
50616// SetDescription sets the Description field's value.
50617func (s *ClientVpnEndpoint) SetDescription(v string) *ClientVpnEndpoint {
50618	s.Description = &v
50619	return s
50620}
50621
50622// SetDnsName sets the DnsName field's value.
50623func (s *ClientVpnEndpoint) SetDnsName(v string) *ClientVpnEndpoint {
50624	s.DnsName = &v
50625	return s
50626}
50627
50628// SetDnsServers sets the DnsServers field's value.
50629func (s *ClientVpnEndpoint) SetDnsServers(v []*string) *ClientVpnEndpoint {
50630	s.DnsServers = v
50631	return s
50632}
50633
50634// SetSecurityGroupIds sets the SecurityGroupIds field's value.
50635func (s *ClientVpnEndpoint) SetSecurityGroupIds(v []*string) *ClientVpnEndpoint {
50636	s.SecurityGroupIds = v
50637	return s
50638}
50639
50640// SetSelfServicePortalUrl sets the SelfServicePortalUrl field's value.
50641func (s *ClientVpnEndpoint) SetSelfServicePortalUrl(v string) *ClientVpnEndpoint {
50642	s.SelfServicePortalUrl = &v
50643	return s
50644}
50645
50646// SetServerCertificateArn sets the ServerCertificateArn field's value.
50647func (s *ClientVpnEndpoint) SetServerCertificateArn(v string) *ClientVpnEndpoint {
50648	s.ServerCertificateArn = &v
50649	return s
50650}
50651
50652// SetSplitTunnel sets the SplitTunnel field's value.
50653func (s *ClientVpnEndpoint) SetSplitTunnel(v bool) *ClientVpnEndpoint {
50654	s.SplitTunnel = &v
50655	return s
50656}
50657
50658// SetStatus sets the Status field's value.
50659func (s *ClientVpnEndpoint) SetStatus(v *ClientVpnEndpointStatus) *ClientVpnEndpoint {
50660	s.Status = v
50661	return s
50662}
50663
50664// SetTags sets the Tags field's value.
50665func (s *ClientVpnEndpoint) SetTags(v []*Tag) *ClientVpnEndpoint {
50666	s.Tags = v
50667	return s
50668}
50669
50670// SetTransportProtocol sets the TransportProtocol field's value.
50671func (s *ClientVpnEndpoint) SetTransportProtocol(v string) *ClientVpnEndpoint {
50672	s.TransportProtocol = &v
50673	return s
50674}
50675
50676// SetVpcId sets the VpcId field's value.
50677func (s *ClientVpnEndpoint) SetVpcId(v string) *ClientVpnEndpoint {
50678	s.VpcId = &v
50679	return s
50680}
50681
50682// SetVpnPort sets the VpnPort field's value.
50683func (s *ClientVpnEndpoint) SetVpnPort(v int64) *ClientVpnEndpoint {
50684	s.VpnPort = &v
50685	return s
50686}
50687
50688// SetVpnProtocol sets the VpnProtocol field's value.
50689func (s *ClientVpnEndpoint) SetVpnProtocol(v string) *ClientVpnEndpoint {
50690	s.VpnProtocol = &v
50691	return s
50692}
50693
50694// Describes the status of the Client VPN endpoint attribute.
50695type ClientVpnEndpointAttributeStatus struct {
50696	_ struct{} `type:"structure"`
50697
50698	// The status code.
50699	Code *string `locationName:"code" type:"string" enum:"ClientVpnEndpointAttributeStatusCode"`
50700
50701	// The status message.
50702	Message *string `locationName:"message" type:"string"`
50703}
50704
50705// String returns the string representation
50706func (s ClientVpnEndpointAttributeStatus) String() string {
50707	return awsutil.Prettify(s)
50708}
50709
50710// GoString returns the string representation
50711func (s ClientVpnEndpointAttributeStatus) GoString() string {
50712	return s.String()
50713}
50714
50715// SetCode sets the Code field's value.
50716func (s *ClientVpnEndpointAttributeStatus) SetCode(v string) *ClientVpnEndpointAttributeStatus {
50717	s.Code = &v
50718	return s
50719}
50720
50721// SetMessage sets the Message field's value.
50722func (s *ClientVpnEndpointAttributeStatus) SetMessage(v string) *ClientVpnEndpointAttributeStatus {
50723	s.Message = &v
50724	return s
50725}
50726
50727// Describes the state of a Client VPN endpoint.
50728type ClientVpnEndpointStatus struct {
50729	_ struct{} `type:"structure"`
50730
50731	// The state of the Client VPN endpoint. Possible states include:
50732	//
50733	//    * pending-associate - The Client VPN endpoint has been created but no
50734	//    target networks have been associated. The Client VPN endpoint cannot accept
50735	//    connections.
50736	//
50737	//    * available - The Client VPN endpoint has been created and a target network
50738	//    has been associated. The Client VPN endpoint can accept connections.
50739	//
50740	//    * deleting - The Client VPN endpoint is being deleted. The Client VPN
50741	//    endpoint cannot accept connections.
50742	//
50743	//    * deleted - The Client VPN endpoint has been deleted. The Client VPN endpoint
50744	//    cannot accept connections.
50745	Code *string `locationName:"code" type:"string" enum:"ClientVpnEndpointStatusCode"`
50746
50747	// A message about the status of the Client VPN endpoint.
50748	Message *string `locationName:"message" type:"string"`
50749}
50750
50751// String returns the string representation
50752func (s ClientVpnEndpointStatus) String() string {
50753	return awsutil.Prettify(s)
50754}
50755
50756// GoString returns the string representation
50757func (s ClientVpnEndpointStatus) GoString() string {
50758	return s.String()
50759}
50760
50761// SetCode sets the Code field's value.
50762func (s *ClientVpnEndpointStatus) SetCode(v string) *ClientVpnEndpointStatus {
50763	s.Code = &v
50764	return s
50765}
50766
50767// SetMessage sets the Message field's value.
50768func (s *ClientVpnEndpointStatus) SetMessage(v string) *ClientVpnEndpointStatus {
50769	s.Message = &v
50770	return s
50771}
50772
50773// Information about a Client VPN endpoint route.
50774type ClientVpnRoute struct {
50775	_ struct{} `type:"structure"`
50776
50777	// The ID of the Client VPN endpoint with which the route is associated.
50778	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
50779
50780	// A brief description of the route.
50781	Description *string `locationName:"description" type:"string"`
50782
50783	// The IPv4 address range, in CIDR notation, of the route destination.
50784	DestinationCidr *string `locationName:"destinationCidr" type:"string"`
50785
50786	// Indicates how the route was associated with the Client VPN endpoint. associate
50787	// indicates that the route was automatically added when the target network
50788	// was associated with the Client VPN endpoint. add-route indicates that the
50789	// route was manually added using the CreateClientVpnRoute action.
50790	Origin *string `locationName:"origin" type:"string"`
50791
50792	// The current state of the route.
50793	Status *ClientVpnRouteStatus `locationName:"status" type:"structure"`
50794
50795	// The ID of the subnet through which traffic is routed.
50796	TargetSubnet *string `locationName:"targetSubnet" type:"string"`
50797
50798	// The route type.
50799	Type *string `locationName:"type" type:"string"`
50800}
50801
50802// String returns the string representation
50803func (s ClientVpnRoute) String() string {
50804	return awsutil.Prettify(s)
50805}
50806
50807// GoString returns the string representation
50808func (s ClientVpnRoute) GoString() string {
50809	return s.String()
50810}
50811
50812// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
50813func (s *ClientVpnRoute) SetClientVpnEndpointId(v string) *ClientVpnRoute {
50814	s.ClientVpnEndpointId = &v
50815	return s
50816}
50817
50818// SetDescription sets the Description field's value.
50819func (s *ClientVpnRoute) SetDescription(v string) *ClientVpnRoute {
50820	s.Description = &v
50821	return s
50822}
50823
50824// SetDestinationCidr sets the DestinationCidr field's value.
50825func (s *ClientVpnRoute) SetDestinationCidr(v string) *ClientVpnRoute {
50826	s.DestinationCidr = &v
50827	return s
50828}
50829
50830// SetOrigin sets the Origin field's value.
50831func (s *ClientVpnRoute) SetOrigin(v string) *ClientVpnRoute {
50832	s.Origin = &v
50833	return s
50834}
50835
50836// SetStatus sets the Status field's value.
50837func (s *ClientVpnRoute) SetStatus(v *ClientVpnRouteStatus) *ClientVpnRoute {
50838	s.Status = v
50839	return s
50840}
50841
50842// SetTargetSubnet sets the TargetSubnet field's value.
50843func (s *ClientVpnRoute) SetTargetSubnet(v string) *ClientVpnRoute {
50844	s.TargetSubnet = &v
50845	return s
50846}
50847
50848// SetType sets the Type field's value.
50849func (s *ClientVpnRoute) SetType(v string) *ClientVpnRoute {
50850	s.Type = &v
50851	return s
50852}
50853
50854// Describes the state of a Client VPN endpoint route.
50855type ClientVpnRouteStatus struct {
50856	_ struct{} `type:"structure"`
50857
50858	// The state of the Client VPN endpoint route.
50859	Code *string `locationName:"code" type:"string" enum:"ClientVpnRouteStatusCode"`
50860
50861	// A message about the status of the Client VPN endpoint route, if applicable.
50862	Message *string `locationName:"message" type:"string"`
50863}
50864
50865// String returns the string representation
50866func (s ClientVpnRouteStatus) String() string {
50867	return awsutil.Prettify(s)
50868}
50869
50870// GoString returns the string representation
50871func (s ClientVpnRouteStatus) GoString() string {
50872	return s.String()
50873}
50874
50875// SetCode sets the Code field's value.
50876func (s *ClientVpnRouteStatus) SetCode(v string) *ClientVpnRouteStatus {
50877	s.Code = &v
50878	return s
50879}
50880
50881// SetMessage sets the Message field's value.
50882func (s *ClientVpnRouteStatus) SetMessage(v string) *ClientVpnRouteStatus {
50883	s.Message = &v
50884	return s
50885}
50886
50887// Describes address usage for a customer-owned address pool.
50888type CoipAddressUsage struct {
50889	_ struct{} `type:"structure"`
50890
50891	// The allocation ID of the address.
50892	AllocationId *string `locationName:"allocationId" type:"string"`
50893
50894	// The AWS account ID.
50895	AwsAccountId *string `locationName:"awsAccountId" type:"string"`
50896
50897	// The AWS service.
50898	AwsService *string `locationName:"awsService" type:"string"`
50899
50900	// The customer-owned IP address.
50901	CoIp *string `locationName:"coIp" type:"string"`
50902}
50903
50904// String returns the string representation
50905func (s CoipAddressUsage) String() string {
50906	return awsutil.Prettify(s)
50907}
50908
50909// GoString returns the string representation
50910func (s CoipAddressUsage) GoString() string {
50911	return s.String()
50912}
50913
50914// SetAllocationId sets the AllocationId field's value.
50915func (s *CoipAddressUsage) SetAllocationId(v string) *CoipAddressUsage {
50916	s.AllocationId = &v
50917	return s
50918}
50919
50920// SetAwsAccountId sets the AwsAccountId field's value.
50921func (s *CoipAddressUsage) SetAwsAccountId(v string) *CoipAddressUsage {
50922	s.AwsAccountId = &v
50923	return s
50924}
50925
50926// SetAwsService sets the AwsService field's value.
50927func (s *CoipAddressUsage) SetAwsService(v string) *CoipAddressUsage {
50928	s.AwsService = &v
50929	return s
50930}
50931
50932// SetCoIp sets the CoIp field's value.
50933func (s *CoipAddressUsage) SetCoIp(v string) *CoipAddressUsage {
50934	s.CoIp = &v
50935	return s
50936}
50937
50938// Describes a customer-owned address pool.
50939type CoipPool struct {
50940	_ struct{} `type:"structure"`
50941
50942	// The ID of the local gateway route table.
50943	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
50944
50945	// The ARN of the address pool.
50946	PoolArn *string `locationName:"poolArn" min:"1" type:"string"`
50947
50948	// The address ranges of the address pool.
50949	PoolCidrs []*string `locationName:"poolCidrSet" locationNameList:"item" type:"list"`
50950
50951	// The ID of the address pool.
50952	PoolId *string `locationName:"poolId" type:"string"`
50953
50954	// The tags.
50955	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
50956}
50957
50958// String returns the string representation
50959func (s CoipPool) String() string {
50960	return awsutil.Prettify(s)
50961}
50962
50963// GoString returns the string representation
50964func (s CoipPool) GoString() string {
50965	return s.String()
50966}
50967
50968// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
50969func (s *CoipPool) SetLocalGatewayRouteTableId(v string) *CoipPool {
50970	s.LocalGatewayRouteTableId = &v
50971	return s
50972}
50973
50974// SetPoolArn sets the PoolArn field's value.
50975func (s *CoipPool) SetPoolArn(v string) *CoipPool {
50976	s.PoolArn = &v
50977	return s
50978}
50979
50980// SetPoolCidrs sets the PoolCidrs field's value.
50981func (s *CoipPool) SetPoolCidrs(v []*string) *CoipPool {
50982	s.PoolCidrs = v
50983	return s
50984}
50985
50986// SetPoolId sets the PoolId field's value.
50987func (s *CoipPool) SetPoolId(v string) *CoipPool {
50988	s.PoolId = &v
50989	return s
50990}
50991
50992// SetTags sets the Tags field's value.
50993func (s *CoipPool) SetTags(v []*Tag) *CoipPool {
50994	s.Tags = v
50995	return s
50996}
50997
50998type ConfirmProductInstanceInput struct {
50999	_ struct{} `type:"structure"`
51000
51001	// Checks whether you have the required permissions for the action, without
51002	// actually making the request, and provides an error response. If you have
51003	// the required permissions, the error response is DryRunOperation. Otherwise,
51004	// it is UnauthorizedOperation.
51005	DryRun *bool `locationName:"dryRun" type:"boolean"`
51006
51007	// The ID of the instance.
51008	//
51009	// InstanceId is a required field
51010	InstanceId *string `type:"string" required:"true"`
51011
51012	// The product code. This must be a product code that you own.
51013	//
51014	// ProductCode is a required field
51015	ProductCode *string `type:"string" required:"true"`
51016}
51017
51018// String returns the string representation
51019func (s ConfirmProductInstanceInput) String() string {
51020	return awsutil.Prettify(s)
51021}
51022
51023// GoString returns the string representation
51024func (s ConfirmProductInstanceInput) GoString() string {
51025	return s.String()
51026}
51027
51028// Validate inspects the fields of the type to determine if they are valid.
51029func (s *ConfirmProductInstanceInput) Validate() error {
51030	invalidParams := request.ErrInvalidParams{Context: "ConfirmProductInstanceInput"}
51031	if s.InstanceId == nil {
51032		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
51033	}
51034	if s.ProductCode == nil {
51035		invalidParams.Add(request.NewErrParamRequired("ProductCode"))
51036	}
51037
51038	if invalidParams.Len() > 0 {
51039		return invalidParams
51040	}
51041	return nil
51042}
51043
51044// SetDryRun sets the DryRun field's value.
51045func (s *ConfirmProductInstanceInput) SetDryRun(v bool) *ConfirmProductInstanceInput {
51046	s.DryRun = &v
51047	return s
51048}
51049
51050// SetInstanceId sets the InstanceId field's value.
51051func (s *ConfirmProductInstanceInput) SetInstanceId(v string) *ConfirmProductInstanceInput {
51052	s.InstanceId = &v
51053	return s
51054}
51055
51056// SetProductCode sets the ProductCode field's value.
51057func (s *ConfirmProductInstanceInput) SetProductCode(v string) *ConfirmProductInstanceInput {
51058	s.ProductCode = &v
51059	return s
51060}
51061
51062type ConfirmProductInstanceOutput struct {
51063	_ struct{} `type:"structure"`
51064
51065	// The Amazon Web Services account ID of the instance owner. This is only present
51066	// if the product code is attached to the instance.
51067	OwnerId *string `locationName:"ownerId" type:"string"`
51068
51069	// The return value of the request. Returns true if the specified product code
51070	// is owned by the requester and associated with the specified instance.
51071	Return *bool `locationName:"return" type:"boolean"`
51072}
51073
51074// String returns the string representation
51075func (s ConfirmProductInstanceOutput) String() string {
51076	return awsutil.Prettify(s)
51077}
51078
51079// GoString returns the string representation
51080func (s ConfirmProductInstanceOutput) GoString() string {
51081	return s.String()
51082}
51083
51084// SetOwnerId sets the OwnerId field's value.
51085func (s *ConfirmProductInstanceOutput) SetOwnerId(v string) *ConfirmProductInstanceOutput {
51086	s.OwnerId = &v
51087	return s
51088}
51089
51090// SetReturn sets the Return field's value.
51091func (s *ConfirmProductInstanceOutput) SetReturn(v bool) *ConfirmProductInstanceOutput {
51092	s.Return = &v
51093	return s
51094}
51095
51096// Describes the client connection logging options for the Client VPN endpoint.
51097type ConnectionLogOptions struct {
51098	_ struct{} `type:"structure"`
51099
51100	// The name of the CloudWatch Logs log group. Required if connection logging
51101	// is enabled.
51102	CloudwatchLogGroup *string `type:"string"`
51103
51104	// The name of the CloudWatch Logs log stream to which the connection data is
51105	// published.
51106	CloudwatchLogStream *string `type:"string"`
51107
51108	// Indicates whether connection logging is enabled.
51109	Enabled *bool `type:"boolean"`
51110}
51111
51112// String returns the string representation
51113func (s ConnectionLogOptions) String() string {
51114	return awsutil.Prettify(s)
51115}
51116
51117// GoString returns the string representation
51118func (s ConnectionLogOptions) GoString() string {
51119	return s.String()
51120}
51121
51122// SetCloudwatchLogGroup sets the CloudwatchLogGroup field's value.
51123func (s *ConnectionLogOptions) SetCloudwatchLogGroup(v string) *ConnectionLogOptions {
51124	s.CloudwatchLogGroup = &v
51125	return s
51126}
51127
51128// SetCloudwatchLogStream sets the CloudwatchLogStream field's value.
51129func (s *ConnectionLogOptions) SetCloudwatchLogStream(v string) *ConnectionLogOptions {
51130	s.CloudwatchLogStream = &v
51131	return s
51132}
51133
51134// SetEnabled sets the Enabled field's value.
51135func (s *ConnectionLogOptions) SetEnabled(v bool) *ConnectionLogOptions {
51136	s.Enabled = &v
51137	return s
51138}
51139
51140// Information about the client connection logging options for a Client VPN
51141// endpoint.
51142type ConnectionLogResponseOptions struct {
51143	_ struct{} `type:"structure"`
51144
51145	// The name of the Amazon CloudWatch Logs log group to which connection logging
51146	// data is published.
51147	CloudwatchLogGroup *string `type:"string"`
51148
51149	// The name of the Amazon CloudWatch Logs log stream to which connection logging
51150	// data is published.
51151	CloudwatchLogStream *string `type:"string"`
51152
51153	// Indicates whether client connection logging is enabled for the Client VPN
51154	// endpoint.
51155	Enabled *bool `type:"boolean"`
51156}
51157
51158// String returns the string representation
51159func (s ConnectionLogResponseOptions) String() string {
51160	return awsutil.Prettify(s)
51161}
51162
51163// GoString returns the string representation
51164func (s ConnectionLogResponseOptions) GoString() string {
51165	return s.String()
51166}
51167
51168// SetCloudwatchLogGroup sets the CloudwatchLogGroup field's value.
51169func (s *ConnectionLogResponseOptions) SetCloudwatchLogGroup(v string) *ConnectionLogResponseOptions {
51170	s.CloudwatchLogGroup = &v
51171	return s
51172}
51173
51174// SetCloudwatchLogStream sets the CloudwatchLogStream field's value.
51175func (s *ConnectionLogResponseOptions) SetCloudwatchLogStream(v string) *ConnectionLogResponseOptions {
51176	s.CloudwatchLogStream = &v
51177	return s
51178}
51179
51180// SetEnabled sets the Enabled field's value.
51181func (s *ConnectionLogResponseOptions) SetEnabled(v bool) *ConnectionLogResponseOptions {
51182	s.Enabled = &v
51183	return s
51184}
51185
51186// Describes a connection notification for a VPC endpoint or VPC endpoint service.
51187type ConnectionNotification struct {
51188	_ struct{} `type:"structure"`
51189
51190	// The events for the notification. Valid values are Accept, Connect, Delete,
51191	// and Reject.
51192	ConnectionEvents []*string `locationName:"connectionEvents" locationNameList:"item" type:"list"`
51193
51194	// The ARN of the SNS topic for the notification.
51195	ConnectionNotificationArn *string `locationName:"connectionNotificationArn" type:"string"`
51196
51197	// The ID of the notification.
51198	ConnectionNotificationId *string `locationName:"connectionNotificationId" type:"string"`
51199
51200	// The state of the notification.
51201	ConnectionNotificationState *string `locationName:"connectionNotificationState" type:"string" enum:"ConnectionNotificationState"`
51202
51203	// The type of notification.
51204	ConnectionNotificationType *string `locationName:"connectionNotificationType" type:"string" enum:"ConnectionNotificationType"`
51205
51206	// The ID of the endpoint service.
51207	ServiceId *string `locationName:"serviceId" type:"string"`
51208
51209	// The ID of the VPC endpoint.
51210	VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
51211}
51212
51213// String returns the string representation
51214func (s ConnectionNotification) String() string {
51215	return awsutil.Prettify(s)
51216}
51217
51218// GoString returns the string representation
51219func (s ConnectionNotification) GoString() string {
51220	return s.String()
51221}
51222
51223// SetConnectionEvents sets the ConnectionEvents field's value.
51224func (s *ConnectionNotification) SetConnectionEvents(v []*string) *ConnectionNotification {
51225	s.ConnectionEvents = v
51226	return s
51227}
51228
51229// SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
51230func (s *ConnectionNotification) SetConnectionNotificationArn(v string) *ConnectionNotification {
51231	s.ConnectionNotificationArn = &v
51232	return s
51233}
51234
51235// SetConnectionNotificationId sets the ConnectionNotificationId field's value.
51236func (s *ConnectionNotification) SetConnectionNotificationId(v string) *ConnectionNotification {
51237	s.ConnectionNotificationId = &v
51238	return s
51239}
51240
51241// SetConnectionNotificationState sets the ConnectionNotificationState field's value.
51242func (s *ConnectionNotification) SetConnectionNotificationState(v string) *ConnectionNotification {
51243	s.ConnectionNotificationState = &v
51244	return s
51245}
51246
51247// SetConnectionNotificationType sets the ConnectionNotificationType field's value.
51248func (s *ConnectionNotification) SetConnectionNotificationType(v string) *ConnectionNotification {
51249	s.ConnectionNotificationType = &v
51250	return s
51251}
51252
51253// SetServiceId sets the ServiceId field's value.
51254func (s *ConnectionNotification) SetServiceId(v string) *ConnectionNotification {
51255	s.ServiceId = &v
51256	return s
51257}
51258
51259// SetVpcEndpointId sets the VpcEndpointId field's value.
51260func (s *ConnectionNotification) SetVpcEndpointId(v string) *ConnectionNotification {
51261	s.VpcEndpointId = &v
51262	return s
51263}
51264
51265// Describes a conversion task.
51266type ConversionTask struct {
51267	_ struct{} `type:"structure"`
51268
51269	// The ID of the conversion task.
51270	ConversionTaskId *string `locationName:"conversionTaskId" type:"string"`
51271
51272	// The time when the task expires. If the upload isn't complete before the expiration
51273	// time, we automatically cancel the task.
51274	ExpirationTime *string `locationName:"expirationTime" type:"string"`
51275
51276	// If the task is for importing an instance, this contains information about
51277	// the import instance task.
51278	ImportInstance *ImportInstanceTaskDetails `locationName:"importInstance" type:"structure"`
51279
51280	// If the task is for importing a volume, this contains information about the
51281	// import volume task.
51282	ImportVolume *ImportVolumeTaskDetails `locationName:"importVolume" type:"structure"`
51283
51284	// The state of the conversion task.
51285	State *string `locationName:"state" type:"string" enum:"ConversionTaskState"`
51286
51287	// The status message related to the conversion task.
51288	StatusMessage *string `locationName:"statusMessage" type:"string"`
51289
51290	// Any tags assigned to the task.
51291	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
51292}
51293
51294// String returns the string representation
51295func (s ConversionTask) String() string {
51296	return awsutil.Prettify(s)
51297}
51298
51299// GoString returns the string representation
51300func (s ConversionTask) GoString() string {
51301	return s.String()
51302}
51303
51304// SetConversionTaskId sets the ConversionTaskId field's value.
51305func (s *ConversionTask) SetConversionTaskId(v string) *ConversionTask {
51306	s.ConversionTaskId = &v
51307	return s
51308}
51309
51310// SetExpirationTime sets the ExpirationTime field's value.
51311func (s *ConversionTask) SetExpirationTime(v string) *ConversionTask {
51312	s.ExpirationTime = &v
51313	return s
51314}
51315
51316// SetImportInstance sets the ImportInstance field's value.
51317func (s *ConversionTask) SetImportInstance(v *ImportInstanceTaskDetails) *ConversionTask {
51318	s.ImportInstance = v
51319	return s
51320}
51321
51322// SetImportVolume sets the ImportVolume field's value.
51323func (s *ConversionTask) SetImportVolume(v *ImportVolumeTaskDetails) *ConversionTask {
51324	s.ImportVolume = v
51325	return s
51326}
51327
51328// SetState sets the State field's value.
51329func (s *ConversionTask) SetState(v string) *ConversionTask {
51330	s.State = &v
51331	return s
51332}
51333
51334// SetStatusMessage sets the StatusMessage field's value.
51335func (s *ConversionTask) SetStatusMessage(v string) *ConversionTask {
51336	s.StatusMessage = &v
51337	return s
51338}
51339
51340// SetTags sets the Tags field's value.
51341func (s *ConversionTask) SetTags(v []*Tag) *ConversionTask {
51342	s.Tags = v
51343	return s
51344}
51345
51346type CopyFpgaImageInput struct {
51347	_ struct{} `type:"structure"`
51348
51349	// Unique, case-sensitive identifier that you provide to ensure the idempotency
51350	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
51351	ClientToken *string `type:"string"`
51352
51353	// The description for the new AFI.
51354	Description *string `type:"string"`
51355
51356	// Checks whether you have the required permissions for the action, without
51357	// actually making the request, and provides an error response. If you have
51358	// the required permissions, the error response is DryRunOperation. Otherwise,
51359	// it is UnauthorizedOperation.
51360	DryRun *bool `type:"boolean"`
51361
51362	// The name for the new AFI. The default is the name of the source AFI.
51363	Name *string `type:"string"`
51364
51365	// The ID of the source AFI.
51366	//
51367	// SourceFpgaImageId is a required field
51368	SourceFpgaImageId *string `type:"string" required:"true"`
51369
51370	// The Region that contains the source AFI.
51371	//
51372	// SourceRegion is a required field
51373	SourceRegion *string `type:"string" required:"true"`
51374}
51375
51376// String returns the string representation
51377func (s CopyFpgaImageInput) String() string {
51378	return awsutil.Prettify(s)
51379}
51380
51381// GoString returns the string representation
51382func (s CopyFpgaImageInput) GoString() string {
51383	return s.String()
51384}
51385
51386// Validate inspects the fields of the type to determine if they are valid.
51387func (s *CopyFpgaImageInput) Validate() error {
51388	invalidParams := request.ErrInvalidParams{Context: "CopyFpgaImageInput"}
51389	if s.SourceFpgaImageId == nil {
51390		invalidParams.Add(request.NewErrParamRequired("SourceFpgaImageId"))
51391	}
51392	if s.SourceRegion == nil {
51393		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
51394	}
51395
51396	if invalidParams.Len() > 0 {
51397		return invalidParams
51398	}
51399	return nil
51400}
51401
51402// SetClientToken sets the ClientToken field's value.
51403func (s *CopyFpgaImageInput) SetClientToken(v string) *CopyFpgaImageInput {
51404	s.ClientToken = &v
51405	return s
51406}
51407
51408// SetDescription sets the Description field's value.
51409func (s *CopyFpgaImageInput) SetDescription(v string) *CopyFpgaImageInput {
51410	s.Description = &v
51411	return s
51412}
51413
51414// SetDryRun sets the DryRun field's value.
51415func (s *CopyFpgaImageInput) SetDryRun(v bool) *CopyFpgaImageInput {
51416	s.DryRun = &v
51417	return s
51418}
51419
51420// SetName sets the Name field's value.
51421func (s *CopyFpgaImageInput) SetName(v string) *CopyFpgaImageInput {
51422	s.Name = &v
51423	return s
51424}
51425
51426// SetSourceFpgaImageId sets the SourceFpgaImageId field's value.
51427func (s *CopyFpgaImageInput) SetSourceFpgaImageId(v string) *CopyFpgaImageInput {
51428	s.SourceFpgaImageId = &v
51429	return s
51430}
51431
51432// SetSourceRegion sets the SourceRegion field's value.
51433func (s *CopyFpgaImageInput) SetSourceRegion(v string) *CopyFpgaImageInput {
51434	s.SourceRegion = &v
51435	return s
51436}
51437
51438type CopyFpgaImageOutput struct {
51439	_ struct{} `type:"structure"`
51440
51441	// The ID of the new AFI.
51442	FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
51443}
51444
51445// String returns the string representation
51446func (s CopyFpgaImageOutput) String() string {
51447	return awsutil.Prettify(s)
51448}
51449
51450// GoString returns the string representation
51451func (s CopyFpgaImageOutput) GoString() string {
51452	return s.String()
51453}
51454
51455// SetFpgaImageId sets the FpgaImageId field's value.
51456func (s *CopyFpgaImageOutput) SetFpgaImageId(v string) *CopyFpgaImageOutput {
51457	s.FpgaImageId = &v
51458	return s
51459}
51460
51461// Contains the parameters for CopyImage.
51462type CopyImageInput struct {
51463	_ struct{} `type:"structure"`
51464
51465	// Unique, case-sensitive identifier you provide to ensure idempotency of the
51466	// request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html)
51467	// in the Amazon EC2 API Reference.
51468	ClientToken *string `type:"string"`
51469
51470	// A description for the new AMI in the destination Region.
51471	Description *string `type:"string"`
51472
51473	// The Amazon Resource Name (ARN) of the Outpost to which to copy the AMI. Only
51474	// specify this parameter when copying an AMI from an AWS Region to an Outpost.
51475	// The AMI must be in the Region of the destination Outpost. You cannot copy
51476	// an AMI from an Outpost to a Region, from one Outpost to another, or within
51477	// the same Outpost.
51478	//
51479	// 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)
51480	// in the Amazon Elastic Compute Cloud User Guide.
51481	DestinationOutpostArn *string `type:"string"`
51482
51483	// Checks whether you have the required permissions for the action, without
51484	// actually making the request, and provides an error response. If you have
51485	// the required permissions, the error response is DryRunOperation. Otherwise,
51486	// it is UnauthorizedOperation.
51487	DryRun *bool `locationName:"dryRun" type:"boolean"`
51488
51489	// Specifies whether the destination snapshots of the copied image should be
51490	// encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot
51491	// create an unencrypted copy of an encrypted snapshot. The default CMK for
51492	// EBS is used unless you specify a non-default AWS Key Management Service (AWS
51493	// KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption
51494	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
51495	// in the Amazon Elastic Compute Cloud User Guide.
51496	Encrypted *bool `locationName:"encrypted" type:"boolean"`
51497
51498	// The identifier of the symmetric AWS Key Management Service (AWS KMS) customer
51499	// master key (CMK) to use when creating encrypted volumes. If this parameter
51500	// is not specified, your AWS managed CMK for EBS is used. If you specify a
51501	// CMK, you must also set the encrypted state to true.
51502	//
51503	// You can specify a CMK using any of the following:
51504	//
51505	//    * Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.
51506	//
51507	//    * Key alias. For example, alias/ExampleAlias.
51508	//
51509	//    * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.
51510	//
51511	//    * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
51512	//
51513	// AWS authenticates the CMK asynchronously. Therefore, if you specify an identifier
51514	// that is not valid, the action can appear to complete, but eventually fails.
51515	//
51516	// The specified CMK must exist in the destination Region.
51517	//
51518	// Amazon EBS does not support asymmetric CMKs.
51519	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
51520
51521	// The name of the new AMI in the destination Region.
51522	//
51523	// Name is a required field
51524	Name *string `type:"string" required:"true"`
51525
51526	// The ID of the AMI to copy.
51527	//
51528	// SourceImageId is a required field
51529	SourceImageId *string `type:"string" required:"true"`
51530
51531	// The name of the Region that contains the AMI to copy.
51532	//
51533	// SourceRegion is a required field
51534	SourceRegion *string `type:"string" required:"true"`
51535}
51536
51537// String returns the string representation
51538func (s CopyImageInput) String() string {
51539	return awsutil.Prettify(s)
51540}
51541
51542// GoString returns the string representation
51543func (s CopyImageInput) GoString() string {
51544	return s.String()
51545}
51546
51547// Validate inspects the fields of the type to determine if they are valid.
51548func (s *CopyImageInput) Validate() error {
51549	invalidParams := request.ErrInvalidParams{Context: "CopyImageInput"}
51550	if s.Name == nil {
51551		invalidParams.Add(request.NewErrParamRequired("Name"))
51552	}
51553	if s.SourceImageId == nil {
51554		invalidParams.Add(request.NewErrParamRequired("SourceImageId"))
51555	}
51556	if s.SourceRegion == nil {
51557		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
51558	}
51559
51560	if invalidParams.Len() > 0 {
51561		return invalidParams
51562	}
51563	return nil
51564}
51565
51566// SetClientToken sets the ClientToken field's value.
51567func (s *CopyImageInput) SetClientToken(v string) *CopyImageInput {
51568	s.ClientToken = &v
51569	return s
51570}
51571
51572// SetDescription sets the Description field's value.
51573func (s *CopyImageInput) SetDescription(v string) *CopyImageInput {
51574	s.Description = &v
51575	return s
51576}
51577
51578// SetDestinationOutpostArn sets the DestinationOutpostArn field's value.
51579func (s *CopyImageInput) SetDestinationOutpostArn(v string) *CopyImageInput {
51580	s.DestinationOutpostArn = &v
51581	return s
51582}
51583
51584// SetDryRun sets the DryRun field's value.
51585func (s *CopyImageInput) SetDryRun(v bool) *CopyImageInput {
51586	s.DryRun = &v
51587	return s
51588}
51589
51590// SetEncrypted sets the Encrypted field's value.
51591func (s *CopyImageInput) SetEncrypted(v bool) *CopyImageInput {
51592	s.Encrypted = &v
51593	return s
51594}
51595
51596// SetKmsKeyId sets the KmsKeyId field's value.
51597func (s *CopyImageInput) SetKmsKeyId(v string) *CopyImageInput {
51598	s.KmsKeyId = &v
51599	return s
51600}
51601
51602// SetName sets the Name field's value.
51603func (s *CopyImageInput) SetName(v string) *CopyImageInput {
51604	s.Name = &v
51605	return s
51606}
51607
51608// SetSourceImageId sets the SourceImageId field's value.
51609func (s *CopyImageInput) SetSourceImageId(v string) *CopyImageInput {
51610	s.SourceImageId = &v
51611	return s
51612}
51613
51614// SetSourceRegion sets the SourceRegion field's value.
51615func (s *CopyImageInput) SetSourceRegion(v string) *CopyImageInput {
51616	s.SourceRegion = &v
51617	return s
51618}
51619
51620// Contains the output of CopyImage.
51621type CopyImageOutput struct {
51622	_ struct{} `type:"structure"`
51623
51624	// The ID of the new AMI.
51625	ImageId *string `locationName:"imageId" type:"string"`
51626}
51627
51628// String returns the string representation
51629func (s CopyImageOutput) String() string {
51630	return awsutil.Prettify(s)
51631}
51632
51633// GoString returns the string representation
51634func (s CopyImageOutput) GoString() string {
51635	return s.String()
51636}
51637
51638// SetImageId sets the ImageId field's value.
51639func (s *CopyImageOutput) SetImageId(v string) *CopyImageOutput {
51640	s.ImageId = &v
51641	return s
51642}
51643
51644type CopySnapshotInput struct {
51645	_ struct{} `type:"structure"`
51646
51647	// A description for the EBS snapshot.
51648	Description *string `type:"string"`
51649
51650	// The Amazon Resource Name (ARN) of the Outpost to which to copy the snapshot.
51651	// Only specify this parameter when copying a snapshot from an Amazon Web Services
51652	// Region to an Outpost. The snapshot must be in the Region for the destination
51653	// Outpost. You cannot copy a snapshot from an Outpost to a Region, from one
51654	// Outpost to another, or within the same Outpost.
51655	//
51656	// For more information, see Copy snapshots from an Amazon Web Services Region
51657	// to an Outpost (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#copy-snapshots)
51658	// in the Amazon Elastic Compute Cloud User Guide.
51659	DestinationOutpostArn *string `type:"string"`
51660
51661	// The destination Region to use in the PresignedUrl parameter of a snapshot
51662	// copy operation. This parameter is only valid for specifying the destination
51663	// Region in a PresignedUrl parameter, where it is required.
51664	//
51665	// The snapshot copy is sent to the regional endpoint that you sent the HTTP
51666	// request to (for example, ec2.us-east-1.amazonaws.com). With the CLI, this
51667	// is specified using the --region parameter or the default Region in your Amazon
51668	// Web Services configuration file.
51669	DestinationRegion *string `locationName:"destinationRegion" type:"string"`
51670
51671	// Checks whether you have the required permissions for the action, without
51672	// actually making the request, and provides an error response. If you have
51673	// the required permissions, the error response is DryRunOperation. Otherwise,
51674	// it is UnauthorizedOperation.
51675	DryRun *bool `locationName:"dryRun" type:"boolean"`
51676
51677	// To encrypt a copy of an unencrypted snapshot if encryption by default is
51678	// not enabled, enable encryption using this parameter. Otherwise, omit this
51679	// parameter. Encrypted snapshots are encrypted, even if you omit this parameter
51680	// and encryption by default is not enabled. You cannot set this parameter to
51681	// false. For more information, see Amazon EBS encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
51682	// in the Amazon Elastic Compute Cloud User Guide.
51683	Encrypted *bool `locationName:"encrypted" type:"boolean"`
51684
51685	// The identifier of the Key Management Service (KMS) KMS key to use for Amazon
51686	// EBS encryption. If this parameter is not specified, your KMS key for Amazon
51687	// EBS is used. If KmsKeyId is specified, the encrypted state must be true.
51688	//
51689	// You can specify the KMS key using any of the following:
51690	//
51691	//    * Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.
51692	//
51693	//    * Key alias. For example, alias/ExampleAlias.
51694	//
51695	//    * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.
51696	//
51697	//    * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
51698	//
51699	// Amazon Web Services authenticates the KMS key asynchronously. Therefore,
51700	// if you specify an ID, alias, or ARN that is not valid, the action can appear
51701	// to complete, but eventually fails.
51702	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
51703
51704	// When you copy an encrypted source snapshot using the Amazon EC2 Query API,
51705	// you must supply a pre-signed URL. This parameter is optional for unencrypted
51706	// snapshots. For more information, see Query requests (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html).
51707	//
51708	// The PresignedUrl should use the snapshot source endpoint, the CopySnapshot
51709	// action, and include the SourceRegion, SourceSnapshotId, and DestinationRegion
51710	// parameters. The PresignedUrl must be signed using Amazon Web Services Signature
51711	// Version 4. Because EBS snapshots are stored in Amazon S3, the signing algorithm
51712	// for this parameter uses the same logic that is described in Authenticating
51713	// Requests: Using Query Parameters (Amazon Web Services Signature Version 4)
51714	// (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
51715	// in the Amazon Simple Storage Service API Reference. An invalid or improperly
51716	// signed PresignedUrl will cause the copy operation to fail asynchronously,
51717	// and the snapshot will move to an error state.
51718	PresignedUrl *string `locationName:"presignedUrl" type:"string"`
51719
51720	// The ID of the Region that contains the snapshot to be copied.
51721	//
51722	// SourceRegion is a required field
51723	SourceRegion *string `type:"string" required:"true"`
51724
51725	// The ID of the EBS snapshot to copy.
51726	//
51727	// SourceSnapshotId is a required field
51728	SourceSnapshotId *string `type:"string" required:"true"`
51729
51730	// The tags to apply to the new snapshot.
51731	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
51732}
51733
51734// String returns the string representation
51735func (s CopySnapshotInput) String() string {
51736	return awsutil.Prettify(s)
51737}
51738
51739// GoString returns the string representation
51740func (s CopySnapshotInput) GoString() string {
51741	return s.String()
51742}
51743
51744// Validate inspects the fields of the type to determine if they are valid.
51745func (s *CopySnapshotInput) Validate() error {
51746	invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
51747	if s.SourceRegion == nil {
51748		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
51749	}
51750	if s.SourceSnapshotId == nil {
51751		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotId"))
51752	}
51753
51754	if invalidParams.Len() > 0 {
51755		return invalidParams
51756	}
51757	return nil
51758}
51759
51760// SetDescription sets the Description field's value.
51761func (s *CopySnapshotInput) SetDescription(v string) *CopySnapshotInput {
51762	s.Description = &v
51763	return s
51764}
51765
51766// SetDestinationOutpostArn sets the DestinationOutpostArn field's value.
51767func (s *CopySnapshotInput) SetDestinationOutpostArn(v string) *CopySnapshotInput {
51768	s.DestinationOutpostArn = &v
51769	return s
51770}
51771
51772// SetDestinationRegion sets the DestinationRegion field's value.
51773func (s *CopySnapshotInput) SetDestinationRegion(v string) *CopySnapshotInput {
51774	s.DestinationRegion = &v
51775	return s
51776}
51777
51778// SetDryRun sets the DryRun field's value.
51779func (s *CopySnapshotInput) SetDryRun(v bool) *CopySnapshotInput {
51780	s.DryRun = &v
51781	return s
51782}
51783
51784// SetEncrypted sets the Encrypted field's value.
51785func (s *CopySnapshotInput) SetEncrypted(v bool) *CopySnapshotInput {
51786	s.Encrypted = &v
51787	return s
51788}
51789
51790// SetKmsKeyId sets the KmsKeyId field's value.
51791func (s *CopySnapshotInput) SetKmsKeyId(v string) *CopySnapshotInput {
51792	s.KmsKeyId = &v
51793	return s
51794}
51795
51796// SetPresignedUrl sets the PresignedUrl field's value.
51797func (s *CopySnapshotInput) SetPresignedUrl(v string) *CopySnapshotInput {
51798	s.PresignedUrl = &v
51799	return s
51800}
51801
51802// SetSourceRegion sets the SourceRegion field's value.
51803func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput {
51804	s.SourceRegion = &v
51805	return s
51806}
51807
51808// SetSourceSnapshotId sets the SourceSnapshotId field's value.
51809func (s *CopySnapshotInput) SetSourceSnapshotId(v string) *CopySnapshotInput {
51810	s.SourceSnapshotId = &v
51811	return s
51812}
51813
51814// SetTagSpecifications sets the TagSpecifications field's value.
51815func (s *CopySnapshotInput) SetTagSpecifications(v []*TagSpecification) *CopySnapshotInput {
51816	s.TagSpecifications = v
51817	return s
51818}
51819
51820type CopySnapshotOutput struct {
51821	_ struct{} `type:"structure"`
51822
51823	// The ID of the new snapshot.
51824	SnapshotId *string `locationName:"snapshotId" type:"string"`
51825
51826	// Any tags applied to the new snapshot.
51827	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
51828}
51829
51830// String returns the string representation
51831func (s CopySnapshotOutput) String() string {
51832	return awsutil.Prettify(s)
51833}
51834
51835// GoString returns the string representation
51836func (s CopySnapshotOutput) GoString() string {
51837	return s.String()
51838}
51839
51840// SetSnapshotId sets the SnapshotId field's value.
51841func (s *CopySnapshotOutput) SetSnapshotId(v string) *CopySnapshotOutput {
51842	s.SnapshotId = &v
51843	return s
51844}
51845
51846// SetTags sets the Tags field's value.
51847func (s *CopySnapshotOutput) SetTags(v []*Tag) *CopySnapshotOutput {
51848	s.Tags = v
51849	return s
51850}
51851
51852// The CPU options for the instance.
51853type CpuOptions struct {
51854	_ struct{} `type:"structure"`
51855
51856	// The number of CPU cores for the instance.
51857	CoreCount *int64 `locationName:"coreCount" type:"integer"`
51858
51859	// The number of threads per CPU core.
51860	ThreadsPerCore *int64 `locationName:"threadsPerCore" type:"integer"`
51861}
51862
51863// String returns the string representation
51864func (s CpuOptions) String() string {
51865	return awsutil.Prettify(s)
51866}
51867
51868// GoString returns the string representation
51869func (s CpuOptions) GoString() string {
51870	return s.String()
51871}
51872
51873// SetCoreCount sets the CoreCount field's value.
51874func (s *CpuOptions) SetCoreCount(v int64) *CpuOptions {
51875	s.CoreCount = &v
51876	return s
51877}
51878
51879// SetThreadsPerCore sets the ThreadsPerCore field's value.
51880func (s *CpuOptions) SetThreadsPerCore(v int64) *CpuOptions {
51881	s.ThreadsPerCore = &v
51882	return s
51883}
51884
51885// The CPU options for the instance. Both the core count and threads per core
51886// must be specified in the request.
51887type CpuOptionsRequest struct {
51888	_ struct{} `type:"structure"`
51889
51890	// The number of CPU cores for the instance.
51891	CoreCount *int64 `type:"integer"`
51892
51893	// The number of threads per CPU core. To disable multithreading for the instance,
51894	// specify a value of 1. Otherwise, specify the default value of 2.
51895	ThreadsPerCore *int64 `type:"integer"`
51896}
51897
51898// String returns the string representation
51899func (s CpuOptionsRequest) String() string {
51900	return awsutil.Prettify(s)
51901}
51902
51903// GoString returns the string representation
51904func (s CpuOptionsRequest) GoString() string {
51905	return s.String()
51906}
51907
51908// SetCoreCount sets the CoreCount field's value.
51909func (s *CpuOptionsRequest) SetCoreCount(v int64) *CpuOptionsRequest {
51910	s.CoreCount = &v
51911	return s
51912}
51913
51914// SetThreadsPerCore sets the ThreadsPerCore field's value.
51915func (s *CpuOptionsRequest) SetThreadsPerCore(v int64) *CpuOptionsRequest {
51916	s.ThreadsPerCore = &v
51917	return s
51918}
51919
51920type CreateCapacityReservationInput struct {
51921	_ struct{} `type:"structure"`
51922
51923	// The Availability Zone in which to create the Capacity Reservation.
51924	AvailabilityZone *string `type:"string"`
51925
51926	// The ID of the Availability Zone in which to create the Capacity Reservation.
51927	AvailabilityZoneId *string `type:"string"`
51928
51929	// Unique, case-sensitive identifier that you provide to ensure the idempotency
51930	// of the request. For more information, see Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
51931	ClientToken *string `type:"string"`
51932
51933	// Checks whether you have the required permissions for the action, without
51934	// actually making the request, and provides an error response. If you have
51935	// the required permissions, the error response is DryRunOperation. Otherwise,
51936	// it is UnauthorizedOperation.
51937	DryRun *bool `type:"boolean"`
51938
51939	// Indicates whether the Capacity Reservation supports EBS-optimized instances.
51940	// This optimization provides dedicated throughput to Amazon EBS and an optimized
51941	// configuration stack to provide optimal I/O performance. This optimization
51942	// isn't available with all instance types. Additional usage charges apply when
51943	// using an EBS- optimized instance.
51944	EbsOptimized *bool `type:"boolean"`
51945
51946	// The date and time at which the Capacity Reservation expires. When a Capacity
51947	// Reservation expires, the reserved capacity is released and you can no longer
51948	// launch instances into it. The Capacity Reservation's state changes to expired
51949	// when it reaches its end date and time.
51950	//
51951	// You must provide an EndDate value if EndDateType is limited. Omit EndDate
51952	// if EndDateType is unlimited.
51953	//
51954	// If the EndDateType is limited, the Capacity Reservation is cancelled within
51955	// an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55,
51956	// the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55
51957	// on 5/31/2019.
51958	EndDate *time.Time `type:"timestamp"`
51959
51960	// Indicates the way in which the Capacity Reservation ends. A Capacity Reservation
51961	// can have one of the following end types:
51962	//
51963	//    * unlimited - The Capacity Reservation remains active until you explicitly
51964	//    cancel it. Do not provide an EndDate if the EndDateType is unlimited.
51965	//
51966	//    * limited - The Capacity Reservation expires automatically at a specified
51967	//    date and time. You must provide an EndDate value if the EndDateType value
51968	//    is limited.
51969	EndDateType *string `type:"string" enum:"EndDateType"`
51970
51971	// Indicates whether the Capacity Reservation supports instances with temporary,
51972	// block-level storage.
51973	EphemeralStorage *bool `type:"boolean"`
51974
51975	// The number of instances for which to reserve capacity.
51976	//
51977	// Valid range: 1 - 1000
51978	//
51979	// InstanceCount is a required field
51980	InstanceCount *int64 `type:"integer" required:"true"`
51981
51982	// Indicates the type of instance launches that the Capacity Reservation accepts.
51983	// The options include:
51984	//
51985	//    * open - The Capacity Reservation automatically matches all instances
51986	//    that have matching attributes (instance type, platform, and Availability
51987	//    Zone). Instances that have matching attributes run in the Capacity Reservation
51988	//    automatically without specifying any additional parameters.
51989	//
51990	//    * targeted - The Capacity Reservation only accepts instances that have
51991	//    matching attributes (instance type, platform, and Availability Zone),
51992	//    and explicitly target the Capacity Reservation. This ensures that only
51993	//    permitted instances can use the reserved capacity.
51994	//
51995	// Default: open
51996	InstanceMatchCriteria *string `type:"string" enum:"InstanceMatchCriteria"`
51997
51998	// The type of operating system for which to reserve capacity.
51999	//
52000	// InstancePlatform is a required field
52001	InstancePlatform *string `type:"string" required:"true" enum:"CapacityReservationInstancePlatform"`
52002
52003	// The instance type for which to reserve capacity. For more information, see
52004	// Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
52005	// in the Amazon EC2 User Guide.
52006	//
52007	// InstanceType is a required field
52008	InstanceType *string `type:"string" required:"true"`
52009
52010	// The Amazon Resource Name (ARN) of the Outpost on which to create the Capacity
52011	// Reservation.
52012	OutpostArn *string `type:"string"`
52013
52014	// The tags to apply to the Capacity Reservation during launch.
52015	TagSpecifications []*TagSpecification `locationNameList:"item" type:"list"`
52016
52017	// Indicates the tenancy of the Capacity Reservation. A Capacity Reservation
52018	// can have one of the following tenancy settings:
52019	//
52020	//    * default - The Capacity Reservation is created on hardware that is shared
52021	//    with other Amazon Web Services accounts.
52022	//
52023	//    * dedicated - The Capacity Reservation is created on single-tenant hardware
52024	//    that is dedicated to a single Amazon Web Services account.
52025	Tenancy *string `type:"string" enum:"CapacityReservationTenancy"`
52026}
52027
52028// String returns the string representation
52029func (s CreateCapacityReservationInput) String() string {
52030	return awsutil.Prettify(s)
52031}
52032
52033// GoString returns the string representation
52034func (s CreateCapacityReservationInput) GoString() string {
52035	return s.String()
52036}
52037
52038// Validate inspects the fields of the type to determine if they are valid.
52039func (s *CreateCapacityReservationInput) Validate() error {
52040	invalidParams := request.ErrInvalidParams{Context: "CreateCapacityReservationInput"}
52041	if s.InstanceCount == nil {
52042		invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
52043	}
52044	if s.InstancePlatform == nil {
52045		invalidParams.Add(request.NewErrParamRequired("InstancePlatform"))
52046	}
52047	if s.InstanceType == nil {
52048		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
52049	}
52050
52051	if invalidParams.Len() > 0 {
52052		return invalidParams
52053	}
52054	return nil
52055}
52056
52057// SetAvailabilityZone sets the AvailabilityZone field's value.
52058func (s *CreateCapacityReservationInput) SetAvailabilityZone(v string) *CreateCapacityReservationInput {
52059	s.AvailabilityZone = &v
52060	return s
52061}
52062
52063// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
52064func (s *CreateCapacityReservationInput) SetAvailabilityZoneId(v string) *CreateCapacityReservationInput {
52065	s.AvailabilityZoneId = &v
52066	return s
52067}
52068
52069// SetClientToken sets the ClientToken field's value.
52070func (s *CreateCapacityReservationInput) SetClientToken(v string) *CreateCapacityReservationInput {
52071	s.ClientToken = &v
52072	return s
52073}
52074
52075// SetDryRun sets the DryRun field's value.
52076func (s *CreateCapacityReservationInput) SetDryRun(v bool) *CreateCapacityReservationInput {
52077	s.DryRun = &v
52078	return s
52079}
52080
52081// SetEbsOptimized sets the EbsOptimized field's value.
52082func (s *CreateCapacityReservationInput) SetEbsOptimized(v bool) *CreateCapacityReservationInput {
52083	s.EbsOptimized = &v
52084	return s
52085}
52086
52087// SetEndDate sets the EndDate field's value.
52088func (s *CreateCapacityReservationInput) SetEndDate(v time.Time) *CreateCapacityReservationInput {
52089	s.EndDate = &v
52090	return s
52091}
52092
52093// SetEndDateType sets the EndDateType field's value.
52094func (s *CreateCapacityReservationInput) SetEndDateType(v string) *CreateCapacityReservationInput {
52095	s.EndDateType = &v
52096	return s
52097}
52098
52099// SetEphemeralStorage sets the EphemeralStorage field's value.
52100func (s *CreateCapacityReservationInput) SetEphemeralStorage(v bool) *CreateCapacityReservationInput {
52101	s.EphemeralStorage = &v
52102	return s
52103}
52104
52105// SetInstanceCount sets the InstanceCount field's value.
52106func (s *CreateCapacityReservationInput) SetInstanceCount(v int64) *CreateCapacityReservationInput {
52107	s.InstanceCount = &v
52108	return s
52109}
52110
52111// SetInstanceMatchCriteria sets the InstanceMatchCriteria field's value.
52112func (s *CreateCapacityReservationInput) SetInstanceMatchCriteria(v string) *CreateCapacityReservationInput {
52113	s.InstanceMatchCriteria = &v
52114	return s
52115}
52116
52117// SetInstancePlatform sets the InstancePlatform field's value.
52118func (s *CreateCapacityReservationInput) SetInstancePlatform(v string) *CreateCapacityReservationInput {
52119	s.InstancePlatform = &v
52120	return s
52121}
52122
52123// SetInstanceType sets the InstanceType field's value.
52124func (s *CreateCapacityReservationInput) SetInstanceType(v string) *CreateCapacityReservationInput {
52125	s.InstanceType = &v
52126	return s
52127}
52128
52129// SetOutpostArn sets the OutpostArn field's value.
52130func (s *CreateCapacityReservationInput) SetOutpostArn(v string) *CreateCapacityReservationInput {
52131	s.OutpostArn = &v
52132	return s
52133}
52134
52135// SetTagSpecifications sets the TagSpecifications field's value.
52136func (s *CreateCapacityReservationInput) SetTagSpecifications(v []*TagSpecification) *CreateCapacityReservationInput {
52137	s.TagSpecifications = v
52138	return s
52139}
52140
52141// SetTenancy sets the Tenancy field's value.
52142func (s *CreateCapacityReservationInput) SetTenancy(v string) *CreateCapacityReservationInput {
52143	s.Tenancy = &v
52144	return s
52145}
52146
52147type CreateCapacityReservationOutput struct {
52148	_ struct{} `type:"structure"`
52149
52150	// Information about the Capacity Reservation.
52151	CapacityReservation *CapacityReservation `locationName:"capacityReservation" type:"structure"`
52152}
52153
52154// String returns the string representation
52155func (s CreateCapacityReservationOutput) String() string {
52156	return awsutil.Prettify(s)
52157}
52158
52159// GoString returns the string representation
52160func (s CreateCapacityReservationOutput) GoString() string {
52161	return s.String()
52162}
52163
52164// SetCapacityReservation sets the CapacityReservation field's value.
52165func (s *CreateCapacityReservationOutput) SetCapacityReservation(v *CapacityReservation) *CreateCapacityReservationOutput {
52166	s.CapacityReservation = v
52167	return s
52168}
52169
52170type CreateCarrierGatewayInput struct {
52171	_ struct{} `type:"structure"`
52172
52173	// Unique, case-sensitive identifier that you provide to ensure the idempotency
52174	// of the request. For more information, see How to ensure idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
52175	ClientToken *string `type:"string" idempotencyToken:"true"`
52176
52177	// Checks whether you have the required permissions for the action, without
52178	// actually making the request, and provides an error response. If you have
52179	// the required permissions, the error response is DryRunOperation. Otherwise,
52180	// it is UnauthorizedOperation.
52181	DryRun *bool `type:"boolean"`
52182
52183	// The tags to associate with the carrier gateway.
52184	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
52185
52186	// The ID of the VPC to associate with the carrier gateway.
52187	//
52188	// VpcId is a required field
52189	VpcId *string `type:"string" required:"true"`
52190}
52191
52192// String returns the string representation
52193func (s CreateCarrierGatewayInput) String() string {
52194	return awsutil.Prettify(s)
52195}
52196
52197// GoString returns the string representation
52198func (s CreateCarrierGatewayInput) GoString() string {
52199	return s.String()
52200}
52201
52202// Validate inspects the fields of the type to determine if they are valid.
52203func (s *CreateCarrierGatewayInput) Validate() error {
52204	invalidParams := request.ErrInvalidParams{Context: "CreateCarrierGatewayInput"}
52205	if s.VpcId == nil {
52206		invalidParams.Add(request.NewErrParamRequired("VpcId"))
52207	}
52208
52209	if invalidParams.Len() > 0 {
52210		return invalidParams
52211	}
52212	return nil
52213}
52214
52215// SetClientToken sets the ClientToken field's value.
52216func (s *CreateCarrierGatewayInput) SetClientToken(v string) *CreateCarrierGatewayInput {
52217	s.ClientToken = &v
52218	return s
52219}
52220
52221// SetDryRun sets the DryRun field's value.
52222func (s *CreateCarrierGatewayInput) SetDryRun(v bool) *CreateCarrierGatewayInput {
52223	s.DryRun = &v
52224	return s
52225}
52226
52227// SetTagSpecifications sets the TagSpecifications field's value.
52228func (s *CreateCarrierGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateCarrierGatewayInput {
52229	s.TagSpecifications = v
52230	return s
52231}
52232
52233// SetVpcId sets the VpcId field's value.
52234func (s *CreateCarrierGatewayInput) SetVpcId(v string) *CreateCarrierGatewayInput {
52235	s.VpcId = &v
52236	return s
52237}
52238
52239type CreateCarrierGatewayOutput struct {
52240	_ struct{} `type:"structure"`
52241
52242	// Information about the carrier gateway.
52243	CarrierGateway *CarrierGateway `locationName:"carrierGateway" type:"structure"`
52244}
52245
52246// String returns the string representation
52247func (s CreateCarrierGatewayOutput) String() string {
52248	return awsutil.Prettify(s)
52249}
52250
52251// GoString returns the string representation
52252func (s CreateCarrierGatewayOutput) GoString() string {
52253	return s.String()
52254}
52255
52256// SetCarrierGateway sets the CarrierGateway field's value.
52257func (s *CreateCarrierGatewayOutput) SetCarrierGateway(v *CarrierGateway) *CreateCarrierGatewayOutput {
52258	s.CarrierGateway = v
52259	return s
52260}
52261
52262type CreateClientVpnEndpointInput struct {
52263	_ struct{} `type:"structure"`
52264
52265	// Information about the authentication method to be used to authenticate clients.
52266	//
52267	// AuthenticationOptions is a required field
52268	AuthenticationOptions []*ClientVpnAuthenticationRequest `locationName:"Authentication" type:"list" required:"true"`
52269
52270	// The IPv4 address range, in CIDR notation, from which to assign client IP
52271	// addresses. The address range cannot overlap with the local CIDR of the VPC
52272	// in which the associated subnet is located, or the routes that you add manually.
52273	// The address range cannot be changed after the Client VPN endpoint has been
52274	// created. The CIDR block should be /22 or greater.
52275	//
52276	// ClientCidrBlock is a required field
52277	ClientCidrBlock *string `type:"string" required:"true"`
52278
52279	// The options for managing connection authorization for new client connections.
52280	ClientConnectOptions *ClientConnectOptions `type:"structure"`
52281
52282	// Unique, case-sensitive identifier that you provide to ensure the idempotency
52283	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
52284	ClientToken *string `type:"string" idempotencyToken:"true"`
52285
52286	// Information about the client connection logging options.
52287	//
52288	// If you enable client connection logging, data about client connections is
52289	// sent to a Cloudwatch Logs log stream. The following information is logged:
52290	//
52291	//    * Client connection requests
52292	//
52293	//    * Client connection results (successful and unsuccessful)
52294	//
52295	//    * Reasons for unsuccessful client connection requests
52296	//
52297	//    * Client connection termination time
52298	//
52299	// ConnectionLogOptions is a required field
52300	ConnectionLogOptions *ConnectionLogOptions `type:"structure" required:"true"`
52301
52302	// A brief description of the Client VPN endpoint.
52303	Description *string `type:"string"`
52304
52305	// Information about the DNS servers to be used for DNS resolution. A Client
52306	// VPN endpoint can have up to two DNS servers. If no DNS server is specified,
52307	// the DNS address configured on the device is used for the DNS server.
52308	DnsServers []*string `locationNameList:"item" type:"list"`
52309
52310	// Checks whether you have the required permissions for the action, without
52311	// actually making the request, and provides an error response. If you have
52312	// the required permissions, the error response is DryRunOperation. Otherwise,
52313	// it is UnauthorizedOperation.
52314	DryRun *bool `type:"boolean"`
52315
52316	// The IDs of one or more security groups to apply to the target network. You
52317	// must also specify the ID of the VPC that contains the security groups.
52318	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
52319
52320	// Specify whether to enable the self-service portal for the Client VPN endpoint.
52321	//
52322	// Default Value: enabled
52323	SelfServicePortal *string `type:"string" enum:"SelfServicePortal"`
52324
52325	// The ARN of the server certificate. For more information, see the AWS Certificate
52326	// Manager User Guide (https://docs.aws.amazon.com/acm/latest/userguide/).
52327	//
52328	// ServerCertificateArn is a required field
52329	ServerCertificateArn *string `type:"string" required:"true"`
52330
52331	// Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint.
52332	//
52333	// By default, split-tunnel on a VPN endpoint is disabled.
52334	//
52335	// For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client
52336	// VPN Endpoint (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html)
52337	// in the AWS Client VPN Administrator Guide.
52338	SplitTunnel *bool `type:"boolean"`
52339
52340	// The tags to apply to the Client VPN endpoint during creation.
52341	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
52342
52343	// The transport protocol to be used by the VPN session.
52344	//
52345	// Default value: udp
52346	TransportProtocol *string `type:"string" enum:"TransportProtocol"`
52347
52348	// The ID of the VPC to associate with the Client VPN endpoint. If no security
52349	// group IDs are specified in the request, the default security group for the
52350	// VPC is applied.
52351	VpcId *string `type:"string"`
52352
52353	// The port number to assign to the Client VPN endpoint for TCP and UDP traffic.
52354	//
52355	// Valid Values: 443 | 1194
52356	//
52357	// Default Value: 443
52358	VpnPort *int64 `type:"integer"`
52359}
52360
52361// String returns the string representation
52362func (s CreateClientVpnEndpointInput) String() string {
52363	return awsutil.Prettify(s)
52364}
52365
52366// GoString returns the string representation
52367func (s CreateClientVpnEndpointInput) GoString() string {
52368	return s.String()
52369}
52370
52371// Validate inspects the fields of the type to determine if they are valid.
52372func (s *CreateClientVpnEndpointInput) Validate() error {
52373	invalidParams := request.ErrInvalidParams{Context: "CreateClientVpnEndpointInput"}
52374	if s.AuthenticationOptions == nil {
52375		invalidParams.Add(request.NewErrParamRequired("AuthenticationOptions"))
52376	}
52377	if s.ClientCidrBlock == nil {
52378		invalidParams.Add(request.NewErrParamRequired("ClientCidrBlock"))
52379	}
52380	if s.ConnectionLogOptions == nil {
52381		invalidParams.Add(request.NewErrParamRequired("ConnectionLogOptions"))
52382	}
52383	if s.ServerCertificateArn == nil {
52384		invalidParams.Add(request.NewErrParamRequired("ServerCertificateArn"))
52385	}
52386
52387	if invalidParams.Len() > 0 {
52388		return invalidParams
52389	}
52390	return nil
52391}
52392
52393// SetAuthenticationOptions sets the AuthenticationOptions field's value.
52394func (s *CreateClientVpnEndpointInput) SetAuthenticationOptions(v []*ClientVpnAuthenticationRequest) *CreateClientVpnEndpointInput {
52395	s.AuthenticationOptions = v
52396	return s
52397}
52398
52399// SetClientCidrBlock sets the ClientCidrBlock field's value.
52400func (s *CreateClientVpnEndpointInput) SetClientCidrBlock(v string) *CreateClientVpnEndpointInput {
52401	s.ClientCidrBlock = &v
52402	return s
52403}
52404
52405// SetClientConnectOptions sets the ClientConnectOptions field's value.
52406func (s *CreateClientVpnEndpointInput) SetClientConnectOptions(v *ClientConnectOptions) *CreateClientVpnEndpointInput {
52407	s.ClientConnectOptions = v
52408	return s
52409}
52410
52411// SetClientToken sets the ClientToken field's value.
52412func (s *CreateClientVpnEndpointInput) SetClientToken(v string) *CreateClientVpnEndpointInput {
52413	s.ClientToken = &v
52414	return s
52415}
52416
52417// SetConnectionLogOptions sets the ConnectionLogOptions field's value.
52418func (s *CreateClientVpnEndpointInput) SetConnectionLogOptions(v *ConnectionLogOptions) *CreateClientVpnEndpointInput {
52419	s.ConnectionLogOptions = v
52420	return s
52421}
52422
52423// SetDescription sets the Description field's value.
52424func (s *CreateClientVpnEndpointInput) SetDescription(v string) *CreateClientVpnEndpointInput {
52425	s.Description = &v
52426	return s
52427}
52428
52429// SetDnsServers sets the DnsServers field's value.
52430func (s *CreateClientVpnEndpointInput) SetDnsServers(v []*string) *CreateClientVpnEndpointInput {
52431	s.DnsServers = v
52432	return s
52433}
52434
52435// SetDryRun sets the DryRun field's value.
52436func (s *CreateClientVpnEndpointInput) SetDryRun(v bool) *CreateClientVpnEndpointInput {
52437	s.DryRun = &v
52438	return s
52439}
52440
52441// SetSecurityGroupIds sets the SecurityGroupIds field's value.
52442func (s *CreateClientVpnEndpointInput) SetSecurityGroupIds(v []*string) *CreateClientVpnEndpointInput {
52443	s.SecurityGroupIds = v
52444	return s
52445}
52446
52447// SetSelfServicePortal sets the SelfServicePortal field's value.
52448func (s *CreateClientVpnEndpointInput) SetSelfServicePortal(v string) *CreateClientVpnEndpointInput {
52449	s.SelfServicePortal = &v
52450	return s
52451}
52452
52453// SetServerCertificateArn sets the ServerCertificateArn field's value.
52454func (s *CreateClientVpnEndpointInput) SetServerCertificateArn(v string) *CreateClientVpnEndpointInput {
52455	s.ServerCertificateArn = &v
52456	return s
52457}
52458
52459// SetSplitTunnel sets the SplitTunnel field's value.
52460func (s *CreateClientVpnEndpointInput) SetSplitTunnel(v bool) *CreateClientVpnEndpointInput {
52461	s.SplitTunnel = &v
52462	return s
52463}
52464
52465// SetTagSpecifications sets the TagSpecifications field's value.
52466func (s *CreateClientVpnEndpointInput) SetTagSpecifications(v []*TagSpecification) *CreateClientVpnEndpointInput {
52467	s.TagSpecifications = v
52468	return s
52469}
52470
52471// SetTransportProtocol sets the TransportProtocol field's value.
52472func (s *CreateClientVpnEndpointInput) SetTransportProtocol(v string) *CreateClientVpnEndpointInput {
52473	s.TransportProtocol = &v
52474	return s
52475}
52476
52477// SetVpcId sets the VpcId field's value.
52478func (s *CreateClientVpnEndpointInput) SetVpcId(v string) *CreateClientVpnEndpointInput {
52479	s.VpcId = &v
52480	return s
52481}
52482
52483// SetVpnPort sets the VpnPort field's value.
52484func (s *CreateClientVpnEndpointInput) SetVpnPort(v int64) *CreateClientVpnEndpointInput {
52485	s.VpnPort = &v
52486	return s
52487}
52488
52489type CreateClientVpnEndpointOutput struct {
52490	_ struct{} `type:"structure"`
52491
52492	// The ID of the Client VPN endpoint.
52493	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
52494
52495	// The DNS name to be used by clients when establishing their VPN session.
52496	DnsName *string `locationName:"dnsName" type:"string"`
52497
52498	// The current state of the Client VPN endpoint.
52499	Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"`
52500}
52501
52502// String returns the string representation
52503func (s CreateClientVpnEndpointOutput) String() string {
52504	return awsutil.Prettify(s)
52505}
52506
52507// GoString returns the string representation
52508func (s CreateClientVpnEndpointOutput) GoString() string {
52509	return s.String()
52510}
52511
52512// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
52513func (s *CreateClientVpnEndpointOutput) SetClientVpnEndpointId(v string) *CreateClientVpnEndpointOutput {
52514	s.ClientVpnEndpointId = &v
52515	return s
52516}
52517
52518// SetDnsName sets the DnsName field's value.
52519func (s *CreateClientVpnEndpointOutput) SetDnsName(v string) *CreateClientVpnEndpointOutput {
52520	s.DnsName = &v
52521	return s
52522}
52523
52524// SetStatus sets the Status field's value.
52525func (s *CreateClientVpnEndpointOutput) SetStatus(v *ClientVpnEndpointStatus) *CreateClientVpnEndpointOutput {
52526	s.Status = v
52527	return s
52528}
52529
52530type CreateClientVpnRouteInput struct {
52531	_ struct{} `type:"structure"`
52532
52533	// Unique, case-sensitive identifier that you provide to ensure the idempotency
52534	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
52535	ClientToken *string `type:"string" idempotencyToken:"true"`
52536
52537	// The ID of the Client VPN endpoint to which to add the route.
52538	//
52539	// ClientVpnEndpointId is a required field
52540	ClientVpnEndpointId *string `type:"string" required:"true"`
52541
52542	// A brief description of the route.
52543	Description *string `type:"string"`
52544
52545	// The IPv4 address range, in CIDR notation, of the route destination. For example:
52546	//
52547	//    * To add a route for Internet access, enter 0.0.0.0/0
52548	//
52549	//    * To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range
52550	//
52551	//    * To add a route for an on-premises network, enter the AWS Site-to-Site
52552	//    VPN connection's IPv4 CIDR range
52553	//
52554	//    * To add a route for the local network, enter the client CIDR range
52555	//
52556	// DestinationCidrBlock is a required field
52557	DestinationCidrBlock *string `type:"string" required:"true"`
52558
52559	// Checks whether you have the required permissions for the action, without
52560	// actually making the request, and provides an error response. If you have
52561	// the required permissions, the error response is DryRunOperation. Otherwise,
52562	// it is UnauthorizedOperation.
52563	DryRun *bool `type:"boolean"`
52564
52565	// The ID of the subnet through which you want to route traffic. The specified
52566	// subnet must be an existing target network of the Client VPN endpoint.
52567	//
52568	// Alternatively, if you're adding a route for the local network, specify local.
52569	//
52570	// TargetVpcSubnetId is a required field
52571	TargetVpcSubnetId *string `type:"string" required:"true"`
52572}
52573
52574// String returns the string representation
52575func (s CreateClientVpnRouteInput) String() string {
52576	return awsutil.Prettify(s)
52577}
52578
52579// GoString returns the string representation
52580func (s CreateClientVpnRouteInput) GoString() string {
52581	return s.String()
52582}
52583
52584// Validate inspects the fields of the type to determine if they are valid.
52585func (s *CreateClientVpnRouteInput) Validate() error {
52586	invalidParams := request.ErrInvalidParams{Context: "CreateClientVpnRouteInput"}
52587	if s.ClientVpnEndpointId == nil {
52588		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
52589	}
52590	if s.DestinationCidrBlock == nil {
52591		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
52592	}
52593	if s.TargetVpcSubnetId == nil {
52594		invalidParams.Add(request.NewErrParamRequired("TargetVpcSubnetId"))
52595	}
52596
52597	if invalidParams.Len() > 0 {
52598		return invalidParams
52599	}
52600	return nil
52601}
52602
52603// SetClientToken sets the ClientToken field's value.
52604func (s *CreateClientVpnRouteInput) SetClientToken(v string) *CreateClientVpnRouteInput {
52605	s.ClientToken = &v
52606	return s
52607}
52608
52609// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
52610func (s *CreateClientVpnRouteInput) SetClientVpnEndpointId(v string) *CreateClientVpnRouteInput {
52611	s.ClientVpnEndpointId = &v
52612	return s
52613}
52614
52615// SetDescription sets the Description field's value.
52616func (s *CreateClientVpnRouteInput) SetDescription(v string) *CreateClientVpnRouteInput {
52617	s.Description = &v
52618	return s
52619}
52620
52621// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
52622func (s *CreateClientVpnRouteInput) SetDestinationCidrBlock(v string) *CreateClientVpnRouteInput {
52623	s.DestinationCidrBlock = &v
52624	return s
52625}
52626
52627// SetDryRun sets the DryRun field's value.
52628func (s *CreateClientVpnRouteInput) SetDryRun(v bool) *CreateClientVpnRouteInput {
52629	s.DryRun = &v
52630	return s
52631}
52632
52633// SetTargetVpcSubnetId sets the TargetVpcSubnetId field's value.
52634func (s *CreateClientVpnRouteInput) SetTargetVpcSubnetId(v string) *CreateClientVpnRouteInput {
52635	s.TargetVpcSubnetId = &v
52636	return s
52637}
52638
52639type CreateClientVpnRouteOutput struct {
52640	_ struct{} `type:"structure"`
52641
52642	// The current state of the route.
52643	Status *ClientVpnRouteStatus `locationName:"status" type:"structure"`
52644}
52645
52646// String returns the string representation
52647func (s CreateClientVpnRouteOutput) String() string {
52648	return awsutil.Prettify(s)
52649}
52650
52651// GoString returns the string representation
52652func (s CreateClientVpnRouteOutput) GoString() string {
52653	return s.String()
52654}
52655
52656// SetStatus sets the Status field's value.
52657func (s *CreateClientVpnRouteOutput) SetStatus(v *ClientVpnRouteStatus) *CreateClientVpnRouteOutput {
52658	s.Status = v
52659	return s
52660}
52661
52662// Contains the parameters for CreateCustomerGateway.
52663type CreateCustomerGatewayInput struct {
52664	_ struct{} `type:"structure"`
52665
52666	// For devices that support BGP, the customer gateway's BGP ASN.
52667	//
52668	// Default: 65000
52669	//
52670	// BgpAsn is a required field
52671	BgpAsn *int64 `type:"integer" required:"true"`
52672
52673	// The Amazon Resource Name (ARN) for the customer gateway certificate.
52674	CertificateArn *string `type:"string"`
52675
52676	// A name for the customer gateway device.
52677	//
52678	// Length Constraints: Up to 255 characters.
52679	DeviceName *string `type:"string"`
52680
52681	// Checks whether you have the required permissions for the action, without
52682	// actually making the request, and provides an error response. If you have
52683	// the required permissions, the error response is DryRunOperation. Otherwise,
52684	// it is UnauthorizedOperation.
52685	DryRun *bool `locationName:"dryRun" type:"boolean"`
52686
52687	// The Internet-routable IP address for the customer gateway's outside interface.
52688	// The address must be static.
52689	PublicIp *string `locationName:"IpAddress" type:"string"`
52690
52691	// The tags to apply to the customer gateway.
52692	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
52693
52694	// The type of VPN connection that this customer gateway supports (ipsec.1).
52695	//
52696	// Type is a required field
52697	Type *string `type:"string" required:"true" enum:"GatewayType"`
52698}
52699
52700// String returns the string representation
52701func (s CreateCustomerGatewayInput) String() string {
52702	return awsutil.Prettify(s)
52703}
52704
52705// GoString returns the string representation
52706func (s CreateCustomerGatewayInput) GoString() string {
52707	return s.String()
52708}
52709
52710// Validate inspects the fields of the type to determine if they are valid.
52711func (s *CreateCustomerGatewayInput) Validate() error {
52712	invalidParams := request.ErrInvalidParams{Context: "CreateCustomerGatewayInput"}
52713	if s.BgpAsn == nil {
52714		invalidParams.Add(request.NewErrParamRequired("BgpAsn"))
52715	}
52716	if s.Type == nil {
52717		invalidParams.Add(request.NewErrParamRequired("Type"))
52718	}
52719
52720	if invalidParams.Len() > 0 {
52721		return invalidParams
52722	}
52723	return nil
52724}
52725
52726// SetBgpAsn sets the BgpAsn field's value.
52727func (s *CreateCustomerGatewayInput) SetBgpAsn(v int64) *CreateCustomerGatewayInput {
52728	s.BgpAsn = &v
52729	return s
52730}
52731
52732// SetCertificateArn sets the CertificateArn field's value.
52733func (s *CreateCustomerGatewayInput) SetCertificateArn(v string) *CreateCustomerGatewayInput {
52734	s.CertificateArn = &v
52735	return s
52736}
52737
52738// SetDeviceName sets the DeviceName field's value.
52739func (s *CreateCustomerGatewayInput) SetDeviceName(v string) *CreateCustomerGatewayInput {
52740	s.DeviceName = &v
52741	return s
52742}
52743
52744// SetDryRun sets the DryRun field's value.
52745func (s *CreateCustomerGatewayInput) SetDryRun(v bool) *CreateCustomerGatewayInput {
52746	s.DryRun = &v
52747	return s
52748}
52749
52750// SetPublicIp sets the PublicIp field's value.
52751func (s *CreateCustomerGatewayInput) SetPublicIp(v string) *CreateCustomerGatewayInput {
52752	s.PublicIp = &v
52753	return s
52754}
52755
52756// SetTagSpecifications sets the TagSpecifications field's value.
52757func (s *CreateCustomerGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateCustomerGatewayInput {
52758	s.TagSpecifications = v
52759	return s
52760}
52761
52762// SetType sets the Type field's value.
52763func (s *CreateCustomerGatewayInput) SetType(v string) *CreateCustomerGatewayInput {
52764	s.Type = &v
52765	return s
52766}
52767
52768// Contains the output of CreateCustomerGateway.
52769type CreateCustomerGatewayOutput struct {
52770	_ struct{} `type:"structure"`
52771
52772	// Information about the customer gateway.
52773	CustomerGateway *CustomerGateway `locationName:"customerGateway" type:"structure"`
52774}
52775
52776// String returns the string representation
52777func (s CreateCustomerGatewayOutput) String() string {
52778	return awsutil.Prettify(s)
52779}
52780
52781// GoString returns the string representation
52782func (s CreateCustomerGatewayOutput) GoString() string {
52783	return s.String()
52784}
52785
52786// SetCustomerGateway sets the CustomerGateway field's value.
52787func (s *CreateCustomerGatewayOutput) SetCustomerGateway(v *CustomerGateway) *CreateCustomerGatewayOutput {
52788	s.CustomerGateway = v
52789	return s
52790}
52791
52792type CreateDefaultSubnetInput struct {
52793	_ struct{} `type:"structure"`
52794
52795	// The Availability Zone in which to create the default subnet.
52796	//
52797	// AvailabilityZone is a required field
52798	AvailabilityZone *string `type:"string" required:"true"`
52799
52800	// Checks whether you have the required permissions for the action, without
52801	// actually making the request, and provides an error response. If you have
52802	// the required permissions, the error response is DryRunOperation. Otherwise,
52803	// it is UnauthorizedOperation.
52804	DryRun *bool `type:"boolean"`
52805}
52806
52807// String returns the string representation
52808func (s CreateDefaultSubnetInput) String() string {
52809	return awsutil.Prettify(s)
52810}
52811
52812// GoString returns the string representation
52813func (s CreateDefaultSubnetInput) GoString() string {
52814	return s.String()
52815}
52816
52817// Validate inspects the fields of the type to determine if they are valid.
52818func (s *CreateDefaultSubnetInput) Validate() error {
52819	invalidParams := request.ErrInvalidParams{Context: "CreateDefaultSubnetInput"}
52820	if s.AvailabilityZone == nil {
52821		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
52822	}
52823
52824	if invalidParams.Len() > 0 {
52825		return invalidParams
52826	}
52827	return nil
52828}
52829
52830// SetAvailabilityZone sets the AvailabilityZone field's value.
52831func (s *CreateDefaultSubnetInput) SetAvailabilityZone(v string) *CreateDefaultSubnetInput {
52832	s.AvailabilityZone = &v
52833	return s
52834}
52835
52836// SetDryRun sets the DryRun field's value.
52837func (s *CreateDefaultSubnetInput) SetDryRun(v bool) *CreateDefaultSubnetInput {
52838	s.DryRun = &v
52839	return s
52840}
52841
52842type CreateDefaultSubnetOutput struct {
52843	_ struct{} `type:"structure"`
52844
52845	// Information about the subnet.
52846	Subnet *Subnet `locationName:"subnet" type:"structure"`
52847}
52848
52849// String returns the string representation
52850func (s CreateDefaultSubnetOutput) String() string {
52851	return awsutil.Prettify(s)
52852}
52853
52854// GoString returns the string representation
52855func (s CreateDefaultSubnetOutput) GoString() string {
52856	return s.String()
52857}
52858
52859// SetSubnet sets the Subnet field's value.
52860func (s *CreateDefaultSubnetOutput) SetSubnet(v *Subnet) *CreateDefaultSubnetOutput {
52861	s.Subnet = v
52862	return s
52863}
52864
52865type CreateDefaultVpcInput struct {
52866	_ struct{} `type:"structure"`
52867
52868	// Checks whether you have the required permissions for the action, without
52869	// actually making the request, and provides an error response. If you have
52870	// the required permissions, the error response is DryRunOperation. Otherwise,
52871	// it is UnauthorizedOperation.
52872	DryRun *bool `type:"boolean"`
52873}
52874
52875// String returns the string representation
52876func (s CreateDefaultVpcInput) String() string {
52877	return awsutil.Prettify(s)
52878}
52879
52880// GoString returns the string representation
52881func (s CreateDefaultVpcInput) GoString() string {
52882	return s.String()
52883}
52884
52885// SetDryRun sets the DryRun field's value.
52886func (s *CreateDefaultVpcInput) SetDryRun(v bool) *CreateDefaultVpcInput {
52887	s.DryRun = &v
52888	return s
52889}
52890
52891type CreateDefaultVpcOutput struct {
52892	_ struct{} `type:"structure"`
52893
52894	// Information about the VPC.
52895	Vpc *Vpc `locationName:"vpc" type:"structure"`
52896}
52897
52898// String returns the string representation
52899func (s CreateDefaultVpcOutput) String() string {
52900	return awsutil.Prettify(s)
52901}
52902
52903// GoString returns the string representation
52904func (s CreateDefaultVpcOutput) GoString() string {
52905	return s.String()
52906}
52907
52908// SetVpc sets the Vpc field's value.
52909func (s *CreateDefaultVpcOutput) SetVpc(v *Vpc) *CreateDefaultVpcOutput {
52910	s.Vpc = v
52911	return s
52912}
52913
52914type CreateDhcpOptionsInput struct {
52915	_ struct{} `type:"structure"`
52916
52917	// A DHCP configuration option.
52918	//
52919	// DhcpConfigurations is a required field
52920	DhcpConfigurations []*NewDhcpConfiguration `locationName:"dhcpConfiguration" locationNameList:"item" type:"list" required:"true"`
52921
52922	// Checks whether you have the required permissions for the action, without
52923	// actually making the request, and provides an error response. If you have
52924	// the required permissions, the error response is DryRunOperation. Otherwise,
52925	// it is UnauthorizedOperation.
52926	DryRun *bool `locationName:"dryRun" type:"boolean"`
52927
52928	// The tags to assign to the DHCP option.
52929	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
52930}
52931
52932// String returns the string representation
52933func (s CreateDhcpOptionsInput) String() string {
52934	return awsutil.Prettify(s)
52935}
52936
52937// GoString returns the string representation
52938func (s CreateDhcpOptionsInput) GoString() string {
52939	return s.String()
52940}
52941
52942// Validate inspects the fields of the type to determine if they are valid.
52943func (s *CreateDhcpOptionsInput) Validate() error {
52944	invalidParams := request.ErrInvalidParams{Context: "CreateDhcpOptionsInput"}
52945	if s.DhcpConfigurations == nil {
52946		invalidParams.Add(request.NewErrParamRequired("DhcpConfigurations"))
52947	}
52948
52949	if invalidParams.Len() > 0 {
52950		return invalidParams
52951	}
52952	return nil
52953}
52954
52955// SetDhcpConfigurations sets the DhcpConfigurations field's value.
52956func (s *CreateDhcpOptionsInput) SetDhcpConfigurations(v []*NewDhcpConfiguration) *CreateDhcpOptionsInput {
52957	s.DhcpConfigurations = v
52958	return s
52959}
52960
52961// SetDryRun sets the DryRun field's value.
52962func (s *CreateDhcpOptionsInput) SetDryRun(v bool) *CreateDhcpOptionsInput {
52963	s.DryRun = &v
52964	return s
52965}
52966
52967// SetTagSpecifications sets the TagSpecifications field's value.
52968func (s *CreateDhcpOptionsInput) SetTagSpecifications(v []*TagSpecification) *CreateDhcpOptionsInput {
52969	s.TagSpecifications = v
52970	return s
52971}
52972
52973type CreateDhcpOptionsOutput struct {
52974	_ struct{} `type:"structure"`
52975
52976	// A set of DHCP options.
52977	DhcpOptions *DhcpOptions `locationName:"dhcpOptions" type:"structure"`
52978}
52979
52980// String returns the string representation
52981func (s CreateDhcpOptionsOutput) String() string {
52982	return awsutil.Prettify(s)
52983}
52984
52985// GoString returns the string representation
52986func (s CreateDhcpOptionsOutput) GoString() string {
52987	return s.String()
52988}
52989
52990// SetDhcpOptions sets the DhcpOptions field's value.
52991func (s *CreateDhcpOptionsOutput) SetDhcpOptions(v *DhcpOptions) *CreateDhcpOptionsOutput {
52992	s.DhcpOptions = v
52993	return s
52994}
52995
52996type CreateEgressOnlyInternetGatewayInput struct {
52997	_ struct{} `type:"structure"`
52998
52999	// Unique, case-sensitive identifier that you provide to ensure the idempotency
53000	// of the request. For more information, see How to ensure idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
53001	ClientToken *string `type:"string"`
53002
53003	// Checks whether you have the required permissions for the action, without
53004	// actually making the request, and provides an error response. If you have
53005	// the required permissions, the error response is DryRunOperation. Otherwise,
53006	// it is UnauthorizedOperation.
53007	DryRun *bool `type:"boolean"`
53008
53009	// The tags to assign to the egress-only internet gateway.
53010	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
53011
53012	// The ID of the VPC for which to create the egress-only internet gateway.
53013	//
53014	// VpcId is a required field
53015	VpcId *string `type:"string" required:"true"`
53016}
53017
53018// String returns the string representation
53019func (s CreateEgressOnlyInternetGatewayInput) String() string {
53020	return awsutil.Prettify(s)
53021}
53022
53023// GoString returns the string representation
53024func (s CreateEgressOnlyInternetGatewayInput) GoString() string {
53025	return s.String()
53026}
53027
53028// Validate inspects the fields of the type to determine if they are valid.
53029func (s *CreateEgressOnlyInternetGatewayInput) Validate() error {
53030	invalidParams := request.ErrInvalidParams{Context: "CreateEgressOnlyInternetGatewayInput"}
53031	if s.VpcId == nil {
53032		invalidParams.Add(request.NewErrParamRequired("VpcId"))
53033	}
53034
53035	if invalidParams.Len() > 0 {
53036		return invalidParams
53037	}
53038	return nil
53039}
53040
53041// SetClientToken sets the ClientToken field's value.
53042func (s *CreateEgressOnlyInternetGatewayInput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayInput {
53043	s.ClientToken = &v
53044	return s
53045}
53046
53047// SetDryRun sets the DryRun field's value.
53048func (s *CreateEgressOnlyInternetGatewayInput) SetDryRun(v bool) *CreateEgressOnlyInternetGatewayInput {
53049	s.DryRun = &v
53050	return s
53051}
53052
53053// SetTagSpecifications sets the TagSpecifications field's value.
53054func (s *CreateEgressOnlyInternetGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateEgressOnlyInternetGatewayInput {
53055	s.TagSpecifications = v
53056	return s
53057}
53058
53059// SetVpcId sets the VpcId field's value.
53060func (s *CreateEgressOnlyInternetGatewayInput) SetVpcId(v string) *CreateEgressOnlyInternetGatewayInput {
53061	s.VpcId = &v
53062	return s
53063}
53064
53065type CreateEgressOnlyInternetGatewayOutput struct {
53066	_ struct{} `type:"structure"`
53067
53068	// Unique, case-sensitive identifier that you provide to ensure the idempotency
53069	// of the request.
53070	ClientToken *string `locationName:"clientToken" type:"string"`
53071
53072	// Information about the egress-only internet gateway.
53073	EgressOnlyInternetGateway *EgressOnlyInternetGateway `locationName:"egressOnlyInternetGateway" type:"structure"`
53074}
53075
53076// String returns the string representation
53077func (s CreateEgressOnlyInternetGatewayOutput) String() string {
53078	return awsutil.Prettify(s)
53079}
53080
53081// GoString returns the string representation
53082func (s CreateEgressOnlyInternetGatewayOutput) GoString() string {
53083	return s.String()
53084}
53085
53086// SetClientToken sets the ClientToken field's value.
53087func (s *CreateEgressOnlyInternetGatewayOutput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayOutput {
53088	s.ClientToken = &v
53089	return s
53090}
53091
53092// SetEgressOnlyInternetGateway sets the EgressOnlyInternetGateway field's value.
53093func (s *CreateEgressOnlyInternetGatewayOutput) SetEgressOnlyInternetGateway(v *EgressOnlyInternetGateway) *CreateEgressOnlyInternetGatewayOutput {
53094	s.EgressOnlyInternetGateway = v
53095	return s
53096}
53097
53098// Describes the instances that could not be launched by the fleet.
53099type CreateFleetError struct {
53100	_ struct{} `type:"structure"`
53101
53102	// The error code that indicates why the instance could not be launched. For
53103	// more information about error codes, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
53104	ErrorCode *string `locationName:"errorCode" type:"string"`
53105
53106	// The error message that describes why the instance could not be launched.
53107	// For more information about error messages, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
53108	ErrorMessage *string `locationName:"errorMessage" type:"string"`
53109
53110	// The launch templates and overrides that were used for launching the instances.
53111	// The values that you specify in the Overrides replace the values in the launch
53112	// template.
53113	LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
53114
53115	// Indicates if the instance that could not be launched was a Spot Instance
53116	// or On-Demand Instance.
53117	Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
53118}
53119
53120// String returns the string representation
53121func (s CreateFleetError) String() string {
53122	return awsutil.Prettify(s)
53123}
53124
53125// GoString returns the string representation
53126func (s CreateFleetError) GoString() string {
53127	return s.String()
53128}
53129
53130// SetErrorCode sets the ErrorCode field's value.
53131func (s *CreateFleetError) SetErrorCode(v string) *CreateFleetError {
53132	s.ErrorCode = &v
53133	return s
53134}
53135
53136// SetErrorMessage sets the ErrorMessage field's value.
53137func (s *CreateFleetError) SetErrorMessage(v string) *CreateFleetError {
53138	s.ErrorMessage = &v
53139	return s
53140}
53141
53142// SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
53143func (s *CreateFleetError) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *CreateFleetError {
53144	s.LaunchTemplateAndOverrides = v
53145	return s
53146}
53147
53148// SetLifecycle sets the Lifecycle field's value.
53149func (s *CreateFleetError) SetLifecycle(v string) *CreateFleetError {
53150	s.Lifecycle = &v
53151	return s
53152}
53153
53154type CreateFleetInput struct {
53155	_ struct{} `type:"structure"`
53156
53157	// Unique, case-sensitive identifier that you provide to ensure the idempotency
53158	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
53159	ClientToken *string `type:"string"`
53160
53161	// Reserved.
53162	Context *string `type:"string"`
53163
53164	// Checks whether you have the required permissions for the action, without
53165	// actually making the request, and provides an error response. If you have
53166	// the required permissions, the error response is DryRunOperation. Otherwise,
53167	// it is UnauthorizedOperation.
53168	DryRun *bool `type:"boolean"`
53169
53170	// Indicates whether running instances should be terminated if the total target
53171	// capacity of the EC2 Fleet is decreased below the current size of the EC2
53172	// Fleet.
53173	ExcessCapacityTerminationPolicy *string `type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
53174
53175	// The configuration for the EC2 Fleet.
53176	//
53177	// LaunchTemplateConfigs is a required field
53178	LaunchTemplateConfigs []*FleetLaunchTemplateConfigRequest `locationNameList:"item" type:"list" required:"true"`
53179
53180	// Describes the configuration of On-Demand Instances in an EC2 Fleet.
53181	OnDemandOptions *OnDemandOptionsRequest `type:"structure"`
53182
53183	// Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported
53184	// only for fleets of type maintain. For more information, see EC2 Fleet health
53185	// checks (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#ec2-fleet-health-checks)
53186	// in the Amazon EC2 User Guide.
53187	ReplaceUnhealthyInstances *bool `type:"boolean"`
53188
53189	// Describes the configuration of Spot Instances in an EC2 Fleet.
53190	SpotOptions *SpotOptionsRequest `type:"structure"`
53191
53192	// The key-value pair for tagging the EC2 Fleet request on creation. For more
53193	// information, see Tagging your resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources).
53194	//
53195	// If the fleet type is instant, specify a resource type of fleet to tag the
53196	// fleet or instance to tag the instances at launch.
53197	//
53198	// If the fleet type is maintain or request, specify a resource type of fleet
53199	// to tag the fleet. You cannot specify a resource type of instance. To tag
53200	// instances at launch, specify the tags in a launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template).
53201	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
53202
53203	// The number of units to request.
53204	//
53205	// TargetCapacitySpecification is a required field
53206	TargetCapacitySpecification *TargetCapacitySpecificationRequest `type:"structure" required:"true"`
53207
53208	// Indicates whether running instances should be terminated when the EC2 Fleet
53209	// expires.
53210	TerminateInstancesWithExpiration *bool `type:"boolean"`
53211
53212	// The fleet type. The default value is maintain.
53213	//
53214	//    * maintain - The EC2 Fleet places an asynchronous request for your desired
53215	//    capacity, and continues to maintain your desired Spot capacity by replenishing
53216	//    interrupted Spot Instances.
53217	//
53218	//    * request - The EC2 Fleet places an asynchronous one-time request for
53219	//    your desired capacity, but does submit Spot requests in alternative capacity
53220	//    pools if Spot capacity is unavailable, and does not maintain Spot capacity
53221	//    if Spot Instances are interrupted.
53222	//
53223	//    * instant - The EC2 Fleet places a synchronous one-time request for your
53224	//    desired capacity, and returns errors for any instances that could not
53225	//    be launched.
53226	//
53227	// 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)
53228	// in the Amazon EC2 User Guide.
53229	Type *string `type:"string" enum:"FleetType"`
53230
53231	// The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
53232	// The default is to start fulfilling the request immediately.
53233	ValidFrom *time.Time `type:"timestamp"`
53234
53235	// The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
53236	// At this point, no new EC2 Fleet requests are placed or able to fulfill the
53237	// request. If no value is specified, the request remains until you cancel it.
53238	ValidUntil *time.Time `type:"timestamp"`
53239}
53240
53241// String returns the string representation
53242func (s CreateFleetInput) String() string {
53243	return awsutil.Prettify(s)
53244}
53245
53246// GoString returns the string representation
53247func (s CreateFleetInput) GoString() string {
53248	return s.String()
53249}
53250
53251// Validate inspects the fields of the type to determine if they are valid.
53252func (s *CreateFleetInput) Validate() error {
53253	invalidParams := request.ErrInvalidParams{Context: "CreateFleetInput"}
53254	if s.LaunchTemplateConfigs == nil {
53255		invalidParams.Add(request.NewErrParamRequired("LaunchTemplateConfigs"))
53256	}
53257	if s.TargetCapacitySpecification == nil {
53258		invalidParams.Add(request.NewErrParamRequired("TargetCapacitySpecification"))
53259	}
53260	if s.LaunchTemplateConfigs != nil {
53261		for i, v := range s.LaunchTemplateConfigs {
53262			if v == nil {
53263				continue
53264			}
53265			if err := v.Validate(); err != nil {
53266				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigs", i), err.(request.ErrInvalidParams))
53267			}
53268		}
53269	}
53270	if s.TargetCapacitySpecification != nil {
53271		if err := s.TargetCapacitySpecification.Validate(); err != nil {
53272			invalidParams.AddNested("TargetCapacitySpecification", err.(request.ErrInvalidParams))
53273		}
53274	}
53275
53276	if invalidParams.Len() > 0 {
53277		return invalidParams
53278	}
53279	return nil
53280}
53281
53282// SetClientToken sets the ClientToken field's value.
53283func (s *CreateFleetInput) SetClientToken(v string) *CreateFleetInput {
53284	s.ClientToken = &v
53285	return s
53286}
53287
53288// SetContext sets the Context field's value.
53289func (s *CreateFleetInput) SetContext(v string) *CreateFleetInput {
53290	s.Context = &v
53291	return s
53292}
53293
53294// SetDryRun sets the DryRun field's value.
53295func (s *CreateFleetInput) SetDryRun(v bool) *CreateFleetInput {
53296	s.DryRun = &v
53297	return s
53298}
53299
53300// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
53301func (s *CreateFleetInput) SetExcessCapacityTerminationPolicy(v string) *CreateFleetInput {
53302	s.ExcessCapacityTerminationPolicy = &v
53303	return s
53304}
53305
53306// SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
53307func (s *CreateFleetInput) SetLaunchTemplateConfigs(v []*FleetLaunchTemplateConfigRequest) *CreateFleetInput {
53308	s.LaunchTemplateConfigs = v
53309	return s
53310}
53311
53312// SetOnDemandOptions sets the OnDemandOptions field's value.
53313func (s *CreateFleetInput) SetOnDemandOptions(v *OnDemandOptionsRequest) *CreateFleetInput {
53314	s.OnDemandOptions = v
53315	return s
53316}
53317
53318// SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
53319func (s *CreateFleetInput) SetReplaceUnhealthyInstances(v bool) *CreateFleetInput {
53320	s.ReplaceUnhealthyInstances = &v
53321	return s
53322}
53323
53324// SetSpotOptions sets the SpotOptions field's value.
53325func (s *CreateFleetInput) SetSpotOptions(v *SpotOptionsRequest) *CreateFleetInput {
53326	s.SpotOptions = v
53327	return s
53328}
53329
53330// SetTagSpecifications sets the TagSpecifications field's value.
53331func (s *CreateFleetInput) SetTagSpecifications(v []*TagSpecification) *CreateFleetInput {
53332	s.TagSpecifications = v
53333	return s
53334}
53335
53336// SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
53337func (s *CreateFleetInput) SetTargetCapacitySpecification(v *TargetCapacitySpecificationRequest) *CreateFleetInput {
53338	s.TargetCapacitySpecification = v
53339	return s
53340}
53341
53342// SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
53343func (s *CreateFleetInput) SetTerminateInstancesWithExpiration(v bool) *CreateFleetInput {
53344	s.TerminateInstancesWithExpiration = &v
53345	return s
53346}
53347
53348// SetType sets the Type field's value.
53349func (s *CreateFleetInput) SetType(v string) *CreateFleetInput {
53350	s.Type = &v
53351	return s
53352}
53353
53354// SetValidFrom sets the ValidFrom field's value.
53355func (s *CreateFleetInput) SetValidFrom(v time.Time) *CreateFleetInput {
53356	s.ValidFrom = &v
53357	return s
53358}
53359
53360// SetValidUntil sets the ValidUntil field's value.
53361func (s *CreateFleetInput) SetValidUntil(v time.Time) *CreateFleetInput {
53362	s.ValidUntil = &v
53363	return s
53364}
53365
53366// Describes the instances that were launched by the fleet.
53367type CreateFleetInstance struct {
53368	_ struct{} `type:"structure"`
53369
53370	// The IDs of the instances.
53371	InstanceIds []*string `locationName:"instanceIds" locationNameList:"item" type:"list"`
53372
53373	// The instance type.
53374	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
53375
53376	// The launch templates and overrides that were used for launching the instances.
53377	// The values that you specify in the Overrides replace the values in the launch
53378	// template.
53379	LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
53380
53381	// Indicates if the instance that was launched is a Spot Instance or On-Demand
53382	// Instance.
53383	Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
53384
53385	// The value is Windows for Windows instances. Otherwise, the value is blank.
53386	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
53387}
53388
53389// String returns the string representation
53390func (s CreateFleetInstance) String() string {
53391	return awsutil.Prettify(s)
53392}
53393
53394// GoString returns the string representation
53395func (s CreateFleetInstance) GoString() string {
53396	return s.String()
53397}
53398
53399// SetInstanceIds sets the InstanceIds field's value.
53400func (s *CreateFleetInstance) SetInstanceIds(v []*string) *CreateFleetInstance {
53401	s.InstanceIds = v
53402	return s
53403}
53404
53405// SetInstanceType sets the InstanceType field's value.
53406func (s *CreateFleetInstance) SetInstanceType(v string) *CreateFleetInstance {
53407	s.InstanceType = &v
53408	return s
53409}
53410
53411// SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
53412func (s *CreateFleetInstance) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *CreateFleetInstance {
53413	s.LaunchTemplateAndOverrides = v
53414	return s
53415}
53416
53417// SetLifecycle sets the Lifecycle field's value.
53418func (s *CreateFleetInstance) SetLifecycle(v string) *CreateFleetInstance {
53419	s.Lifecycle = &v
53420	return s
53421}
53422
53423// SetPlatform sets the Platform field's value.
53424func (s *CreateFleetInstance) SetPlatform(v string) *CreateFleetInstance {
53425	s.Platform = &v
53426	return s
53427}
53428
53429type CreateFleetOutput struct {
53430	_ struct{} `type:"structure"`
53431
53432	// Information about the instances that could not be launched by the fleet.
53433	// Supported only for fleets of type instant.
53434	Errors []*CreateFleetError `locationName:"errorSet" locationNameList:"item" type:"list"`
53435
53436	// The ID of the EC2 Fleet.
53437	FleetId *string `locationName:"fleetId" type:"string"`
53438
53439	// Information about the instances that were launched by the fleet. Supported
53440	// only for fleets of type instant.
53441	Instances []*CreateFleetInstance `locationName:"fleetInstanceSet" locationNameList:"item" type:"list"`
53442}
53443
53444// String returns the string representation
53445func (s CreateFleetOutput) String() string {
53446	return awsutil.Prettify(s)
53447}
53448
53449// GoString returns the string representation
53450func (s CreateFleetOutput) GoString() string {
53451	return s.String()
53452}
53453
53454// SetErrors sets the Errors field's value.
53455func (s *CreateFleetOutput) SetErrors(v []*CreateFleetError) *CreateFleetOutput {
53456	s.Errors = v
53457	return s
53458}
53459
53460// SetFleetId sets the FleetId field's value.
53461func (s *CreateFleetOutput) SetFleetId(v string) *CreateFleetOutput {
53462	s.FleetId = &v
53463	return s
53464}
53465
53466// SetInstances sets the Instances field's value.
53467func (s *CreateFleetOutput) SetInstances(v []*CreateFleetInstance) *CreateFleetOutput {
53468	s.Instances = v
53469	return s
53470}
53471
53472type CreateFlowLogsInput struct {
53473	_ struct{} `type:"structure"`
53474
53475	// Unique, case-sensitive identifier that you provide to ensure the idempotency
53476	// of the request. For more information, see How to ensure idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
53477	ClientToken *string `type:"string"`
53478
53479	// The ARN for the IAM role that permits Amazon EC2 to publish flow logs to
53480	// a CloudWatch Logs log group in your account.
53481	//
53482	// If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn
53483	// or LogGroupName.
53484	DeliverLogsPermissionArn *string `type:"string"`
53485
53486	// Checks whether you have the required permissions for the action, without
53487	// actually making the request, and provides an error response. If you have
53488	// the required permissions, the error response is DryRunOperation. Otherwise,
53489	// it is UnauthorizedOperation.
53490	DryRun *bool `type:"boolean"`
53491
53492	// Specifies the destination to which the flow log data is to be published.
53493	// Flow log data can be published to a CloudWatch Logs log group or an Amazon
53494	// S3 bucket. The value specified for this parameter depends on the value specified
53495	// for LogDestinationType.
53496	//
53497	// If LogDestinationType is not specified or cloud-watch-logs, specify the Amazon
53498	// Resource Name (ARN) of the CloudWatch Logs log group. For example, to publish
53499	// to a log group called my-logs, specify arn:aws:logs:us-east-1:123456789012:log-group:my-logs.
53500	// Alternatively, use LogGroupName instead.
53501	//
53502	// If LogDestinationType is s3, specify the ARN of the Amazon S3 bucket. You
53503	// can also specify a subfolder in the bucket. To specify a subfolder in the
53504	// bucket, use the following ARN format: bucket_ARN/subfolder_name/. For example,
53505	// to specify a subfolder named my-logs in a bucket named my-bucket, use the
53506	// following ARN: arn:aws:s3:::my-bucket/my-logs/. You cannot use AWSLogs as
53507	// a subfolder name. This is a reserved term.
53508	LogDestination *string `type:"string"`
53509
53510	// Specifies the type of destination to which the flow log data is to be published.
53511	// Flow log data can be published to CloudWatch Logs or Amazon S3. To publish
53512	// flow log data to CloudWatch Logs, specify cloud-watch-logs. To publish flow
53513	// log data to Amazon S3, specify s3.
53514	//
53515	// If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn
53516	// or LogGroupName.
53517	//
53518	// Default: cloud-watch-logs
53519	LogDestinationType *string `type:"string" enum:"LogDestinationType"`
53520
53521	// The fields to include in the flow log record, in the order in which they
53522	// 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).
53523	// If you omit this parameter, the flow log is created using the default format.
53524	// If you specify this parameter, you must specify at least one field.
53525	//
53526	// Specify the fields using the ${field-id} format, separated by spaces. For
53527	// the CLI, use single quotation marks (' ') to surround the parameter value.
53528	LogFormat *string `type:"string"`
53529
53530	// The name of a new or existing CloudWatch Logs log group where Amazon EC2
53531	// publishes your flow logs.
53532	//
53533	// If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn
53534	// or LogGroupName.
53535	LogGroupName *string `type:"string"`
53536
53537	// The maximum interval of time during which a flow of packets is captured and
53538	// aggregated into a flow log record. You can specify 60 seconds (1 minute)
53539	// or 600 seconds (10 minutes).
53540	//
53541	// 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),
53542	// the aggregation interval is always 60 seconds or less, regardless of the
53543	// value that you specify.
53544	//
53545	// Default: 600
53546	MaxAggregationInterval *int64 `type:"integer"`
53547
53548	// The ID of the subnet, network interface, or VPC for which you want to create
53549	// a flow log.
53550	//
53551	// Constraints: Maximum of 1000 resources
53552	//
53553	// ResourceIds is a required field
53554	ResourceIds []*string `locationName:"ResourceId" locationNameList:"item" type:"list" required:"true"`
53555
53556	// The type of resource for which to create the flow log. For example, if you
53557	// specified a VPC ID for the ResourceId property, specify VPC for this property.
53558	//
53559	// ResourceType is a required field
53560	ResourceType *string `type:"string" required:"true" enum:"FlowLogsResourceType"`
53561
53562	// The tags to apply to the flow logs.
53563	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
53564
53565	// The type of traffic to log. You can log traffic that the resource accepts
53566	// or rejects, or all traffic.
53567	//
53568	// TrafficType is a required field
53569	TrafficType *string `type:"string" required:"true" enum:"TrafficType"`
53570}
53571
53572// String returns the string representation
53573func (s CreateFlowLogsInput) String() string {
53574	return awsutil.Prettify(s)
53575}
53576
53577// GoString returns the string representation
53578func (s CreateFlowLogsInput) GoString() string {
53579	return s.String()
53580}
53581
53582// Validate inspects the fields of the type to determine if they are valid.
53583func (s *CreateFlowLogsInput) Validate() error {
53584	invalidParams := request.ErrInvalidParams{Context: "CreateFlowLogsInput"}
53585	if s.ResourceIds == nil {
53586		invalidParams.Add(request.NewErrParamRequired("ResourceIds"))
53587	}
53588	if s.ResourceType == nil {
53589		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
53590	}
53591	if s.TrafficType == nil {
53592		invalidParams.Add(request.NewErrParamRequired("TrafficType"))
53593	}
53594
53595	if invalidParams.Len() > 0 {
53596		return invalidParams
53597	}
53598	return nil
53599}
53600
53601// SetClientToken sets the ClientToken field's value.
53602func (s *CreateFlowLogsInput) SetClientToken(v string) *CreateFlowLogsInput {
53603	s.ClientToken = &v
53604	return s
53605}
53606
53607// SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
53608func (s *CreateFlowLogsInput) SetDeliverLogsPermissionArn(v string) *CreateFlowLogsInput {
53609	s.DeliverLogsPermissionArn = &v
53610	return s
53611}
53612
53613// SetDryRun sets the DryRun field's value.
53614func (s *CreateFlowLogsInput) SetDryRun(v bool) *CreateFlowLogsInput {
53615	s.DryRun = &v
53616	return s
53617}
53618
53619// SetLogDestination sets the LogDestination field's value.
53620func (s *CreateFlowLogsInput) SetLogDestination(v string) *CreateFlowLogsInput {
53621	s.LogDestination = &v
53622	return s
53623}
53624
53625// SetLogDestinationType sets the LogDestinationType field's value.
53626func (s *CreateFlowLogsInput) SetLogDestinationType(v string) *CreateFlowLogsInput {
53627	s.LogDestinationType = &v
53628	return s
53629}
53630
53631// SetLogFormat sets the LogFormat field's value.
53632func (s *CreateFlowLogsInput) SetLogFormat(v string) *CreateFlowLogsInput {
53633	s.LogFormat = &v
53634	return s
53635}
53636
53637// SetLogGroupName sets the LogGroupName field's value.
53638func (s *CreateFlowLogsInput) SetLogGroupName(v string) *CreateFlowLogsInput {
53639	s.LogGroupName = &v
53640	return s
53641}
53642
53643// SetMaxAggregationInterval sets the MaxAggregationInterval field's value.
53644func (s *CreateFlowLogsInput) SetMaxAggregationInterval(v int64) *CreateFlowLogsInput {
53645	s.MaxAggregationInterval = &v
53646	return s
53647}
53648
53649// SetResourceIds sets the ResourceIds field's value.
53650func (s *CreateFlowLogsInput) SetResourceIds(v []*string) *CreateFlowLogsInput {
53651	s.ResourceIds = v
53652	return s
53653}
53654
53655// SetResourceType sets the ResourceType field's value.
53656func (s *CreateFlowLogsInput) SetResourceType(v string) *CreateFlowLogsInput {
53657	s.ResourceType = &v
53658	return s
53659}
53660
53661// SetTagSpecifications sets the TagSpecifications field's value.
53662func (s *CreateFlowLogsInput) SetTagSpecifications(v []*TagSpecification) *CreateFlowLogsInput {
53663	s.TagSpecifications = v
53664	return s
53665}
53666
53667// SetTrafficType sets the TrafficType field's value.
53668func (s *CreateFlowLogsInput) SetTrafficType(v string) *CreateFlowLogsInput {
53669	s.TrafficType = &v
53670	return s
53671}
53672
53673type CreateFlowLogsOutput struct {
53674	_ struct{} `type:"structure"`
53675
53676	// Unique, case-sensitive identifier that you provide to ensure the idempotency
53677	// of the request.
53678	ClientToken *string `locationName:"clientToken" type:"string"`
53679
53680	// The IDs of the flow logs.
53681	FlowLogIds []*string `locationName:"flowLogIdSet" locationNameList:"item" type:"list"`
53682
53683	// Information about the flow logs that could not be created successfully.
53684	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
53685}
53686
53687// String returns the string representation
53688func (s CreateFlowLogsOutput) String() string {
53689	return awsutil.Prettify(s)
53690}
53691
53692// GoString returns the string representation
53693func (s CreateFlowLogsOutput) GoString() string {
53694	return s.String()
53695}
53696
53697// SetClientToken sets the ClientToken field's value.
53698func (s *CreateFlowLogsOutput) SetClientToken(v string) *CreateFlowLogsOutput {
53699	s.ClientToken = &v
53700	return s
53701}
53702
53703// SetFlowLogIds sets the FlowLogIds field's value.
53704func (s *CreateFlowLogsOutput) SetFlowLogIds(v []*string) *CreateFlowLogsOutput {
53705	s.FlowLogIds = v
53706	return s
53707}
53708
53709// SetUnsuccessful sets the Unsuccessful field's value.
53710func (s *CreateFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *CreateFlowLogsOutput {
53711	s.Unsuccessful = v
53712	return s
53713}
53714
53715type CreateFpgaImageInput struct {
53716	_ struct{} `type:"structure"`
53717
53718	// Unique, case-sensitive identifier that you provide to ensure the idempotency
53719	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
53720	ClientToken *string `type:"string"`
53721
53722	// A description for the AFI.
53723	Description *string `type:"string"`
53724
53725	// Checks whether you have the required permissions for the action, without
53726	// actually making the request, and provides an error response. If you have
53727	// the required permissions, the error response is DryRunOperation. Otherwise,
53728	// it is UnauthorizedOperation.
53729	DryRun *bool `type:"boolean"`
53730
53731	// The location of the encrypted design checkpoint in Amazon S3. The input must
53732	// be a tarball.
53733	//
53734	// InputStorageLocation is a required field
53735	InputStorageLocation *StorageLocation `type:"structure" required:"true"`
53736
53737	// The location in Amazon S3 for the output logs.
53738	LogsStorageLocation *StorageLocation `type:"structure"`
53739
53740	// A name for the AFI.
53741	Name *string `type:"string"`
53742
53743	// The tags to apply to the FPGA image during creation.
53744	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
53745}
53746
53747// String returns the string representation
53748func (s CreateFpgaImageInput) String() string {
53749	return awsutil.Prettify(s)
53750}
53751
53752// GoString returns the string representation
53753func (s CreateFpgaImageInput) GoString() string {
53754	return s.String()
53755}
53756
53757// Validate inspects the fields of the type to determine if they are valid.
53758func (s *CreateFpgaImageInput) Validate() error {
53759	invalidParams := request.ErrInvalidParams{Context: "CreateFpgaImageInput"}
53760	if s.InputStorageLocation == nil {
53761		invalidParams.Add(request.NewErrParamRequired("InputStorageLocation"))
53762	}
53763
53764	if invalidParams.Len() > 0 {
53765		return invalidParams
53766	}
53767	return nil
53768}
53769
53770// SetClientToken sets the ClientToken field's value.
53771func (s *CreateFpgaImageInput) SetClientToken(v string) *CreateFpgaImageInput {
53772	s.ClientToken = &v
53773	return s
53774}
53775
53776// SetDescription sets the Description field's value.
53777func (s *CreateFpgaImageInput) SetDescription(v string) *CreateFpgaImageInput {
53778	s.Description = &v
53779	return s
53780}
53781
53782// SetDryRun sets the DryRun field's value.
53783func (s *CreateFpgaImageInput) SetDryRun(v bool) *CreateFpgaImageInput {
53784	s.DryRun = &v
53785	return s
53786}
53787
53788// SetInputStorageLocation sets the InputStorageLocation field's value.
53789func (s *CreateFpgaImageInput) SetInputStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
53790	s.InputStorageLocation = v
53791	return s
53792}
53793
53794// SetLogsStorageLocation sets the LogsStorageLocation field's value.
53795func (s *CreateFpgaImageInput) SetLogsStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
53796	s.LogsStorageLocation = v
53797	return s
53798}
53799
53800// SetName sets the Name field's value.
53801func (s *CreateFpgaImageInput) SetName(v string) *CreateFpgaImageInput {
53802	s.Name = &v
53803	return s
53804}
53805
53806// SetTagSpecifications sets the TagSpecifications field's value.
53807func (s *CreateFpgaImageInput) SetTagSpecifications(v []*TagSpecification) *CreateFpgaImageInput {
53808	s.TagSpecifications = v
53809	return s
53810}
53811
53812type CreateFpgaImageOutput struct {
53813	_ struct{} `type:"structure"`
53814
53815	// The global FPGA image identifier (AGFI ID).
53816	FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
53817
53818	// The FPGA image identifier (AFI ID).
53819	FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
53820}
53821
53822// String returns the string representation
53823func (s CreateFpgaImageOutput) String() string {
53824	return awsutil.Prettify(s)
53825}
53826
53827// GoString returns the string representation
53828func (s CreateFpgaImageOutput) GoString() string {
53829	return s.String()
53830}
53831
53832// SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
53833func (s *CreateFpgaImageOutput) SetFpgaImageGlobalId(v string) *CreateFpgaImageOutput {
53834	s.FpgaImageGlobalId = &v
53835	return s
53836}
53837
53838// SetFpgaImageId sets the FpgaImageId field's value.
53839func (s *CreateFpgaImageOutput) SetFpgaImageId(v string) *CreateFpgaImageOutput {
53840	s.FpgaImageId = &v
53841	return s
53842}
53843
53844type CreateImageInput struct {
53845	_ struct{} `type:"structure"`
53846
53847	// The block device mappings. This parameter cannot be used to modify the encryption
53848	// status of existing volumes or snapshots. To create an AMI with encrypted
53849	// snapshots, use the CopyImage action.
53850	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
53851
53852	// A description for the new image.
53853	Description *string `locationName:"description" type:"string"`
53854
53855	// Checks whether you have the required permissions for the action, without
53856	// actually making the request, and provides an error response. If you have
53857	// the required permissions, the error response is DryRunOperation. Otherwise,
53858	// it is UnauthorizedOperation.
53859	DryRun *bool `locationName:"dryRun" type:"boolean"`
53860
53861	// The ID of the instance.
53862	//
53863	// InstanceId is a required field
53864	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
53865
53866	// A name for the new image.
53867	//
53868	// Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
53869	// ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
53870	// at-signs (@), or underscores(_)
53871	//
53872	// Name is a required field
53873	Name *string `locationName:"name" type:"string" required:"true"`
53874
53875	// By default, Amazon EC2 attempts to shut down and reboot the instance before
53876	// creating the image. If the No Reboot option is set, Amazon EC2 doesn't shut
53877	// down the instance before creating the image. When this option is used, file
53878	// system integrity on the created image can't be guaranteed.
53879	NoReboot *bool `locationName:"noReboot" type:"boolean"`
53880
53881	// The tags to apply to the AMI and snapshots on creation. You can tag the AMI,
53882	// the snapshots, or both.
53883	//
53884	//    * To tag the AMI, the value for ResourceType must be image.
53885	//
53886	//    * To tag the snapshots that are created of the root volume and of other
53887	//    EBS volumes that are attached to the instance, the value for ResourceType
53888	//    must be snapshot. The same tag is applied to all of the snapshots that
53889	//    are created.
53890	//
53891	// If you specify other values for ResourceType, the request fails.
53892	//
53893	// To tag an AMI or snapshot after it has been created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
53894	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
53895}
53896
53897// String returns the string representation
53898func (s CreateImageInput) String() string {
53899	return awsutil.Prettify(s)
53900}
53901
53902// GoString returns the string representation
53903func (s CreateImageInput) GoString() string {
53904	return s.String()
53905}
53906
53907// Validate inspects the fields of the type to determine if they are valid.
53908func (s *CreateImageInput) Validate() error {
53909	invalidParams := request.ErrInvalidParams{Context: "CreateImageInput"}
53910	if s.InstanceId == nil {
53911		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
53912	}
53913	if s.Name == nil {
53914		invalidParams.Add(request.NewErrParamRequired("Name"))
53915	}
53916
53917	if invalidParams.Len() > 0 {
53918		return invalidParams
53919	}
53920	return nil
53921}
53922
53923// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
53924func (s *CreateImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *CreateImageInput {
53925	s.BlockDeviceMappings = v
53926	return s
53927}
53928
53929// SetDescription sets the Description field's value.
53930func (s *CreateImageInput) SetDescription(v string) *CreateImageInput {
53931	s.Description = &v
53932	return s
53933}
53934
53935// SetDryRun sets the DryRun field's value.
53936func (s *CreateImageInput) SetDryRun(v bool) *CreateImageInput {
53937	s.DryRun = &v
53938	return s
53939}
53940
53941// SetInstanceId sets the InstanceId field's value.
53942func (s *CreateImageInput) SetInstanceId(v string) *CreateImageInput {
53943	s.InstanceId = &v
53944	return s
53945}
53946
53947// SetName sets the Name field's value.
53948func (s *CreateImageInput) SetName(v string) *CreateImageInput {
53949	s.Name = &v
53950	return s
53951}
53952
53953// SetNoReboot sets the NoReboot field's value.
53954func (s *CreateImageInput) SetNoReboot(v bool) *CreateImageInput {
53955	s.NoReboot = &v
53956	return s
53957}
53958
53959// SetTagSpecifications sets the TagSpecifications field's value.
53960func (s *CreateImageInput) SetTagSpecifications(v []*TagSpecification) *CreateImageInput {
53961	s.TagSpecifications = v
53962	return s
53963}
53964
53965type CreateImageOutput struct {
53966	_ struct{} `type:"structure"`
53967
53968	// The ID of the new AMI.
53969	ImageId *string `locationName:"imageId" type:"string"`
53970}
53971
53972// String returns the string representation
53973func (s CreateImageOutput) String() string {
53974	return awsutil.Prettify(s)
53975}
53976
53977// GoString returns the string representation
53978func (s CreateImageOutput) GoString() string {
53979	return s.String()
53980}
53981
53982// SetImageId sets the ImageId field's value.
53983func (s *CreateImageOutput) SetImageId(v string) *CreateImageOutput {
53984	s.ImageId = &v
53985	return s
53986}
53987
53988type CreateInstanceEventWindowInput struct {
53989	_ struct{} `type:"structure"`
53990
53991	// The cron expression for the event window, for example, * 0-4,20-23 * * 1,5.
53992	// If you specify a cron expression, you can't specify a time range.
53993	//
53994	// Constraints:
53995	//
53996	//    * Only hour and day of the week values are supported.
53997	//
53998	//    * For day of the week values, you can specify either integers 0 through
53999	//    6, or alternative single values SUN through SAT.
54000	//
54001	//    * The minute, month, and year must be specified by *.
54002	//
54003	//    * The hour value must be one or a multiple range, for example, 0-4 or
54004	//    0-4,20-23.
54005	//
54006	//    * Each hour range must be >= 2 hours, for example, 0-2 or 20-23.
54007	//
54008	//    * The event window must be >= 4 hours. The combined total time ranges
54009	//    in the event window must be >= 4 hours.
54010	//
54011	// For more information about cron expressions, see cron (https://en.wikipedia.org/wiki/Cron)
54012	// on the Wikipedia website.
54013	CronExpression *string `type:"string"`
54014
54015	// Checks whether you have the required permissions for the action, without
54016	// actually making the request, and provides an error response. If you have
54017	// the required permissions, the error response is DryRunOperation. Otherwise,
54018	// it is UnauthorizedOperation.
54019	DryRun *bool `type:"boolean"`
54020
54021	// The name of the event window.
54022	Name *string `type:"string"`
54023
54024	// The tags to apply to the event window.
54025	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
54026
54027	// The time range for the event window. If you specify a time range, you can't
54028	// specify a cron expression.
54029	TimeRanges []*InstanceEventWindowTimeRangeRequest `locationName:"TimeRange" type:"list"`
54030}
54031
54032// String returns the string representation
54033func (s CreateInstanceEventWindowInput) String() string {
54034	return awsutil.Prettify(s)
54035}
54036
54037// GoString returns the string representation
54038func (s CreateInstanceEventWindowInput) GoString() string {
54039	return s.String()
54040}
54041
54042// SetCronExpression sets the CronExpression field's value.
54043func (s *CreateInstanceEventWindowInput) SetCronExpression(v string) *CreateInstanceEventWindowInput {
54044	s.CronExpression = &v
54045	return s
54046}
54047
54048// SetDryRun sets the DryRun field's value.
54049func (s *CreateInstanceEventWindowInput) SetDryRun(v bool) *CreateInstanceEventWindowInput {
54050	s.DryRun = &v
54051	return s
54052}
54053
54054// SetName sets the Name field's value.
54055func (s *CreateInstanceEventWindowInput) SetName(v string) *CreateInstanceEventWindowInput {
54056	s.Name = &v
54057	return s
54058}
54059
54060// SetTagSpecifications sets the TagSpecifications field's value.
54061func (s *CreateInstanceEventWindowInput) SetTagSpecifications(v []*TagSpecification) *CreateInstanceEventWindowInput {
54062	s.TagSpecifications = v
54063	return s
54064}
54065
54066// SetTimeRanges sets the TimeRanges field's value.
54067func (s *CreateInstanceEventWindowInput) SetTimeRanges(v []*InstanceEventWindowTimeRangeRequest) *CreateInstanceEventWindowInput {
54068	s.TimeRanges = v
54069	return s
54070}
54071
54072type CreateInstanceEventWindowOutput struct {
54073	_ struct{} `type:"structure"`
54074
54075	// Information about the event window.
54076	InstanceEventWindow *InstanceEventWindow `locationName:"instanceEventWindow" type:"structure"`
54077}
54078
54079// String returns the string representation
54080func (s CreateInstanceEventWindowOutput) String() string {
54081	return awsutil.Prettify(s)
54082}
54083
54084// GoString returns the string representation
54085func (s CreateInstanceEventWindowOutput) GoString() string {
54086	return s.String()
54087}
54088
54089// SetInstanceEventWindow sets the InstanceEventWindow field's value.
54090func (s *CreateInstanceEventWindowOutput) SetInstanceEventWindow(v *InstanceEventWindow) *CreateInstanceEventWindowOutput {
54091	s.InstanceEventWindow = v
54092	return s
54093}
54094
54095type CreateInstanceExportTaskInput struct {
54096	_ struct{} `type:"structure"`
54097
54098	// A description for the conversion task or the resource being exported. The
54099	// maximum length is 255 characters.
54100	Description *string `locationName:"description" type:"string"`
54101
54102	// The format and location for an export instance task.
54103	//
54104	// ExportToS3Task is a required field
54105	ExportToS3Task *ExportToS3TaskSpecification `locationName:"exportToS3" type:"structure" required:"true"`
54106
54107	// The ID of the instance.
54108	//
54109	// InstanceId is a required field
54110	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
54111
54112	// The tags to apply to the export instance task during creation.
54113	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
54114
54115	// The target virtualization environment.
54116	//
54117	// TargetEnvironment is a required field
54118	TargetEnvironment *string `locationName:"targetEnvironment" type:"string" required:"true" enum:"ExportEnvironment"`
54119}
54120
54121// String returns the string representation
54122func (s CreateInstanceExportTaskInput) String() string {
54123	return awsutil.Prettify(s)
54124}
54125
54126// GoString returns the string representation
54127func (s CreateInstanceExportTaskInput) GoString() string {
54128	return s.String()
54129}
54130
54131// Validate inspects the fields of the type to determine if they are valid.
54132func (s *CreateInstanceExportTaskInput) Validate() error {
54133	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceExportTaskInput"}
54134	if s.ExportToS3Task == nil {
54135		invalidParams.Add(request.NewErrParamRequired("ExportToS3Task"))
54136	}
54137	if s.InstanceId == nil {
54138		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
54139	}
54140	if s.TargetEnvironment == nil {
54141		invalidParams.Add(request.NewErrParamRequired("TargetEnvironment"))
54142	}
54143
54144	if invalidParams.Len() > 0 {
54145		return invalidParams
54146	}
54147	return nil
54148}
54149
54150// SetDescription sets the Description field's value.
54151func (s *CreateInstanceExportTaskInput) SetDescription(v string) *CreateInstanceExportTaskInput {
54152	s.Description = &v
54153	return s
54154}
54155
54156// SetExportToS3Task sets the ExportToS3Task field's value.
54157func (s *CreateInstanceExportTaskInput) SetExportToS3Task(v *ExportToS3TaskSpecification) *CreateInstanceExportTaskInput {
54158	s.ExportToS3Task = v
54159	return s
54160}
54161
54162// SetInstanceId sets the InstanceId field's value.
54163func (s *CreateInstanceExportTaskInput) SetInstanceId(v string) *CreateInstanceExportTaskInput {
54164	s.InstanceId = &v
54165	return s
54166}
54167
54168// SetTagSpecifications sets the TagSpecifications field's value.
54169func (s *CreateInstanceExportTaskInput) SetTagSpecifications(v []*TagSpecification) *CreateInstanceExportTaskInput {
54170	s.TagSpecifications = v
54171	return s
54172}
54173
54174// SetTargetEnvironment sets the TargetEnvironment field's value.
54175func (s *CreateInstanceExportTaskInput) SetTargetEnvironment(v string) *CreateInstanceExportTaskInput {
54176	s.TargetEnvironment = &v
54177	return s
54178}
54179
54180type CreateInstanceExportTaskOutput struct {
54181	_ struct{} `type:"structure"`
54182
54183	// Information about the export instance task.
54184	ExportTask *ExportTask `locationName:"exportTask" type:"structure"`
54185}
54186
54187// String returns the string representation
54188func (s CreateInstanceExportTaskOutput) String() string {
54189	return awsutil.Prettify(s)
54190}
54191
54192// GoString returns the string representation
54193func (s CreateInstanceExportTaskOutput) GoString() string {
54194	return s.String()
54195}
54196
54197// SetExportTask sets the ExportTask field's value.
54198func (s *CreateInstanceExportTaskOutput) SetExportTask(v *ExportTask) *CreateInstanceExportTaskOutput {
54199	s.ExportTask = v
54200	return s
54201}
54202
54203type CreateInternetGatewayInput struct {
54204	_ struct{} `type:"structure"`
54205
54206	// Checks whether you have the required permissions for the action, without
54207	// actually making the request, and provides an error response. If you have
54208	// the required permissions, the error response is DryRunOperation. Otherwise,
54209	// it is UnauthorizedOperation.
54210	DryRun *bool `locationName:"dryRun" type:"boolean"`
54211
54212	// The tags to assign to the internet gateway.
54213	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
54214}
54215
54216// String returns the string representation
54217func (s CreateInternetGatewayInput) String() string {
54218	return awsutil.Prettify(s)
54219}
54220
54221// GoString returns the string representation
54222func (s CreateInternetGatewayInput) GoString() string {
54223	return s.String()
54224}
54225
54226// SetDryRun sets the DryRun field's value.
54227func (s *CreateInternetGatewayInput) SetDryRun(v bool) *CreateInternetGatewayInput {
54228	s.DryRun = &v
54229	return s
54230}
54231
54232// SetTagSpecifications sets the TagSpecifications field's value.
54233func (s *CreateInternetGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateInternetGatewayInput {
54234	s.TagSpecifications = v
54235	return s
54236}
54237
54238type CreateInternetGatewayOutput struct {
54239	_ struct{} `type:"structure"`
54240
54241	// Information about the internet gateway.
54242	InternetGateway *InternetGateway `locationName:"internetGateway" type:"structure"`
54243}
54244
54245// String returns the string representation
54246func (s CreateInternetGatewayOutput) String() string {
54247	return awsutil.Prettify(s)
54248}
54249
54250// GoString returns the string representation
54251func (s CreateInternetGatewayOutput) GoString() string {
54252	return s.String()
54253}
54254
54255// SetInternetGateway sets the InternetGateway field's value.
54256func (s *CreateInternetGatewayOutput) SetInternetGateway(v *InternetGateway) *CreateInternetGatewayOutput {
54257	s.InternetGateway = v
54258	return s
54259}
54260
54261type CreateKeyPairInput struct {
54262	_ struct{} `type:"structure"`
54263
54264	// Checks whether you have the required permissions for the action, without
54265	// actually making the request, and provides an error response. If you have
54266	// the required permissions, the error response is DryRunOperation. Otherwise,
54267	// it is UnauthorizedOperation.
54268	DryRun *bool `locationName:"dryRun" type:"boolean"`
54269
54270	// A unique name for the key pair.
54271	//
54272	// Constraints: Up to 255 ASCII characters
54273	//
54274	// KeyName is a required field
54275	KeyName *string `type:"string" required:"true"`
54276
54277	// The type of key pair. Note that ED25519 keys are not supported for Windows
54278	// instances, EC2 Instance Connect, and EC2 Serial Console.
54279	//
54280	// Default: rsa
54281	KeyType *string `type:"string" enum:"KeyType"`
54282
54283	// The tags to apply to the new key pair.
54284	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
54285}
54286
54287// String returns the string representation
54288func (s CreateKeyPairInput) String() string {
54289	return awsutil.Prettify(s)
54290}
54291
54292// GoString returns the string representation
54293func (s CreateKeyPairInput) GoString() string {
54294	return s.String()
54295}
54296
54297// Validate inspects the fields of the type to determine if they are valid.
54298func (s *CreateKeyPairInput) Validate() error {
54299	invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
54300	if s.KeyName == nil {
54301		invalidParams.Add(request.NewErrParamRequired("KeyName"))
54302	}
54303
54304	if invalidParams.Len() > 0 {
54305		return invalidParams
54306	}
54307	return nil
54308}
54309
54310// SetDryRun sets the DryRun field's value.
54311func (s *CreateKeyPairInput) SetDryRun(v bool) *CreateKeyPairInput {
54312	s.DryRun = &v
54313	return s
54314}
54315
54316// SetKeyName sets the KeyName field's value.
54317func (s *CreateKeyPairInput) SetKeyName(v string) *CreateKeyPairInput {
54318	s.KeyName = &v
54319	return s
54320}
54321
54322// SetKeyType sets the KeyType field's value.
54323func (s *CreateKeyPairInput) SetKeyType(v string) *CreateKeyPairInput {
54324	s.KeyType = &v
54325	return s
54326}
54327
54328// SetTagSpecifications sets the TagSpecifications field's value.
54329func (s *CreateKeyPairInput) SetTagSpecifications(v []*TagSpecification) *CreateKeyPairInput {
54330	s.TagSpecifications = v
54331	return s
54332}
54333
54334// Describes a key pair.
54335type CreateKeyPairOutput struct {
54336	_ struct{} `type:"structure"`
54337
54338	// The SHA-1 digest of the DER encoded private key.
54339	KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
54340
54341	// An unencrypted PEM encoded RSA or ED25519 private key.
54342	KeyMaterial *string `locationName:"keyMaterial" type:"string" sensitive:"true"`
54343
54344	// The name of the key pair.
54345	KeyName *string `locationName:"keyName" type:"string"`
54346
54347	// The ID of the key pair.
54348	KeyPairId *string `locationName:"keyPairId" type:"string"`
54349
54350	// Any tags applied to the key pair.
54351	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
54352}
54353
54354// String returns the string representation
54355func (s CreateKeyPairOutput) String() string {
54356	return awsutil.Prettify(s)
54357}
54358
54359// GoString returns the string representation
54360func (s CreateKeyPairOutput) GoString() string {
54361	return s.String()
54362}
54363
54364// SetKeyFingerprint sets the KeyFingerprint field's value.
54365func (s *CreateKeyPairOutput) SetKeyFingerprint(v string) *CreateKeyPairOutput {
54366	s.KeyFingerprint = &v
54367	return s
54368}
54369
54370// SetKeyMaterial sets the KeyMaterial field's value.
54371func (s *CreateKeyPairOutput) SetKeyMaterial(v string) *CreateKeyPairOutput {
54372	s.KeyMaterial = &v
54373	return s
54374}
54375
54376// SetKeyName sets the KeyName field's value.
54377func (s *CreateKeyPairOutput) SetKeyName(v string) *CreateKeyPairOutput {
54378	s.KeyName = &v
54379	return s
54380}
54381
54382// SetKeyPairId sets the KeyPairId field's value.
54383func (s *CreateKeyPairOutput) SetKeyPairId(v string) *CreateKeyPairOutput {
54384	s.KeyPairId = &v
54385	return s
54386}
54387
54388// SetTags sets the Tags field's value.
54389func (s *CreateKeyPairOutput) SetTags(v []*Tag) *CreateKeyPairOutput {
54390	s.Tags = v
54391	return s
54392}
54393
54394type CreateLaunchTemplateInput struct {
54395	_ struct{} `type:"structure"`
54396
54397	// Unique, case-sensitive identifier you provide to ensure the idempotency of
54398	// the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
54399	//
54400	// Constraint: Maximum 128 ASCII characters.
54401	ClientToken *string `type:"string"`
54402
54403	// Checks whether you have the required permissions for the action, without
54404	// actually making the request, and provides an error response. If you have
54405	// the required permissions, the error response is DryRunOperation. Otherwise,
54406	// it is UnauthorizedOperation.
54407	DryRun *bool `type:"boolean"`
54408
54409	// The information for the launch template.
54410	//
54411	// LaunchTemplateData is a required field
54412	LaunchTemplateData *RequestLaunchTemplateData `type:"structure" required:"true"`
54413
54414	// A name for the launch template.
54415	//
54416	// LaunchTemplateName is a required field
54417	LaunchTemplateName *string `min:"3" type:"string" required:"true"`
54418
54419	// The tags to apply to the launch template during creation.
54420	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
54421
54422	// A description for the first version of the launch template.
54423	VersionDescription *string `type:"string"`
54424}
54425
54426// String returns the string representation
54427func (s CreateLaunchTemplateInput) String() string {
54428	return awsutil.Prettify(s)
54429}
54430
54431// GoString returns the string representation
54432func (s CreateLaunchTemplateInput) GoString() string {
54433	return s.String()
54434}
54435
54436// Validate inspects the fields of the type to determine if they are valid.
54437func (s *CreateLaunchTemplateInput) Validate() error {
54438	invalidParams := request.ErrInvalidParams{Context: "CreateLaunchTemplateInput"}
54439	if s.LaunchTemplateData == nil {
54440		invalidParams.Add(request.NewErrParamRequired("LaunchTemplateData"))
54441	}
54442	if s.LaunchTemplateName == nil {
54443		invalidParams.Add(request.NewErrParamRequired("LaunchTemplateName"))
54444	}
54445	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
54446		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
54447	}
54448	if s.LaunchTemplateData != nil {
54449		if err := s.LaunchTemplateData.Validate(); err != nil {
54450			invalidParams.AddNested("LaunchTemplateData", err.(request.ErrInvalidParams))
54451		}
54452	}
54453
54454	if invalidParams.Len() > 0 {
54455		return invalidParams
54456	}
54457	return nil
54458}
54459
54460// SetClientToken sets the ClientToken field's value.
54461func (s *CreateLaunchTemplateInput) SetClientToken(v string) *CreateLaunchTemplateInput {
54462	s.ClientToken = &v
54463	return s
54464}
54465
54466// SetDryRun sets the DryRun field's value.
54467func (s *CreateLaunchTemplateInput) SetDryRun(v bool) *CreateLaunchTemplateInput {
54468	s.DryRun = &v
54469	return s
54470}
54471
54472// SetLaunchTemplateData sets the LaunchTemplateData field's value.
54473func (s *CreateLaunchTemplateInput) SetLaunchTemplateData(v *RequestLaunchTemplateData) *CreateLaunchTemplateInput {
54474	s.LaunchTemplateData = v
54475	return s
54476}
54477
54478// SetLaunchTemplateName sets the LaunchTemplateName field's value.
54479func (s *CreateLaunchTemplateInput) SetLaunchTemplateName(v string) *CreateLaunchTemplateInput {
54480	s.LaunchTemplateName = &v
54481	return s
54482}
54483
54484// SetTagSpecifications sets the TagSpecifications field's value.
54485func (s *CreateLaunchTemplateInput) SetTagSpecifications(v []*TagSpecification) *CreateLaunchTemplateInput {
54486	s.TagSpecifications = v
54487	return s
54488}
54489
54490// SetVersionDescription sets the VersionDescription field's value.
54491func (s *CreateLaunchTemplateInput) SetVersionDescription(v string) *CreateLaunchTemplateInput {
54492	s.VersionDescription = &v
54493	return s
54494}
54495
54496type CreateLaunchTemplateOutput struct {
54497	_ struct{} `type:"structure"`
54498
54499	// Information about the launch template.
54500	LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
54501
54502	// If the launch template contains parameters or parameter combinations that
54503	// are not valid, an error code and an error message are returned for each issue
54504	// that's found.
54505	Warning *ValidationWarning `locationName:"warning" type:"structure"`
54506}
54507
54508// String returns the string representation
54509func (s CreateLaunchTemplateOutput) String() string {
54510	return awsutil.Prettify(s)
54511}
54512
54513// GoString returns the string representation
54514func (s CreateLaunchTemplateOutput) GoString() string {
54515	return s.String()
54516}
54517
54518// SetLaunchTemplate sets the LaunchTemplate field's value.
54519func (s *CreateLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *CreateLaunchTemplateOutput {
54520	s.LaunchTemplate = v
54521	return s
54522}
54523
54524// SetWarning sets the Warning field's value.
54525func (s *CreateLaunchTemplateOutput) SetWarning(v *ValidationWarning) *CreateLaunchTemplateOutput {
54526	s.Warning = v
54527	return s
54528}
54529
54530type CreateLaunchTemplateVersionInput struct {
54531	_ struct{} `type:"structure"`
54532
54533	// Unique, case-sensitive identifier you provide to ensure the idempotency of
54534	// the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
54535	//
54536	// Constraint: Maximum 128 ASCII characters.
54537	ClientToken *string `type:"string"`
54538
54539	// Checks whether you have the required permissions for the action, without
54540	// actually making the request, and provides an error response. If you have
54541	// the required permissions, the error response is DryRunOperation. Otherwise,
54542	// it is UnauthorizedOperation.
54543	DryRun *bool `type:"boolean"`
54544
54545	// The information for the launch template.
54546	//
54547	// LaunchTemplateData is a required field
54548	LaunchTemplateData *RequestLaunchTemplateData `type:"structure" required:"true"`
54549
54550	// The ID of the launch template. You must specify either the launch template
54551	// ID or launch template name in the request.
54552	LaunchTemplateId *string `type:"string"`
54553
54554	// The name of the launch template. You must specify either the launch template
54555	// ID or launch template name in the request.
54556	LaunchTemplateName *string `min:"3" type:"string"`
54557
54558	// The version number of the launch template version on which to base the new
54559	// version. The new version inherits the same launch parameters as the source
54560	// version, except for parameters that you specify in LaunchTemplateData. Snapshots
54561	// applied to the block device mapping are ignored when creating a new version
54562	// unless they are explicitly included.
54563	SourceVersion *string `type:"string"`
54564
54565	// A description for the version of the launch template.
54566	VersionDescription *string `type:"string"`
54567}
54568
54569// String returns the string representation
54570func (s CreateLaunchTemplateVersionInput) String() string {
54571	return awsutil.Prettify(s)
54572}
54573
54574// GoString returns the string representation
54575func (s CreateLaunchTemplateVersionInput) GoString() string {
54576	return s.String()
54577}
54578
54579// Validate inspects the fields of the type to determine if they are valid.
54580func (s *CreateLaunchTemplateVersionInput) Validate() error {
54581	invalidParams := request.ErrInvalidParams{Context: "CreateLaunchTemplateVersionInput"}
54582	if s.LaunchTemplateData == nil {
54583		invalidParams.Add(request.NewErrParamRequired("LaunchTemplateData"))
54584	}
54585	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
54586		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
54587	}
54588	if s.LaunchTemplateData != nil {
54589		if err := s.LaunchTemplateData.Validate(); err != nil {
54590			invalidParams.AddNested("LaunchTemplateData", err.(request.ErrInvalidParams))
54591		}
54592	}
54593
54594	if invalidParams.Len() > 0 {
54595		return invalidParams
54596	}
54597	return nil
54598}
54599
54600// SetClientToken sets the ClientToken field's value.
54601func (s *CreateLaunchTemplateVersionInput) SetClientToken(v string) *CreateLaunchTemplateVersionInput {
54602	s.ClientToken = &v
54603	return s
54604}
54605
54606// SetDryRun sets the DryRun field's value.
54607func (s *CreateLaunchTemplateVersionInput) SetDryRun(v bool) *CreateLaunchTemplateVersionInput {
54608	s.DryRun = &v
54609	return s
54610}
54611
54612// SetLaunchTemplateData sets the LaunchTemplateData field's value.
54613func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateData(v *RequestLaunchTemplateData) *CreateLaunchTemplateVersionInput {
54614	s.LaunchTemplateData = v
54615	return s
54616}
54617
54618// SetLaunchTemplateId sets the LaunchTemplateId field's value.
54619func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateId(v string) *CreateLaunchTemplateVersionInput {
54620	s.LaunchTemplateId = &v
54621	return s
54622}
54623
54624// SetLaunchTemplateName sets the LaunchTemplateName field's value.
54625func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateName(v string) *CreateLaunchTemplateVersionInput {
54626	s.LaunchTemplateName = &v
54627	return s
54628}
54629
54630// SetSourceVersion sets the SourceVersion field's value.
54631func (s *CreateLaunchTemplateVersionInput) SetSourceVersion(v string) *CreateLaunchTemplateVersionInput {
54632	s.SourceVersion = &v
54633	return s
54634}
54635
54636// SetVersionDescription sets the VersionDescription field's value.
54637func (s *CreateLaunchTemplateVersionInput) SetVersionDescription(v string) *CreateLaunchTemplateVersionInput {
54638	s.VersionDescription = &v
54639	return s
54640}
54641
54642type CreateLaunchTemplateVersionOutput struct {
54643	_ struct{} `type:"structure"`
54644
54645	// Information about the launch template version.
54646	LaunchTemplateVersion *LaunchTemplateVersion `locationName:"launchTemplateVersion" type:"structure"`
54647
54648	// If the new version of the launch template contains parameters or parameter
54649	// combinations that are not valid, an error code and an error message are returned
54650	// for each issue that's found.
54651	Warning *ValidationWarning `locationName:"warning" type:"structure"`
54652}
54653
54654// String returns the string representation
54655func (s CreateLaunchTemplateVersionOutput) String() string {
54656	return awsutil.Prettify(s)
54657}
54658
54659// GoString returns the string representation
54660func (s CreateLaunchTemplateVersionOutput) GoString() string {
54661	return s.String()
54662}
54663
54664// SetLaunchTemplateVersion sets the LaunchTemplateVersion field's value.
54665func (s *CreateLaunchTemplateVersionOutput) SetLaunchTemplateVersion(v *LaunchTemplateVersion) *CreateLaunchTemplateVersionOutput {
54666	s.LaunchTemplateVersion = v
54667	return s
54668}
54669
54670// SetWarning sets the Warning field's value.
54671func (s *CreateLaunchTemplateVersionOutput) SetWarning(v *ValidationWarning) *CreateLaunchTemplateVersionOutput {
54672	s.Warning = v
54673	return s
54674}
54675
54676type CreateLocalGatewayRouteInput struct {
54677	_ struct{} `type:"structure"`
54678
54679	// The CIDR range used for destination matches. Routing decisions are based
54680	// on the most specific match.
54681	//
54682	// DestinationCidrBlock is a required field
54683	DestinationCidrBlock *string `type:"string" required:"true"`
54684
54685	// Checks whether you have the required permissions for the action, without
54686	// actually making the request, and provides an error response. If you have
54687	// the required permissions, the error response is DryRunOperation. Otherwise,
54688	// it is UnauthorizedOperation.
54689	DryRun *bool `type:"boolean"`
54690
54691	// The ID of the local gateway route table.
54692	//
54693	// LocalGatewayRouteTableId is a required field
54694	LocalGatewayRouteTableId *string `type:"string" required:"true"`
54695
54696	// The ID of the virtual interface group.
54697	//
54698	// LocalGatewayVirtualInterfaceGroupId is a required field
54699	LocalGatewayVirtualInterfaceGroupId *string `type:"string" required:"true"`
54700}
54701
54702// String returns the string representation
54703func (s CreateLocalGatewayRouteInput) String() string {
54704	return awsutil.Prettify(s)
54705}
54706
54707// GoString returns the string representation
54708func (s CreateLocalGatewayRouteInput) GoString() string {
54709	return s.String()
54710}
54711
54712// Validate inspects the fields of the type to determine if they are valid.
54713func (s *CreateLocalGatewayRouteInput) Validate() error {
54714	invalidParams := request.ErrInvalidParams{Context: "CreateLocalGatewayRouteInput"}
54715	if s.DestinationCidrBlock == nil {
54716		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
54717	}
54718	if s.LocalGatewayRouteTableId == nil {
54719		invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
54720	}
54721	if s.LocalGatewayVirtualInterfaceGroupId == nil {
54722		invalidParams.Add(request.NewErrParamRequired("LocalGatewayVirtualInterfaceGroupId"))
54723	}
54724
54725	if invalidParams.Len() > 0 {
54726		return invalidParams
54727	}
54728	return nil
54729}
54730
54731// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
54732func (s *CreateLocalGatewayRouteInput) SetDestinationCidrBlock(v string) *CreateLocalGatewayRouteInput {
54733	s.DestinationCidrBlock = &v
54734	return s
54735}
54736
54737// SetDryRun sets the DryRun field's value.
54738func (s *CreateLocalGatewayRouteInput) SetDryRun(v bool) *CreateLocalGatewayRouteInput {
54739	s.DryRun = &v
54740	return s
54741}
54742
54743// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
54744func (s *CreateLocalGatewayRouteInput) SetLocalGatewayRouteTableId(v string) *CreateLocalGatewayRouteInput {
54745	s.LocalGatewayRouteTableId = &v
54746	return s
54747}
54748
54749// SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
54750func (s *CreateLocalGatewayRouteInput) SetLocalGatewayVirtualInterfaceGroupId(v string) *CreateLocalGatewayRouteInput {
54751	s.LocalGatewayVirtualInterfaceGroupId = &v
54752	return s
54753}
54754
54755type CreateLocalGatewayRouteOutput struct {
54756	_ struct{} `type:"structure"`
54757
54758	// Information about the route.
54759	Route *LocalGatewayRoute `locationName:"route" type:"structure"`
54760}
54761
54762// String returns the string representation
54763func (s CreateLocalGatewayRouteOutput) String() string {
54764	return awsutil.Prettify(s)
54765}
54766
54767// GoString returns the string representation
54768func (s CreateLocalGatewayRouteOutput) GoString() string {
54769	return s.String()
54770}
54771
54772// SetRoute sets the Route field's value.
54773func (s *CreateLocalGatewayRouteOutput) SetRoute(v *LocalGatewayRoute) *CreateLocalGatewayRouteOutput {
54774	s.Route = v
54775	return s
54776}
54777
54778type CreateLocalGatewayRouteTableVpcAssociationInput struct {
54779	_ struct{} `type:"structure"`
54780
54781	// Checks whether you have the required permissions for the action, without
54782	// actually making the request, and provides an error response. If you have
54783	// the required permissions, the error response is DryRunOperation. Otherwise,
54784	// it is UnauthorizedOperation.
54785	DryRun *bool `type:"boolean"`
54786
54787	// The ID of the local gateway route table.
54788	//
54789	// LocalGatewayRouteTableId is a required field
54790	LocalGatewayRouteTableId *string `type:"string" required:"true"`
54791
54792	// The tags to assign to the local gateway route table VPC association.
54793	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
54794
54795	// The ID of the VPC.
54796	//
54797	// VpcId is a required field
54798	VpcId *string `type:"string" required:"true"`
54799}
54800
54801// String returns the string representation
54802func (s CreateLocalGatewayRouteTableVpcAssociationInput) String() string {
54803	return awsutil.Prettify(s)
54804}
54805
54806// GoString returns the string representation
54807func (s CreateLocalGatewayRouteTableVpcAssociationInput) GoString() string {
54808	return s.String()
54809}
54810
54811// Validate inspects the fields of the type to determine if they are valid.
54812func (s *CreateLocalGatewayRouteTableVpcAssociationInput) Validate() error {
54813	invalidParams := request.ErrInvalidParams{Context: "CreateLocalGatewayRouteTableVpcAssociationInput"}
54814	if s.LocalGatewayRouteTableId == nil {
54815		invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
54816	}
54817	if s.VpcId == nil {
54818		invalidParams.Add(request.NewErrParamRequired("VpcId"))
54819	}
54820
54821	if invalidParams.Len() > 0 {
54822		return invalidParams
54823	}
54824	return nil
54825}
54826
54827// SetDryRun sets the DryRun field's value.
54828func (s *CreateLocalGatewayRouteTableVpcAssociationInput) SetDryRun(v bool) *CreateLocalGatewayRouteTableVpcAssociationInput {
54829	s.DryRun = &v
54830	return s
54831}
54832
54833// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
54834func (s *CreateLocalGatewayRouteTableVpcAssociationInput) SetLocalGatewayRouteTableId(v string) *CreateLocalGatewayRouteTableVpcAssociationInput {
54835	s.LocalGatewayRouteTableId = &v
54836	return s
54837}
54838
54839// SetTagSpecifications sets the TagSpecifications field's value.
54840func (s *CreateLocalGatewayRouteTableVpcAssociationInput) SetTagSpecifications(v []*TagSpecification) *CreateLocalGatewayRouteTableVpcAssociationInput {
54841	s.TagSpecifications = v
54842	return s
54843}
54844
54845// SetVpcId sets the VpcId field's value.
54846func (s *CreateLocalGatewayRouteTableVpcAssociationInput) SetVpcId(v string) *CreateLocalGatewayRouteTableVpcAssociationInput {
54847	s.VpcId = &v
54848	return s
54849}
54850
54851type CreateLocalGatewayRouteTableVpcAssociationOutput struct {
54852	_ struct{} `type:"structure"`
54853
54854	// Information about the association.
54855	LocalGatewayRouteTableVpcAssociation *LocalGatewayRouteTableVpcAssociation `locationName:"localGatewayRouteTableVpcAssociation" type:"structure"`
54856}
54857
54858// String returns the string representation
54859func (s CreateLocalGatewayRouteTableVpcAssociationOutput) String() string {
54860	return awsutil.Prettify(s)
54861}
54862
54863// GoString returns the string representation
54864func (s CreateLocalGatewayRouteTableVpcAssociationOutput) GoString() string {
54865	return s.String()
54866}
54867
54868// SetLocalGatewayRouteTableVpcAssociation sets the LocalGatewayRouteTableVpcAssociation field's value.
54869func (s *CreateLocalGatewayRouteTableVpcAssociationOutput) SetLocalGatewayRouteTableVpcAssociation(v *LocalGatewayRouteTableVpcAssociation) *CreateLocalGatewayRouteTableVpcAssociationOutput {
54870	s.LocalGatewayRouteTableVpcAssociation = v
54871	return s
54872}
54873
54874type CreateManagedPrefixListInput struct {
54875	_ struct{} `type:"structure"`
54876
54877	// The IP address type.
54878	//
54879	// Valid Values: IPv4 | IPv6
54880	//
54881	// AddressFamily is a required field
54882	AddressFamily *string `type:"string" required:"true"`
54883
54884	// Unique, case-sensitive identifier you provide to ensure the idempotency of
54885	// the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
54886	//
54887	// Constraints: Up to 255 UTF-8 characters in length.
54888	ClientToken *string `type:"string" idempotencyToken:"true"`
54889
54890	// Checks whether you have the required permissions for the action, without
54891	// actually making the request, and provides an error response. If you have
54892	// the required permissions, the error response is DryRunOperation. Otherwise,
54893	// it is UnauthorizedOperation.
54894	DryRun *bool `type:"boolean"`
54895
54896	// One or more entries for the prefix list.
54897	Entries []*AddPrefixListEntry `locationName:"Entry" type:"list"`
54898
54899	// The maximum number of entries for the prefix list.
54900	//
54901	// MaxEntries is a required field
54902	MaxEntries *int64 `type:"integer" required:"true"`
54903
54904	// A name for the prefix list.
54905	//
54906	// Constraints: Up to 255 characters in length. The name cannot start with com.amazonaws.
54907	//
54908	// PrefixListName is a required field
54909	PrefixListName *string `type:"string" required:"true"`
54910
54911	// The tags to apply to the prefix list during creation.
54912	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
54913}
54914
54915// String returns the string representation
54916func (s CreateManagedPrefixListInput) String() string {
54917	return awsutil.Prettify(s)
54918}
54919
54920// GoString returns the string representation
54921func (s CreateManagedPrefixListInput) GoString() string {
54922	return s.String()
54923}
54924
54925// Validate inspects the fields of the type to determine if they are valid.
54926func (s *CreateManagedPrefixListInput) Validate() error {
54927	invalidParams := request.ErrInvalidParams{Context: "CreateManagedPrefixListInput"}
54928	if s.AddressFamily == nil {
54929		invalidParams.Add(request.NewErrParamRequired("AddressFamily"))
54930	}
54931	if s.MaxEntries == nil {
54932		invalidParams.Add(request.NewErrParamRequired("MaxEntries"))
54933	}
54934	if s.PrefixListName == nil {
54935		invalidParams.Add(request.NewErrParamRequired("PrefixListName"))
54936	}
54937	if s.Entries != nil {
54938		for i, v := range s.Entries {
54939			if v == nil {
54940				continue
54941			}
54942			if err := v.Validate(); err != nil {
54943				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams))
54944			}
54945		}
54946	}
54947
54948	if invalidParams.Len() > 0 {
54949		return invalidParams
54950	}
54951	return nil
54952}
54953
54954// SetAddressFamily sets the AddressFamily field's value.
54955func (s *CreateManagedPrefixListInput) SetAddressFamily(v string) *CreateManagedPrefixListInput {
54956	s.AddressFamily = &v
54957	return s
54958}
54959
54960// SetClientToken sets the ClientToken field's value.
54961func (s *CreateManagedPrefixListInput) SetClientToken(v string) *CreateManagedPrefixListInput {
54962	s.ClientToken = &v
54963	return s
54964}
54965
54966// SetDryRun sets the DryRun field's value.
54967func (s *CreateManagedPrefixListInput) SetDryRun(v bool) *CreateManagedPrefixListInput {
54968	s.DryRun = &v
54969	return s
54970}
54971
54972// SetEntries sets the Entries field's value.
54973func (s *CreateManagedPrefixListInput) SetEntries(v []*AddPrefixListEntry) *CreateManagedPrefixListInput {
54974	s.Entries = v
54975	return s
54976}
54977
54978// SetMaxEntries sets the MaxEntries field's value.
54979func (s *CreateManagedPrefixListInput) SetMaxEntries(v int64) *CreateManagedPrefixListInput {
54980	s.MaxEntries = &v
54981	return s
54982}
54983
54984// SetPrefixListName sets the PrefixListName field's value.
54985func (s *CreateManagedPrefixListInput) SetPrefixListName(v string) *CreateManagedPrefixListInput {
54986	s.PrefixListName = &v
54987	return s
54988}
54989
54990// SetTagSpecifications sets the TagSpecifications field's value.
54991func (s *CreateManagedPrefixListInput) SetTagSpecifications(v []*TagSpecification) *CreateManagedPrefixListInput {
54992	s.TagSpecifications = v
54993	return s
54994}
54995
54996type CreateManagedPrefixListOutput struct {
54997	_ struct{} `type:"structure"`
54998
54999	// Information about the prefix list.
55000	PrefixList *ManagedPrefixList `locationName:"prefixList" type:"structure"`
55001}
55002
55003// String returns the string representation
55004func (s CreateManagedPrefixListOutput) String() string {
55005	return awsutil.Prettify(s)
55006}
55007
55008// GoString returns the string representation
55009func (s CreateManagedPrefixListOutput) GoString() string {
55010	return s.String()
55011}
55012
55013// SetPrefixList sets the PrefixList field's value.
55014func (s *CreateManagedPrefixListOutput) SetPrefixList(v *ManagedPrefixList) *CreateManagedPrefixListOutput {
55015	s.PrefixList = v
55016	return s
55017}
55018
55019type CreateNatGatewayInput struct {
55020	_ struct{} `type:"structure"`
55021
55022	// [Public NAT gateways only] The allocation ID of an Elastic IP address to
55023	// associate with the NAT gateway. You cannot specify an Elastic IP address
55024	// with a private NAT gateway. If the Elastic IP address is associated with
55025	// another resource, you must first disassociate it.
55026	AllocationId *string `type:"string"`
55027
55028	// Unique, case-sensitive identifier that you provide to ensure the idempotency
55029	// of the request. For more information, see How to ensure idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
55030	//
55031	// Constraint: Maximum 64 ASCII characters.
55032	ClientToken *string `type:"string" idempotencyToken:"true"`
55033
55034	// Indicates whether the NAT gateway supports public or private connectivity.
55035	// The default is public connectivity.
55036	ConnectivityType *string `type:"string" enum:"ConnectivityType"`
55037
55038	// Checks whether you have the required permissions for the action, without
55039	// actually making the request, and provides an error response. If you have
55040	// the required permissions, the error response is DryRunOperation. Otherwise,
55041	// it is UnauthorizedOperation.
55042	DryRun *bool `type:"boolean"`
55043
55044	// The subnet in which to create the NAT gateway.
55045	//
55046	// SubnetId is a required field
55047	SubnetId *string `type:"string" required:"true"`
55048
55049	// The tags to assign to the NAT gateway.
55050	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
55051}
55052
55053// String returns the string representation
55054func (s CreateNatGatewayInput) String() string {
55055	return awsutil.Prettify(s)
55056}
55057
55058// GoString returns the string representation
55059func (s CreateNatGatewayInput) GoString() string {
55060	return s.String()
55061}
55062
55063// Validate inspects the fields of the type to determine if they are valid.
55064func (s *CreateNatGatewayInput) Validate() error {
55065	invalidParams := request.ErrInvalidParams{Context: "CreateNatGatewayInput"}
55066	if s.SubnetId == nil {
55067		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
55068	}
55069
55070	if invalidParams.Len() > 0 {
55071		return invalidParams
55072	}
55073	return nil
55074}
55075
55076// SetAllocationId sets the AllocationId field's value.
55077func (s *CreateNatGatewayInput) SetAllocationId(v string) *CreateNatGatewayInput {
55078	s.AllocationId = &v
55079	return s
55080}
55081
55082// SetClientToken sets the ClientToken field's value.
55083func (s *CreateNatGatewayInput) SetClientToken(v string) *CreateNatGatewayInput {
55084	s.ClientToken = &v
55085	return s
55086}
55087
55088// SetConnectivityType sets the ConnectivityType field's value.
55089func (s *CreateNatGatewayInput) SetConnectivityType(v string) *CreateNatGatewayInput {
55090	s.ConnectivityType = &v
55091	return s
55092}
55093
55094// SetDryRun sets the DryRun field's value.
55095func (s *CreateNatGatewayInput) SetDryRun(v bool) *CreateNatGatewayInput {
55096	s.DryRun = &v
55097	return s
55098}
55099
55100// SetSubnetId sets the SubnetId field's value.
55101func (s *CreateNatGatewayInput) SetSubnetId(v string) *CreateNatGatewayInput {
55102	s.SubnetId = &v
55103	return s
55104}
55105
55106// SetTagSpecifications sets the TagSpecifications field's value.
55107func (s *CreateNatGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateNatGatewayInput {
55108	s.TagSpecifications = v
55109	return s
55110}
55111
55112type CreateNatGatewayOutput struct {
55113	_ struct{} `type:"structure"`
55114
55115	// Unique, case-sensitive identifier to ensure the idempotency of the request.
55116	// Only returned if a client token was provided in the request.
55117	ClientToken *string `locationName:"clientToken" type:"string"`
55118
55119	// Information about the NAT gateway.
55120	NatGateway *NatGateway `locationName:"natGateway" type:"structure"`
55121}
55122
55123// String returns the string representation
55124func (s CreateNatGatewayOutput) String() string {
55125	return awsutil.Prettify(s)
55126}
55127
55128// GoString returns the string representation
55129func (s CreateNatGatewayOutput) GoString() string {
55130	return s.String()
55131}
55132
55133// SetClientToken sets the ClientToken field's value.
55134func (s *CreateNatGatewayOutput) SetClientToken(v string) *CreateNatGatewayOutput {
55135	s.ClientToken = &v
55136	return s
55137}
55138
55139// SetNatGateway sets the NatGateway field's value.
55140func (s *CreateNatGatewayOutput) SetNatGateway(v *NatGateway) *CreateNatGatewayOutput {
55141	s.NatGateway = v
55142	return s
55143}
55144
55145type CreateNetworkAclEntryInput struct {
55146	_ struct{} `type:"structure"`
55147
55148	// The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
55149	// We modify the specified CIDR block to its canonical form; for example, if
55150	// you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.
55151	CidrBlock *string `locationName:"cidrBlock" type:"string"`
55152
55153	// Checks whether you have the required permissions for the action, without
55154	// actually making the request, and provides an error response. If you have
55155	// the required permissions, the error response is DryRunOperation. Otherwise,
55156	// it is UnauthorizedOperation.
55157	DryRun *bool `locationName:"dryRun" type:"boolean"`
55158
55159	// Indicates whether this is an egress rule (rule is applied to traffic leaving
55160	// the subnet).
55161	//
55162	// Egress is a required field
55163	Egress *bool `locationName:"egress" type:"boolean" required:"true"`
55164
55165	// ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol
55166	// 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.
55167	IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
55168
55169	// The IPv6 network range to allow or deny, in CIDR notation (for example 2001:db8:1234:1a00::/64).
55170	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
55171
55172	// The ID of the network ACL.
55173	//
55174	// NetworkAclId is a required field
55175	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
55176
55177	// TCP or UDP protocols: The range of ports the rule applies to. Required if
55178	// specifying protocol 6 (TCP) or 17 (UDP).
55179	PortRange *PortRange `locationName:"portRange" type:"structure"`
55180
55181	// The protocol number. A value of "-1" means all protocols. If you specify
55182	// "-1" or a protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP),
55183	// traffic on all ports is allowed, regardless of any ports or ICMP types or
55184	// codes that you specify. If you specify protocol "58" (ICMPv6) and specify
55185	// an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless
55186	// of any that you specify. If you specify protocol "58" (ICMPv6) and specify
55187	// an IPv6 CIDR block, you must specify an ICMP type and code.
55188	//
55189	// Protocol is a required field
55190	Protocol *string `locationName:"protocol" type:"string" required:"true"`
55191
55192	// Indicates whether to allow or deny the traffic that matches the rule.
55193	//
55194	// RuleAction is a required field
55195	RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
55196
55197	// The rule number for the entry (for example, 100). ACL entries are processed
55198	// in ascending order by rule number.
55199	//
55200	// Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is
55201	// reserved for internal use.
55202	//
55203	// RuleNumber is a required field
55204	RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
55205}
55206
55207// String returns the string representation
55208func (s CreateNetworkAclEntryInput) String() string {
55209	return awsutil.Prettify(s)
55210}
55211
55212// GoString returns the string representation
55213func (s CreateNetworkAclEntryInput) GoString() string {
55214	return s.String()
55215}
55216
55217// Validate inspects the fields of the type to determine if they are valid.
55218func (s *CreateNetworkAclEntryInput) Validate() error {
55219	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclEntryInput"}
55220	if s.Egress == nil {
55221		invalidParams.Add(request.NewErrParamRequired("Egress"))
55222	}
55223	if s.NetworkAclId == nil {
55224		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
55225	}
55226	if s.Protocol == nil {
55227		invalidParams.Add(request.NewErrParamRequired("Protocol"))
55228	}
55229	if s.RuleAction == nil {
55230		invalidParams.Add(request.NewErrParamRequired("RuleAction"))
55231	}
55232	if s.RuleNumber == nil {
55233		invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
55234	}
55235
55236	if invalidParams.Len() > 0 {
55237		return invalidParams
55238	}
55239	return nil
55240}
55241
55242// SetCidrBlock sets the CidrBlock field's value.
55243func (s *CreateNetworkAclEntryInput) SetCidrBlock(v string) *CreateNetworkAclEntryInput {
55244	s.CidrBlock = &v
55245	return s
55246}
55247
55248// SetDryRun sets the DryRun field's value.
55249func (s *CreateNetworkAclEntryInput) SetDryRun(v bool) *CreateNetworkAclEntryInput {
55250	s.DryRun = &v
55251	return s
55252}
55253
55254// SetEgress sets the Egress field's value.
55255func (s *CreateNetworkAclEntryInput) SetEgress(v bool) *CreateNetworkAclEntryInput {
55256	s.Egress = &v
55257	return s
55258}
55259
55260// SetIcmpTypeCode sets the IcmpTypeCode field's value.
55261func (s *CreateNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *CreateNetworkAclEntryInput {
55262	s.IcmpTypeCode = v
55263	return s
55264}
55265
55266// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
55267func (s *CreateNetworkAclEntryInput) SetIpv6CidrBlock(v string) *CreateNetworkAclEntryInput {
55268	s.Ipv6CidrBlock = &v
55269	return s
55270}
55271
55272// SetNetworkAclId sets the NetworkAclId field's value.
55273func (s *CreateNetworkAclEntryInput) SetNetworkAclId(v string) *CreateNetworkAclEntryInput {
55274	s.NetworkAclId = &v
55275	return s
55276}
55277
55278// SetPortRange sets the PortRange field's value.
55279func (s *CreateNetworkAclEntryInput) SetPortRange(v *PortRange) *CreateNetworkAclEntryInput {
55280	s.PortRange = v
55281	return s
55282}
55283
55284// SetProtocol sets the Protocol field's value.
55285func (s *CreateNetworkAclEntryInput) SetProtocol(v string) *CreateNetworkAclEntryInput {
55286	s.Protocol = &v
55287	return s
55288}
55289
55290// SetRuleAction sets the RuleAction field's value.
55291func (s *CreateNetworkAclEntryInput) SetRuleAction(v string) *CreateNetworkAclEntryInput {
55292	s.RuleAction = &v
55293	return s
55294}
55295
55296// SetRuleNumber sets the RuleNumber field's value.
55297func (s *CreateNetworkAclEntryInput) SetRuleNumber(v int64) *CreateNetworkAclEntryInput {
55298	s.RuleNumber = &v
55299	return s
55300}
55301
55302type CreateNetworkAclEntryOutput struct {
55303	_ struct{} `type:"structure"`
55304}
55305
55306// String returns the string representation
55307func (s CreateNetworkAclEntryOutput) String() string {
55308	return awsutil.Prettify(s)
55309}
55310
55311// GoString returns the string representation
55312func (s CreateNetworkAclEntryOutput) GoString() string {
55313	return s.String()
55314}
55315
55316type CreateNetworkAclInput struct {
55317	_ struct{} `type:"structure"`
55318
55319	// Checks whether you have the required permissions for the action, without
55320	// actually making the request, and provides an error response. If you have
55321	// the required permissions, the error response is DryRunOperation. Otherwise,
55322	// it is UnauthorizedOperation.
55323	DryRun *bool `locationName:"dryRun" type:"boolean"`
55324
55325	// The tags to assign to the network ACL.
55326	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
55327
55328	// The ID of the VPC.
55329	//
55330	// VpcId is a required field
55331	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
55332}
55333
55334// String returns the string representation
55335func (s CreateNetworkAclInput) String() string {
55336	return awsutil.Prettify(s)
55337}
55338
55339// GoString returns the string representation
55340func (s CreateNetworkAclInput) GoString() string {
55341	return s.String()
55342}
55343
55344// Validate inspects the fields of the type to determine if they are valid.
55345func (s *CreateNetworkAclInput) Validate() error {
55346	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclInput"}
55347	if s.VpcId == nil {
55348		invalidParams.Add(request.NewErrParamRequired("VpcId"))
55349	}
55350
55351	if invalidParams.Len() > 0 {
55352		return invalidParams
55353	}
55354	return nil
55355}
55356
55357// SetDryRun sets the DryRun field's value.
55358func (s *CreateNetworkAclInput) SetDryRun(v bool) *CreateNetworkAclInput {
55359	s.DryRun = &v
55360	return s
55361}
55362
55363// SetTagSpecifications sets the TagSpecifications field's value.
55364func (s *CreateNetworkAclInput) SetTagSpecifications(v []*TagSpecification) *CreateNetworkAclInput {
55365	s.TagSpecifications = v
55366	return s
55367}
55368
55369// SetVpcId sets the VpcId field's value.
55370func (s *CreateNetworkAclInput) SetVpcId(v string) *CreateNetworkAclInput {
55371	s.VpcId = &v
55372	return s
55373}
55374
55375type CreateNetworkAclOutput struct {
55376	_ struct{} `type:"structure"`
55377
55378	// Information about the network ACL.
55379	NetworkAcl *NetworkAcl `locationName:"networkAcl" type:"structure"`
55380}
55381
55382// String returns the string representation
55383func (s CreateNetworkAclOutput) String() string {
55384	return awsutil.Prettify(s)
55385}
55386
55387// GoString returns the string representation
55388func (s CreateNetworkAclOutput) GoString() string {
55389	return s.String()
55390}
55391
55392// SetNetworkAcl sets the NetworkAcl field's value.
55393func (s *CreateNetworkAclOutput) SetNetworkAcl(v *NetworkAcl) *CreateNetworkAclOutput {
55394	s.NetworkAcl = v
55395	return s
55396}
55397
55398type CreateNetworkInsightsPathInput struct {
55399	_ struct{} `type:"structure"`
55400
55401	// Unique, case-sensitive identifier that you provide to ensure the idempotency
55402	// of the request. For more information, see How to ensure idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
55403	ClientToken *string `type:"string" idempotencyToken:"true"`
55404
55405	// The Amazon Web Services resource that is the destination of the path.
55406	//
55407	// Destination is a required field
55408	Destination *string `type:"string" required:"true"`
55409
55410	// The IP address of the Amazon Web Services resource that is the destination
55411	// of the path.
55412	DestinationIp *string `type:"string"`
55413
55414	// The destination port.
55415	DestinationPort *int64 `min:"1" type:"integer"`
55416
55417	// Checks whether you have the required permissions for the action, without
55418	// actually making the request, and provides an error response. If you have
55419	// the required permissions, the error response is DryRunOperation. Otherwise,
55420	// it is UnauthorizedOperation.
55421	DryRun *bool `type:"boolean"`
55422
55423	// The protocol.
55424	//
55425	// Protocol is a required field
55426	Protocol *string `type:"string" required:"true" enum:"Protocol"`
55427
55428	// The Amazon Web Services resource that is the source of the path.
55429	//
55430	// Source is a required field
55431	Source *string `type:"string" required:"true"`
55432
55433	// The IP address of the Amazon Web Services resource that is the source of
55434	// the path.
55435	SourceIp *string `type:"string"`
55436
55437	// The tags to add to the path.
55438	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
55439}
55440
55441// String returns the string representation
55442func (s CreateNetworkInsightsPathInput) String() string {
55443	return awsutil.Prettify(s)
55444}
55445
55446// GoString returns the string representation
55447func (s CreateNetworkInsightsPathInput) GoString() string {
55448	return s.String()
55449}
55450
55451// Validate inspects the fields of the type to determine if they are valid.
55452func (s *CreateNetworkInsightsPathInput) Validate() error {
55453	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInsightsPathInput"}
55454	if s.Destination == nil {
55455		invalidParams.Add(request.NewErrParamRequired("Destination"))
55456	}
55457	if s.DestinationPort != nil && *s.DestinationPort < 1 {
55458		invalidParams.Add(request.NewErrParamMinValue("DestinationPort", 1))
55459	}
55460	if s.Protocol == nil {
55461		invalidParams.Add(request.NewErrParamRequired("Protocol"))
55462	}
55463	if s.Source == nil {
55464		invalidParams.Add(request.NewErrParamRequired("Source"))
55465	}
55466
55467	if invalidParams.Len() > 0 {
55468		return invalidParams
55469	}
55470	return nil
55471}
55472
55473// SetClientToken sets the ClientToken field's value.
55474func (s *CreateNetworkInsightsPathInput) SetClientToken(v string) *CreateNetworkInsightsPathInput {
55475	s.ClientToken = &v
55476	return s
55477}
55478
55479// SetDestination sets the Destination field's value.
55480func (s *CreateNetworkInsightsPathInput) SetDestination(v string) *CreateNetworkInsightsPathInput {
55481	s.Destination = &v
55482	return s
55483}
55484
55485// SetDestinationIp sets the DestinationIp field's value.
55486func (s *CreateNetworkInsightsPathInput) SetDestinationIp(v string) *CreateNetworkInsightsPathInput {
55487	s.DestinationIp = &v
55488	return s
55489}
55490
55491// SetDestinationPort sets the DestinationPort field's value.
55492func (s *CreateNetworkInsightsPathInput) SetDestinationPort(v int64) *CreateNetworkInsightsPathInput {
55493	s.DestinationPort = &v
55494	return s
55495}
55496
55497// SetDryRun sets the DryRun field's value.
55498func (s *CreateNetworkInsightsPathInput) SetDryRun(v bool) *CreateNetworkInsightsPathInput {
55499	s.DryRun = &v
55500	return s
55501}
55502
55503// SetProtocol sets the Protocol field's value.
55504func (s *CreateNetworkInsightsPathInput) SetProtocol(v string) *CreateNetworkInsightsPathInput {
55505	s.Protocol = &v
55506	return s
55507}
55508
55509// SetSource sets the Source field's value.
55510func (s *CreateNetworkInsightsPathInput) SetSource(v string) *CreateNetworkInsightsPathInput {
55511	s.Source = &v
55512	return s
55513}
55514
55515// SetSourceIp sets the SourceIp field's value.
55516func (s *CreateNetworkInsightsPathInput) SetSourceIp(v string) *CreateNetworkInsightsPathInput {
55517	s.SourceIp = &v
55518	return s
55519}
55520
55521// SetTagSpecifications sets the TagSpecifications field's value.
55522func (s *CreateNetworkInsightsPathInput) SetTagSpecifications(v []*TagSpecification) *CreateNetworkInsightsPathInput {
55523	s.TagSpecifications = v
55524	return s
55525}
55526
55527type CreateNetworkInsightsPathOutput struct {
55528	_ struct{} `type:"structure"`
55529
55530	// Information about the path.
55531	NetworkInsightsPath *NetworkInsightsPath `locationName:"networkInsightsPath" type:"structure"`
55532}
55533
55534// String returns the string representation
55535func (s CreateNetworkInsightsPathOutput) String() string {
55536	return awsutil.Prettify(s)
55537}
55538
55539// GoString returns the string representation
55540func (s CreateNetworkInsightsPathOutput) GoString() string {
55541	return s.String()
55542}
55543
55544// SetNetworkInsightsPath sets the NetworkInsightsPath field's value.
55545func (s *CreateNetworkInsightsPathOutput) SetNetworkInsightsPath(v *NetworkInsightsPath) *CreateNetworkInsightsPathOutput {
55546	s.NetworkInsightsPath = v
55547	return s
55548}
55549
55550// Contains the parameters for CreateNetworkInterface.
55551type CreateNetworkInterfaceInput struct {
55552	_ struct{} `type:"structure"`
55553
55554	// Unique, case-sensitive identifier that you provide to ensure the idempotency
55555	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
55556	ClientToken *string `type:"string" idempotencyToken:"true"`
55557
55558	// A description for the network interface.
55559	Description *string `locationName:"description" type:"string"`
55560
55561	// Checks whether you have the required permissions for the action, without
55562	// actually making the request, and provides an error response. If you have
55563	// the required permissions, the error response is DryRunOperation. Otherwise,
55564	// it is UnauthorizedOperation.
55565	DryRun *bool `locationName:"dryRun" type:"boolean"`
55566
55567	// The IDs of one or more security groups.
55568	Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
55569
55570	// Indicates the type of network interface. To create an Elastic Fabric Adapter
55571	// (EFA), specify efa. For more information, see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html)
55572	// in the Amazon Elastic Compute Cloud User Guide. To create a trunk network
55573	// interface, specify efa. For more information, see Network interface trunking
55574	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/eni-trunking.html) in
55575	// the Amazon Elastic Compute Cloud User Guide.
55576	InterfaceType *string `type:"string" enum:"NetworkInterfaceCreationType"`
55577
55578	// The number of IPv4 prefixes that Amazon Web Services automatically assigns
55579	// to the network interface. You cannot use this option if you use the Ipv4
55580	// Prefixes option.
55581	Ipv4PrefixCount *int64 `type:"integer"`
55582
55583	// One or more IPv4 prefixes assigned to the network interface. You cannot use
55584	// this option if you use the Ipv4PrefixCount option.
55585	Ipv4Prefixes []*Ipv4PrefixSpecificationRequest `locationName:"Ipv4Prefix" locationNameList:"item" type:"list"`
55586
55587	// The number of IPv6 addresses to assign to a network interface. Amazon EC2
55588	// automatically selects the IPv6 addresses from the subnet range. You can't
55589	// use this option if specifying specific IPv6 addresses. If your subnet has
55590	// the AssignIpv6AddressOnCreation attribute set to true, you can specify 0
55591	// to override this setting.
55592	Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
55593
55594	// One or more specific IPv6 addresses from the IPv6 CIDR block range of your
55595	// subnet. You can't use this option if you're specifying a number of IPv6 addresses.
55596	Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
55597
55598	// The number of IPv6 prefixes that Amazon Web Services automatically assigns
55599	// to the network interface. You cannot use this option if you use the Ipv6Prefixes
55600	// option.
55601	Ipv6PrefixCount *int64 `type:"integer"`
55602
55603	// One or more IPv6 prefixes assigned to the network interface. You cannot use
55604	// this option if you use the Ipv6PrefixCount option.
55605	Ipv6Prefixes []*Ipv6PrefixSpecificationRequest `locationName:"Ipv6Prefix" locationNameList:"item" type:"list"`
55606
55607	// The primary private IPv4 address of the network interface. If you don't specify
55608	// an IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR
55609	// range. If you specify an IP address, you cannot indicate any IP addresses
55610	// specified in privateIpAddresses as primary (only one IP address can be designated
55611	// as primary).
55612	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
55613
55614	// One or more private IPv4 addresses.
55615	PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddresses" locationNameList:"item" type:"list"`
55616
55617	// The number of secondary private IPv4 addresses to assign to a network interface.
55618	// When you specify a number of secondary IPv4 addresses, Amazon EC2 selects
55619	// these IP addresses within the subnet's IPv4 CIDR range. You can't specify
55620	// this option and specify more than one private IP address using privateIpAddresses.
55621	//
55622	// The number of IP addresses you can assign to a network interface varies by
55623	// instance type. For more information, see IP Addresses Per ENI Per Instance
55624	// Type (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
55625	// in the Amazon Virtual Private Cloud User Guide.
55626	SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
55627
55628	// The ID of the subnet to associate with the network interface.
55629	//
55630	// SubnetId is a required field
55631	SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
55632
55633	// The tags to apply to the new network interface.
55634	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
55635}
55636
55637// String returns the string representation
55638func (s CreateNetworkInterfaceInput) String() string {
55639	return awsutil.Prettify(s)
55640}
55641
55642// GoString returns the string representation
55643func (s CreateNetworkInterfaceInput) GoString() string {
55644	return s.String()
55645}
55646
55647// Validate inspects the fields of the type to determine if they are valid.
55648func (s *CreateNetworkInterfaceInput) Validate() error {
55649	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfaceInput"}
55650	if s.SubnetId == nil {
55651		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
55652	}
55653
55654	if invalidParams.Len() > 0 {
55655		return invalidParams
55656	}
55657	return nil
55658}
55659
55660// SetClientToken sets the ClientToken field's value.
55661func (s *CreateNetworkInterfaceInput) SetClientToken(v string) *CreateNetworkInterfaceInput {
55662	s.ClientToken = &v
55663	return s
55664}
55665
55666// SetDescription sets the Description field's value.
55667func (s *CreateNetworkInterfaceInput) SetDescription(v string) *CreateNetworkInterfaceInput {
55668	s.Description = &v
55669	return s
55670}
55671
55672// SetDryRun sets the DryRun field's value.
55673func (s *CreateNetworkInterfaceInput) SetDryRun(v bool) *CreateNetworkInterfaceInput {
55674	s.DryRun = &v
55675	return s
55676}
55677
55678// SetGroups sets the Groups field's value.
55679func (s *CreateNetworkInterfaceInput) SetGroups(v []*string) *CreateNetworkInterfaceInput {
55680	s.Groups = v
55681	return s
55682}
55683
55684// SetInterfaceType sets the InterfaceType field's value.
55685func (s *CreateNetworkInterfaceInput) SetInterfaceType(v string) *CreateNetworkInterfaceInput {
55686	s.InterfaceType = &v
55687	return s
55688}
55689
55690// SetIpv4PrefixCount sets the Ipv4PrefixCount field's value.
55691func (s *CreateNetworkInterfaceInput) SetIpv4PrefixCount(v int64) *CreateNetworkInterfaceInput {
55692	s.Ipv4PrefixCount = &v
55693	return s
55694}
55695
55696// SetIpv4Prefixes sets the Ipv4Prefixes field's value.
55697func (s *CreateNetworkInterfaceInput) SetIpv4Prefixes(v []*Ipv4PrefixSpecificationRequest) *CreateNetworkInterfaceInput {
55698	s.Ipv4Prefixes = v
55699	return s
55700}
55701
55702// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
55703func (s *CreateNetworkInterfaceInput) SetIpv6AddressCount(v int64) *CreateNetworkInterfaceInput {
55704	s.Ipv6AddressCount = &v
55705	return s
55706}
55707
55708// SetIpv6Addresses sets the Ipv6Addresses field's value.
55709func (s *CreateNetworkInterfaceInput) SetIpv6Addresses(v []*InstanceIpv6Address) *CreateNetworkInterfaceInput {
55710	s.Ipv6Addresses = v
55711	return s
55712}
55713
55714// SetIpv6PrefixCount sets the Ipv6PrefixCount field's value.
55715func (s *CreateNetworkInterfaceInput) SetIpv6PrefixCount(v int64) *CreateNetworkInterfaceInput {
55716	s.Ipv6PrefixCount = &v
55717	return s
55718}
55719
55720// SetIpv6Prefixes sets the Ipv6Prefixes field's value.
55721func (s *CreateNetworkInterfaceInput) SetIpv6Prefixes(v []*Ipv6PrefixSpecificationRequest) *CreateNetworkInterfaceInput {
55722	s.Ipv6Prefixes = v
55723	return s
55724}
55725
55726// SetPrivateIpAddress sets the PrivateIpAddress field's value.
55727func (s *CreateNetworkInterfaceInput) SetPrivateIpAddress(v string) *CreateNetworkInterfaceInput {
55728	s.PrivateIpAddress = &v
55729	return s
55730}
55731
55732// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
55733func (s *CreateNetworkInterfaceInput) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *CreateNetworkInterfaceInput {
55734	s.PrivateIpAddresses = v
55735	return s
55736}
55737
55738// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
55739func (s *CreateNetworkInterfaceInput) SetSecondaryPrivateIpAddressCount(v int64) *CreateNetworkInterfaceInput {
55740	s.SecondaryPrivateIpAddressCount = &v
55741	return s
55742}
55743
55744// SetSubnetId sets the SubnetId field's value.
55745func (s *CreateNetworkInterfaceInput) SetSubnetId(v string) *CreateNetworkInterfaceInput {
55746	s.SubnetId = &v
55747	return s
55748}
55749
55750// SetTagSpecifications sets the TagSpecifications field's value.
55751func (s *CreateNetworkInterfaceInput) SetTagSpecifications(v []*TagSpecification) *CreateNetworkInterfaceInput {
55752	s.TagSpecifications = v
55753	return s
55754}
55755
55756// Contains the output of CreateNetworkInterface.
55757type CreateNetworkInterfaceOutput struct {
55758	_ struct{} `type:"structure"`
55759
55760	// The token to use to retrieve the next page of results. This value is null
55761	// when there are no more results to return.
55762	ClientToken *string `locationName:"clientToken" type:"string"`
55763
55764	// Information about the network interface.
55765	NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
55766}
55767
55768// String returns the string representation
55769func (s CreateNetworkInterfaceOutput) String() string {
55770	return awsutil.Prettify(s)
55771}
55772
55773// GoString returns the string representation
55774func (s CreateNetworkInterfaceOutput) GoString() string {
55775	return s.String()
55776}
55777
55778// SetClientToken sets the ClientToken field's value.
55779func (s *CreateNetworkInterfaceOutput) SetClientToken(v string) *CreateNetworkInterfaceOutput {
55780	s.ClientToken = &v
55781	return s
55782}
55783
55784// SetNetworkInterface sets the NetworkInterface field's value.
55785func (s *CreateNetworkInterfaceOutput) SetNetworkInterface(v *NetworkInterface) *CreateNetworkInterfaceOutput {
55786	s.NetworkInterface = v
55787	return s
55788}
55789
55790// Contains the parameters for CreateNetworkInterfacePermission.
55791type CreateNetworkInterfacePermissionInput struct {
55792	_ struct{} `type:"structure"`
55793
55794	// The Amazon Web Services account ID.
55795	AwsAccountId *string `type:"string"`
55796
55797	// The Amazon Web Service. Currently not supported.
55798	AwsService *string `type:"string"`
55799
55800	// Checks whether you have the required permissions for the action, without
55801	// actually making the request, and provides an error response. If you have
55802	// the required permissions, the error response is DryRunOperation. Otherwise,
55803	// it is UnauthorizedOperation.
55804	DryRun *bool `type:"boolean"`
55805
55806	// The ID of the network interface.
55807	//
55808	// NetworkInterfaceId is a required field
55809	NetworkInterfaceId *string `type:"string" required:"true"`
55810
55811	// The type of permission to grant.
55812	//
55813	// Permission is a required field
55814	Permission *string `type:"string" required:"true" enum:"InterfacePermissionType"`
55815}
55816
55817// String returns the string representation
55818func (s CreateNetworkInterfacePermissionInput) String() string {
55819	return awsutil.Prettify(s)
55820}
55821
55822// GoString returns the string representation
55823func (s CreateNetworkInterfacePermissionInput) GoString() string {
55824	return s.String()
55825}
55826
55827// Validate inspects the fields of the type to determine if they are valid.
55828func (s *CreateNetworkInterfacePermissionInput) Validate() error {
55829	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfacePermissionInput"}
55830	if s.NetworkInterfaceId == nil {
55831		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
55832	}
55833	if s.Permission == nil {
55834		invalidParams.Add(request.NewErrParamRequired("Permission"))
55835	}
55836
55837	if invalidParams.Len() > 0 {
55838		return invalidParams
55839	}
55840	return nil
55841}
55842
55843// SetAwsAccountId sets the AwsAccountId field's value.
55844func (s *CreateNetworkInterfacePermissionInput) SetAwsAccountId(v string) *CreateNetworkInterfacePermissionInput {
55845	s.AwsAccountId = &v
55846	return s
55847}
55848
55849// SetAwsService sets the AwsService field's value.
55850func (s *CreateNetworkInterfacePermissionInput) SetAwsService(v string) *CreateNetworkInterfacePermissionInput {
55851	s.AwsService = &v
55852	return s
55853}
55854
55855// SetDryRun sets the DryRun field's value.
55856func (s *CreateNetworkInterfacePermissionInput) SetDryRun(v bool) *CreateNetworkInterfacePermissionInput {
55857	s.DryRun = &v
55858	return s
55859}
55860
55861// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
55862func (s *CreateNetworkInterfacePermissionInput) SetNetworkInterfaceId(v string) *CreateNetworkInterfacePermissionInput {
55863	s.NetworkInterfaceId = &v
55864	return s
55865}
55866
55867// SetPermission sets the Permission field's value.
55868func (s *CreateNetworkInterfacePermissionInput) SetPermission(v string) *CreateNetworkInterfacePermissionInput {
55869	s.Permission = &v
55870	return s
55871}
55872
55873// Contains the output of CreateNetworkInterfacePermission.
55874type CreateNetworkInterfacePermissionOutput struct {
55875	_ struct{} `type:"structure"`
55876
55877	// Information about the permission for the network interface.
55878	InterfacePermission *NetworkInterfacePermission `locationName:"interfacePermission" type:"structure"`
55879}
55880
55881// String returns the string representation
55882func (s CreateNetworkInterfacePermissionOutput) String() string {
55883	return awsutil.Prettify(s)
55884}
55885
55886// GoString returns the string representation
55887func (s CreateNetworkInterfacePermissionOutput) GoString() string {
55888	return s.String()
55889}
55890
55891// SetInterfacePermission sets the InterfacePermission field's value.
55892func (s *CreateNetworkInterfacePermissionOutput) SetInterfacePermission(v *NetworkInterfacePermission) *CreateNetworkInterfacePermissionOutput {
55893	s.InterfacePermission = v
55894	return s
55895}
55896
55897type CreatePlacementGroupInput struct {
55898	_ struct{} `type:"structure"`
55899
55900	// Checks whether you have the required permissions for the action, without
55901	// actually making the request, and provides an error response. If you have
55902	// the required permissions, the error response is DryRunOperation. Otherwise,
55903	// it is UnauthorizedOperation.
55904	DryRun *bool `locationName:"dryRun" type:"boolean"`
55905
55906	// A name for the placement group. Must be unique within the scope of your account
55907	// for the Region.
55908	//
55909	// Constraints: Up to 255 ASCII characters
55910	GroupName *string `locationName:"groupName" type:"string"`
55911
55912	// The number of partitions. Valid only when Strategy is set to partition.
55913	PartitionCount *int64 `type:"integer"`
55914
55915	// The placement strategy.
55916	Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
55917
55918	// The tags to apply to the new placement group.
55919	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
55920}
55921
55922// String returns the string representation
55923func (s CreatePlacementGroupInput) String() string {
55924	return awsutil.Prettify(s)
55925}
55926
55927// GoString returns the string representation
55928func (s CreatePlacementGroupInput) GoString() string {
55929	return s.String()
55930}
55931
55932// SetDryRun sets the DryRun field's value.
55933func (s *CreatePlacementGroupInput) SetDryRun(v bool) *CreatePlacementGroupInput {
55934	s.DryRun = &v
55935	return s
55936}
55937
55938// SetGroupName sets the GroupName field's value.
55939func (s *CreatePlacementGroupInput) SetGroupName(v string) *CreatePlacementGroupInput {
55940	s.GroupName = &v
55941	return s
55942}
55943
55944// SetPartitionCount sets the PartitionCount field's value.
55945func (s *CreatePlacementGroupInput) SetPartitionCount(v int64) *CreatePlacementGroupInput {
55946	s.PartitionCount = &v
55947	return s
55948}
55949
55950// SetStrategy sets the Strategy field's value.
55951func (s *CreatePlacementGroupInput) SetStrategy(v string) *CreatePlacementGroupInput {
55952	s.Strategy = &v
55953	return s
55954}
55955
55956// SetTagSpecifications sets the TagSpecifications field's value.
55957func (s *CreatePlacementGroupInput) SetTagSpecifications(v []*TagSpecification) *CreatePlacementGroupInput {
55958	s.TagSpecifications = v
55959	return s
55960}
55961
55962type CreatePlacementGroupOutput struct {
55963	_ struct{} `type:"structure"`
55964
55965	// Describes a placement group.
55966	PlacementGroup *PlacementGroup `locationName:"placementGroup" type:"structure"`
55967}
55968
55969// String returns the string representation
55970func (s CreatePlacementGroupOutput) String() string {
55971	return awsutil.Prettify(s)
55972}
55973
55974// GoString returns the string representation
55975func (s CreatePlacementGroupOutput) GoString() string {
55976	return s.String()
55977}
55978
55979// SetPlacementGroup sets the PlacementGroup field's value.
55980func (s *CreatePlacementGroupOutput) SetPlacementGroup(v *PlacementGroup) *CreatePlacementGroupOutput {
55981	s.PlacementGroup = v
55982	return s
55983}
55984
55985type CreateReplaceRootVolumeTaskInput struct {
55986	_ struct{} `type:"structure"`
55987
55988	// Unique, case-sensitive identifier you provide to ensure the idempotency of
55989	// the request. If you do not specify a client token, a randomly generated token
55990	// is used for the request to ensure idempotency. For more information, see
55991	// Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
55992	ClientToken *string `type:"string" idempotencyToken:"true"`
55993
55994	// Checks whether you have the required permissions for the action, without
55995	// actually making the request, and provides an error response. If you have
55996	// the required permissions, the error response is DryRunOperation. Otherwise,
55997	// it is UnauthorizedOperation.
55998	DryRun *bool `type:"boolean"`
55999
56000	// The ID of the instance for which to replace the root volume.
56001	//
56002	// InstanceId is a required field
56003	InstanceId *string `type:"string" required:"true"`
56004
56005	// The ID of the snapshot from which to restore the replacement root volume.
56006	// If you want to restore the volume to the initial launch state, omit this
56007	// parameter.
56008	SnapshotId *string `type:"string"`
56009
56010	// The tags to apply to the root volume replacement task.
56011	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
56012}
56013
56014// String returns the string representation
56015func (s CreateReplaceRootVolumeTaskInput) String() string {
56016	return awsutil.Prettify(s)
56017}
56018
56019// GoString returns the string representation
56020func (s CreateReplaceRootVolumeTaskInput) GoString() string {
56021	return s.String()
56022}
56023
56024// Validate inspects the fields of the type to determine if they are valid.
56025func (s *CreateReplaceRootVolumeTaskInput) Validate() error {
56026	invalidParams := request.ErrInvalidParams{Context: "CreateReplaceRootVolumeTaskInput"}
56027	if s.InstanceId == nil {
56028		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
56029	}
56030
56031	if invalidParams.Len() > 0 {
56032		return invalidParams
56033	}
56034	return nil
56035}
56036
56037// SetClientToken sets the ClientToken field's value.
56038func (s *CreateReplaceRootVolumeTaskInput) SetClientToken(v string) *CreateReplaceRootVolumeTaskInput {
56039	s.ClientToken = &v
56040	return s
56041}
56042
56043// SetDryRun sets the DryRun field's value.
56044func (s *CreateReplaceRootVolumeTaskInput) SetDryRun(v bool) *CreateReplaceRootVolumeTaskInput {
56045	s.DryRun = &v
56046	return s
56047}
56048
56049// SetInstanceId sets the InstanceId field's value.
56050func (s *CreateReplaceRootVolumeTaskInput) SetInstanceId(v string) *CreateReplaceRootVolumeTaskInput {
56051	s.InstanceId = &v
56052	return s
56053}
56054
56055// SetSnapshotId sets the SnapshotId field's value.
56056func (s *CreateReplaceRootVolumeTaskInput) SetSnapshotId(v string) *CreateReplaceRootVolumeTaskInput {
56057	s.SnapshotId = &v
56058	return s
56059}
56060
56061// SetTagSpecifications sets the TagSpecifications field's value.
56062func (s *CreateReplaceRootVolumeTaskInput) SetTagSpecifications(v []*TagSpecification) *CreateReplaceRootVolumeTaskInput {
56063	s.TagSpecifications = v
56064	return s
56065}
56066
56067type CreateReplaceRootVolumeTaskOutput struct {
56068	_ struct{} `type:"structure"`
56069
56070	// Information about the root volume replacement task.
56071	ReplaceRootVolumeTask *ReplaceRootVolumeTask `locationName:"replaceRootVolumeTask" type:"structure"`
56072}
56073
56074// String returns the string representation
56075func (s CreateReplaceRootVolumeTaskOutput) String() string {
56076	return awsutil.Prettify(s)
56077}
56078
56079// GoString returns the string representation
56080func (s CreateReplaceRootVolumeTaskOutput) GoString() string {
56081	return s.String()
56082}
56083
56084// SetReplaceRootVolumeTask sets the ReplaceRootVolumeTask field's value.
56085func (s *CreateReplaceRootVolumeTaskOutput) SetReplaceRootVolumeTask(v *ReplaceRootVolumeTask) *CreateReplaceRootVolumeTaskOutput {
56086	s.ReplaceRootVolumeTask = v
56087	return s
56088}
56089
56090// Contains the parameters for CreateReservedInstancesListing.
56091type CreateReservedInstancesListingInput struct {
56092	_ struct{} `type:"structure"`
56093
56094	// Unique, case-sensitive identifier you provide to ensure idempotency of your
56095	// listings. This helps avoid duplicate listings. For more information, see
56096	// Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
56097	//
56098	// ClientToken is a required field
56099	ClientToken *string `locationName:"clientToken" type:"string" required:"true"`
56100
56101	// The number of instances that are a part of a Reserved Instance account to
56102	// be listed in the Reserved Instance Marketplace. This number should be less
56103	// than or equal to the instance count associated with the Reserved Instance
56104	// ID specified in this call.
56105	//
56106	// InstanceCount is a required field
56107	InstanceCount *int64 `locationName:"instanceCount" type:"integer" required:"true"`
56108
56109	// A list specifying the price of the Standard Reserved Instance for each month
56110	// remaining in the Reserved Instance term.
56111	//
56112	// PriceSchedules is a required field
56113	PriceSchedules []*PriceScheduleSpecification `locationName:"priceSchedules" locationNameList:"item" type:"list" required:"true"`
56114
56115	// The ID of the active Standard Reserved Instance.
56116	//
56117	// ReservedInstancesId is a required field
56118	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string" required:"true"`
56119}
56120
56121// String returns the string representation
56122func (s CreateReservedInstancesListingInput) String() string {
56123	return awsutil.Prettify(s)
56124}
56125
56126// GoString returns the string representation
56127func (s CreateReservedInstancesListingInput) GoString() string {
56128	return s.String()
56129}
56130
56131// Validate inspects the fields of the type to determine if they are valid.
56132func (s *CreateReservedInstancesListingInput) Validate() error {
56133	invalidParams := request.ErrInvalidParams{Context: "CreateReservedInstancesListingInput"}
56134	if s.ClientToken == nil {
56135		invalidParams.Add(request.NewErrParamRequired("ClientToken"))
56136	}
56137	if s.InstanceCount == nil {
56138		invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
56139	}
56140	if s.PriceSchedules == nil {
56141		invalidParams.Add(request.NewErrParamRequired("PriceSchedules"))
56142	}
56143	if s.ReservedInstancesId == nil {
56144		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesId"))
56145	}
56146
56147	if invalidParams.Len() > 0 {
56148		return invalidParams
56149	}
56150	return nil
56151}
56152
56153// SetClientToken sets the ClientToken field's value.
56154func (s *CreateReservedInstancesListingInput) SetClientToken(v string) *CreateReservedInstancesListingInput {
56155	s.ClientToken = &v
56156	return s
56157}
56158
56159// SetInstanceCount sets the InstanceCount field's value.
56160func (s *CreateReservedInstancesListingInput) SetInstanceCount(v int64) *CreateReservedInstancesListingInput {
56161	s.InstanceCount = &v
56162	return s
56163}
56164
56165// SetPriceSchedules sets the PriceSchedules field's value.
56166func (s *CreateReservedInstancesListingInput) SetPriceSchedules(v []*PriceScheduleSpecification) *CreateReservedInstancesListingInput {
56167	s.PriceSchedules = v
56168	return s
56169}
56170
56171// SetReservedInstancesId sets the ReservedInstancesId field's value.
56172func (s *CreateReservedInstancesListingInput) SetReservedInstancesId(v string) *CreateReservedInstancesListingInput {
56173	s.ReservedInstancesId = &v
56174	return s
56175}
56176
56177// Contains the output of CreateReservedInstancesListing.
56178type CreateReservedInstancesListingOutput struct {
56179	_ struct{} `type:"structure"`
56180
56181	// Information about the Standard Reserved Instance listing.
56182	ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
56183}
56184
56185// String returns the string representation
56186func (s CreateReservedInstancesListingOutput) String() string {
56187	return awsutil.Prettify(s)
56188}
56189
56190// GoString returns the string representation
56191func (s CreateReservedInstancesListingOutput) GoString() string {
56192	return s.String()
56193}
56194
56195// SetReservedInstancesListings sets the ReservedInstancesListings field's value.
56196func (s *CreateReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CreateReservedInstancesListingOutput {
56197	s.ReservedInstancesListings = v
56198	return s
56199}
56200
56201type CreateRestoreImageTaskInput struct {
56202	_ struct{} `type:"structure"`
56203
56204	// The name of the S3 bucket that contains the stored AMI object.
56205	//
56206	// Bucket is a required field
56207	Bucket *string `type:"string" required:"true"`
56208
56209	// Checks whether you have the required permissions for the action, without
56210	// actually making the request, and provides an error response. If you have
56211	// the required permissions, the error response is DryRunOperation. Otherwise,
56212	// it is UnauthorizedOperation.
56213	DryRun *bool `type:"boolean"`
56214
56215	// The name for the restored AMI. The name must be unique for AMIs in the Region
56216	// for this account. If you do not provide a name, the new AMI gets the same
56217	// name as the original AMI.
56218	Name *string `type:"string"`
56219
56220	// The name of the stored AMI object in the bucket.
56221	//
56222	// ObjectKey is a required field
56223	ObjectKey *string `type:"string" required:"true"`
56224
56225	// The tags to apply to the AMI and snapshots on restoration. You can tag the
56226	// AMI, the snapshots, or both.
56227	//
56228	//    * To tag the AMI, the value for ResourceType must be image.
56229	//
56230	//    * To tag the snapshots, the value for ResourceType must be snapshot. The
56231	//    same tag is applied to all of the snapshots that are created.
56232	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
56233}
56234
56235// String returns the string representation
56236func (s CreateRestoreImageTaskInput) String() string {
56237	return awsutil.Prettify(s)
56238}
56239
56240// GoString returns the string representation
56241func (s CreateRestoreImageTaskInput) GoString() string {
56242	return s.String()
56243}
56244
56245// Validate inspects the fields of the type to determine if they are valid.
56246func (s *CreateRestoreImageTaskInput) Validate() error {
56247	invalidParams := request.ErrInvalidParams{Context: "CreateRestoreImageTaskInput"}
56248	if s.Bucket == nil {
56249		invalidParams.Add(request.NewErrParamRequired("Bucket"))
56250	}
56251	if s.ObjectKey == nil {
56252		invalidParams.Add(request.NewErrParamRequired("ObjectKey"))
56253	}
56254
56255	if invalidParams.Len() > 0 {
56256		return invalidParams
56257	}
56258	return nil
56259}
56260
56261// SetBucket sets the Bucket field's value.
56262func (s *CreateRestoreImageTaskInput) SetBucket(v string) *CreateRestoreImageTaskInput {
56263	s.Bucket = &v
56264	return s
56265}
56266
56267// SetDryRun sets the DryRun field's value.
56268func (s *CreateRestoreImageTaskInput) SetDryRun(v bool) *CreateRestoreImageTaskInput {
56269	s.DryRun = &v
56270	return s
56271}
56272
56273// SetName sets the Name field's value.
56274func (s *CreateRestoreImageTaskInput) SetName(v string) *CreateRestoreImageTaskInput {
56275	s.Name = &v
56276	return s
56277}
56278
56279// SetObjectKey sets the ObjectKey field's value.
56280func (s *CreateRestoreImageTaskInput) SetObjectKey(v string) *CreateRestoreImageTaskInput {
56281	s.ObjectKey = &v
56282	return s
56283}
56284
56285// SetTagSpecifications sets the TagSpecifications field's value.
56286func (s *CreateRestoreImageTaskInput) SetTagSpecifications(v []*TagSpecification) *CreateRestoreImageTaskInput {
56287	s.TagSpecifications = v
56288	return s
56289}
56290
56291type CreateRestoreImageTaskOutput struct {
56292	_ struct{} `type:"structure"`
56293
56294	// The AMI ID.
56295	ImageId *string `locationName:"imageId" type:"string"`
56296}
56297
56298// String returns the string representation
56299func (s CreateRestoreImageTaskOutput) String() string {
56300	return awsutil.Prettify(s)
56301}
56302
56303// GoString returns the string representation
56304func (s CreateRestoreImageTaskOutput) GoString() string {
56305	return s.String()
56306}
56307
56308// SetImageId sets the ImageId field's value.
56309func (s *CreateRestoreImageTaskOutput) SetImageId(v string) *CreateRestoreImageTaskOutput {
56310	s.ImageId = &v
56311	return s
56312}
56313
56314type CreateRouteInput struct {
56315	_ struct{} `type:"structure"`
56316
56317	// The ID of the carrier gateway.
56318	//
56319	// You can only use this option when the VPC contains a subnet which is associated
56320	// with a Wavelength Zone.
56321	CarrierGatewayId *string `type:"string"`
56322
56323	// The IPv4 CIDR address block used for the destination match. Routing decisions
56324	// are based on the most specific match. We modify the specified CIDR block
56325	// to its canonical form; for example, if you specify 100.68.0.18/18, we modify
56326	// it to 100.68.0.0/18.
56327	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
56328
56329	// The IPv6 CIDR block used for the destination match. Routing decisions are
56330	// based on the most specific match.
56331	DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
56332
56333	// The ID of a prefix list used for the destination match.
56334	DestinationPrefixListId *string `type:"string"`
56335
56336	// Checks whether you have the required permissions for the action, without
56337	// actually making the request, and provides an error response. If you have
56338	// the required permissions, the error response is DryRunOperation. Otherwise,
56339	// it is UnauthorizedOperation.
56340	DryRun *bool `locationName:"dryRun" type:"boolean"`
56341
56342	// [IPv6 traffic only] The ID of an egress-only internet gateway.
56343	EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
56344
56345	// The ID of an internet gateway or virtual private gateway attached to your
56346	// VPC.
56347	GatewayId *string `locationName:"gatewayId" type:"string"`
56348
56349	// The ID of a NAT instance in your VPC. The operation fails if you specify
56350	// an instance ID unless exactly one network interface is attached.
56351	InstanceId *string `locationName:"instanceId" type:"string"`
56352
56353	// The ID of the local gateway.
56354	LocalGatewayId *string `type:"string"`
56355
56356	// [IPv4 traffic only] The ID of a NAT gateway.
56357	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
56358
56359	// The ID of a network interface.
56360	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
56361
56362	// The ID of the route table for the route.
56363	//
56364	// RouteTableId is a required field
56365	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
56366
56367	// The ID of a transit gateway.
56368	TransitGatewayId *string `type:"string"`
56369
56370	// The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.
56371	VpcEndpointId *string `type:"string"`
56372
56373	// The ID of a VPC peering connection.
56374	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
56375}
56376
56377// String returns the string representation
56378func (s CreateRouteInput) String() string {
56379	return awsutil.Prettify(s)
56380}
56381
56382// GoString returns the string representation
56383func (s CreateRouteInput) GoString() string {
56384	return s.String()
56385}
56386
56387// Validate inspects the fields of the type to determine if they are valid.
56388func (s *CreateRouteInput) Validate() error {
56389	invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"}
56390	if s.RouteTableId == nil {
56391		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
56392	}
56393
56394	if invalidParams.Len() > 0 {
56395		return invalidParams
56396	}
56397	return nil
56398}
56399
56400// SetCarrierGatewayId sets the CarrierGatewayId field's value.
56401func (s *CreateRouteInput) SetCarrierGatewayId(v string) *CreateRouteInput {
56402	s.CarrierGatewayId = &v
56403	return s
56404}
56405
56406// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
56407func (s *CreateRouteInput) SetDestinationCidrBlock(v string) *CreateRouteInput {
56408	s.DestinationCidrBlock = &v
56409	return s
56410}
56411
56412// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
56413func (s *CreateRouteInput) SetDestinationIpv6CidrBlock(v string) *CreateRouteInput {
56414	s.DestinationIpv6CidrBlock = &v
56415	return s
56416}
56417
56418// SetDestinationPrefixListId sets the DestinationPrefixListId field's value.
56419func (s *CreateRouteInput) SetDestinationPrefixListId(v string) *CreateRouteInput {
56420	s.DestinationPrefixListId = &v
56421	return s
56422}
56423
56424// SetDryRun sets the DryRun field's value.
56425func (s *CreateRouteInput) SetDryRun(v bool) *CreateRouteInput {
56426	s.DryRun = &v
56427	return s
56428}
56429
56430// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
56431func (s *CreateRouteInput) SetEgressOnlyInternetGatewayId(v string) *CreateRouteInput {
56432	s.EgressOnlyInternetGatewayId = &v
56433	return s
56434}
56435
56436// SetGatewayId sets the GatewayId field's value.
56437func (s *CreateRouteInput) SetGatewayId(v string) *CreateRouteInput {
56438	s.GatewayId = &v
56439	return s
56440}
56441
56442// SetInstanceId sets the InstanceId field's value.
56443func (s *CreateRouteInput) SetInstanceId(v string) *CreateRouteInput {
56444	s.InstanceId = &v
56445	return s
56446}
56447
56448// SetLocalGatewayId sets the LocalGatewayId field's value.
56449func (s *CreateRouteInput) SetLocalGatewayId(v string) *CreateRouteInput {
56450	s.LocalGatewayId = &v
56451	return s
56452}
56453
56454// SetNatGatewayId sets the NatGatewayId field's value.
56455func (s *CreateRouteInput) SetNatGatewayId(v string) *CreateRouteInput {
56456	s.NatGatewayId = &v
56457	return s
56458}
56459
56460// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
56461func (s *CreateRouteInput) SetNetworkInterfaceId(v string) *CreateRouteInput {
56462	s.NetworkInterfaceId = &v
56463	return s
56464}
56465
56466// SetRouteTableId sets the RouteTableId field's value.
56467func (s *CreateRouteInput) SetRouteTableId(v string) *CreateRouteInput {
56468	s.RouteTableId = &v
56469	return s
56470}
56471
56472// SetTransitGatewayId sets the TransitGatewayId field's value.
56473func (s *CreateRouteInput) SetTransitGatewayId(v string) *CreateRouteInput {
56474	s.TransitGatewayId = &v
56475	return s
56476}
56477
56478// SetVpcEndpointId sets the VpcEndpointId field's value.
56479func (s *CreateRouteInput) SetVpcEndpointId(v string) *CreateRouteInput {
56480	s.VpcEndpointId = &v
56481	return s
56482}
56483
56484// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
56485func (s *CreateRouteInput) SetVpcPeeringConnectionId(v string) *CreateRouteInput {
56486	s.VpcPeeringConnectionId = &v
56487	return s
56488}
56489
56490type CreateRouteOutput struct {
56491	_ struct{} `type:"structure"`
56492
56493	// Returns true if the request succeeds; otherwise, it returns an error.
56494	Return *bool `locationName:"return" type:"boolean"`
56495}
56496
56497// String returns the string representation
56498func (s CreateRouteOutput) String() string {
56499	return awsutil.Prettify(s)
56500}
56501
56502// GoString returns the string representation
56503func (s CreateRouteOutput) GoString() string {
56504	return s.String()
56505}
56506
56507// SetReturn sets the Return field's value.
56508func (s *CreateRouteOutput) SetReturn(v bool) *CreateRouteOutput {
56509	s.Return = &v
56510	return s
56511}
56512
56513type CreateRouteTableInput struct {
56514	_ struct{} `type:"structure"`
56515
56516	// Checks whether you have the required permissions for the action, without
56517	// actually making the request, and provides an error response. If you have
56518	// the required permissions, the error response is DryRunOperation. Otherwise,
56519	// it is UnauthorizedOperation.
56520	DryRun *bool `locationName:"dryRun" type:"boolean"`
56521
56522	// The tags to assign to the route table.
56523	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
56524
56525	// The ID of the VPC.
56526	//
56527	// VpcId is a required field
56528	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
56529}
56530
56531// String returns the string representation
56532func (s CreateRouteTableInput) String() string {
56533	return awsutil.Prettify(s)
56534}
56535
56536// GoString returns the string representation
56537func (s CreateRouteTableInput) GoString() string {
56538	return s.String()
56539}
56540
56541// Validate inspects the fields of the type to determine if they are valid.
56542func (s *CreateRouteTableInput) Validate() error {
56543	invalidParams := request.ErrInvalidParams{Context: "CreateRouteTableInput"}
56544	if s.VpcId == nil {
56545		invalidParams.Add(request.NewErrParamRequired("VpcId"))
56546	}
56547
56548	if invalidParams.Len() > 0 {
56549		return invalidParams
56550	}
56551	return nil
56552}
56553
56554// SetDryRun sets the DryRun field's value.
56555func (s *CreateRouteTableInput) SetDryRun(v bool) *CreateRouteTableInput {
56556	s.DryRun = &v
56557	return s
56558}
56559
56560// SetTagSpecifications sets the TagSpecifications field's value.
56561func (s *CreateRouteTableInput) SetTagSpecifications(v []*TagSpecification) *CreateRouteTableInput {
56562	s.TagSpecifications = v
56563	return s
56564}
56565
56566// SetVpcId sets the VpcId field's value.
56567func (s *CreateRouteTableInput) SetVpcId(v string) *CreateRouteTableInput {
56568	s.VpcId = &v
56569	return s
56570}
56571
56572type CreateRouteTableOutput struct {
56573	_ struct{} `type:"structure"`
56574
56575	// Information about the route table.
56576	RouteTable *RouteTable `locationName:"routeTable" type:"structure"`
56577}
56578
56579// String returns the string representation
56580func (s CreateRouteTableOutput) String() string {
56581	return awsutil.Prettify(s)
56582}
56583
56584// GoString returns the string representation
56585func (s CreateRouteTableOutput) GoString() string {
56586	return s.String()
56587}
56588
56589// SetRouteTable sets the RouteTable field's value.
56590func (s *CreateRouteTableOutput) SetRouteTable(v *RouteTable) *CreateRouteTableOutput {
56591	s.RouteTable = v
56592	return s
56593}
56594
56595type CreateSecurityGroupInput struct {
56596	_ struct{} `type:"structure"`
56597
56598	// A description for the security group. This is informational only.
56599	//
56600	// Constraints: Up to 255 characters in length
56601	//
56602	// Constraints for EC2-Classic: ASCII characters
56603	//
56604	// Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
56605	//
56606	// Description is a required field
56607	Description *string `locationName:"GroupDescription" type:"string" required:"true"`
56608
56609	// Checks whether you have the required permissions for the action, without
56610	// actually making the request, and provides an error response. If you have
56611	// the required permissions, the error response is DryRunOperation. Otherwise,
56612	// it is UnauthorizedOperation.
56613	DryRun *bool `locationName:"dryRun" type:"boolean"`
56614
56615	// The name of the security group.
56616	//
56617	// Constraints: Up to 255 characters in length. Cannot start with sg-.
56618	//
56619	// Constraints for EC2-Classic: ASCII characters
56620	//
56621	// Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
56622	//
56623	// GroupName is a required field
56624	GroupName *string `type:"string" required:"true"`
56625
56626	// The tags to assign to the security group.
56627	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
56628
56629	// [EC2-VPC] The ID of the VPC. Required for EC2-VPC.
56630	VpcId *string `type:"string"`
56631}
56632
56633// String returns the string representation
56634func (s CreateSecurityGroupInput) String() string {
56635	return awsutil.Prettify(s)
56636}
56637
56638// GoString returns the string representation
56639func (s CreateSecurityGroupInput) GoString() string {
56640	return s.String()
56641}
56642
56643// Validate inspects the fields of the type to determine if they are valid.
56644func (s *CreateSecurityGroupInput) Validate() error {
56645	invalidParams := request.ErrInvalidParams{Context: "CreateSecurityGroupInput"}
56646	if s.Description == nil {
56647		invalidParams.Add(request.NewErrParamRequired("Description"))
56648	}
56649	if s.GroupName == nil {
56650		invalidParams.Add(request.NewErrParamRequired("GroupName"))
56651	}
56652
56653	if invalidParams.Len() > 0 {
56654		return invalidParams
56655	}
56656	return nil
56657}
56658
56659// SetDescription sets the Description field's value.
56660func (s *CreateSecurityGroupInput) SetDescription(v string) *CreateSecurityGroupInput {
56661	s.Description = &v
56662	return s
56663}
56664
56665// SetDryRun sets the DryRun field's value.
56666func (s *CreateSecurityGroupInput) SetDryRun(v bool) *CreateSecurityGroupInput {
56667	s.DryRun = &v
56668	return s
56669}
56670
56671// SetGroupName sets the GroupName field's value.
56672func (s *CreateSecurityGroupInput) SetGroupName(v string) *CreateSecurityGroupInput {
56673	s.GroupName = &v
56674	return s
56675}
56676
56677// SetTagSpecifications sets the TagSpecifications field's value.
56678func (s *CreateSecurityGroupInput) SetTagSpecifications(v []*TagSpecification) *CreateSecurityGroupInput {
56679	s.TagSpecifications = v
56680	return s
56681}
56682
56683// SetVpcId sets the VpcId field's value.
56684func (s *CreateSecurityGroupInput) SetVpcId(v string) *CreateSecurityGroupInput {
56685	s.VpcId = &v
56686	return s
56687}
56688
56689type CreateSecurityGroupOutput struct {
56690	_ struct{} `type:"structure"`
56691
56692	// The ID of the security group.
56693	GroupId *string `locationName:"groupId" type:"string"`
56694
56695	// The tags assigned to the security group.
56696	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
56697}
56698
56699// String returns the string representation
56700func (s CreateSecurityGroupOutput) String() string {
56701	return awsutil.Prettify(s)
56702}
56703
56704// GoString returns the string representation
56705func (s CreateSecurityGroupOutput) GoString() string {
56706	return s.String()
56707}
56708
56709// SetGroupId sets the GroupId field's value.
56710func (s *CreateSecurityGroupOutput) SetGroupId(v string) *CreateSecurityGroupOutput {
56711	s.GroupId = &v
56712	return s
56713}
56714
56715// SetTags sets the Tags field's value.
56716func (s *CreateSecurityGroupOutput) SetTags(v []*Tag) *CreateSecurityGroupOutput {
56717	s.Tags = v
56718	return s
56719}
56720
56721type CreateSnapshotInput struct {
56722	_ struct{} `type:"structure"`
56723
56724	// A description for the snapshot.
56725	Description *string `type:"string"`
56726
56727	// Checks whether you have the required permissions for the action, without
56728	// actually making the request, and provides an error response. If you have
56729	// the required permissions, the error response is DryRunOperation. Otherwise,
56730	// it is UnauthorizedOperation.
56731	DryRun *bool `locationName:"dryRun" type:"boolean"`
56732
56733	// The Amazon Resource Name (ARN) of the Outpost on which to create a local
56734	// snapshot.
56735	//
56736	//    * To create a snapshot of a volume in a Region, omit this parameter. The
56737	//    snapshot is created in the same Region as the volume.
56738	//
56739	//    * To create a snapshot of a volume on an Outpost and store the snapshot
56740	//    in the Region, omit this parameter. The snapshot is created in the Region
56741	//    for the Outpost.
56742	//
56743	//    * To create a snapshot of a volume on an Outpost and store the snapshot
56744	//    on an Outpost, specify the ARN of the destination Outpost. The snapshot
56745	//    must be created on the same Outpost as the volume.
56746	//
56747	// For more information, see Create local snapshots from volumes on an Outpost
56748	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#create-snapshot)
56749	// in the Amazon Elastic Compute Cloud User Guide.
56750	OutpostArn *string `type:"string"`
56751
56752	// The tags to apply to the snapshot during creation.
56753	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
56754
56755	// The ID of the Amazon EBS volume.
56756	//
56757	// VolumeId is a required field
56758	VolumeId *string `type:"string" required:"true"`
56759}
56760
56761// String returns the string representation
56762func (s CreateSnapshotInput) String() string {
56763	return awsutil.Prettify(s)
56764}
56765
56766// GoString returns the string representation
56767func (s CreateSnapshotInput) GoString() string {
56768	return s.String()
56769}
56770
56771// Validate inspects the fields of the type to determine if they are valid.
56772func (s *CreateSnapshotInput) Validate() error {
56773	invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"}
56774	if s.VolumeId == nil {
56775		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
56776	}
56777
56778	if invalidParams.Len() > 0 {
56779		return invalidParams
56780	}
56781	return nil
56782}
56783
56784// SetDescription sets the Description field's value.
56785func (s *CreateSnapshotInput) SetDescription(v string) *CreateSnapshotInput {
56786	s.Description = &v
56787	return s
56788}
56789
56790// SetDryRun sets the DryRun field's value.
56791func (s *CreateSnapshotInput) SetDryRun(v bool) *CreateSnapshotInput {
56792	s.DryRun = &v
56793	return s
56794}
56795
56796// SetOutpostArn sets the OutpostArn field's value.
56797func (s *CreateSnapshotInput) SetOutpostArn(v string) *CreateSnapshotInput {
56798	s.OutpostArn = &v
56799	return s
56800}
56801
56802// SetTagSpecifications sets the TagSpecifications field's value.
56803func (s *CreateSnapshotInput) SetTagSpecifications(v []*TagSpecification) *CreateSnapshotInput {
56804	s.TagSpecifications = v
56805	return s
56806}
56807
56808// SetVolumeId sets the VolumeId field's value.
56809func (s *CreateSnapshotInput) SetVolumeId(v string) *CreateSnapshotInput {
56810	s.VolumeId = &v
56811	return s
56812}
56813
56814type CreateSnapshotsInput struct {
56815	_ struct{} `type:"structure"`
56816
56817	// Copies the tags from the specified volume to corresponding snapshot.
56818	CopyTagsFromSource *string `type:"string" enum:"CopyTagsFromSource"`
56819
56820	// A description propagated to every snapshot specified by the instance.
56821	Description *string `type:"string"`
56822
56823	// Checks whether you have the required permissions for the action, without
56824	// actually making the request, and provides an error response. If you have
56825	// the required permissions, the error response is DryRunOperation. Otherwise,
56826	// it is UnauthorizedOperation.
56827	DryRun *bool `type:"boolean"`
56828
56829	// The instance to specify which volumes should be included in the snapshots.
56830	//
56831	// InstanceSpecification is a required field
56832	InstanceSpecification *InstanceSpecification `type:"structure" required:"true"`
56833
56834	// The Amazon Resource Name (ARN) of the Outpost on which to create the local
56835	// snapshots.
56836	//
56837	//    * To create snapshots from an instance in a Region, omit this parameter.
56838	//    The snapshots are created in the same Region as the instance.
56839	//
56840	//    * To create snapshots from an instance on an Outpost and store the snapshots
56841	//    in the Region, omit this parameter. The snapshots are created in the Region
56842	//    for the Outpost.
56843	//
56844	//    * To create snapshots from an instance on an Outpost and store the snapshots
56845	//    on an Outpost, specify the ARN of the destination Outpost. The snapshots
56846	//    must be created on the same Outpost as the instance.
56847	//
56848	// For more information, see Create multi-volume local snapshots from instances
56849	// on an Outpost (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#create-multivol-snapshot)
56850	// in the Amazon Elastic Compute Cloud User Guide.
56851	OutpostArn *string `type:"string"`
56852
56853	// Tags to apply to every snapshot specified by the instance.
56854	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
56855}
56856
56857// String returns the string representation
56858func (s CreateSnapshotsInput) String() string {
56859	return awsutil.Prettify(s)
56860}
56861
56862// GoString returns the string representation
56863func (s CreateSnapshotsInput) GoString() string {
56864	return s.String()
56865}
56866
56867// Validate inspects the fields of the type to determine if they are valid.
56868func (s *CreateSnapshotsInput) Validate() error {
56869	invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotsInput"}
56870	if s.InstanceSpecification == nil {
56871		invalidParams.Add(request.NewErrParamRequired("InstanceSpecification"))
56872	}
56873
56874	if invalidParams.Len() > 0 {
56875		return invalidParams
56876	}
56877	return nil
56878}
56879
56880// SetCopyTagsFromSource sets the CopyTagsFromSource field's value.
56881func (s *CreateSnapshotsInput) SetCopyTagsFromSource(v string) *CreateSnapshotsInput {
56882	s.CopyTagsFromSource = &v
56883	return s
56884}
56885
56886// SetDescription sets the Description field's value.
56887func (s *CreateSnapshotsInput) SetDescription(v string) *CreateSnapshotsInput {
56888	s.Description = &v
56889	return s
56890}
56891
56892// SetDryRun sets the DryRun field's value.
56893func (s *CreateSnapshotsInput) SetDryRun(v bool) *CreateSnapshotsInput {
56894	s.DryRun = &v
56895	return s
56896}
56897
56898// SetInstanceSpecification sets the InstanceSpecification field's value.
56899func (s *CreateSnapshotsInput) SetInstanceSpecification(v *InstanceSpecification) *CreateSnapshotsInput {
56900	s.InstanceSpecification = v
56901	return s
56902}
56903
56904// SetOutpostArn sets the OutpostArn field's value.
56905func (s *CreateSnapshotsInput) SetOutpostArn(v string) *CreateSnapshotsInput {
56906	s.OutpostArn = &v
56907	return s
56908}
56909
56910// SetTagSpecifications sets the TagSpecifications field's value.
56911func (s *CreateSnapshotsInput) SetTagSpecifications(v []*TagSpecification) *CreateSnapshotsInput {
56912	s.TagSpecifications = v
56913	return s
56914}
56915
56916type CreateSnapshotsOutput struct {
56917	_ struct{} `type:"structure"`
56918
56919	// List of snapshots.
56920	Snapshots []*SnapshotInfo `locationName:"snapshotSet" locationNameList:"item" type:"list"`
56921}
56922
56923// String returns the string representation
56924func (s CreateSnapshotsOutput) String() string {
56925	return awsutil.Prettify(s)
56926}
56927
56928// GoString returns the string representation
56929func (s CreateSnapshotsOutput) GoString() string {
56930	return s.String()
56931}
56932
56933// SetSnapshots sets the Snapshots field's value.
56934func (s *CreateSnapshotsOutput) SetSnapshots(v []*SnapshotInfo) *CreateSnapshotsOutput {
56935	s.Snapshots = v
56936	return s
56937}
56938
56939// Contains the parameters for CreateSpotDatafeedSubscription.
56940type CreateSpotDatafeedSubscriptionInput struct {
56941	_ struct{} `type:"structure"`
56942
56943	// The name of the Amazon S3 bucket in which to store the Spot Instance data
56944	// feed. For more information about bucket names, see Rules for bucket naming
56945	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules)
56946	// in the Amazon S3 Developer Guide.
56947	//
56948	// Bucket is a required field
56949	Bucket *string `locationName:"bucket" type:"string" required:"true"`
56950
56951	// Checks whether you have the required permissions for the action, without
56952	// actually making the request, and provides an error response. If you have
56953	// the required permissions, the error response is DryRunOperation. Otherwise,
56954	// it is UnauthorizedOperation.
56955	DryRun *bool `locationName:"dryRun" type:"boolean"`
56956
56957	// The prefix for the data feed file names.
56958	Prefix *string `locationName:"prefix" type:"string"`
56959}
56960
56961// String returns the string representation
56962func (s CreateSpotDatafeedSubscriptionInput) String() string {
56963	return awsutil.Prettify(s)
56964}
56965
56966// GoString returns the string representation
56967func (s CreateSpotDatafeedSubscriptionInput) GoString() string {
56968	return s.String()
56969}
56970
56971// Validate inspects the fields of the type to determine if they are valid.
56972func (s *CreateSpotDatafeedSubscriptionInput) Validate() error {
56973	invalidParams := request.ErrInvalidParams{Context: "CreateSpotDatafeedSubscriptionInput"}
56974	if s.Bucket == nil {
56975		invalidParams.Add(request.NewErrParamRequired("Bucket"))
56976	}
56977
56978	if invalidParams.Len() > 0 {
56979		return invalidParams
56980	}
56981	return nil
56982}
56983
56984// SetBucket sets the Bucket field's value.
56985func (s *CreateSpotDatafeedSubscriptionInput) SetBucket(v string) *CreateSpotDatafeedSubscriptionInput {
56986	s.Bucket = &v
56987	return s
56988}
56989
56990// SetDryRun sets the DryRun field's value.
56991func (s *CreateSpotDatafeedSubscriptionInput) SetDryRun(v bool) *CreateSpotDatafeedSubscriptionInput {
56992	s.DryRun = &v
56993	return s
56994}
56995
56996// SetPrefix sets the Prefix field's value.
56997func (s *CreateSpotDatafeedSubscriptionInput) SetPrefix(v string) *CreateSpotDatafeedSubscriptionInput {
56998	s.Prefix = &v
56999	return s
57000}
57001
57002// Contains the output of CreateSpotDatafeedSubscription.
57003type CreateSpotDatafeedSubscriptionOutput struct {
57004	_ struct{} `type:"structure"`
57005
57006	// The Spot Instance data feed subscription.
57007	SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
57008}
57009
57010// String returns the string representation
57011func (s CreateSpotDatafeedSubscriptionOutput) String() string {
57012	return awsutil.Prettify(s)
57013}
57014
57015// GoString returns the string representation
57016func (s CreateSpotDatafeedSubscriptionOutput) GoString() string {
57017	return s.String()
57018}
57019
57020// SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
57021func (s *CreateSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *CreateSpotDatafeedSubscriptionOutput {
57022	s.SpotDatafeedSubscription = v
57023	return s
57024}
57025
57026type CreateStoreImageTaskInput struct {
57027	_ struct{} `type:"structure"`
57028
57029	// The name of the S3 bucket in which the AMI object will be stored. The bucket
57030	// must be in the Region in which the request is being made. The AMI object
57031	// appears in the bucket only after the upload task has completed.
57032	//
57033	// Bucket is a required field
57034	Bucket *string `type:"string" required:"true"`
57035
57036	// Checks whether you have the required permissions for the action, without
57037	// actually making the request, and provides an error response. If you have
57038	// the required permissions, the error response is DryRunOperation. Otherwise,
57039	// it is UnauthorizedOperation.
57040	DryRun *bool `type:"boolean"`
57041
57042	// The ID of the AMI.
57043	//
57044	// ImageId is a required field
57045	ImageId *string `type:"string" required:"true"`
57046
57047	// The tags to apply to the AMI object that will be stored in the S3 bucket.
57048	S3ObjectTags []*S3ObjectTag `locationName:"S3ObjectTag" locationNameList:"item" type:"list"`
57049}
57050
57051// String returns the string representation
57052func (s CreateStoreImageTaskInput) String() string {
57053	return awsutil.Prettify(s)
57054}
57055
57056// GoString returns the string representation
57057func (s CreateStoreImageTaskInput) GoString() string {
57058	return s.String()
57059}
57060
57061// Validate inspects the fields of the type to determine if they are valid.
57062func (s *CreateStoreImageTaskInput) Validate() error {
57063	invalidParams := request.ErrInvalidParams{Context: "CreateStoreImageTaskInput"}
57064	if s.Bucket == nil {
57065		invalidParams.Add(request.NewErrParamRequired("Bucket"))
57066	}
57067	if s.ImageId == nil {
57068		invalidParams.Add(request.NewErrParamRequired("ImageId"))
57069	}
57070
57071	if invalidParams.Len() > 0 {
57072		return invalidParams
57073	}
57074	return nil
57075}
57076
57077// SetBucket sets the Bucket field's value.
57078func (s *CreateStoreImageTaskInput) SetBucket(v string) *CreateStoreImageTaskInput {
57079	s.Bucket = &v
57080	return s
57081}
57082
57083// SetDryRun sets the DryRun field's value.
57084func (s *CreateStoreImageTaskInput) SetDryRun(v bool) *CreateStoreImageTaskInput {
57085	s.DryRun = &v
57086	return s
57087}
57088
57089// SetImageId sets the ImageId field's value.
57090func (s *CreateStoreImageTaskInput) SetImageId(v string) *CreateStoreImageTaskInput {
57091	s.ImageId = &v
57092	return s
57093}
57094
57095// SetS3ObjectTags sets the S3ObjectTags field's value.
57096func (s *CreateStoreImageTaskInput) SetS3ObjectTags(v []*S3ObjectTag) *CreateStoreImageTaskInput {
57097	s.S3ObjectTags = v
57098	return s
57099}
57100
57101type CreateStoreImageTaskOutput struct {
57102	_ struct{} `type:"structure"`
57103
57104	// The name of the stored AMI object in the S3 bucket.
57105	ObjectKey *string `locationName:"objectKey" type:"string"`
57106}
57107
57108// String returns the string representation
57109func (s CreateStoreImageTaskOutput) String() string {
57110	return awsutil.Prettify(s)
57111}
57112
57113// GoString returns the string representation
57114func (s CreateStoreImageTaskOutput) GoString() string {
57115	return s.String()
57116}
57117
57118// SetObjectKey sets the ObjectKey field's value.
57119func (s *CreateStoreImageTaskOutput) SetObjectKey(v string) *CreateStoreImageTaskOutput {
57120	s.ObjectKey = &v
57121	return s
57122}
57123
57124type CreateSubnetCidrReservationInput struct {
57125	_ struct{} `type:"structure"`
57126
57127	// The IPv4 or IPV6 CIDR range to reserve.
57128	//
57129	// Cidr is a required field
57130	Cidr *string `type:"string" required:"true"`
57131
57132	// The description to assign to the subnet CIDR reservation.
57133	Description *string `type:"string"`
57134
57135	// Checks whether you have the required permissions for the action, without
57136	// actually making the request, and provides an error response. If you have
57137	// the required permissions, the error response is DryRunOperation. Otherwise,
57138	// it is UnauthorizedOperation.
57139	DryRun *bool `type:"boolean"`
57140
57141	// The type of reservation.
57142	//
57143	// The following are valid values:
57144	//
57145	//    * prefix: The Amazon EC2 Prefix Delegation feature assigns the IP addresses
57146	//    to network interfaces that are associated with an instance. For information
57147	//    about Prefix Delegation, see Prefix Delegation for Amazon EC2 network
57148	//    interfaces (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-prefix-delegation.html)
57149	//    in the Amazon Elastic Compute Cloud User Guide.
57150	//
57151	//    * explicit: You manually assign the IP addresses to resources that reside
57152	//    in your subnet.
57153	//
57154	// ReservationType is a required field
57155	ReservationType *string `type:"string" required:"true" enum:"SubnetCidrReservationType"`
57156
57157	// The ID of the subnet.
57158	//
57159	// SubnetId is a required field
57160	SubnetId *string `type:"string" required:"true"`
57161
57162	// The tags to assign to the subnet CIDR reservation.
57163	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
57164}
57165
57166// String returns the string representation
57167func (s CreateSubnetCidrReservationInput) String() string {
57168	return awsutil.Prettify(s)
57169}
57170
57171// GoString returns the string representation
57172func (s CreateSubnetCidrReservationInput) GoString() string {
57173	return s.String()
57174}
57175
57176// Validate inspects the fields of the type to determine if they are valid.
57177func (s *CreateSubnetCidrReservationInput) Validate() error {
57178	invalidParams := request.ErrInvalidParams{Context: "CreateSubnetCidrReservationInput"}
57179	if s.Cidr == nil {
57180		invalidParams.Add(request.NewErrParamRequired("Cidr"))
57181	}
57182	if s.ReservationType == nil {
57183		invalidParams.Add(request.NewErrParamRequired("ReservationType"))
57184	}
57185	if s.SubnetId == nil {
57186		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
57187	}
57188
57189	if invalidParams.Len() > 0 {
57190		return invalidParams
57191	}
57192	return nil
57193}
57194
57195// SetCidr sets the Cidr field's value.
57196func (s *CreateSubnetCidrReservationInput) SetCidr(v string) *CreateSubnetCidrReservationInput {
57197	s.Cidr = &v
57198	return s
57199}
57200
57201// SetDescription sets the Description field's value.
57202func (s *CreateSubnetCidrReservationInput) SetDescription(v string) *CreateSubnetCidrReservationInput {
57203	s.Description = &v
57204	return s
57205}
57206
57207// SetDryRun sets the DryRun field's value.
57208func (s *CreateSubnetCidrReservationInput) SetDryRun(v bool) *CreateSubnetCidrReservationInput {
57209	s.DryRun = &v
57210	return s
57211}
57212
57213// SetReservationType sets the ReservationType field's value.
57214func (s *CreateSubnetCidrReservationInput) SetReservationType(v string) *CreateSubnetCidrReservationInput {
57215	s.ReservationType = &v
57216	return s
57217}
57218
57219// SetSubnetId sets the SubnetId field's value.
57220func (s *CreateSubnetCidrReservationInput) SetSubnetId(v string) *CreateSubnetCidrReservationInput {
57221	s.SubnetId = &v
57222	return s
57223}
57224
57225// SetTagSpecifications sets the TagSpecifications field's value.
57226func (s *CreateSubnetCidrReservationInput) SetTagSpecifications(v []*TagSpecification) *CreateSubnetCidrReservationInput {
57227	s.TagSpecifications = v
57228	return s
57229}
57230
57231type CreateSubnetCidrReservationOutput struct {
57232	_ struct{} `type:"structure"`
57233
57234	// Information about the created subnet CIDR reservation.
57235	SubnetCidrReservation *SubnetCidrReservation `locationName:"subnetCidrReservation" type:"structure"`
57236}
57237
57238// String returns the string representation
57239func (s CreateSubnetCidrReservationOutput) String() string {
57240	return awsutil.Prettify(s)
57241}
57242
57243// GoString returns the string representation
57244func (s CreateSubnetCidrReservationOutput) GoString() string {
57245	return s.String()
57246}
57247
57248// SetSubnetCidrReservation sets the SubnetCidrReservation field's value.
57249func (s *CreateSubnetCidrReservationOutput) SetSubnetCidrReservation(v *SubnetCidrReservation) *CreateSubnetCidrReservationOutput {
57250	s.SubnetCidrReservation = v
57251	return s
57252}
57253
57254type CreateSubnetInput struct {
57255	_ struct{} `type:"structure"`
57256
57257	// The Availability Zone or Local Zone for the subnet.
57258	//
57259	// Default: Amazon Web Services selects one for you. If you create more than
57260	// one subnet in your VPC, we do not necessarily select a different zone for
57261	// each subnet.
57262	//
57263	// To create a subnet in a Local Zone, set this value to the Local Zone ID,
57264	// for example us-west-2-lax-1a. For information about the Regions that support
57265	// Local Zones, see Available Regions (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions)
57266	// in the Amazon Elastic Compute Cloud User Guide.
57267	//
57268	// To create a subnet in an Outpost, set this value to the Availability Zone
57269	// for the Outpost and specify the Outpost ARN.
57270	AvailabilityZone *string `type:"string"`
57271
57272	// The AZ ID or the Local Zone ID of the subnet.
57273	AvailabilityZoneId *string `type:"string"`
57274
57275	// The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.
57276	// We modify the specified CIDR block to its canonical form; for example, if
57277	// you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.
57278	//
57279	// CidrBlock is a required field
57280	CidrBlock *string `type:"string" required:"true"`
57281
57282	// Checks whether you have the required permissions for the action, without
57283	// actually making the request, and provides an error response. If you have
57284	// the required permissions, the error response is DryRunOperation. Otherwise,
57285	// it is UnauthorizedOperation.
57286	DryRun *bool `locationName:"dryRun" type:"boolean"`
57287
57288	// The IPv6 network range for the subnet, in CIDR notation. The subnet size
57289	// must use a /64 prefix length.
57290	Ipv6CidrBlock *string `type:"string"`
57291
57292	// The Amazon Resource Name (ARN) of the Outpost. If you specify an Outpost
57293	// ARN, you must also specify the Availability Zone of the Outpost subnet.
57294	OutpostArn *string `type:"string"`
57295
57296	// The tags to assign to the subnet.
57297	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
57298
57299	// The ID of the VPC.
57300	//
57301	// VpcId is a required field
57302	VpcId *string `type:"string" required:"true"`
57303}
57304
57305// String returns the string representation
57306func (s CreateSubnetInput) String() string {
57307	return awsutil.Prettify(s)
57308}
57309
57310// GoString returns the string representation
57311func (s CreateSubnetInput) GoString() string {
57312	return s.String()
57313}
57314
57315// Validate inspects the fields of the type to determine if they are valid.
57316func (s *CreateSubnetInput) Validate() error {
57317	invalidParams := request.ErrInvalidParams{Context: "CreateSubnetInput"}
57318	if s.CidrBlock == nil {
57319		invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
57320	}
57321	if s.VpcId == nil {
57322		invalidParams.Add(request.NewErrParamRequired("VpcId"))
57323	}
57324
57325	if invalidParams.Len() > 0 {
57326		return invalidParams
57327	}
57328	return nil
57329}
57330
57331// SetAvailabilityZone sets the AvailabilityZone field's value.
57332func (s *CreateSubnetInput) SetAvailabilityZone(v string) *CreateSubnetInput {
57333	s.AvailabilityZone = &v
57334	return s
57335}
57336
57337// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
57338func (s *CreateSubnetInput) SetAvailabilityZoneId(v string) *CreateSubnetInput {
57339	s.AvailabilityZoneId = &v
57340	return s
57341}
57342
57343// SetCidrBlock sets the CidrBlock field's value.
57344func (s *CreateSubnetInput) SetCidrBlock(v string) *CreateSubnetInput {
57345	s.CidrBlock = &v
57346	return s
57347}
57348
57349// SetDryRun sets the DryRun field's value.
57350func (s *CreateSubnetInput) SetDryRun(v bool) *CreateSubnetInput {
57351	s.DryRun = &v
57352	return s
57353}
57354
57355// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
57356func (s *CreateSubnetInput) SetIpv6CidrBlock(v string) *CreateSubnetInput {
57357	s.Ipv6CidrBlock = &v
57358	return s
57359}
57360
57361// SetOutpostArn sets the OutpostArn field's value.
57362func (s *CreateSubnetInput) SetOutpostArn(v string) *CreateSubnetInput {
57363	s.OutpostArn = &v
57364	return s
57365}
57366
57367// SetTagSpecifications sets the TagSpecifications field's value.
57368func (s *CreateSubnetInput) SetTagSpecifications(v []*TagSpecification) *CreateSubnetInput {
57369	s.TagSpecifications = v
57370	return s
57371}
57372
57373// SetVpcId sets the VpcId field's value.
57374func (s *CreateSubnetInput) SetVpcId(v string) *CreateSubnetInput {
57375	s.VpcId = &v
57376	return s
57377}
57378
57379type CreateSubnetOutput struct {
57380	_ struct{} `type:"structure"`
57381
57382	// Information about the subnet.
57383	Subnet *Subnet `locationName:"subnet" type:"structure"`
57384}
57385
57386// String returns the string representation
57387func (s CreateSubnetOutput) String() string {
57388	return awsutil.Prettify(s)
57389}
57390
57391// GoString returns the string representation
57392func (s CreateSubnetOutput) GoString() string {
57393	return s.String()
57394}
57395
57396// SetSubnet sets the Subnet field's value.
57397func (s *CreateSubnetOutput) SetSubnet(v *Subnet) *CreateSubnetOutput {
57398	s.Subnet = v
57399	return s
57400}
57401
57402type CreateTagsInput struct {
57403	_ struct{} `type:"structure"`
57404
57405	// Checks whether you have the required permissions for the action, without
57406	// actually making the request, and provides an error response. If you have
57407	// the required permissions, the error response is DryRunOperation. Otherwise,
57408	// it is UnauthorizedOperation.
57409	DryRun *bool `locationName:"dryRun" type:"boolean"`
57410
57411	// The IDs of the resources, separated by spaces.
57412	//
57413	// Constraints: Up to 1000 resource IDs. We recommend breaking up this request
57414	// into smaller batches.
57415	//
57416	// Resources is a required field
57417	Resources []*string `locationName:"ResourceId" type:"list" required:"true"`
57418
57419	// The tags. The value parameter is required, but if you don't want the tag
57420	// to have a value, specify the parameter with no value, and we set the value
57421	// to an empty string.
57422	//
57423	// Tags is a required field
57424	Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list" required:"true"`
57425}
57426
57427// String returns the string representation
57428func (s CreateTagsInput) String() string {
57429	return awsutil.Prettify(s)
57430}
57431
57432// GoString returns the string representation
57433func (s CreateTagsInput) GoString() string {
57434	return s.String()
57435}
57436
57437// Validate inspects the fields of the type to determine if they are valid.
57438func (s *CreateTagsInput) Validate() error {
57439	invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
57440	if s.Resources == nil {
57441		invalidParams.Add(request.NewErrParamRequired("Resources"))
57442	}
57443	if s.Tags == nil {
57444		invalidParams.Add(request.NewErrParamRequired("Tags"))
57445	}
57446
57447	if invalidParams.Len() > 0 {
57448		return invalidParams
57449	}
57450	return nil
57451}
57452
57453// SetDryRun sets the DryRun field's value.
57454func (s *CreateTagsInput) SetDryRun(v bool) *CreateTagsInput {
57455	s.DryRun = &v
57456	return s
57457}
57458
57459// SetResources sets the Resources field's value.
57460func (s *CreateTagsInput) SetResources(v []*string) *CreateTagsInput {
57461	s.Resources = v
57462	return s
57463}
57464
57465// SetTags sets the Tags field's value.
57466func (s *CreateTagsInput) SetTags(v []*Tag) *CreateTagsInput {
57467	s.Tags = v
57468	return s
57469}
57470
57471type CreateTagsOutput struct {
57472	_ struct{} `type:"structure"`
57473}
57474
57475// String returns the string representation
57476func (s CreateTagsOutput) String() string {
57477	return awsutil.Prettify(s)
57478}
57479
57480// GoString returns the string representation
57481func (s CreateTagsOutput) GoString() string {
57482	return s.String()
57483}
57484
57485type CreateTrafficMirrorFilterInput struct {
57486	_ struct{} `type:"structure"`
57487
57488	// Unique, case-sensitive identifier that you provide to ensure the idempotency
57489	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
57490	ClientToken *string `type:"string" idempotencyToken:"true"`
57491
57492	// The description of the Traffic Mirror filter.
57493	Description *string `type:"string"`
57494
57495	// Checks whether you have the required permissions for the action, without
57496	// actually making the request, and provides an error response. If you have
57497	// the required permissions, the error response is DryRunOperation. Otherwise,
57498	// it is UnauthorizedOperation.
57499	DryRun *bool `type:"boolean"`
57500
57501	// The tags to assign to a Traffic Mirror filter.
57502	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
57503}
57504
57505// String returns the string representation
57506func (s CreateTrafficMirrorFilterInput) String() string {
57507	return awsutil.Prettify(s)
57508}
57509
57510// GoString returns the string representation
57511func (s CreateTrafficMirrorFilterInput) GoString() string {
57512	return s.String()
57513}
57514
57515// SetClientToken sets the ClientToken field's value.
57516func (s *CreateTrafficMirrorFilterInput) SetClientToken(v string) *CreateTrafficMirrorFilterInput {
57517	s.ClientToken = &v
57518	return s
57519}
57520
57521// SetDescription sets the Description field's value.
57522func (s *CreateTrafficMirrorFilterInput) SetDescription(v string) *CreateTrafficMirrorFilterInput {
57523	s.Description = &v
57524	return s
57525}
57526
57527// SetDryRun sets the DryRun field's value.
57528func (s *CreateTrafficMirrorFilterInput) SetDryRun(v bool) *CreateTrafficMirrorFilterInput {
57529	s.DryRun = &v
57530	return s
57531}
57532
57533// SetTagSpecifications sets the TagSpecifications field's value.
57534func (s *CreateTrafficMirrorFilterInput) SetTagSpecifications(v []*TagSpecification) *CreateTrafficMirrorFilterInput {
57535	s.TagSpecifications = v
57536	return s
57537}
57538
57539type CreateTrafficMirrorFilterOutput struct {
57540	_ struct{} `type:"structure"`
57541
57542	// Unique, case-sensitive identifier that you provide to ensure the idempotency
57543	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
57544	ClientToken *string `locationName:"clientToken" type:"string"`
57545
57546	// Information about the Traffic Mirror filter.
57547	TrafficMirrorFilter *TrafficMirrorFilter `locationName:"trafficMirrorFilter" type:"structure"`
57548}
57549
57550// String returns the string representation
57551func (s CreateTrafficMirrorFilterOutput) String() string {
57552	return awsutil.Prettify(s)
57553}
57554
57555// GoString returns the string representation
57556func (s CreateTrafficMirrorFilterOutput) GoString() string {
57557	return s.String()
57558}
57559
57560// SetClientToken sets the ClientToken field's value.
57561func (s *CreateTrafficMirrorFilterOutput) SetClientToken(v string) *CreateTrafficMirrorFilterOutput {
57562	s.ClientToken = &v
57563	return s
57564}
57565
57566// SetTrafficMirrorFilter sets the TrafficMirrorFilter field's value.
57567func (s *CreateTrafficMirrorFilterOutput) SetTrafficMirrorFilter(v *TrafficMirrorFilter) *CreateTrafficMirrorFilterOutput {
57568	s.TrafficMirrorFilter = v
57569	return s
57570}
57571
57572type CreateTrafficMirrorFilterRuleInput struct {
57573	_ struct{} `type:"structure"`
57574
57575	// Unique, case-sensitive identifier that you provide to ensure the idempotency
57576	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
57577	ClientToken *string `type:"string" idempotencyToken:"true"`
57578
57579	// The description of the Traffic Mirror rule.
57580	Description *string `type:"string"`
57581
57582	// The destination CIDR block to assign to the Traffic Mirror rule.
57583	//
57584	// DestinationCidrBlock is a required field
57585	DestinationCidrBlock *string `type:"string" required:"true"`
57586
57587	// The destination port range.
57588	DestinationPortRange *TrafficMirrorPortRangeRequest `type:"structure"`
57589
57590	// Checks whether you have the required permissions for the action, without
57591	// actually making the request, and provides an error response. If you have
57592	// the required permissions, the error response is DryRunOperation. Otherwise,
57593	// it is UnauthorizedOperation.
57594	DryRun *bool `type:"boolean"`
57595
57596	// The protocol, for example UDP, to assign to the Traffic Mirror rule.
57597	//
57598	// For information about the protocol value, see Protocol Numbers (https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)
57599	// on the Internet Assigned Numbers Authority (IANA) website.
57600	Protocol *int64 `type:"integer"`
57601
57602	// The action to take (accept | reject) on the filtered traffic.
57603	//
57604	// RuleAction is a required field
57605	RuleAction *string `type:"string" required:"true" enum:"TrafficMirrorRuleAction"`
57606
57607	// The number of the Traffic Mirror rule. This number must be unique for each
57608	// Traffic Mirror rule in a given direction. The rules are processed in ascending
57609	// order by rule number.
57610	//
57611	// RuleNumber is a required field
57612	RuleNumber *int64 `type:"integer" required:"true"`
57613
57614	// The source CIDR block to assign to the Traffic Mirror rule.
57615	//
57616	// SourceCidrBlock is a required field
57617	SourceCidrBlock *string `type:"string" required:"true"`
57618
57619	// The source port range.
57620	SourcePortRange *TrafficMirrorPortRangeRequest `type:"structure"`
57621
57622	// The type of traffic (ingress | egress).
57623	//
57624	// TrafficDirection is a required field
57625	TrafficDirection *string `type:"string" required:"true" enum:"TrafficDirection"`
57626
57627	// The ID of the filter that this rule is associated with.
57628	//
57629	// TrafficMirrorFilterId is a required field
57630	TrafficMirrorFilterId *string `type:"string" required:"true"`
57631}
57632
57633// String returns the string representation
57634func (s CreateTrafficMirrorFilterRuleInput) String() string {
57635	return awsutil.Prettify(s)
57636}
57637
57638// GoString returns the string representation
57639func (s CreateTrafficMirrorFilterRuleInput) GoString() string {
57640	return s.String()
57641}
57642
57643// Validate inspects the fields of the type to determine if they are valid.
57644func (s *CreateTrafficMirrorFilterRuleInput) Validate() error {
57645	invalidParams := request.ErrInvalidParams{Context: "CreateTrafficMirrorFilterRuleInput"}
57646	if s.DestinationCidrBlock == nil {
57647		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
57648	}
57649	if s.RuleAction == nil {
57650		invalidParams.Add(request.NewErrParamRequired("RuleAction"))
57651	}
57652	if s.RuleNumber == nil {
57653		invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
57654	}
57655	if s.SourceCidrBlock == nil {
57656		invalidParams.Add(request.NewErrParamRequired("SourceCidrBlock"))
57657	}
57658	if s.TrafficDirection == nil {
57659		invalidParams.Add(request.NewErrParamRequired("TrafficDirection"))
57660	}
57661	if s.TrafficMirrorFilterId == nil {
57662		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId"))
57663	}
57664
57665	if invalidParams.Len() > 0 {
57666		return invalidParams
57667	}
57668	return nil
57669}
57670
57671// SetClientToken sets the ClientToken field's value.
57672func (s *CreateTrafficMirrorFilterRuleInput) SetClientToken(v string) *CreateTrafficMirrorFilterRuleInput {
57673	s.ClientToken = &v
57674	return s
57675}
57676
57677// SetDescription sets the Description field's value.
57678func (s *CreateTrafficMirrorFilterRuleInput) SetDescription(v string) *CreateTrafficMirrorFilterRuleInput {
57679	s.Description = &v
57680	return s
57681}
57682
57683// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
57684func (s *CreateTrafficMirrorFilterRuleInput) SetDestinationCidrBlock(v string) *CreateTrafficMirrorFilterRuleInput {
57685	s.DestinationCidrBlock = &v
57686	return s
57687}
57688
57689// SetDestinationPortRange sets the DestinationPortRange field's value.
57690func (s *CreateTrafficMirrorFilterRuleInput) SetDestinationPortRange(v *TrafficMirrorPortRangeRequest) *CreateTrafficMirrorFilterRuleInput {
57691	s.DestinationPortRange = v
57692	return s
57693}
57694
57695// SetDryRun sets the DryRun field's value.
57696func (s *CreateTrafficMirrorFilterRuleInput) SetDryRun(v bool) *CreateTrafficMirrorFilterRuleInput {
57697	s.DryRun = &v
57698	return s
57699}
57700
57701// SetProtocol sets the Protocol field's value.
57702func (s *CreateTrafficMirrorFilterRuleInput) SetProtocol(v int64) *CreateTrafficMirrorFilterRuleInput {
57703	s.Protocol = &v
57704	return s
57705}
57706
57707// SetRuleAction sets the RuleAction field's value.
57708func (s *CreateTrafficMirrorFilterRuleInput) SetRuleAction(v string) *CreateTrafficMirrorFilterRuleInput {
57709	s.RuleAction = &v
57710	return s
57711}
57712
57713// SetRuleNumber sets the RuleNumber field's value.
57714func (s *CreateTrafficMirrorFilterRuleInput) SetRuleNumber(v int64) *CreateTrafficMirrorFilterRuleInput {
57715	s.RuleNumber = &v
57716	return s
57717}
57718
57719// SetSourceCidrBlock sets the SourceCidrBlock field's value.
57720func (s *CreateTrafficMirrorFilterRuleInput) SetSourceCidrBlock(v string) *CreateTrafficMirrorFilterRuleInput {
57721	s.SourceCidrBlock = &v
57722	return s
57723}
57724
57725// SetSourcePortRange sets the SourcePortRange field's value.
57726func (s *CreateTrafficMirrorFilterRuleInput) SetSourcePortRange(v *TrafficMirrorPortRangeRequest) *CreateTrafficMirrorFilterRuleInput {
57727	s.SourcePortRange = v
57728	return s
57729}
57730
57731// SetTrafficDirection sets the TrafficDirection field's value.
57732func (s *CreateTrafficMirrorFilterRuleInput) SetTrafficDirection(v string) *CreateTrafficMirrorFilterRuleInput {
57733	s.TrafficDirection = &v
57734	return s
57735}
57736
57737// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
57738func (s *CreateTrafficMirrorFilterRuleInput) SetTrafficMirrorFilterId(v string) *CreateTrafficMirrorFilterRuleInput {
57739	s.TrafficMirrorFilterId = &v
57740	return s
57741}
57742
57743type CreateTrafficMirrorFilterRuleOutput struct {
57744	_ struct{} `type:"structure"`
57745
57746	// Unique, case-sensitive identifier that you provide to ensure the idempotency
57747	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
57748	ClientToken *string `locationName:"clientToken" type:"string"`
57749
57750	// The Traffic Mirror rule.
57751	TrafficMirrorFilterRule *TrafficMirrorFilterRule `locationName:"trafficMirrorFilterRule" type:"structure"`
57752}
57753
57754// String returns the string representation
57755func (s CreateTrafficMirrorFilterRuleOutput) String() string {
57756	return awsutil.Prettify(s)
57757}
57758
57759// GoString returns the string representation
57760func (s CreateTrafficMirrorFilterRuleOutput) GoString() string {
57761	return s.String()
57762}
57763
57764// SetClientToken sets the ClientToken field's value.
57765func (s *CreateTrafficMirrorFilterRuleOutput) SetClientToken(v string) *CreateTrafficMirrorFilterRuleOutput {
57766	s.ClientToken = &v
57767	return s
57768}
57769
57770// SetTrafficMirrorFilterRule sets the TrafficMirrorFilterRule field's value.
57771func (s *CreateTrafficMirrorFilterRuleOutput) SetTrafficMirrorFilterRule(v *TrafficMirrorFilterRule) *CreateTrafficMirrorFilterRuleOutput {
57772	s.TrafficMirrorFilterRule = v
57773	return s
57774}
57775
57776type CreateTrafficMirrorSessionInput struct {
57777	_ struct{} `type:"structure"`
57778
57779	// Unique, case-sensitive identifier that you provide to ensure the idempotency
57780	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
57781	ClientToken *string `type:"string" idempotencyToken:"true"`
57782
57783	// The description of the Traffic Mirror session.
57784	Description *string `type:"string"`
57785
57786	// Checks whether you have the required permissions for the action, without
57787	// actually making the request, and provides an error response. If you have
57788	// the required permissions, the error response is DryRunOperation. Otherwise,
57789	// it is UnauthorizedOperation.
57790	DryRun *bool `type:"boolean"`
57791
57792	// The ID of the source network interface.
57793	//
57794	// NetworkInterfaceId is a required field
57795	NetworkInterfaceId *string `type:"string" required:"true"`
57796
57797	// The number of bytes in each packet to mirror. These are bytes after the VXLAN
57798	// header. Do not specify this parameter when you want to mirror the entire
57799	// packet. To mirror a subset of the packet, set this to the length (in bytes)
57800	// that you want to mirror. For example, if you set this value to 100, then
57801	// the first 100 bytes that meet the filter criteria are copied to the target.
57802	//
57803	// If you do not want to mirror the entire packet, use the PacketLength parameter
57804	// to specify the number of bytes in each packet to mirror.
57805	PacketLength *int64 `type:"integer"`
57806
57807	// The session number determines the order in which sessions are evaluated when
57808	// an interface is used by multiple sessions. The first session with a matching
57809	// filter is the one that mirrors the packets.
57810	//
57811	// Valid values are 1-32766.
57812	//
57813	// SessionNumber is a required field
57814	SessionNumber *int64 `type:"integer" required:"true"`
57815
57816	// The tags to assign to a Traffic Mirror session.
57817	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
57818
57819	// The ID of the Traffic Mirror filter.
57820	//
57821	// TrafficMirrorFilterId is a required field
57822	TrafficMirrorFilterId *string `type:"string" required:"true"`
57823
57824	// The ID of the Traffic Mirror target.
57825	//
57826	// TrafficMirrorTargetId is a required field
57827	TrafficMirrorTargetId *string `type:"string" required:"true"`
57828
57829	// The VXLAN ID for the Traffic Mirror session. For more information about the
57830	// VXLAN protocol, see RFC 7348 (https://tools.ietf.org/html/rfc7348). If you
57831	// do not specify a VirtualNetworkId, an account-wide unique id is chosen at
57832	// random.
57833	VirtualNetworkId *int64 `type:"integer"`
57834}
57835
57836// String returns the string representation
57837func (s CreateTrafficMirrorSessionInput) String() string {
57838	return awsutil.Prettify(s)
57839}
57840
57841// GoString returns the string representation
57842func (s CreateTrafficMirrorSessionInput) GoString() string {
57843	return s.String()
57844}
57845
57846// Validate inspects the fields of the type to determine if they are valid.
57847func (s *CreateTrafficMirrorSessionInput) Validate() error {
57848	invalidParams := request.ErrInvalidParams{Context: "CreateTrafficMirrorSessionInput"}
57849	if s.NetworkInterfaceId == nil {
57850		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
57851	}
57852	if s.SessionNumber == nil {
57853		invalidParams.Add(request.NewErrParamRequired("SessionNumber"))
57854	}
57855	if s.TrafficMirrorFilterId == nil {
57856		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId"))
57857	}
57858	if s.TrafficMirrorTargetId == nil {
57859		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorTargetId"))
57860	}
57861
57862	if invalidParams.Len() > 0 {
57863		return invalidParams
57864	}
57865	return nil
57866}
57867
57868// SetClientToken sets the ClientToken field's value.
57869func (s *CreateTrafficMirrorSessionInput) SetClientToken(v string) *CreateTrafficMirrorSessionInput {
57870	s.ClientToken = &v
57871	return s
57872}
57873
57874// SetDescription sets the Description field's value.
57875func (s *CreateTrafficMirrorSessionInput) SetDescription(v string) *CreateTrafficMirrorSessionInput {
57876	s.Description = &v
57877	return s
57878}
57879
57880// SetDryRun sets the DryRun field's value.
57881func (s *CreateTrafficMirrorSessionInput) SetDryRun(v bool) *CreateTrafficMirrorSessionInput {
57882	s.DryRun = &v
57883	return s
57884}
57885
57886// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
57887func (s *CreateTrafficMirrorSessionInput) SetNetworkInterfaceId(v string) *CreateTrafficMirrorSessionInput {
57888	s.NetworkInterfaceId = &v
57889	return s
57890}
57891
57892// SetPacketLength sets the PacketLength field's value.
57893func (s *CreateTrafficMirrorSessionInput) SetPacketLength(v int64) *CreateTrafficMirrorSessionInput {
57894	s.PacketLength = &v
57895	return s
57896}
57897
57898// SetSessionNumber sets the SessionNumber field's value.
57899func (s *CreateTrafficMirrorSessionInput) SetSessionNumber(v int64) *CreateTrafficMirrorSessionInput {
57900	s.SessionNumber = &v
57901	return s
57902}
57903
57904// SetTagSpecifications sets the TagSpecifications field's value.
57905func (s *CreateTrafficMirrorSessionInput) SetTagSpecifications(v []*TagSpecification) *CreateTrafficMirrorSessionInput {
57906	s.TagSpecifications = v
57907	return s
57908}
57909
57910// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
57911func (s *CreateTrafficMirrorSessionInput) SetTrafficMirrorFilterId(v string) *CreateTrafficMirrorSessionInput {
57912	s.TrafficMirrorFilterId = &v
57913	return s
57914}
57915
57916// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
57917func (s *CreateTrafficMirrorSessionInput) SetTrafficMirrorTargetId(v string) *CreateTrafficMirrorSessionInput {
57918	s.TrafficMirrorTargetId = &v
57919	return s
57920}
57921
57922// SetVirtualNetworkId sets the VirtualNetworkId field's value.
57923func (s *CreateTrafficMirrorSessionInput) SetVirtualNetworkId(v int64) *CreateTrafficMirrorSessionInput {
57924	s.VirtualNetworkId = &v
57925	return s
57926}
57927
57928type CreateTrafficMirrorSessionOutput struct {
57929	_ struct{} `type:"structure"`
57930
57931	// Unique, case-sensitive identifier that you provide to ensure the idempotency
57932	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
57933	ClientToken *string `locationName:"clientToken" type:"string"`
57934
57935	// Information about the Traffic Mirror session.
57936	TrafficMirrorSession *TrafficMirrorSession `locationName:"trafficMirrorSession" type:"structure"`
57937}
57938
57939// String returns the string representation
57940func (s CreateTrafficMirrorSessionOutput) String() string {
57941	return awsutil.Prettify(s)
57942}
57943
57944// GoString returns the string representation
57945func (s CreateTrafficMirrorSessionOutput) GoString() string {
57946	return s.String()
57947}
57948
57949// SetClientToken sets the ClientToken field's value.
57950func (s *CreateTrafficMirrorSessionOutput) SetClientToken(v string) *CreateTrafficMirrorSessionOutput {
57951	s.ClientToken = &v
57952	return s
57953}
57954
57955// SetTrafficMirrorSession sets the TrafficMirrorSession field's value.
57956func (s *CreateTrafficMirrorSessionOutput) SetTrafficMirrorSession(v *TrafficMirrorSession) *CreateTrafficMirrorSessionOutput {
57957	s.TrafficMirrorSession = v
57958	return s
57959}
57960
57961type CreateTrafficMirrorTargetInput struct {
57962	_ struct{} `type:"structure"`
57963
57964	// Unique, case-sensitive identifier that you provide to ensure the idempotency
57965	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
57966	ClientToken *string `type:"string" idempotencyToken:"true"`
57967
57968	// The description of the Traffic Mirror target.
57969	Description *string `type:"string"`
57970
57971	// Checks whether you have the required permissions for the action, without
57972	// actually making the request, and provides an error response. If you have
57973	// the required permissions, the error response is DryRunOperation. Otherwise,
57974	// it is UnauthorizedOperation.
57975	DryRun *bool `type:"boolean"`
57976
57977	// The network interface ID that is associated with the target.
57978	NetworkInterfaceId *string `type:"string"`
57979
57980	// The Amazon Resource Name (ARN) of the Network Load Balancer that is associated
57981	// with the target.
57982	NetworkLoadBalancerArn *string `type:"string"`
57983
57984	// The tags to assign to the Traffic Mirror target.
57985	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
57986}
57987
57988// String returns the string representation
57989func (s CreateTrafficMirrorTargetInput) String() string {
57990	return awsutil.Prettify(s)
57991}
57992
57993// GoString returns the string representation
57994func (s CreateTrafficMirrorTargetInput) GoString() string {
57995	return s.String()
57996}
57997
57998// SetClientToken sets the ClientToken field's value.
57999func (s *CreateTrafficMirrorTargetInput) SetClientToken(v string) *CreateTrafficMirrorTargetInput {
58000	s.ClientToken = &v
58001	return s
58002}
58003
58004// SetDescription sets the Description field's value.
58005func (s *CreateTrafficMirrorTargetInput) SetDescription(v string) *CreateTrafficMirrorTargetInput {
58006	s.Description = &v
58007	return s
58008}
58009
58010// SetDryRun sets the DryRun field's value.
58011func (s *CreateTrafficMirrorTargetInput) SetDryRun(v bool) *CreateTrafficMirrorTargetInput {
58012	s.DryRun = &v
58013	return s
58014}
58015
58016// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
58017func (s *CreateTrafficMirrorTargetInput) SetNetworkInterfaceId(v string) *CreateTrafficMirrorTargetInput {
58018	s.NetworkInterfaceId = &v
58019	return s
58020}
58021
58022// SetNetworkLoadBalancerArn sets the NetworkLoadBalancerArn field's value.
58023func (s *CreateTrafficMirrorTargetInput) SetNetworkLoadBalancerArn(v string) *CreateTrafficMirrorTargetInput {
58024	s.NetworkLoadBalancerArn = &v
58025	return s
58026}
58027
58028// SetTagSpecifications sets the TagSpecifications field's value.
58029func (s *CreateTrafficMirrorTargetInput) SetTagSpecifications(v []*TagSpecification) *CreateTrafficMirrorTargetInput {
58030	s.TagSpecifications = v
58031	return s
58032}
58033
58034type CreateTrafficMirrorTargetOutput struct {
58035	_ struct{} `type:"structure"`
58036
58037	// Unique, case-sensitive identifier that you provide to ensure the idempotency
58038	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
58039	ClientToken *string `locationName:"clientToken" type:"string"`
58040
58041	// Information about the Traffic Mirror target.
58042	TrafficMirrorTarget *TrafficMirrorTarget `locationName:"trafficMirrorTarget" type:"structure"`
58043}
58044
58045// String returns the string representation
58046func (s CreateTrafficMirrorTargetOutput) String() string {
58047	return awsutil.Prettify(s)
58048}
58049
58050// GoString returns the string representation
58051func (s CreateTrafficMirrorTargetOutput) GoString() string {
58052	return s.String()
58053}
58054
58055// SetClientToken sets the ClientToken field's value.
58056func (s *CreateTrafficMirrorTargetOutput) SetClientToken(v string) *CreateTrafficMirrorTargetOutput {
58057	s.ClientToken = &v
58058	return s
58059}
58060
58061// SetTrafficMirrorTarget sets the TrafficMirrorTarget field's value.
58062func (s *CreateTrafficMirrorTargetOutput) SetTrafficMirrorTarget(v *TrafficMirrorTarget) *CreateTrafficMirrorTargetOutput {
58063	s.TrafficMirrorTarget = v
58064	return s
58065}
58066
58067type CreateTransitGatewayConnectInput struct {
58068	_ struct{} `type:"structure"`
58069
58070	// Checks whether you have the required permissions for the action, without
58071	// actually making the request, and provides an error response. If you have
58072	// the required permissions, the error response is DryRunOperation. Otherwise,
58073	// it is UnauthorizedOperation.
58074	DryRun *bool `type:"boolean"`
58075
58076	// The Connect attachment options.
58077	//
58078	// Options is a required field
58079	Options *CreateTransitGatewayConnectRequestOptions `type:"structure" required:"true"`
58080
58081	// The tags to apply to the Connect attachment.
58082	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
58083
58084	// The ID of the transit gateway attachment. You can specify a VPC attachment
58085	// or Amazon Web Services Direct Connect attachment.
58086	//
58087	// TransportTransitGatewayAttachmentId is a required field
58088	TransportTransitGatewayAttachmentId *string `type:"string" required:"true"`
58089}
58090
58091// String returns the string representation
58092func (s CreateTransitGatewayConnectInput) String() string {
58093	return awsutil.Prettify(s)
58094}
58095
58096// GoString returns the string representation
58097func (s CreateTransitGatewayConnectInput) GoString() string {
58098	return s.String()
58099}
58100
58101// Validate inspects the fields of the type to determine if they are valid.
58102func (s *CreateTransitGatewayConnectInput) Validate() error {
58103	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayConnectInput"}
58104	if s.Options == nil {
58105		invalidParams.Add(request.NewErrParamRequired("Options"))
58106	}
58107	if s.TransportTransitGatewayAttachmentId == nil {
58108		invalidParams.Add(request.NewErrParamRequired("TransportTransitGatewayAttachmentId"))
58109	}
58110	if s.Options != nil {
58111		if err := s.Options.Validate(); err != nil {
58112			invalidParams.AddNested("Options", err.(request.ErrInvalidParams))
58113		}
58114	}
58115
58116	if invalidParams.Len() > 0 {
58117		return invalidParams
58118	}
58119	return nil
58120}
58121
58122// SetDryRun sets the DryRun field's value.
58123func (s *CreateTransitGatewayConnectInput) SetDryRun(v bool) *CreateTransitGatewayConnectInput {
58124	s.DryRun = &v
58125	return s
58126}
58127
58128// SetOptions sets the Options field's value.
58129func (s *CreateTransitGatewayConnectInput) SetOptions(v *CreateTransitGatewayConnectRequestOptions) *CreateTransitGatewayConnectInput {
58130	s.Options = v
58131	return s
58132}
58133
58134// SetTagSpecifications sets the TagSpecifications field's value.
58135func (s *CreateTransitGatewayConnectInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayConnectInput {
58136	s.TagSpecifications = v
58137	return s
58138}
58139
58140// SetTransportTransitGatewayAttachmentId sets the TransportTransitGatewayAttachmentId field's value.
58141func (s *CreateTransitGatewayConnectInput) SetTransportTransitGatewayAttachmentId(v string) *CreateTransitGatewayConnectInput {
58142	s.TransportTransitGatewayAttachmentId = &v
58143	return s
58144}
58145
58146type CreateTransitGatewayConnectOutput struct {
58147	_ struct{} `type:"structure"`
58148
58149	// Information about the Connect attachment.
58150	TransitGatewayConnect *TransitGatewayConnect `locationName:"transitGatewayConnect" type:"structure"`
58151}
58152
58153// String returns the string representation
58154func (s CreateTransitGatewayConnectOutput) String() string {
58155	return awsutil.Prettify(s)
58156}
58157
58158// GoString returns the string representation
58159func (s CreateTransitGatewayConnectOutput) GoString() string {
58160	return s.String()
58161}
58162
58163// SetTransitGatewayConnect sets the TransitGatewayConnect field's value.
58164func (s *CreateTransitGatewayConnectOutput) SetTransitGatewayConnect(v *TransitGatewayConnect) *CreateTransitGatewayConnectOutput {
58165	s.TransitGatewayConnect = v
58166	return s
58167}
58168
58169type CreateTransitGatewayConnectPeerInput struct {
58170	_ struct{} `type:"structure"`
58171
58172	// The BGP options for the Connect peer.
58173	BgpOptions *TransitGatewayConnectRequestBgpOptions `type:"structure"`
58174
58175	// Checks whether you have the required permissions for the action, without
58176	// actually making the request, and provides an error response. If you have
58177	// the required permissions, the error response is DryRunOperation. Otherwise,
58178	// it is UnauthorizedOperation.
58179	DryRun *bool `type:"boolean"`
58180
58181	// The range of inside IP addresses that are used for BGP peering. You must
58182	// specify a size /29 IPv4 CIDR block from the 169.254.0.0/16 range. The first
58183	// address from the range must be configured on the appliance as the BGP IP
58184	// address. You can also optionally specify a size /125 IPv6 CIDR block from
58185	// the fd00::/8 range.
58186	//
58187	// InsideCidrBlocks is a required field
58188	InsideCidrBlocks []*string `locationNameList:"item" type:"list" required:"true"`
58189
58190	// The peer IP address (GRE outer IP address) on the appliance side of the Connect
58191	// peer.
58192	//
58193	// PeerAddress is a required field
58194	PeerAddress *string `type:"string" required:"true"`
58195
58196	// The tags to apply to the Connect peer.
58197	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
58198
58199	// The peer IP address (GRE outer IP address) on the transit gateway side of
58200	// the Connect peer, which must be specified from a transit gateway CIDR block.
58201	// If not specified, Amazon automatically assigns the first available IP address
58202	// from the transit gateway CIDR block.
58203	TransitGatewayAddress *string `type:"string"`
58204
58205	// The ID of the Connect attachment.
58206	//
58207	// TransitGatewayAttachmentId is a required field
58208	TransitGatewayAttachmentId *string `type:"string" required:"true"`
58209}
58210
58211// String returns the string representation
58212func (s CreateTransitGatewayConnectPeerInput) String() string {
58213	return awsutil.Prettify(s)
58214}
58215
58216// GoString returns the string representation
58217func (s CreateTransitGatewayConnectPeerInput) GoString() string {
58218	return s.String()
58219}
58220
58221// Validate inspects the fields of the type to determine if they are valid.
58222func (s *CreateTransitGatewayConnectPeerInput) Validate() error {
58223	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayConnectPeerInput"}
58224	if s.InsideCidrBlocks == nil {
58225		invalidParams.Add(request.NewErrParamRequired("InsideCidrBlocks"))
58226	}
58227	if s.PeerAddress == nil {
58228		invalidParams.Add(request.NewErrParamRequired("PeerAddress"))
58229	}
58230	if s.TransitGatewayAttachmentId == nil {
58231		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
58232	}
58233
58234	if invalidParams.Len() > 0 {
58235		return invalidParams
58236	}
58237	return nil
58238}
58239
58240// SetBgpOptions sets the BgpOptions field's value.
58241func (s *CreateTransitGatewayConnectPeerInput) SetBgpOptions(v *TransitGatewayConnectRequestBgpOptions) *CreateTransitGatewayConnectPeerInput {
58242	s.BgpOptions = v
58243	return s
58244}
58245
58246// SetDryRun sets the DryRun field's value.
58247func (s *CreateTransitGatewayConnectPeerInput) SetDryRun(v bool) *CreateTransitGatewayConnectPeerInput {
58248	s.DryRun = &v
58249	return s
58250}
58251
58252// SetInsideCidrBlocks sets the InsideCidrBlocks field's value.
58253func (s *CreateTransitGatewayConnectPeerInput) SetInsideCidrBlocks(v []*string) *CreateTransitGatewayConnectPeerInput {
58254	s.InsideCidrBlocks = v
58255	return s
58256}
58257
58258// SetPeerAddress sets the PeerAddress field's value.
58259func (s *CreateTransitGatewayConnectPeerInput) SetPeerAddress(v string) *CreateTransitGatewayConnectPeerInput {
58260	s.PeerAddress = &v
58261	return s
58262}
58263
58264// SetTagSpecifications sets the TagSpecifications field's value.
58265func (s *CreateTransitGatewayConnectPeerInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayConnectPeerInput {
58266	s.TagSpecifications = v
58267	return s
58268}
58269
58270// SetTransitGatewayAddress sets the TransitGatewayAddress field's value.
58271func (s *CreateTransitGatewayConnectPeerInput) SetTransitGatewayAddress(v string) *CreateTransitGatewayConnectPeerInput {
58272	s.TransitGatewayAddress = &v
58273	return s
58274}
58275
58276// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
58277func (s *CreateTransitGatewayConnectPeerInput) SetTransitGatewayAttachmentId(v string) *CreateTransitGatewayConnectPeerInput {
58278	s.TransitGatewayAttachmentId = &v
58279	return s
58280}
58281
58282type CreateTransitGatewayConnectPeerOutput struct {
58283	_ struct{} `type:"structure"`
58284
58285	// Information about the Connect peer.
58286	TransitGatewayConnectPeer *TransitGatewayConnectPeer `locationName:"transitGatewayConnectPeer" type:"structure"`
58287}
58288
58289// String returns the string representation
58290func (s CreateTransitGatewayConnectPeerOutput) String() string {
58291	return awsutil.Prettify(s)
58292}
58293
58294// GoString returns the string representation
58295func (s CreateTransitGatewayConnectPeerOutput) GoString() string {
58296	return s.String()
58297}
58298
58299// SetTransitGatewayConnectPeer sets the TransitGatewayConnectPeer field's value.
58300func (s *CreateTransitGatewayConnectPeerOutput) SetTransitGatewayConnectPeer(v *TransitGatewayConnectPeer) *CreateTransitGatewayConnectPeerOutput {
58301	s.TransitGatewayConnectPeer = v
58302	return s
58303}
58304
58305// The options for a Connect attachment.
58306type CreateTransitGatewayConnectRequestOptions struct {
58307	_ struct{} `type:"structure"`
58308
58309	// The tunnel protocol.
58310	//
58311	// Protocol is a required field
58312	Protocol *string `type:"string" required:"true" enum:"ProtocolValue"`
58313}
58314
58315// String returns the string representation
58316func (s CreateTransitGatewayConnectRequestOptions) String() string {
58317	return awsutil.Prettify(s)
58318}
58319
58320// GoString returns the string representation
58321func (s CreateTransitGatewayConnectRequestOptions) GoString() string {
58322	return s.String()
58323}
58324
58325// Validate inspects the fields of the type to determine if they are valid.
58326func (s *CreateTransitGatewayConnectRequestOptions) Validate() error {
58327	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayConnectRequestOptions"}
58328	if s.Protocol == nil {
58329		invalidParams.Add(request.NewErrParamRequired("Protocol"))
58330	}
58331
58332	if invalidParams.Len() > 0 {
58333		return invalidParams
58334	}
58335	return nil
58336}
58337
58338// SetProtocol sets the Protocol field's value.
58339func (s *CreateTransitGatewayConnectRequestOptions) SetProtocol(v string) *CreateTransitGatewayConnectRequestOptions {
58340	s.Protocol = &v
58341	return s
58342}
58343
58344type CreateTransitGatewayInput struct {
58345	_ struct{} `type:"structure"`
58346
58347	// A description of the transit gateway.
58348	Description *string `type:"string"`
58349
58350	// Checks whether you have the required permissions for the action, without
58351	// actually making the request, and provides an error response. If you have
58352	// the required permissions, the error response is DryRunOperation. Otherwise,
58353	// it is UnauthorizedOperation.
58354	DryRun *bool `type:"boolean"`
58355
58356	// The transit gateway options.
58357	Options *TransitGatewayRequestOptions `type:"structure"`
58358
58359	// The tags to apply to the transit gateway.
58360	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
58361}
58362
58363// String returns the string representation
58364func (s CreateTransitGatewayInput) String() string {
58365	return awsutil.Prettify(s)
58366}
58367
58368// GoString returns the string representation
58369func (s CreateTransitGatewayInput) GoString() string {
58370	return s.String()
58371}
58372
58373// SetDescription sets the Description field's value.
58374func (s *CreateTransitGatewayInput) SetDescription(v string) *CreateTransitGatewayInput {
58375	s.Description = &v
58376	return s
58377}
58378
58379// SetDryRun sets the DryRun field's value.
58380func (s *CreateTransitGatewayInput) SetDryRun(v bool) *CreateTransitGatewayInput {
58381	s.DryRun = &v
58382	return s
58383}
58384
58385// SetOptions sets the Options field's value.
58386func (s *CreateTransitGatewayInput) SetOptions(v *TransitGatewayRequestOptions) *CreateTransitGatewayInput {
58387	s.Options = v
58388	return s
58389}
58390
58391// SetTagSpecifications sets the TagSpecifications field's value.
58392func (s *CreateTransitGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayInput {
58393	s.TagSpecifications = v
58394	return s
58395}
58396
58397type CreateTransitGatewayMulticastDomainInput struct {
58398	_ struct{} `type:"structure"`
58399
58400	// Checks whether you have the required permissions for the action, without
58401	// actually making the request, and provides an error response. If you have
58402	// the required permissions, the error response is DryRunOperation. Otherwise,
58403	// it is UnauthorizedOperation.
58404	DryRun *bool `type:"boolean"`
58405
58406	// The options for the transit gateway multicast domain.
58407	Options *CreateTransitGatewayMulticastDomainRequestOptions `type:"structure"`
58408
58409	// The tags for the transit gateway multicast domain.
58410	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
58411
58412	// The ID of the transit gateway.
58413	//
58414	// TransitGatewayId is a required field
58415	TransitGatewayId *string `type:"string" required:"true"`
58416}
58417
58418// String returns the string representation
58419func (s CreateTransitGatewayMulticastDomainInput) String() string {
58420	return awsutil.Prettify(s)
58421}
58422
58423// GoString returns the string representation
58424func (s CreateTransitGatewayMulticastDomainInput) GoString() string {
58425	return s.String()
58426}
58427
58428// Validate inspects the fields of the type to determine if they are valid.
58429func (s *CreateTransitGatewayMulticastDomainInput) Validate() error {
58430	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayMulticastDomainInput"}
58431	if s.TransitGatewayId == nil {
58432		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
58433	}
58434
58435	if invalidParams.Len() > 0 {
58436		return invalidParams
58437	}
58438	return nil
58439}
58440
58441// SetDryRun sets the DryRun field's value.
58442func (s *CreateTransitGatewayMulticastDomainInput) SetDryRun(v bool) *CreateTransitGatewayMulticastDomainInput {
58443	s.DryRun = &v
58444	return s
58445}
58446
58447// SetOptions sets the Options field's value.
58448func (s *CreateTransitGatewayMulticastDomainInput) SetOptions(v *CreateTransitGatewayMulticastDomainRequestOptions) *CreateTransitGatewayMulticastDomainInput {
58449	s.Options = v
58450	return s
58451}
58452
58453// SetTagSpecifications sets the TagSpecifications field's value.
58454func (s *CreateTransitGatewayMulticastDomainInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayMulticastDomainInput {
58455	s.TagSpecifications = v
58456	return s
58457}
58458
58459// SetTransitGatewayId sets the TransitGatewayId field's value.
58460func (s *CreateTransitGatewayMulticastDomainInput) SetTransitGatewayId(v string) *CreateTransitGatewayMulticastDomainInput {
58461	s.TransitGatewayId = &v
58462	return s
58463}
58464
58465type CreateTransitGatewayMulticastDomainOutput struct {
58466	_ struct{} `type:"structure"`
58467
58468	// Information about the transit gateway multicast domain.
58469	TransitGatewayMulticastDomain *TransitGatewayMulticastDomain `locationName:"transitGatewayMulticastDomain" type:"structure"`
58470}
58471
58472// String returns the string representation
58473func (s CreateTransitGatewayMulticastDomainOutput) String() string {
58474	return awsutil.Prettify(s)
58475}
58476
58477// GoString returns the string representation
58478func (s CreateTransitGatewayMulticastDomainOutput) GoString() string {
58479	return s.String()
58480}
58481
58482// SetTransitGatewayMulticastDomain sets the TransitGatewayMulticastDomain field's value.
58483func (s *CreateTransitGatewayMulticastDomainOutput) SetTransitGatewayMulticastDomain(v *TransitGatewayMulticastDomain) *CreateTransitGatewayMulticastDomainOutput {
58484	s.TransitGatewayMulticastDomain = v
58485	return s
58486}
58487
58488// The options for the transit gateway multicast domain.
58489type CreateTransitGatewayMulticastDomainRequestOptions struct {
58490	_ struct{} `type:"structure"`
58491
58492	// Indicates whether to automatically accept cross-account subnet associations
58493	// that are associated with the transit gateway multicast domain.
58494	AutoAcceptSharedAssociations *string `type:"string" enum:"AutoAcceptSharedAssociationsValue"`
58495
58496	// Specify whether to enable Internet Group Management Protocol (IGMP) version
58497	// 2 for the transit gateway multicast domain.
58498	Igmpv2Support *string `type:"string" enum:"Igmpv2SupportValue"`
58499
58500	// Specify whether to enable support for statically configuring multicast group
58501	// sources for a domain.
58502	StaticSourcesSupport *string `type:"string" enum:"StaticSourcesSupportValue"`
58503}
58504
58505// String returns the string representation
58506func (s CreateTransitGatewayMulticastDomainRequestOptions) String() string {
58507	return awsutil.Prettify(s)
58508}
58509
58510// GoString returns the string representation
58511func (s CreateTransitGatewayMulticastDomainRequestOptions) GoString() string {
58512	return s.String()
58513}
58514
58515// SetAutoAcceptSharedAssociations sets the AutoAcceptSharedAssociations field's value.
58516func (s *CreateTransitGatewayMulticastDomainRequestOptions) SetAutoAcceptSharedAssociations(v string) *CreateTransitGatewayMulticastDomainRequestOptions {
58517	s.AutoAcceptSharedAssociations = &v
58518	return s
58519}
58520
58521// SetIgmpv2Support sets the Igmpv2Support field's value.
58522func (s *CreateTransitGatewayMulticastDomainRequestOptions) SetIgmpv2Support(v string) *CreateTransitGatewayMulticastDomainRequestOptions {
58523	s.Igmpv2Support = &v
58524	return s
58525}
58526
58527// SetStaticSourcesSupport sets the StaticSourcesSupport field's value.
58528func (s *CreateTransitGatewayMulticastDomainRequestOptions) SetStaticSourcesSupport(v string) *CreateTransitGatewayMulticastDomainRequestOptions {
58529	s.StaticSourcesSupport = &v
58530	return s
58531}
58532
58533type CreateTransitGatewayOutput struct {
58534	_ struct{} `type:"structure"`
58535
58536	// Information about the transit gateway.
58537	TransitGateway *TransitGateway `locationName:"transitGateway" type:"structure"`
58538}
58539
58540// String returns the string representation
58541func (s CreateTransitGatewayOutput) String() string {
58542	return awsutil.Prettify(s)
58543}
58544
58545// GoString returns the string representation
58546func (s CreateTransitGatewayOutput) GoString() string {
58547	return s.String()
58548}
58549
58550// SetTransitGateway sets the TransitGateway field's value.
58551func (s *CreateTransitGatewayOutput) SetTransitGateway(v *TransitGateway) *CreateTransitGatewayOutput {
58552	s.TransitGateway = v
58553	return s
58554}
58555
58556type CreateTransitGatewayPeeringAttachmentInput struct {
58557	_ struct{} `type:"structure"`
58558
58559	// Checks whether you have the required permissions for the action, without
58560	// actually making the request, and provides an error response. If you have
58561	// the required permissions, the error response is DryRunOperation. Otherwise,
58562	// it is UnauthorizedOperation.
58563	DryRun *bool `type:"boolean"`
58564
58565	// The ID of the Amazon Web Services account that owns the peer transit gateway.
58566	//
58567	// PeerAccountId is a required field
58568	PeerAccountId *string `type:"string" required:"true"`
58569
58570	// The Region where the peer transit gateway is located.
58571	//
58572	// PeerRegion is a required field
58573	PeerRegion *string `type:"string" required:"true"`
58574
58575	// The ID of the peer transit gateway with which to create the peering attachment.
58576	//
58577	// PeerTransitGatewayId is a required field
58578	PeerTransitGatewayId *string `type:"string" required:"true"`
58579
58580	// The tags to apply to the transit gateway peering attachment.
58581	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
58582
58583	// The ID of the transit gateway.
58584	//
58585	// TransitGatewayId is a required field
58586	TransitGatewayId *string `type:"string" required:"true"`
58587}
58588
58589// String returns the string representation
58590func (s CreateTransitGatewayPeeringAttachmentInput) String() string {
58591	return awsutil.Prettify(s)
58592}
58593
58594// GoString returns the string representation
58595func (s CreateTransitGatewayPeeringAttachmentInput) GoString() string {
58596	return s.String()
58597}
58598
58599// Validate inspects the fields of the type to determine if they are valid.
58600func (s *CreateTransitGatewayPeeringAttachmentInput) Validate() error {
58601	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayPeeringAttachmentInput"}
58602	if s.PeerAccountId == nil {
58603		invalidParams.Add(request.NewErrParamRequired("PeerAccountId"))
58604	}
58605	if s.PeerRegion == nil {
58606		invalidParams.Add(request.NewErrParamRequired("PeerRegion"))
58607	}
58608	if s.PeerTransitGatewayId == nil {
58609		invalidParams.Add(request.NewErrParamRequired("PeerTransitGatewayId"))
58610	}
58611	if s.TransitGatewayId == nil {
58612		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
58613	}
58614
58615	if invalidParams.Len() > 0 {
58616		return invalidParams
58617	}
58618	return nil
58619}
58620
58621// SetDryRun sets the DryRun field's value.
58622func (s *CreateTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *CreateTransitGatewayPeeringAttachmentInput {
58623	s.DryRun = &v
58624	return s
58625}
58626
58627// SetPeerAccountId sets the PeerAccountId field's value.
58628func (s *CreateTransitGatewayPeeringAttachmentInput) SetPeerAccountId(v string) *CreateTransitGatewayPeeringAttachmentInput {
58629	s.PeerAccountId = &v
58630	return s
58631}
58632
58633// SetPeerRegion sets the PeerRegion field's value.
58634func (s *CreateTransitGatewayPeeringAttachmentInput) SetPeerRegion(v string) *CreateTransitGatewayPeeringAttachmentInput {
58635	s.PeerRegion = &v
58636	return s
58637}
58638
58639// SetPeerTransitGatewayId sets the PeerTransitGatewayId field's value.
58640func (s *CreateTransitGatewayPeeringAttachmentInput) SetPeerTransitGatewayId(v string) *CreateTransitGatewayPeeringAttachmentInput {
58641	s.PeerTransitGatewayId = &v
58642	return s
58643}
58644
58645// SetTagSpecifications sets the TagSpecifications field's value.
58646func (s *CreateTransitGatewayPeeringAttachmentInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayPeeringAttachmentInput {
58647	s.TagSpecifications = v
58648	return s
58649}
58650
58651// SetTransitGatewayId sets the TransitGatewayId field's value.
58652func (s *CreateTransitGatewayPeeringAttachmentInput) SetTransitGatewayId(v string) *CreateTransitGatewayPeeringAttachmentInput {
58653	s.TransitGatewayId = &v
58654	return s
58655}
58656
58657type CreateTransitGatewayPeeringAttachmentOutput struct {
58658	_ struct{} `type:"structure"`
58659
58660	// The transit gateway peering attachment.
58661	TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
58662}
58663
58664// String returns the string representation
58665func (s CreateTransitGatewayPeeringAttachmentOutput) String() string {
58666	return awsutil.Prettify(s)
58667}
58668
58669// GoString returns the string representation
58670func (s CreateTransitGatewayPeeringAttachmentOutput) GoString() string {
58671	return s.String()
58672}
58673
58674// SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
58675func (s *CreateTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *CreateTransitGatewayPeeringAttachmentOutput {
58676	s.TransitGatewayPeeringAttachment = v
58677	return s
58678}
58679
58680type CreateTransitGatewayPrefixListReferenceInput struct {
58681	_ struct{} `type:"structure"`
58682
58683	// Indicates whether to drop traffic that matches this route.
58684	Blackhole *bool `type:"boolean"`
58685
58686	// Checks whether you have the required permissions for the action, without
58687	// actually making the request, and provides an error response. If you have
58688	// the required permissions, the error response is DryRunOperation. Otherwise,
58689	// it is UnauthorizedOperation.
58690	DryRun *bool `type:"boolean"`
58691
58692	// The ID of the prefix list that is used for destination matches.
58693	//
58694	// PrefixListId is a required field
58695	PrefixListId *string `type:"string" required:"true"`
58696
58697	// The ID of the attachment to which traffic is routed.
58698	TransitGatewayAttachmentId *string `type:"string"`
58699
58700	// The ID of the transit gateway route table.
58701	//
58702	// TransitGatewayRouteTableId is a required field
58703	TransitGatewayRouteTableId *string `type:"string" required:"true"`
58704}
58705
58706// String returns the string representation
58707func (s CreateTransitGatewayPrefixListReferenceInput) String() string {
58708	return awsutil.Prettify(s)
58709}
58710
58711// GoString returns the string representation
58712func (s CreateTransitGatewayPrefixListReferenceInput) GoString() string {
58713	return s.String()
58714}
58715
58716// Validate inspects the fields of the type to determine if they are valid.
58717func (s *CreateTransitGatewayPrefixListReferenceInput) Validate() error {
58718	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayPrefixListReferenceInput"}
58719	if s.PrefixListId == nil {
58720		invalidParams.Add(request.NewErrParamRequired("PrefixListId"))
58721	}
58722	if s.TransitGatewayRouteTableId == nil {
58723		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
58724	}
58725
58726	if invalidParams.Len() > 0 {
58727		return invalidParams
58728	}
58729	return nil
58730}
58731
58732// SetBlackhole sets the Blackhole field's value.
58733func (s *CreateTransitGatewayPrefixListReferenceInput) SetBlackhole(v bool) *CreateTransitGatewayPrefixListReferenceInput {
58734	s.Blackhole = &v
58735	return s
58736}
58737
58738// SetDryRun sets the DryRun field's value.
58739func (s *CreateTransitGatewayPrefixListReferenceInput) SetDryRun(v bool) *CreateTransitGatewayPrefixListReferenceInput {
58740	s.DryRun = &v
58741	return s
58742}
58743
58744// SetPrefixListId sets the PrefixListId field's value.
58745func (s *CreateTransitGatewayPrefixListReferenceInput) SetPrefixListId(v string) *CreateTransitGatewayPrefixListReferenceInput {
58746	s.PrefixListId = &v
58747	return s
58748}
58749
58750// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
58751func (s *CreateTransitGatewayPrefixListReferenceInput) SetTransitGatewayAttachmentId(v string) *CreateTransitGatewayPrefixListReferenceInput {
58752	s.TransitGatewayAttachmentId = &v
58753	return s
58754}
58755
58756// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
58757func (s *CreateTransitGatewayPrefixListReferenceInput) SetTransitGatewayRouteTableId(v string) *CreateTransitGatewayPrefixListReferenceInput {
58758	s.TransitGatewayRouteTableId = &v
58759	return s
58760}
58761
58762type CreateTransitGatewayPrefixListReferenceOutput struct {
58763	_ struct{} `type:"structure"`
58764
58765	// Information about the prefix list reference.
58766	TransitGatewayPrefixListReference *TransitGatewayPrefixListReference `locationName:"transitGatewayPrefixListReference" type:"structure"`
58767}
58768
58769// String returns the string representation
58770func (s CreateTransitGatewayPrefixListReferenceOutput) String() string {
58771	return awsutil.Prettify(s)
58772}
58773
58774// GoString returns the string representation
58775func (s CreateTransitGatewayPrefixListReferenceOutput) GoString() string {
58776	return s.String()
58777}
58778
58779// SetTransitGatewayPrefixListReference sets the TransitGatewayPrefixListReference field's value.
58780func (s *CreateTransitGatewayPrefixListReferenceOutput) SetTransitGatewayPrefixListReference(v *TransitGatewayPrefixListReference) *CreateTransitGatewayPrefixListReferenceOutput {
58781	s.TransitGatewayPrefixListReference = v
58782	return s
58783}
58784
58785type CreateTransitGatewayRouteInput struct {
58786	_ struct{} `type:"structure"`
58787
58788	// Indicates whether to drop traffic that matches this route.
58789	Blackhole *bool `type:"boolean"`
58790
58791	// The CIDR range used for destination matches. Routing decisions are based
58792	// on the most specific match.
58793	//
58794	// DestinationCidrBlock is a required field
58795	DestinationCidrBlock *string `type:"string" required:"true"`
58796
58797	// Checks whether you have the required permissions for the action, without
58798	// actually making the request, and provides an error response. If you have
58799	// the required permissions, the error response is DryRunOperation. Otherwise,
58800	// it is UnauthorizedOperation.
58801	DryRun *bool `type:"boolean"`
58802
58803	// The ID of the attachment.
58804	TransitGatewayAttachmentId *string `type:"string"`
58805
58806	// The ID of the transit gateway route table.
58807	//
58808	// TransitGatewayRouteTableId is a required field
58809	TransitGatewayRouteTableId *string `type:"string" required:"true"`
58810}
58811
58812// String returns the string representation
58813func (s CreateTransitGatewayRouteInput) String() string {
58814	return awsutil.Prettify(s)
58815}
58816
58817// GoString returns the string representation
58818func (s CreateTransitGatewayRouteInput) GoString() string {
58819	return s.String()
58820}
58821
58822// Validate inspects the fields of the type to determine if they are valid.
58823func (s *CreateTransitGatewayRouteInput) Validate() error {
58824	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayRouteInput"}
58825	if s.DestinationCidrBlock == nil {
58826		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
58827	}
58828	if s.TransitGatewayRouteTableId == nil {
58829		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
58830	}
58831
58832	if invalidParams.Len() > 0 {
58833		return invalidParams
58834	}
58835	return nil
58836}
58837
58838// SetBlackhole sets the Blackhole field's value.
58839func (s *CreateTransitGatewayRouteInput) SetBlackhole(v bool) *CreateTransitGatewayRouteInput {
58840	s.Blackhole = &v
58841	return s
58842}
58843
58844// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
58845func (s *CreateTransitGatewayRouteInput) SetDestinationCidrBlock(v string) *CreateTransitGatewayRouteInput {
58846	s.DestinationCidrBlock = &v
58847	return s
58848}
58849
58850// SetDryRun sets the DryRun field's value.
58851func (s *CreateTransitGatewayRouteInput) SetDryRun(v bool) *CreateTransitGatewayRouteInput {
58852	s.DryRun = &v
58853	return s
58854}
58855
58856// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
58857func (s *CreateTransitGatewayRouteInput) SetTransitGatewayAttachmentId(v string) *CreateTransitGatewayRouteInput {
58858	s.TransitGatewayAttachmentId = &v
58859	return s
58860}
58861
58862// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
58863func (s *CreateTransitGatewayRouteInput) SetTransitGatewayRouteTableId(v string) *CreateTransitGatewayRouteInput {
58864	s.TransitGatewayRouteTableId = &v
58865	return s
58866}
58867
58868type CreateTransitGatewayRouteOutput struct {
58869	_ struct{} `type:"structure"`
58870
58871	// Information about the route.
58872	Route *TransitGatewayRoute `locationName:"route" type:"structure"`
58873}
58874
58875// String returns the string representation
58876func (s CreateTransitGatewayRouteOutput) String() string {
58877	return awsutil.Prettify(s)
58878}
58879
58880// GoString returns the string representation
58881func (s CreateTransitGatewayRouteOutput) GoString() string {
58882	return s.String()
58883}
58884
58885// SetRoute sets the Route field's value.
58886func (s *CreateTransitGatewayRouteOutput) SetRoute(v *TransitGatewayRoute) *CreateTransitGatewayRouteOutput {
58887	s.Route = v
58888	return s
58889}
58890
58891type CreateTransitGatewayRouteTableInput struct {
58892	_ struct{} `type:"structure"`
58893
58894	// Checks whether you have the required permissions for the action, without
58895	// actually making the request, and provides an error response. If you have
58896	// the required permissions, the error response is DryRunOperation. Otherwise,
58897	// it is UnauthorizedOperation.
58898	DryRun *bool `type:"boolean"`
58899
58900	// The tags to apply to the transit gateway route table.
58901	TagSpecifications []*TagSpecification `locationNameList:"item" type:"list"`
58902
58903	// The ID of the transit gateway.
58904	//
58905	// TransitGatewayId is a required field
58906	TransitGatewayId *string `type:"string" required:"true"`
58907}
58908
58909// String returns the string representation
58910func (s CreateTransitGatewayRouteTableInput) String() string {
58911	return awsutil.Prettify(s)
58912}
58913
58914// GoString returns the string representation
58915func (s CreateTransitGatewayRouteTableInput) GoString() string {
58916	return s.String()
58917}
58918
58919// Validate inspects the fields of the type to determine if they are valid.
58920func (s *CreateTransitGatewayRouteTableInput) Validate() error {
58921	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayRouteTableInput"}
58922	if s.TransitGatewayId == nil {
58923		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
58924	}
58925
58926	if invalidParams.Len() > 0 {
58927		return invalidParams
58928	}
58929	return nil
58930}
58931
58932// SetDryRun sets the DryRun field's value.
58933func (s *CreateTransitGatewayRouteTableInput) SetDryRun(v bool) *CreateTransitGatewayRouteTableInput {
58934	s.DryRun = &v
58935	return s
58936}
58937
58938// SetTagSpecifications sets the TagSpecifications field's value.
58939func (s *CreateTransitGatewayRouteTableInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayRouteTableInput {
58940	s.TagSpecifications = v
58941	return s
58942}
58943
58944// SetTransitGatewayId sets the TransitGatewayId field's value.
58945func (s *CreateTransitGatewayRouteTableInput) SetTransitGatewayId(v string) *CreateTransitGatewayRouteTableInput {
58946	s.TransitGatewayId = &v
58947	return s
58948}
58949
58950type CreateTransitGatewayRouteTableOutput struct {
58951	_ struct{} `type:"structure"`
58952
58953	// Information about the transit gateway route table.
58954	TransitGatewayRouteTable *TransitGatewayRouteTable `locationName:"transitGatewayRouteTable" type:"structure"`
58955}
58956
58957// String returns the string representation
58958func (s CreateTransitGatewayRouteTableOutput) String() string {
58959	return awsutil.Prettify(s)
58960}
58961
58962// GoString returns the string representation
58963func (s CreateTransitGatewayRouteTableOutput) GoString() string {
58964	return s.String()
58965}
58966
58967// SetTransitGatewayRouteTable sets the TransitGatewayRouteTable field's value.
58968func (s *CreateTransitGatewayRouteTableOutput) SetTransitGatewayRouteTable(v *TransitGatewayRouteTable) *CreateTransitGatewayRouteTableOutput {
58969	s.TransitGatewayRouteTable = v
58970	return s
58971}
58972
58973type CreateTransitGatewayVpcAttachmentInput struct {
58974	_ struct{} `type:"structure"`
58975
58976	// Checks whether you have the required permissions for the action, without
58977	// actually making the request, and provides an error response. If you have
58978	// the required permissions, the error response is DryRunOperation. Otherwise,
58979	// it is UnauthorizedOperation.
58980	DryRun *bool `type:"boolean"`
58981
58982	// The VPC attachment options.
58983	Options *CreateTransitGatewayVpcAttachmentRequestOptions `type:"structure"`
58984
58985	// The IDs of one or more subnets. You can specify only one subnet per Availability
58986	// Zone. You must specify at least one subnet, but we recommend that you specify
58987	// two subnets for better availability. The transit gateway uses one IP address
58988	// from each specified subnet.
58989	//
58990	// SubnetIds is a required field
58991	SubnetIds []*string `locationNameList:"item" type:"list" required:"true"`
58992
58993	// The tags to apply to the VPC attachment.
58994	TagSpecifications []*TagSpecification `locationNameList:"item" type:"list"`
58995
58996	// The ID of the transit gateway.
58997	//
58998	// TransitGatewayId is a required field
58999	TransitGatewayId *string `type:"string" required:"true"`
59000
59001	// The ID of the VPC.
59002	//
59003	// VpcId is a required field
59004	VpcId *string `type:"string" required:"true"`
59005}
59006
59007// String returns the string representation
59008func (s CreateTransitGatewayVpcAttachmentInput) String() string {
59009	return awsutil.Prettify(s)
59010}
59011
59012// GoString returns the string representation
59013func (s CreateTransitGatewayVpcAttachmentInput) GoString() string {
59014	return s.String()
59015}
59016
59017// Validate inspects the fields of the type to determine if they are valid.
59018func (s *CreateTransitGatewayVpcAttachmentInput) Validate() error {
59019	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayVpcAttachmentInput"}
59020	if s.SubnetIds == nil {
59021		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
59022	}
59023	if s.TransitGatewayId == nil {
59024		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
59025	}
59026	if s.VpcId == nil {
59027		invalidParams.Add(request.NewErrParamRequired("VpcId"))
59028	}
59029
59030	if invalidParams.Len() > 0 {
59031		return invalidParams
59032	}
59033	return nil
59034}
59035
59036// SetDryRun sets the DryRun field's value.
59037func (s *CreateTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *CreateTransitGatewayVpcAttachmentInput {
59038	s.DryRun = &v
59039	return s
59040}
59041
59042// SetOptions sets the Options field's value.
59043func (s *CreateTransitGatewayVpcAttachmentInput) SetOptions(v *CreateTransitGatewayVpcAttachmentRequestOptions) *CreateTransitGatewayVpcAttachmentInput {
59044	s.Options = v
59045	return s
59046}
59047
59048// SetSubnetIds sets the SubnetIds field's value.
59049func (s *CreateTransitGatewayVpcAttachmentInput) SetSubnetIds(v []*string) *CreateTransitGatewayVpcAttachmentInput {
59050	s.SubnetIds = v
59051	return s
59052}
59053
59054// SetTagSpecifications sets the TagSpecifications field's value.
59055func (s *CreateTransitGatewayVpcAttachmentInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayVpcAttachmentInput {
59056	s.TagSpecifications = v
59057	return s
59058}
59059
59060// SetTransitGatewayId sets the TransitGatewayId field's value.
59061func (s *CreateTransitGatewayVpcAttachmentInput) SetTransitGatewayId(v string) *CreateTransitGatewayVpcAttachmentInput {
59062	s.TransitGatewayId = &v
59063	return s
59064}
59065
59066// SetVpcId sets the VpcId field's value.
59067func (s *CreateTransitGatewayVpcAttachmentInput) SetVpcId(v string) *CreateTransitGatewayVpcAttachmentInput {
59068	s.VpcId = &v
59069	return s
59070}
59071
59072type CreateTransitGatewayVpcAttachmentOutput struct {
59073	_ struct{} `type:"structure"`
59074
59075	// Information about the VPC attachment.
59076	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
59077}
59078
59079// String returns the string representation
59080func (s CreateTransitGatewayVpcAttachmentOutput) String() string {
59081	return awsutil.Prettify(s)
59082}
59083
59084// GoString returns the string representation
59085func (s CreateTransitGatewayVpcAttachmentOutput) GoString() string {
59086	return s.String()
59087}
59088
59089// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
59090func (s *CreateTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *CreateTransitGatewayVpcAttachmentOutput {
59091	s.TransitGatewayVpcAttachment = v
59092	return s
59093}
59094
59095// Describes the options for a VPC attachment.
59096type CreateTransitGatewayVpcAttachmentRequestOptions struct {
59097	_ struct{} `type:"structure"`
59098
59099	// Enable or disable support for appliance mode. If enabled, a traffic flow
59100	// between a source and destination uses the same Availability Zone for the
59101	// VPC attachment for the lifetime of that flow. The default is disable.
59102	ApplianceModeSupport *string `type:"string" enum:"ApplianceModeSupportValue"`
59103
59104	// Enable or disable DNS support. The default is enable.
59105	DnsSupport *string `type:"string" enum:"DnsSupportValue"`
59106
59107	// Enable or disable IPv6 support. The default is disable.
59108	Ipv6Support *string `type:"string" enum:"Ipv6SupportValue"`
59109}
59110
59111// String returns the string representation
59112func (s CreateTransitGatewayVpcAttachmentRequestOptions) String() string {
59113	return awsutil.Prettify(s)
59114}
59115
59116// GoString returns the string representation
59117func (s CreateTransitGatewayVpcAttachmentRequestOptions) GoString() string {
59118	return s.String()
59119}
59120
59121// SetApplianceModeSupport sets the ApplianceModeSupport field's value.
59122func (s *CreateTransitGatewayVpcAttachmentRequestOptions) SetApplianceModeSupport(v string) *CreateTransitGatewayVpcAttachmentRequestOptions {
59123	s.ApplianceModeSupport = &v
59124	return s
59125}
59126
59127// SetDnsSupport sets the DnsSupport field's value.
59128func (s *CreateTransitGatewayVpcAttachmentRequestOptions) SetDnsSupport(v string) *CreateTransitGatewayVpcAttachmentRequestOptions {
59129	s.DnsSupport = &v
59130	return s
59131}
59132
59133// SetIpv6Support sets the Ipv6Support field's value.
59134func (s *CreateTransitGatewayVpcAttachmentRequestOptions) SetIpv6Support(v string) *CreateTransitGatewayVpcAttachmentRequestOptions {
59135	s.Ipv6Support = &v
59136	return s
59137}
59138
59139type CreateVolumeInput struct {
59140	_ struct{} `type:"structure"`
59141
59142	// The Availability Zone in which to create the volume.
59143	//
59144	// AvailabilityZone is a required field
59145	AvailabilityZone *string `type:"string" required:"true"`
59146
59147	// Unique, case-sensitive identifier that you provide to ensure the idempotency
59148	// of the request. For more information, see Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
59149	ClientToken *string `type:"string" idempotencyToken:"true"`
59150
59151	// Checks whether you have the required permissions for the action, without
59152	// actually making the request, and provides an error response. If you have
59153	// the required permissions, the error response is DryRunOperation. Otherwise,
59154	// it is UnauthorizedOperation.
59155	DryRun *bool `locationName:"dryRun" type:"boolean"`
59156
59157	// Indicates whether the volume should be encrypted. The effect of setting the
59158	// encryption state to true depends on the volume origin (new or from a snapshot),
59159	// starting encryption state, ownership, and whether encryption by default is
59160	// enabled. For more information, see Encryption by default (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default)
59161	// in the Amazon Elastic Compute Cloud User Guide.
59162	//
59163	// Encrypted Amazon EBS volumes must be attached to instances that support Amazon
59164	// EBS encryption. For more information, see Supported instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances).
59165	Encrypted *bool `locationName:"encrypted" type:"boolean"`
59166
59167	// The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes,
59168	// this represents the number of IOPS that are provisioned for the volume. For
59169	// gp2 volumes, this represents the baseline performance of the volume and the
59170	// rate at which the volume accumulates I/O credits for bursting.
59171	//
59172	// The following are the supported values for each volume type:
59173	//
59174	//    * gp3: 3,000-16,000 IOPS
59175	//
59176	//    * io1: 100-64,000 IOPS
59177	//
59178	//    * io2: 100-64,000 IOPS
59179	//
59180	// io1 and io2 volumes support up to 64,000 IOPS only on Instances built on
59181	// the Nitro System (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
59182	// Other instance families support performance up to 32,000 IOPS.
59183	//
59184	// This parameter is required for io1 and io2 volumes. The default for gp3 volumes
59185	// is 3,000 IOPS. This parameter is not supported for gp2, st1, sc1, or standard
59186	// volumes.
59187	Iops *int64 `type:"integer"`
59188
59189	// The identifier of the Key Management Service (KMS) KMS key to use for Amazon
59190	// EBS encryption. If this parameter is not specified, your KMS key for Amazon
59191	// EBS is used. If KmsKeyId is specified, the encrypted state must be true.
59192	//
59193	// You can specify the KMS key using any of the following:
59194	//
59195	//    * Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.
59196	//
59197	//    * Key alias. For example, alias/ExampleAlias.
59198	//
59199	//    * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.
59200	//
59201	//    * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
59202	//
59203	// Amazon Web Services authenticates the KMS key asynchronously. Therefore,
59204	// if you specify an ID, alias, or ARN that is not valid, the action can appear
59205	// to complete, but eventually fails.
59206	KmsKeyId *string `type:"string"`
59207
59208	// Indicates whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach,
59209	// you can attach the volume to up to 16 Instances built on the Nitro System
59210	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances)
59211	// in the same Availability Zone. This parameter is supported with io1 and io2
59212	// volumes only. For more information, see Amazon EBS Multi-Attach (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volumes-multi.html)
59213	// in the Amazon Elastic Compute Cloud User Guide.
59214	MultiAttachEnabled *bool `type:"boolean"`
59215
59216	// The Amazon Resource Name (ARN) of the Outpost.
59217	OutpostArn *string `type:"string"`
59218
59219	// The size of the volume, in GiBs. You must specify either a snapshot ID or
59220	// a volume size. If you specify a snapshot, the default is the snapshot size.
59221	// You can specify a volume size that is equal to or larger than the snapshot
59222	// size.
59223	//
59224	// The following are the supported volumes sizes for each volume type:
59225	//
59226	//    * gp2 and gp3: 1-16,384
59227	//
59228	//    * io1 and io2: 4-16,384
59229	//
59230	//    * st1 and sc1: 125-16,384
59231	//
59232	//    * standard: 1-1,024
59233	Size *int64 `type:"integer"`
59234
59235	// The snapshot from which to create the volume. You must specify either a snapshot
59236	// ID or a volume size.
59237	SnapshotId *string `type:"string"`
59238
59239	// The tags to apply to the volume during creation.
59240	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
59241
59242	// The throughput to provision for a volume, with a maximum of 1,000 MiB/s.
59243	//
59244	// This parameter is valid only for gp3 volumes.
59245	//
59246	// Valid Range: Minimum value of 125. Maximum value of 1000.
59247	Throughput *int64 `type:"integer"`
59248
59249	// The volume type. This parameter can be one of the following values:
59250	//
59251	//    * General Purpose SSD: gp2 | gp3
59252	//
59253	//    * Provisioned IOPS SSD: io1 | io2
59254	//
59255	//    * Throughput Optimized HDD: st1
59256	//
59257	//    * Cold HDD: sc1
59258	//
59259	//    * Magnetic: standard
59260	//
59261	// For more information, see Amazon EBS volume types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
59262	// in the Amazon Elastic Compute Cloud User Guide.
59263	//
59264	// Default: gp2
59265	VolumeType *string `type:"string" enum:"VolumeType"`
59266}
59267
59268// String returns the string representation
59269func (s CreateVolumeInput) String() string {
59270	return awsutil.Prettify(s)
59271}
59272
59273// GoString returns the string representation
59274func (s CreateVolumeInput) GoString() string {
59275	return s.String()
59276}
59277
59278// Validate inspects the fields of the type to determine if they are valid.
59279func (s *CreateVolumeInput) Validate() error {
59280	invalidParams := request.ErrInvalidParams{Context: "CreateVolumeInput"}
59281	if s.AvailabilityZone == nil {
59282		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
59283	}
59284
59285	if invalidParams.Len() > 0 {
59286		return invalidParams
59287	}
59288	return nil
59289}
59290
59291// SetAvailabilityZone sets the AvailabilityZone field's value.
59292func (s *CreateVolumeInput) SetAvailabilityZone(v string) *CreateVolumeInput {
59293	s.AvailabilityZone = &v
59294	return s
59295}
59296
59297// SetClientToken sets the ClientToken field's value.
59298func (s *CreateVolumeInput) SetClientToken(v string) *CreateVolumeInput {
59299	s.ClientToken = &v
59300	return s
59301}
59302
59303// SetDryRun sets the DryRun field's value.
59304func (s *CreateVolumeInput) SetDryRun(v bool) *CreateVolumeInput {
59305	s.DryRun = &v
59306	return s
59307}
59308
59309// SetEncrypted sets the Encrypted field's value.
59310func (s *CreateVolumeInput) SetEncrypted(v bool) *CreateVolumeInput {
59311	s.Encrypted = &v
59312	return s
59313}
59314
59315// SetIops sets the Iops field's value.
59316func (s *CreateVolumeInput) SetIops(v int64) *CreateVolumeInput {
59317	s.Iops = &v
59318	return s
59319}
59320
59321// SetKmsKeyId sets the KmsKeyId field's value.
59322func (s *CreateVolumeInput) SetKmsKeyId(v string) *CreateVolumeInput {
59323	s.KmsKeyId = &v
59324	return s
59325}
59326
59327// SetMultiAttachEnabled sets the MultiAttachEnabled field's value.
59328func (s *CreateVolumeInput) SetMultiAttachEnabled(v bool) *CreateVolumeInput {
59329	s.MultiAttachEnabled = &v
59330	return s
59331}
59332
59333// SetOutpostArn sets the OutpostArn field's value.
59334func (s *CreateVolumeInput) SetOutpostArn(v string) *CreateVolumeInput {
59335	s.OutpostArn = &v
59336	return s
59337}
59338
59339// SetSize sets the Size field's value.
59340func (s *CreateVolumeInput) SetSize(v int64) *CreateVolumeInput {
59341	s.Size = &v
59342	return s
59343}
59344
59345// SetSnapshotId sets the SnapshotId field's value.
59346func (s *CreateVolumeInput) SetSnapshotId(v string) *CreateVolumeInput {
59347	s.SnapshotId = &v
59348	return s
59349}
59350
59351// SetTagSpecifications sets the TagSpecifications field's value.
59352func (s *CreateVolumeInput) SetTagSpecifications(v []*TagSpecification) *CreateVolumeInput {
59353	s.TagSpecifications = v
59354	return s
59355}
59356
59357// SetThroughput sets the Throughput field's value.
59358func (s *CreateVolumeInput) SetThroughput(v int64) *CreateVolumeInput {
59359	s.Throughput = &v
59360	return s
59361}
59362
59363// SetVolumeType sets the VolumeType field's value.
59364func (s *CreateVolumeInput) SetVolumeType(v string) *CreateVolumeInput {
59365	s.VolumeType = &v
59366	return s
59367}
59368
59369// Describes the user or group to be added or removed from the list of create
59370// volume permissions for a volume.
59371type CreateVolumePermission struct {
59372	_ struct{} `type:"structure"`
59373
59374	// The group to be added or removed. The possible value is all.
59375	Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
59376
59377	// The ID of the Amazon Web Services account to be added or removed.
59378	UserId *string `locationName:"userId" type:"string"`
59379}
59380
59381// String returns the string representation
59382func (s CreateVolumePermission) String() string {
59383	return awsutil.Prettify(s)
59384}
59385
59386// GoString returns the string representation
59387func (s CreateVolumePermission) GoString() string {
59388	return s.String()
59389}
59390
59391// SetGroup sets the Group field's value.
59392func (s *CreateVolumePermission) SetGroup(v string) *CreateVolumePermission {
59393	s.Group = &v
59394	return s
59395}
59396
59397// SetUserId sets the UserId field's value.
59398func (s *CreateVolumePermission) SetUserId(v string) *CreateVolumePermission {
59399	s.UserId = &v
59400	return s
59401}
59402
59403// Describes modifications to the list of create volume permissions for a volume.
59404type CreateVolumePermissionModifications struct {
59405	_ struct{} `type:"structure"`
59406
59407	// Adds the specified Amazon Web Services account ID or group to the list.
59408	Add []*CreateVolumePermission `locationNameList:"item" type:"list"`
59409
59410	// Removes the specified Amazon Web Services account ID or group from the list.
59411	Remove []*CreateVolumePermission `locationNameList:"item" type:"list"`
59412}
59413
59414// String returns the string representation
59415func (s CreateVolumePermissionModifications) String() string {
59416	return awsutil.Prettify(s)
59417}
59418
59419// GoString returns the string representation
59420func (s CreateVolumePermissionModifications) GoString() string {
59421	return s.String()
59422}
59423
59424// SetAdd sets the Add field's value.
59425func (s *CreateVolumePermissionModifications) SetAdd(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
59426	s.Add = v
59427	return s
59428}
59429
59430// SetRemove sets the Remove field's value.
59431func (s *CreateVolumePermissionModifications) SetRemove(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
59432	s.Remove = v
59433	return s
59434}
59435
59436type CreateVpcEndpointConnectionNotificationInput struct {
59437	_ struct{} `type:"structure"`
59438
59439	// Unique, case-sensitive identifier that you provide to ensure the idempotency
59440	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
59441	ClientToken *string `type:"string"`
59442
59443	// One or more endpoint events for which to receive notifications. Valid values
59444	// are Accept, Connect, Delete, and Reject.
59445	//
59446	// ConnectionEvents is a required field
59447	ConnectionEvents []*string `locationNameList:"item" type:"list" required:"true"`
59448
59449	// The ARN of the SNS topic for the notifications.
59450	//
59451	// ConnectionNotificationArn is a required field
59452	ConnectionNotificationArn *string `type:"string" required:"true"`
59453
59454	// Checks whether you have the required permissions for the action, without
59455	// actually making the request, and provides an error response. If you have
59456	// the required permissions, the error response is DryRunOperation. Otherwise,
59457	// it is UnauthorizedOperation.
59458	DryRun *bool `type:"boolean"`
59459
59460	// The ID of the endpoint service.
59461	ServiceId *string `type:"string"`
59462
59463	// The ID of the endpoint.
59464	VpcEndpointId *string `type:"string"`
59465}
59466
59467// String returns the string representation
59468func (s CreateVpcEndpointConnectionNotificationInput) String() string {
59469	return awsutil.Prettify(s)
59470}
59471
59472// GoString returns the string representation
59473func (s CreateVpcEndpointConnectionNotificationInput) GoString() string {
59474	return s.String()
59475}
59476
59477// Validate inspects the fields of the type to determine if they are valid.
59478func (s *CreateVpcEndpointConnectionNotificationInput) Validate() error {
59479	invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointConnectionNotificationInput"}
59480	if s.ConnectionEvents == nil {
59481		invalidParams.Add(request.NewErrParamRequired("ConnectionEvents"))
59482	}
59483	if s.ConnectionNotificationArn == nil {
59484		invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationArn"))
59485	}
59486
59487	if invalidParams.Len() > 0 {
59488		return invalidParams
59489	}
59490	return nil
59491}
59492
59493// SetClientToken sets the ClientToken field's value.
59494func (s *CreateVpcEndpointConnectionNotificationInput) SetClientToken(v string) *CreateVpcEndpointConnectionNotificationInput {
59495	s.ClientToken = &v
59496	return s
59497}
59498
59499// SetConnectionEvents sets the ConnectionEvents field's value.
59500func (s *CreateVpcEndpointConnectionNotificationInput) SetConnectionEvents(v []*string) *CreateVpcEndpointConnectionNotificationInput {
59501	s.ConnectionEvents = v
59502	return s
59503}
59504
59505// SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
59506func (s *CreateVpcEndpointConnectionNotificationInput) SetConnectionNotificationArn(v string) *CreateVpcEndpointConnectionNotificationInput {
59507	s.ConnectionNotificationArn = &v
59508	return s
59509}
59510
59511// SetDryRun sets the DryRun field's value.
59512func (s *CreateVpcEndpointConnectionNotificationInput) SetDryRun(v bool) *CreateVpcEndpointConnectionNotificationInput {
59513	s.DryRun = &v
59514	return s
59515}
59516
59517// SetServiceId sets the ServiceId field's value.
59518func (s *CreateVpcEndpointConnectionNotificationInput) SetServiceId(v string) *CreateVpcEndpointConnectionNotificationInput {
59519	s.ServiceId = &v
59520	return s
59521}
59522
59523// SetVpcEndpointId sets the VpcEndpointId field's value.
59524func (s *CreateVpcEndpointConnectionNotificationInput) SetVpcEndpointId(v string) *CreateVpcEndpointConnectionNotificationInput {
59525	s.VpcEndpointId = &v
59526	return s
59527}
59528
59529type CreateVpcEndpointConnectionNotificationOutput struct {
59530	_ struct{} `type:"structure"`
59531
59532	// Unique, case-sensitive identifier that you provide to ensure the idempotency
59533	// of the request.
59534	ClientToken *string `locationName:"clientToken" type:"string"`
59535
59536	// Information about the notification.
59537	ConnectionNotification *ConnectionNotification `locationName:"connectionNotification" type:"structure"`
59538}
59539
59540// String returns the string representation
59541func (s CreateVpcEndpointConnectionNotificationOutput) String() string {
59542	return awsutil.Prettify(s)
59543}
59544
59545// GoString returns the string representation
59546func (s CreateVpcEndpointConnectionNotificationOutput) GoString() string {
59547	return s.String()
59548}
59549
59550// SetClientToken sets the ClientToken field's value.
59551func (s *CreateVpcEndpointConnectionNotificationOutput) SetClientToken(v string) *CreateVpcEndpointConnectionNotificationOutput {
59552	s.ClientToken = &v
59553	return s
59554}
59555
59556// SetConnectionNotification sets the ConnectionNotification field's value.
59557func (s *CreateVpcEndpointConnectionNotificationOutput) SetConnectionNotification(v *ConnectionNotification) *CreateVpcEndpointConnectionNotificationOutput {
59558	s.ConnectionNotification = v
59559	return s
59560}
59561
59562// Contains the parameters for CreateVpcEndpoint.
59563type CreateVpcEndpointInput struct {
59564	_ struct{} `type:"structure"`
59565
59566	// Unique, case-sensitive identifier that you provide to ensure the idempotency
59567	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
59568	ClientToken *string `type:"string"`
59569
59570	// Checks whether you have the required permissions for the action, without
59571	// actually making the request, and provides an error response. If you have
59572	// the required permissions, the error response is DryRunOperation. Otherwise,
59573	// it is UnauthorizedOperation.
59574	DryRun *bool `type:"boolean"`
59575
59576	// (Interface and gateway endpoints) A policy to attach to the endpoint that
59577	// controls access to the service. The policy must be in valid JSON format.
59578	// If this parameter is not specified, we attach a default policy that allows
59579	// full access to the service.
59580	PolicyDocument *string `type:"string"`
59581
59582	// (Interface endpoint) Indicates whether to associate a private hosted zone
59583	// with the specified VPC. The private hosted zone contains a record set for
59584	// the default public DNS name for the service for the Region (for example,
59585	// kinesis.us-east-1.amazonaws.com), which resolves to the private IP addresses
59586	// of the endpoint network interfaces in the VPC. This enables you to make requests
59587	// to the default public DNS name for the service instead of the public DNS
59588	// names that are automatically generated by the VPC endpoint service.
59589	//
59590	// To use a private hosted zone, you must set the following VPC attributes to
59591	// true: enableDnsHostnames and enableDnsSupport. Use ModifyVpcAttribute to
59592	// set the VPC attributes.
59593	//
59594	// Default: true
59595	PrivateDnsEnabled *bool `type:"boolean"`
59596
59597	// (Gateway endpoint) One or more route table IDs.
59598	RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
59599
59600	// (Interface endpoint) The ID of one or more security groups to associate with
59601	// the endpoint network interface.
59602	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
59603
59604	// The service name. To get a list of available services, use the DescribeVpcEndpointServices
59605	// request, or get the name from the service provider.
59606	//
59607	// ServiceName is a required field
59608	ServiceName *string `type:"string" required:"true"`
59609
59610	// (Interface and Gateway Load Balancer endpoints) The ID of one or more subnets
59611	// in which to create an endpoint network interface. For a Gateway Load Balancer
59612	// endpoint, you can specify one subnet only.
59613	SubnetIds []*string `locationName:"SubnetId" locationNameList:"item" type:"list"`
59614
59615	// The tags to associate with the endpoint.
59616	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
59617
59618	// The type of endpoint.
59619	//
59620	// Default: Gateway
59621	VpcEndpointType *string `type:"string" enum:"VpcEndpointType"`
59622
59623	// The ID of the VPC in which the endpoint will be used.
59624	//
59625	// VpcId is a required field
59626	VpcId *string `type:"string" required:"true"`
59627}
59628
59629// String returns the string representation
59630func (s CreateVpcEndpointInput) String() string {
59631	return awsutil.Prettify(s)
59632}
59633
59634// GoString returns the string representation
59635func (s CreateVpcEndpointInput) GoString() string {
59636	return s.String()
59637}
59638
59639// Validate inspects the fields of the type to determine if they are valid.
59640func (s *CreateVpcEndpointInput) Validate() error {
59641	invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointInput"}
59642	if s.ServiceName == nil {
59643		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
59644	}
59645	if s.VpcId == nil {
59646		invalidParams.Add(request.NewErrParamRequired("VpcId"))
59647	}
59648
59649	if invalidParams.Len() > 0 {
59650		return invalidParams
59651	}
59652	return nil
59653}
59654
59655// SetClientToken sets the ClientToken field's value.
59656func (s *CreateVpcEndpointInput) SetClientToken(v string) *CreateVpcEndpointInput {
59657	s.ClientToken = &v
59658	return s
59659}
59660
59661// SetDryRun sets the DryRun field's value.
59662func (s *CreateVpcEndpointInput) SetDryRun(v bool) *CreateVpcEndpointInput {
59663	s.DryRun = &v
59664	return s
59665}
59666
59667// SetPolicyDocument sets the PolicyDocument field's value.
59668func (s *CreateVpcEndpointInput) SetPolicyDocument(v string) *CreateVpcEndpointInput {
59669	s.PolicyDocument = &v
59670	return s
59671}
59672
59673// SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
59674func (s *CreateVpcEndpointInput) SetPrivateDnsEnabled(v bool) *CreateVpcEndpointInput {
59675	s.PrivateDnsEnabled = &v
59676	return s
59677}
59678
59679// SetRouteTableIds sets the RouteTableIds field's value.
59680func (s *CreateVpcEndpointInput) SetRouteTableIds(v []*string) *CreateVpcEndpointInput {
59681	s.RouteTableIds = v
59682	return s
59683}
59684
59685// SetSecurityGroupIds sets the SecurityGroupIds field's value.
59686func (s *CreateVpcEndpointInput) SetSecurityGroupIds(v []*string) *CreateVpcEndpointInput {
59687	s.SecurityGroupIds = v
59688	return s
59689}
59690
59691// SetServiceName sets the ServiceName field's value.
59692func (s *CreateVpcEndpointInput) SetServiceName(v string) *CreateVpcEndpointInput {
59693	s.ServiceName = &v
59694	return s
59695}
59696
59697// SetSubnetIds sets the SubnetIds field's value.
59698func (s *CreateVpcEndpointInput) SetSubnetIds(v []*string) *CreateVpcEndpointInput {
59699	s.SubnetIds = v
59700	return s
59701}
59702
59703// SetTagSpecifications sets the TagSpecifications field's value.
59704func (s *CreateVpcEndpointInput) SetTagSpecifications(v []*TagSpecification) *CreateVpcEndpointInput {
59705	s.TagSpecifications = v
59706	return s
59707}
59708
59709// SetVpcEndpointType sets the VpcEndpointType field's value.
59710func (s *CreateVpcEndpointInput) SetVpcEndpointType(v string) *CreateVpcEndpointInput {
59711	s.VpcEndpointType = &v
59712	return s
59713}
59714
59715// SetVpcId sets the VpcId field's value.
59716func (s *CreateVpcEndpointInput) SetVpcId(v string) *CreateVpcEndpointInput {
59717	s.VpcId = &v
59718	return s
59719}
59720
59721// Contains the output of CreateVpcEndpoint.
59722type CreateVpcEndpointOutput struct {
59723	_ struct{} `type:"structure"`
59724
59725	// Unique, case-sensitive identifier that you provide to ensure the idempotency
59726	// of the request.
59727	ClientToken *string `locationName:"clientToken" type:"string"`
59728
59729	// Information about the endpoint.
59730	VpcEndpoint *VpcEndpoint `locationName:"vpcEndpoint" type:"structure"`
59731}
59732
59733// String returns the string representation
59734func (s CreateVpcEndpointOutput) String() string {
59735	return awsutil.Prettify(s)
59736}
59737
59738// GoString returns the string representation
59739func (s CreateVpcEndpointOutput) GoString() string {
59740	return s.String()
59741}
59742
59743// SetClientToken sets the ClientToken field's value.
59744func (s *CreateVpcEndpointOutput) SetClientToken(v string) *CreateVpcEndpointOutput {
59745	s.ClientToken = &v
59746	return s
59747}
59748
59749// SetVpcEndpoint sets the VpcEndpoint field's value.
59750func (s *CreateVpcEndpointOutput) SetVpcEndpoint(v *VpcEndpoint) *CreateVpcEndpointOutput {
59751	s.VpcEndpoint = v
59752	return s
59753}
59754
59755type CreateVpcEndpointServiceConfigurationInput struct {
59756	_ struct{} `type:"structure"`
59757
59758	// Indicates whether requests from service consumers to create an endpoint to
59759	// your service must be accepted. To accept a request, use AcceptVpcEndpointConnections.
59760	AcceptanceRequired *bool `type:"boolean"`
59761
59762	// Unique, case-sensitive identifier that you provide to ensure the idempotency
59763	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
59764	ClientToken *string `type:"string"`
59765
59766	// Checks whether you have the required permissions for the action, without
59767	// actually making the request, and provides an error response. If you have
59768	// the required permissions, the error response is DryRunOperation. Otherwise,
59769	// it is UnauthorizedOperation.
59770	DryRun *bool `type:"boolean"`
59771
59772	// The Amazon Resource Names (ARNs) of one or more Gateway Load Balancers.
59773	GatewayLoadBalancerArns []*string `locationName:"GatewayLoadBalancerArn" locationNameList:"item" type:"list"`
59774
59775	// The Amazon Resource Names (ARNs) of one or more Network Load Balancers for
59776	// your service.
59777	NetworkLoadBalancerArns []*string `locationName:"NetworkLoadBalancerArn" locationNameList:"item" type:"list"`
59778
59779	// (Interface endpoint configuration) The private DNS name to assign to the
59780	// VPC endpoint service.
59781	PrivateDnsName *string `type:"string"`
59782
59783	// The tags to associate with the service.
59784	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
59785}
59786
59787// String returns the string representation
59788func (s CreateVpcEndpointServiceConfigurationInput) String() string {
59789	return awsutil.Prettify(s)
59790}
59791
59792// GoString returns the string representation
59793func (s CreateVpcEndpointServiceConfigurationInput) GoString() string {
59794	return s.String()
59795}
59796
59797// SetAcceptanceRequired sets the AcceptanceRequired field's value.
59798func (s *CreateVpcEndpointServiceConfigurationInput) SetAcceptanceRequired(v bool) *CreateVpcEndpointServiceConfigurationInput {
59799	s.AcceptanceRequired = &v
59800	return s
59801}
59802
59803// SetClientToken sets the ClientToken field's value.
59804func (s *CreateVpcEndpointServiceConfigurationInput) SetClientToken(v string) *CreateVpcEndpointServiceConfigurationInput {
59805	s.ClientToken = &v
59806	return s
59807}
59808
59809// SetDryRun sets the DryRun field's value.
59810func (s *CreateVpcEndpointServiceConfigurationInput) SetDryRun(v bool) *CreateVpcEndpointServiceConfigurationInput {
59811	s.DryRun = &v
59812	return s
59813}
59814
59815// SetGatewayLoadBalancerArns sets the GatewayLoadBalancerArns field's value.
59816func (s *CreateVpcEndpointServiceConfigurationInput) SetGatewayLoadBalancerArns(v []*string) *CreateVpcEndpointServiceConfigurationInput {
59817	s.GatewayLoadBalancerArns = v
59818	return s
59819}
59820
59821// SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
59822func (s *CreateVpcEndpointServiceConfigurationInput) SetNetworkLoadBalancerArns(v []*string) *CreateVpcEndpointServiceConfigurationInput {
59823	s.NetworkLoadBalancerArns = v
59824	return s
59825}
59826
59827// SetPrivateDnsName sets the PrivateDnsName field's value.
59828func (s *CreateVpcEndpointServiceConfigurationInput) SetPrivateDnsName(v string) *CreateVpcEndpointServiceConfigurationInput {
59829	s.PrivateDnsName = &v
59830	return s
59831}
59832
59833// SetTagSpecifications sets the TagSpecifications field's value.
59834func (s *CreateVpcEndpointServiceConfigurationInput) SetTagSpecifications(v []*TagSpecification) *CreateVpcEndpointServiceConfigurationInput {
59835	s.TagSpecifications = v
59836	return s
59837}
59838
59839type CreateVpcEndpointServiceConfigurationOutput struct {
59840	_ struct{} `type:"structure"`
59841
59842	// Unique, case-sensitive identifier that you provide to ensure the idempotency
59843	// of the request.
59844	ClientToken *string `locationName:"clientToken" type:"string"`
59845
59846	// Information about the service configuration.
59847	ServiceConfiguration *ServiceConfiguration `locationName:"serviceConfiguration" type:"structure"`
59848}
59849
59850// String returns the string representation
59851func (s CreateVpcEndpointServiceConfigurationOutput) String() string {
59852	return awsutil.Prettify(s)
59853}
59854
59855// GoString returns the string representation
59856func (s CreateVpcEndpointServiceConfigurationOutput) GoString() string {
59857	return s.String()
59858}
59859
59860// SetClientToken sets the ClientToken field's value.
59861func (s *CreateVpcEndpointServiceConfigurationOutput) SetClientToken(v string) *CreateVpcEndpointServiceConfigurationOutput {
59862	s.ClientToken = &v
59863	return s
59864}
59865
59866// SetServiceConfiguration sets the ServiceConfiguration field's value.
59867func (s *CreateVpcEndpointServiceConfigurationOutput) SetServiceConfiguration(v *ServiceConfiguration) *CreateVpcEndpointServiceConfigurationOutput {
59868	s.ServiceConfiguration = v
59869	return s
59870}
59871
59872type CreateVpcInput struct {
59873	_ struct{} `type:"structure"`
59874
59875	// Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
59876	// the VPC. You cannot specify the range of IP addresses, or the size of the
59877	// CIDR block.
59878	AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
59879
59880	// The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.
59881	// We modify the specified CIDR block to its canonical form; for example, if
59882	// you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.
59883	//
59884	// CidrBlock is a required field
59885	CidrBlock *string `type:"string" required:"true"`
59886
59887	// Checks whether you have the required permissions for the action, without
59888	// actually making the request, and provides an error response. If you have
59889	// the required permissions, the error response is DryRunOperation. Otherwise,
59890	// it is UnauthorizedOperation.
59891	DryRun *bool `locationName:"dryRun" type:"boolean"`
59892
59893	// The tenancy options for instances launched into the VPC. For default, instances
59894	// are launched with shared tenancy by default. You can launch instances with
59895	// any tenancy into a shared tenancy VPC. For dedicated, instances are launched
59896	// as dedicated tenancy instances by default. You can only launch instances
59897	// with a tenancy of dedicated or host into a dedicated tenancy VPC.
59898	//
59899	// Important: The host value cannot be used with this parameter. Use the default
59900	// or dedicated values only.
59901	//
59902	// Default: default
59903	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
59904
59905	// The IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool
59906	// in the request.
59907	//
59908	// To let Amazon choose the IPv6 CIDR block for you, omit this parameter.
59909	Ipv6CidrBlock *string `type:"string"`
59910
59911	// The name of the location from which we advertise the IPV6 CIDR block. Use
59912	// this parameter to limit the address to this location.
59913	//
59914	// You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.
59915	Ipv6CidrBlockNetworkBorderGroup *string `type:"string"`
59916
59917	// The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.
59918	Ipv6Pool *string `type:"string"`
59919
59920	// The tags to assign to the VPC.
59921	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
59922}
59923
59924// String returns the string representation
59925func (s CreateVpcInput) String() string {
59926	return awsutil.Prettify(s)
59927}
59928
59929// GoString returns the string representation
59930func (s CreateVpcInput) GoString() string {
59931	return s.String()
59932}
59933
59934// Validate inspects the fields of the type to determine if they are valid.
59935func (s *CreateVpcInput) Validate() error {
59936	invalidParams := request.ErrInvalidParams{Context: "CreateVpcInput"}
59937	if s.CidrBlock == nil {
59938		invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
59939	}
59940
59941	if invalidParams.Len() > 0 {
59942		return invalidParams
59943	}
59944	return nil
59945}
59946
59947// SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
59948func (s *CreateVpcInput) SetAmazonProvidedIpv6CidrBlock(v bool) *CreateVpcInput {
59949	s.AmazonProvidedIpv6CidrBlock = &v
59950	return s
59951}
59952
59953// SetCidrBlock sets the CidrBlock field's value.
59954func (s *CreateVpcInput) SetCidrBlock(v string) *CreateVpcInput {
59955	s.CidrBlock = &v
59956	return s
59957}
59958
59959// SetDryRun sets the DryRun field's value.
59960func (s *CreateVpcInput) SetDryRun(v bool) *CreateVpcInput {
59961	s.DryRun = &v
59962	return s
59963}
59964
59965// SetInstanceTenancy sets the InstanceTenancy field's value.
59966func (s *CreateVpcInput) SetInstanceTenancy(v string) *CreateVpcInput {
59967	s.InstanceTenancy = &v
59968	return s
59969}
59970
59971// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
59972func (s *CreateVpcInput) SetIpv6CidrBlock(v string) *CreateVpcInput {
59973	s.Ipv6CidrBlock = &v
59974	return s
59975}
59976
59977// SetIpv6CidrBlockNetworkBorderGroup sets the Ipv6CidrBlockNetworkBorderGroup field's value.
59978func (s *CreateVpcInput) SetIpv6CidrBlockNetworkBorderGroup(v string) *CreateVpcInput {
59979	s.Ipv6CidrBlockNetworkBorderGroup = &v
59980	return s
59981}
59982
59983// SetIpv6Pool sets the Ipv6Pool field's value.
59984func (s *CreateVpcInput) SetIpv6Pool(v string) *CreateVpcInput {
59985	s.Ipv6Pool = &v
59986	return s
59987}
59988
59989// SetTagSpecifications sets the TagSpecifications field's value.
59990func (s *CreateVpcInput) SetTagSpecifications(v []*TagSpecification) *CreateVpcInput {
59991	s.TagSpecifications = v
59992	return s
59993}
59994
59995type CreateVpcOutput struct {
59996	_ struct{} `type:"structure"`
59997
59998	// Information about the VPC.
59999	Vpc *Vpc `locationName:"vpc" type:"structure"`
60000}
60001
60002// String returns the string representation
60003func (s CreateVpcOutput) String() string {
60004	return awsutil.Prettify(s)
60005}
60006
60007// GoString returns the string representation
60008func (s CreateVpcOutput) GoString() string {
60009	return s.String()
60010}
60011
60012// SetVpc sets the Vpc field's value.
60013func (s *CreateVpcOutput) SetVpc(v *Vpc) *CreateVpcOutput {
60014	s.Vpc = v
60015	return s
60016}
60017
60018type CreateVpcPeeringConnectionInput struct {
60019	_ struct{} `type:"structure"`
60020
60021	// Checks whether you have the required permissions for the action, without
60022	// actually making the request, and provides an error response. If you have
60023	// the required permissions, the error response is DryRunOperation. Otherwise,
60024	// it is UnauthorizedOperation.
60025	DryRun *bool `locationName:"dryRun" type:"boolean"`
60026
60027	// The Amazon Web Services account ID of the owner of the accepter VPC.
60028	//
60029	// Default: Your Amazon Web Services account ID
60030	PeerOwnerId *string `locationName:"peerOwnerId" type:"string"`
60031
60032	// The Region code for the accepter VPC, if the accepter VPC is located in a
60033	// Region other than the Region in which you make the request.
60034	//
60035	// Default: The Region in which you make the request.
60036	PeerRegion *string `type:"string"`
60037
60038	// The ID of the VPC with which you are creating the VPC peering connection.
60039	// You must specify this parameter in the request.
60040	PeerVpcId *string `locationName:"peerVpcId" type:"string"`
60041
60042	// The tags to assign to the peering connection.
60043	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
60044
60045	// The ID of the requester VPC. You must specify this parameter in the request.
60046	VpcId *string `locationName:"vpcId" type:"string"`
60047}
60048
60049// String returns the string representation
60050func (s CreateVpcPeeringConnectionInput) String() string {
60051	return awsutil.Prettify(s)
60052}
60053
60054// GoString returns the string representation
60055func (s CreateVpcPeeringConnectionInput) GoString() string {
60056	return s.String()
60057}
60058
60059// SetDryRun sets the DryRun field's value.
60060func (s *CreateVpcPeeringConnectionInput) SetDryRun(v bool) *CreateVpcPeeringConnectionInput {
60061	s.DryRun = &v
60062	return s
60063}
60064
60065// SetPeerOwnerId sets the PeerOwnerId field's value.
60066func (s *CreateVpcPeeringConnectionInput) SetPeerOwnerId(v string) *CreateVpcPeeringConnectionInput {
60067	s.PeerOwnerId = &v
60068	return s
60069}
60070
60071// SetPeerRegion sets the PeerRegion field's value.
60072func (s *CreateVpcPeeringConnectionInput) SetPeerRegion(v string) *CreateVpcPeeringConnectionInput {
60073	s.PeerRegion = &v
60074	return s
60075}
60076
60077// SetPeerVpcId sets the PeerVpcId field's value.
60078func (s *CreateVpcPeeringConnectionInput) SetPeerVpcId(v string) *CreateVpcPeeringConnectionInput {
60079	s.PeerVpcId = &v
60080	return s
60081}
60082
60083// SetTagSpecifications sets the TagSpecifications field's value.
60084func (s *CreateVpcPeeringConnectionInput) SetTagSpecifications(v []*TagSpecification) *CreateVpcPeeringConnectionInput {
60085	s.TagSpecifications = v
60086	return s
60087}
60088
60089// SetVpcId sets the VpcId field's value.
60090func (s *CreateVpcPeeringConnectionInput) SetVpcId(v string) *CreateVpcPeeringConnectionInput {
60091	s.VpcId = &v
60092	return s
60093}
60094
60095type CreateVpcPeeringConnectionOutput struct {
60096	_ struct{} `type:"structure"`
60097
60098	// Information about the VPC peering connection.
60099	VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
60100}
60101
60102// String returns the string representation
60103func (s CreateVpcPeeringConnectionOutput) String() string {
60104	return awsutil.Prettify(s)
60105}
60106
60107// GoString returns the string representation
60108func (s CreateVpcPeeringConnectionOutput) GoString() string {
60109	return s.String()
60110}
60111
60112// SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
60113func (s *CreateVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *CreateVpcPeeringConnectionOutput {
60114	s.VpcPeeringConnection = v
60115	return s
60116}
60117
60118// Contains the parameters for CreateVpnConnection.
60119type CreateVpnConnectionInput struct {
60120	_ struct{} `type:"structure"`
60121
60122	// The ID of the customer gateway.
60123	//
60124	// CustomerGatewayId is a required field
60125	CustomerGatewayId *string `type:"string" required:"true"`
60126
60127	// Checks whether you have the required permissions for the action, without
60128	// actually making the request, and provides an error response. If you have
60129	// the required permissions, the error response is DryRunOperation. Otherwise,
60130	// it is UnauthorizedOperation.
60131	DryRun *bool `locationName:"dryRun" type:"boolean"`
60132
60133	// The options for the VPN connection.
60134	Options *VpnConnectionOptionsSpecification `locationName:"options" type:"structure"`
60135
60136	// The tags to apply to the VPN connection.
60137	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
60138
60139	// The ID of the transit gateway. If you specify a transit gateway, you cannot
60140	// specify a virtual private gateway.
60141	TransitGatewayId *string `type:"string"`
60142
60143	// The type of VPN connection (ipsec.1).
60144	//
60145	// Type is a required field
60146	Type *string `type:"string" required:"true"`
60147
60148	// The ID of the virtual private gateway. If you specify a virtual private gateway,
60149	// you cannot specify a transit gateway.
60150	VpnGatewayId *string `type:"string"`
60151}
60152
60153// String returns the string representation
60154func (s CreateVpnConnectionInput) String() string {
60155	return awsutil.Prettify(s)
60156}
60157
60158// GoString returns the string representation
60159func (s CreateVpnConnectionInput) GoString() string {
60160	return s.String()
60161}
60162
60163// Validate inspects the fields of the type to determine if they are valid.
60164func (s *CreateVpnConnectionInput) Validate() error {
60165	invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionInput"}
60166	if s.CustomerGatewayId == nil {
60167		invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
60168	}
60169	if s.Type == nil {
60170		invalidParams.Add(request.NewErrParamRequired("Type"))
60171	}
60172
60173	if invalidParams.Len() > 0 {
60174		return invalidParams
60175	}
60176	return nil
60177}
60178
60179// SetCustomerGatewayId sets the CustomerGatewayId field's value.
60180func (s *CreateVpnConnectionInput) SetCustomerGatewayId(v string) *CreateVpnConnectionInput {
60181	s.CustomerGatewayId = &v
60182	return s
60183}
60184
60185// SetDryRun sets the DryRun field's value.
60186func (s *CreateVpnConnectionInput) SetDryRun(v bool) *CreateVpnConnectionInput {
60187	s.DryRun = &v
60188	return s
60189}
60190
60191// SetOptions sets the Options field's value.
60192func (s *CreateVpnConnectionInput) SetOptions(v *VpnConnectionOptionsSpecification) *CreateVpnConnectionInput {
60193	s.Options = v
60194	return s
60195}
60196
60197// SetTagSpecifications sets the TagSpecifications field's value.
60198func (s *CreateVpnConnectionInput) SetTagSpecifications(v []*TagSpecification) *CreateVpnConnectionInput {
60199	s.TagSpecifications = v
60200	return s
60201}
60202
60203// SetTransitGatewayId sets the TransitGatewayId field's value.
60204func (s *CreateVpnConnectionInput) SetTransitGatewayId(v string) *CreateVpnConnectionInput {
60205	s.TransitGatewayId = &v
60206	return s
60207}
60208
60209// SetType sets the Type field's value.
60210func (s *CreateVpnConnectionInput) SetType(v string) *CreateVpnConnectionInput {
60211	s.Type = &v
60212	return s
60213}
60214
60215// SetVpnGatewayId sets the VpnGatewayId field's value.
60216func (s *CreateVpnConnectionInput) SetVpnGatewayId(v string) *CreateVpnConnectionInput {
60217	s.VpnGatewayId = &v
60218	return s
60219}
60220
60221// Contains the output of CreateVpnConnection.
60222type CreateVpnConnectionOutput struct {
60223	_ struct{} `type:"structure"`
60224
60225	// Information about the VPN connection.
60226	VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
60227}
60228
60229// String returns the string representation
60230func (s CreateVpnConnectionOutput) String() string {
60231	return awsutil.Prettify(s)
60232}
60233
60234// GoString returns the string representation
60235func (s CreateVpnConnectionOutput) GoString() string {
60236	return s.String()
60237}
60238
60239// SetVpnConnection sets the VpnConnection field's value.
60240func (s *CreateVpnConnectionOutput) SetVpnConnection(v *VpnConnection) *CreateVpnConnectionOutput {
60241	s.VpnConnection = v
60242	return s
60243}
60244
60245// Contains the parameters for CreateVpnConnectionRoute.
60246type CreateVpnConnectionRouteInput struct {
60247	_ struct{} `type:"structure"`
60248
60249	// The CIDR block associated with the local subnet of the customer network.
60250	//
60251	// DestinationCidrBlock is a required field
60252	DestinationCidrBlock *string `type:"string" required:"true"`
60253
60254	// The ID of the VPN connection.
60255	//
60256	// VpnConnectionId is a required field
60257	VpnConnectionId *string `type:"string" required:"true"`
60258}
60259
60260// String returns the string representation
60261func (s CreateVpnConnectionRouteInput) String() string {
60262	return awsutil.Prettify(s)
60263}
60264
60265// GoString returns the string representation
60266func (s CreateVpnConnectionRouteInput) GoString() string {
60267	return s.String()
60268}
60269
60270// Validate inspects the fields of the type to determine if they are valid.
60271func (s *CreateVpnConnectionRouteInput) Validate() error {
60272	invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionRouteInput"}
60273	if s.DestinationCidrBlock == nil {
60274		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
60275	}
60276	if s.VpnConnectionId == nil {
60277		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
60278	}
60279
60280	if invalidParams.Len() > 0 {
60281		return invalidParams
60282	}
60283	return nil
60284}
60285
60286// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
60287func (s *CreateVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *CreateVpnConnectionRouteInput {
60288	s.DestinationCidrBlock = &v
60289	return s
60290}
60291
60292// SetVpnConnectionId sets the VpnConnectionId field's value.
60293func (s *CreateVpnConnectionRouteInput) SetVpnConnectionId(v string) *CreateVpnConnectionRouteInput {
60294	s.VpnConnectionId = &v
60295	return s
60296}
60297
60298type CreateVpnConnectionRouteOutput struct {
60299	_ struct{} `type:"structure"`
60300}
60301
60302// String returns the string representation
60303func (s CreateVpnConnectionRouteOutput) String() string {
60304	return awsutil.Prettify(s)
60305}
60306
60307// GoString returns the string representation
60308func (s CreateVpnConnectionRouteOutput) GoString() string {
60309	return s.String()
60310}
60311
60312// Contains the parameters for CreateVpnGateway.
60313type CreateVpnGatewayInput struct {
60314	_ struct{} `type:"structure"`
60315
60316	// A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
60317	// If you're using a 16-bit ASN, it must be in the 64512 to 65534 range. If
60318	// you're using a 32-bit ASN, it must be in the 4200000000 to 4294967294 range.
60319	//
60320	// Default: 64512
60321	AmazonSideAsn *int64 `type:"long"`
60322
60323	// The Availability Zone for the virtual private gateway.
60324	AvailabilityZone *string `type:"string"`
60325
60326	// Checks whether you have the required permissions for the action, without
60327	// actually making the request, and provides an error response. If you have
60328	// the required permissions, the error response is DryRunOperation. Otherwise,
60329	// it is UnauthorizedOperation.
60330	DryRun *bool `locationName:"dryRun" type:"boolean"`
60331
60332	// The tags to apply to the virtual private gateway.
60333	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
60334
60335	// The type of VPN connection this virtual private gateway supports.
60336	//
60337	// Type is a required field
60338	Type *string `type:"string" required:"true" enum:"GatewayType"`
60339}
60340
60341// String returns the string representation
60342func (s CreateVpnGatewayInput) String() string {
60343	return awsutil.Prettify(s)
60344}
60345
60346// GoString returns the string representation
60347func (s CreateVpnGatewayInput) GoString() string {
60348	return s.String()
60349}
60350
60351// Validate inspects the fields of the type to determine if they are valid.
60352func (s *CreateVpnGatewayInput) Validate() error {
60353	invalidParams := request.ErrInvalidParams{Context: "CreateVpnGatewayInput"}
60354	if s.Type == nil {
60355		invalidParams.Add(request.NewErrParamRequired("Type"))
60356	}
60357
60358	if invalidParams.Len() > 0 {
60359		return invalidParams
60360	}
60361	return nil
60362}
60363
60364// SetAmazonSideAsn sets the AmazonSideAsn field's value.
60365func (s *CreateVpnGatewayInput) SetAmazonSideAsn(v int64) *CreateVpnGatewayInput {
60366	s.AmazonSideAsn = &v
60367	return s
60368}
60369
60370// SetAvailabilityZone sets the AvailabilityZone field's value.
60371func (s *CreateVpnGatewayInput) SetAvailabilityZone(v string) *CreateVpnGatewayInput {
60372	s.AvailabilityZone = &v
60373	return s
60374}
60375
60376// SetDryRun sets the DryRun field's value.
60377func (s *CreateVpnGatewayInput) SetDryRun(v bool) *CreateVpnGatewayInput {
60378	s.DryRun = &v
60379	return s
60380}
60381
60382// SetTagSpecifications sets the TagSpecifications field's value.
60383func (s *CreateVpnGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateVpnGatewayInput {
60384	s.TagSpecifications = v
60385	return s
60386}
60387
60388// SetType sets the Type field's value.
60389func (s *CreateVpnGatewayInput) SetType(v string) *CreateVpnGatewayInput {
60390	s.Type = &v
60391	return s
60392}
60393
60394// Contains the output of CreateVpnGateway.
60395type CreateVpnGatewayOutput struct {
60396	_ struct{} `type:"structure"`
60397
60398	// Information about the virtual private gateway.
60399	VpnGateway *VpnGateway `locationName:"vpnGateway" type:"structure"`
60400}
60401
60402// String returns the string representation
60403func (s CreateVpnGatewayOutput) String() string {
60404	return awsutil.Prettify(s)
60405}
60406
60407// GoString returns the string representation
60408func (s CreateVpnGatewayOutput) GoString() string {
60409	return s.String()
60410}
60411
60412// SetVpnGateway sets the VpnGateway field's value.
60413func (s *CreateVpnGatewayOutput) SetVpnGateway(v *VpnGateway) *CreateVpnGatewayOutput {
60414	s.VpnGateway = v
60415	return s
60416}
60417
60418// Describes the credit option for CPU usage of a T2, T3, or T3a instance.
60419type CreditSpecification struct {
60420	_ struct{} `type:"structure"`
60421
60422	// The credit option for CPU usage of a T2, T3, or T3a instance. Valid values
60423	// are standard and unlimited.
60424	CpuCredits *string `locationName:"cpuCredits" type:"string"`
60425}
60426
60427// String returns the string representation
60428func (s CreditSpecification) String() string {
60429	return awsutil.Prettify(s)
60430}
60431
60432// GoString returns the string representation
60433func (s CreditSpecification) GoString() string {
60434	return s.String()
60435}
60436
60437// SetCpuCredits sets the CpuCredits field's value.
60438func (s *CreditSpecification) SetCpuCredits(v string) *CreditSpecification {
60439	s.CpuCredits = &v
60440	return s
60441}
60442
60443// The credit option for CPU usage of a T2, T3, or T3a instance.
60444type CreditSpecificationRequest struct {
60445	_ struct{} `type:"structure"`
60446
60447	// The credit option for CPU usage of a T2, T3, or T3a instance. Valid values
60448	// are standard and unlimited.
60449	//
60450	// CpuCredits is a required field
60451	CpuCredits *string `type:"string" required:"true"`
60452}
60453
60454// String returns the string representation
60455func (s CreditSpecificationRequest) String() string {
60456	return awsutil.Prettify(s)
60457}
60458
60459// GoString returns the string representation
60460func (s CreditSpecificationRequest) GoString() string {
60461	return s.String()
60462}
60463
60464// Validate inspects the fields of the type to determine if they are valid.
60465func (s *CreditSpecificationRequest) Validate() error {
60466	invalidParams := request.ErrInvalidParams{Context: "CreditSpecificationRequest"}
60467	if s.CpuCredits == nil {
60468		invalidParams.Add(request.NewErrParamRequired("CpuCredits"))
60469	}
60470
60471	if invalidParams.Len() > 0 {
60472		return invalidParams
60473	}
60474	return nil
60475}
60476
60477// SetCpuCredits sets the CpuCredits field's value.
60478func (s *CreditSpecificationRequest) SetCpuCredits(v string) *CreditSpecificationRequest {
60479	s.CpuCredits = &v
60480	return s
60481}
60482
60483// Describes a customer gateway.
60484type CustomerGateway struct {
60485	_ struct{} `type:"structure"`
60486
60487	// The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number
60488	// (ASN).
60489	BgpAsn *string `locationName:"bgpAsn" type:"string"`
60490
60491	// The Amazon Resource Name (ARN) for the customer gateway certificate.
60492	CertificateArn *string `locationName:"certificateArn" type:"string"`
60493
60494	// The ID of the customer gateway.
60495	CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
60496
60497	// The name of customer gateway device.
60498	DeviceName *string `locationName:"deviceName" type:"string"`
60499
60500	// The Internet-routable IP address of the customer gateway's outside interface.
60501	IpAddress *string `locationName:"ipAddress" type:"string"`
60502
60503	// The current state of the customer gateway (pending | available | deleting
60504	// | deleted).
60505	State *string `locationName:"state" type:"string"`
60506
60507	// Any tags assigned to the customer gateway.
60508	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
60509
60510	// The type of VPN connection the customer gateway supports (ipsec.1).
60511	Type *string `locationName:"type" type:"string"`
60512}
60513
60514// String returns the string representation
60515func (s CustomerGateway) String() string {
60516	return awsutil.Prettify(s)
60517}
60518
60519// GoString returns the string representation
60520func (s CustomerGateway) GoString() string {
60521	return s.String()
60522}
60523
60524// SetBgpAsn sets the BgpAsn field's value.
60525func (s *CustomerGateway) SetBgpAsn(v string) *CustomerGateway {
60526	s.BgpAsn = &v
60527	return s
60528}
60529
60530// SetCertificateArn sets the CertificateArn field's value.
60531func (s *CustomerGateway) SetCertificateArn(v string) *CustomerGateway {
60532	s.CertificateArn = &v
60533	return s
60534}
60535
60536// SetCustomerGatewayId sets the CustomerGatewayId field's value.
60537func (s *CustomerGateway) SetCustomerGatewayId(v string) *CustomerGateway {
60538	s.CustomerGatewayId = &v
60539	return s
60540}
60541
60542// SetDeviceName sets the DeviceName field's value.
60543func (s *CustomerGateway) SetDeviceName(v string) *CustomerGateway {
60544	s.DeviceName = &v
60545	return s
60546}
60547
60548// SetIpAddress sets the IpAddress field's value.
60549func (s *CustomerGateway) SetIpAddress(v string) *CustomerGateway {
60550	s.IpAddress = &v
60551	return s
60552}
60553
60554// SetState sets the State field's value.
60555func (s *CustomerGateway) SetState(v string) *CustomerGateway {
60556	s.State = &v
60557	return s
60558}
60559
60560// SetTags sets the Tags field's value.
60561func (s *CustomerGateway) SetTags(v []*Tag) *CustomerGateway {
60562	s.Tags = v
60563	return s
60564}
60565
60566// SetType sets the Type field's value.
60567func (s *CustomerGateway) SetType(v string) *CustomerGateway {
60568	s.Type = &v
60569	return s
60570}
60571
60572type DeleteCarrierGatewayInput struct {
60573	_ struct{} `type:"structure"`
60574
60575	// The ID of the carrier gateway.
60576	//
60577	// CarrierGatewayId is a required field
60578	CarrierGatewayId *string `type:"string" required:"true"`
60579
60580	// Checks whether you have the required permissions for the action, without
60581	// actually making the request, and provides an error response. If you have
60582	// the required permissions, the error response is DryRunOperation. Otherwise,
60583	// it is UnauthorizedOperation.
60584	DryRun *bool `type:"boolean"`
60585}
60586
60587// String returns the string representation
60588func (s DeleteCarrierGatewayInput) String() string {
60589	return awsutil.Prettify(s)
60590}
60591
60592// GoString returns the string representation
60593func (s DeleteCarrierGatewayInput) GoString() string {
60594	return s.String()
60595}
60596
60597// Validate inspects the fields of the type to determine if they are valid.
60598func (s *DeleteCarrierGatewayInput) Validate() error {
60599	invalidParams := request.ErrInvalidParams{Context: "DeleteCarrierGatewayInput"}
60600	if s.CarrierGatewayId == nil {
60601		invalidParams.Add(request.NewErrParamRequired("CarrierGatewayId"))
60602	}
60603
60604	if invalidParams.Len() > 0 {
60605		return invalidParams
60606	}
60607	return nil
60608}
60609
60610// SetCarrierGatewayId sets the CarrierGatewayId field's value.
60611func (s *DeleteCarrierGatewayInput) SetCarrierGatewayId(v string) *DeleteCarrierGatewayInput {
60612	s.CarrierGatewayId = &v
60613	return s
60614}
60615
60616// SetDryRun sets the DryRun field's value.
60617func (s *DeleteCarrierGatewayInput) SetDryRun(v bool) *DeleteCarrierGatewayInput {
60618	s.DryRun = &v
60619	return s
60620}
60621
60622type DeleteCarrierGatewayOutput struct {
60623	_ struct{} `type:"structure"`
60624
60625	// Information about the carrier gateway.
60626	CarrierGateway *CarrierGateway `locationName:"carrierGateway" type:"structure"`
60627}
60628
60629// String returns the string representation
60630func (s DeleteCarrierGatewayOutput) String() string {
60631	return awsutil.Prettify(s)
60632}
60633
60634// GoString returns the string representation
60635func (s DeleteCarrierGatewayOutput) GoString() string {
60636	return s.String()
60637}
60638
60639// SetCarrierGateway sets the CarrierGateway field's value.
60640func (s *DeleteCarrierGatewayOutput) SetCarrierGateway(v *CarrierGateway) *DeleteCarrierGatewayOutput {
60641	s.CarrierGateway = v
60642	return s
60643}
60644
60645type DeleteClientVpnEndpointInput struct {
60646	_ struct{} `type:"structure"`
60647
60648	// The ID of the Client VPN to be deleted.
60649	//
60650	// ClientVpnEndpointId is a required field
60651	ClientVpnEndpointId *string `type:"string" required:"true"`
60652
60653	// Checks whether you have the required permissions for the action, without
60654	// actually making the request, and provides an error response. If you have
60655	// the required permissions, the error response is DryRunOperation. Otherwise,
60656	// it is UnauthorizedOperation.
60657	DryRun *bool `type:"boolean"`
60658}
60659
60660// String returns the string representation
60661func (s DeleteClientVpnEndpointInput) String() string {
60662	return awsutil.Prettify(s)
60663}
60664
60665// GoString returns the string representation
60666func (s DeleteClientVpnEndpointInput) GoString() string {
60667	return s.String()
60668}
60669
60670// Validate inspects the fields of the type to determine if they are valid.
60671func (s *DeleteClientVpnEndpointInput) Validate() error {
60672	invalidParams := request.ErrInvalidParams{Context: "DeleteClientVpnEndpointInput"}
60673	if s.ClientVpnEndpointId == nil {
60674		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
60675	}
60676
60677	if invalidParams.Len() > 0 {
60678		return invalidParams
60679	}
60680	return nil
60681}
60682
60683// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
60684func (s *DeleteClientVpnEndpointInput) SetClientVpnEndpointId(v string) *DeleteClientVpnEndpointInput {
60685	s.ClientVpnEndpointId = &v
60686	return s
60687}
60688
60689// SetDryRun sets the DryRun field's value.
60690func (s *DeleteClientVpnEndpointInput) SetDryRun(v bool) *DeleteClientVpnEndpointInput {
60691	s.DryRun = &v
60692	return s
60693}
60694
60695type DeleteClientVpnEndpointOutput struct {
60696	_ struct{} `type:"structure"`
60697
60698	// The current state of the Client VPN endpoint.
60699	Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"`
60700}
60701
60702// String returns the string representation
60703func (s DeleteClientVpnEndpointOutput) String() string {
60704	return awsutil.Prettify(s)
60705}
60706
60707// GoString returns the string representation
60708func (s DeleteClientVpnEndpointOutput) GoString() string {
60709	return s.String()
60710}
60711
60712// SetStatus sets the Status field's value.
60713func (s *DeleteClientVpnEndpointOutput) SetStatus(v *ClientVpnEndpointStatus) *DeleteClientVpnEndpointOutput {
60714	s.Status = v
60715	return s
60716}
60717
60718type DeleteClientVpnRouteInput struct {
60719	_ struct{} `type:"structure"`
60720
60721	// The ID of the Client VPN endpoint from which the route is to be deleted.
60722	//
60723	// ClientVpnEndpointId is a required field
60724	ClientVpnEndpointId *string `type:"string" required:"true"`
60725
60726	// The IPv4 address range, in CIDR notation, of the route to be deleted.
60727	//
60728	// DestinationCidrBlock is a required field
60729	DestinationCidrBlock *string `type:"string" required:"true"`
60730
60731	// Checks whether you have the required permissions for the action, without
60732	// actually making the request, and provides an error response. If you have
60733	// the required permissions, the error response is DryRunOperation. Otherwise,
60734	// it is UnauthorizedOperation.
60735	DryRun *bool `type:"boolean"`
60736
60737	// The ID of the target subnet used by the route.
60738	TargetVpcSubnetId *string `type:"string"`
60739}
60740
60741// String returns the string representation
60742func (s DeleteClientVpnRouteInput) String() string {
60743	return awsutil.Prettify(s)
60744}
60745
60746// GoString returns the string representation
60747func (s DeleteClientVpnRouteInput) GoString() string {
60748	return s.String()
60749}
60750
60751// Validate inspects the fields of the type to determine if they are valid.
60752func (s *DeleteClientVpnRouteInput) Validate() error {
60753	invalidParams := request.ErrInvalidParams{Context: "DeleteClientVpnRouteInput"}
60754	if s.ClientVpnEndpointId == nil {
60755		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
60756	}
60757	if s.DestinationCidrBlock == nil {
60758		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
60759	}
60760
60761	if invalidParams.Len() > 0 {
60762		return invalidParams
60763	}
60764	return nil
60765}
60766
60767// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
60768func (s *DeleteClientVpnRouteInput) SetClientVpnEndpointId(v string) *DeleteClientVpnRouteInput {
60769	s.ClientVpnEndpointId = &v
60770	return s
60771}
60772
60773// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
60774func (s *DeleteClientVpnRouteInput) SetDestinationCidrBlock(v string) *DeleteClientVpnRouteInput {
60775	s.DestinationCidrBlock = &v
60776	return s
60777}
60778
60779// SetDryRun sets the DryRun field's value.
60780func (s *DeleteClientVpnRouteInput) SetDryRun(v bool) *DeleteClientVpnRouteInput {
60781	s.DryRun = &v
60782	return s
60783}
60784
60785// SetTargetVpcSubnetId sets the TargetVpcSubnetId field's value.
60786func (s *DeleteClientVpnRouteInput) SetTargetVpcSubnetId(v string) *DeleteClientVpnRouteInput {
60787	s.TargetVpcSubnetId = &v
60788	return s
60789}
60790
60791type DeleteClientVpnRouteOutput struct {
60792	_ struct{} `type:"structure"`
60793
60794	// The current state of the route.
60795	Status *ClientVpnRouteStatus `locationName:"status" type:"structure"`
60796}
60797
60798// String returns the string representation
60799func (s DeleteClientVpnRouteOutput) String() string {
60800	return awsutil.Prettify(s)
60801}
60802
60803// GoString returns the string representation
60804func (s DeleteClientVpnRouteOutput) GoString() string {
60805	return s.String()
60806}
60807
60808// SetStatus sets the Status field's value.
60809func (s *DeleteClientVpnRouteOutput) SetStatus(v *ClientVpnRouteStatus) *DeleteClientVpnRouteOutput {
60810	s.Status = v
60811	return s
60812}
60813
60814// Contains the parameters for DeleteCustomerGateway.
60815type DeleteCustomerGatewayInput struct {
60816	_ struct{} `type:"structure"`
60817
60818	// The ID of the customer gateway.
60819	//
60820	// CustomerGatewayId is a required field
60821	CustomerGatewayId *string `type:"string" required:"true"`
60822
60823	// Checks whether you have the required permissions for the action, without
60824	// actually making the request, and provides an error response. If you have
60825	// the required permissions, the error response is DryRunOperation. Otherwise,
60826	// it is UnauthorizedOperation.
60827	DryRun *bool `locationName:"dryRun" type:"boolean"`
60828}
60829
60830// String returns the string representation
60831func (s DeleteCustomerGatewayInput) String() string {
60832	return awsutil.Prettify(s)
60833}
60834
60835// GoString returns the string representation
60836func (s DeleteCustomerGatewayInput) GoString() string {
60837	return s.String()
60838}
60839
60840// Validate inspects the fields of the type to determine if they are valid.
60841func (s *DeleteCustomerGatewayInput) Validate() error {
60842	invalidParams := request.ErrInvalidParams{Context: "DeleteCustomerGatewayInput"}
60843	if s.CustomerGatewayId == nil {
60844		invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
60845	}
60846
60847	if invalidParams.Len() > 0 {
60848		return invalidParams
60849	}
60850	return nil
60851}
60852
60853// SetCustomerGatewayId sets the CustomerGatewayId field's value.
60854func (s *DeleteCustomerGatewayInput) SetCustomerGatewayId(v string) *DeleteCustomerGatewayInput {
60855	s.CustomerGatewayId = &v
60856	return s
60857}
60858
60859// SetDryRun sets the DryRun field's value.
60860func (s *DeleteCustomerGatewayInput) SetDryRun(v bool) *DeleteCustomerGatewayInput {
60861	s.DryRun = &v
60862	return s
60863}
60864
60865type DeleteCustomerGatewayOutput struct {
60866	_ struct{} `type:"structure"`
60867}
60868
60869// String returns the string representation
60870func (s DeleteCustomerGatewayOutput) String() string {
60871	return awsutil.Prettify(s)
60872}
60873
60874// GoString returns the string representation
60875func (s DeleteCustomerGatewayOutput) GoString() string {
60876	return s.String()
60877}
60878
60879type DeleteDhcpOptionsInput struct {
60880	_ struct{} `type:"structure"`
60881
60882	// The ID of the DHCP options set.
60883	//
60884	// DhcpOptionsId is a required field
60885	DhcpOptionsId *string `type:"string" required:"true"`
60886
60887	// Checks whether you have the required permissions for the action, without
60888	// actually making the request, and provides an error response. If you have
60889	// the required permissions, the error response is DryRunOperation. Otherwise,
60890	// it is UnauthorizedOperation.
60891	DryRun *bool `locationName:"dryRun" type:"boolean"`
60892}
60893
60894// String returns the string representation
60895func (s DeleteDhcpOptionsInput) String() string {
60896	return awsutil.Prettify(s)
60897}
60898
60899// GoString returns the string representation
60900func (s DeleteDhcpOptionsInput) GoString() string {
60901	return s.String()
60902}
60903
60904// Validate inspects the fields of the type to determine if they are valid.
60905func (s *DeleteDhcpOptionsInput) Validate() error {
60906	invalidParams := request.ErrInvalidParams{Context: "DeleteDhcpOptionsInput"}
60907	if s.DhcpOptionsId == nil {
60908		invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
60909	}
60910
60911	if invalidParams.Len() > 0 {
60912		return invalidParams
60913	}
60914	return nil
60915}
60916
60917// SetDhcpOptionsId sets the DhcpOptionsId field's value.
60918func (s *DeleteDhcpOptionsInput) SetDhcpOptionsId(v string) *DeleteDhcpOptionsInput {
60919	s.DhcpOptionsId = &v
60920	return s
60921}
60922
60923// SetDryRun sets the DryRun field's value.
60924func (s *DeleteDhcpOptionsInput) SetDryRun(v bool) *DeleteDhcpOptionsInput {
60925	s.DryRun = &v
60926	return s
60927}
60928
60929type DeleteDhcpOptionsOutput struct {
60930	_ struct{} `type:"structure"`
60931}
60932
60933// String returns the string representation
60934func (s DeleteDhcpOptionsOutput) String() string {
60935	return awsutil.Prettify(s)
60936}
60937
60938// GoString returns the string representation
60939func (s DeleteDhcpOptionsOutput) GoString() string {
60940	return s.String()
60941}
60942
60943type DeleteEgressOnlyInternetGatewayInput struct {
60944	_ struct{} `type:"structure"`
60945
60946	// Checks whether you have the required permissions for the action, without
60947	// actually making the request, and provides an error response. If you have
60948	// the required permissions, the error response is DryRunOperation. Otherwise,
60949	// it is UnauthorizedOperation.
60950	DryRun *bool `type:"boolean"`
60951
60952	// The ID of the egress-only internet gateway.
60953	//
60954	// EgressOnlyInternetGatewayId is a required field
60955	EgressOnlyInternetGatewayId *string `type:"string" required:"true"`
60956}
60957
60958// String returns the string representation
60959func (s DeleteEgressOnlyInternetGatewayInput) String() string {
60960	return awsutil.Prettify(s)
60961}
60962
60963// GoString returns the string representation
60964func (s DeleteEgressOnlyInternetGatewayInput) GoString() string {
60965	return s.String()
60966}
60967
60968// Validate inspects the fields of the type to determine if they are valid.
60969func (s *DeleteEgressOnlyInternetGatewayInput) Validate() error {
60970	invalidParams := request.ErrInvalidParams{Context: "DeleteEgressOnlyInternetGatewayInput"}
60971	if s.EgressOnlyInternetGatewayId == nil {
60972		invalidParams.Add(request.NewErrParamRequired("EgressOnlyInternetGatewayId"))
60973	}
60974
60975	if invalidParams.Len() > 0 {
60976		return invalidParams
60977	}
60978	return nil
60979}
60980
60981// SetDryRun sets the DryRun field's value.
60982func (s *DeleteEgressOnlyInternetGatewayInput) SetDryRun(v bool) *DeleteEgressOnlyInternetGatewayInput {
60983	s.DryRun = &v
60984	return s
60985}
60986
60987// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
60988func (s *DeleteEgressOnlyInternetGatewayInput) SetEgressOnlyInternetGatewayId(v string) *DeleteEgressOnlyInternetGatewayInput {
60989	s.EgressOnlyInternetGatewayId = &v
60990	return s
60991}
60992
60993type DeleteEgressOnlyInternetGatewayOutput struct {
60994	_ struct{} `type:"structure"`
60995
60996	// Returns true if the request succeeds; otherwise, it returns an error.
60997	ReturnCode *bool `locationName:"returnCode" type:"boolean"`
60998}
60999
61000// String returns the string representation
61001func (s DeleteEgressOnlyInternetGatewayOutput) String() string {
61002	return awsutil.Prettify(s)
61003}
61004
61005// GoString returns the string representation
61006func (s DeleteEgressOnlyInternetGatewayOutput) GoString() string {
61007	return s.String()
61008}
61009
61010// SetReturnCode sets the ReturnCode field's value.
61011func (s *DeleteEgressOnlyInternetGatewayOutput) SetReturnCode(v bool) *DeleteEgressOnlyInternetGatewayOutput {
61012	s.ReturnCode = &v
61013	return s
61014}
61015
61016// Describes an EC2 Fleet error.
61017type DeleteFleetError struct {
61018	_ struct{} `type:"structure"`
61019
61020	// The error code.
61021	Code *string `locationName:"code" type:"string" enum:"DeleteFleetErrorCode"`
61022
61023	// The description for the error code.
61024	Message *string `locationName:"message" type:"string"`
61025}
61026
61027// String returns the string representation
61028func (s DeleteFleetError) String() string {
61029	return awsutil.Prettify(s)
61030}
61031
61032// GoString returns the string representation
61033func (s DeleteFleetError) GoString() string {
61034	return s.String()
61035}
61036
61037// SetCode sets the Code field's value.
61038func (s *DeleteFleetError) SetCode(v string) *DeleteFleetError {
61039	s.Code = &v
61040	return s
61041}
61042
61043// SetMessage sets the Message field's value.
61044func (s *DeleteFleetError) SetMessage(v string) *DeleteFleetError {
61045	s.Message = &v
61046	return s
61047}
61048
61049// Describes an EC2 Fleet that was not successfully deleted.
61050type DeleteFleetErrorItem struct {
61051	_ struct{} `type:"structure"`
61052
61053	// The error.
61054	Error *DeleteFleetError `locationName:"error" type:"structure"`
61055
61056	// The ID of the EC2 Fleet.
61057	FleetId *string `locationName:"fleetId" type:"string"`
61058}
61059
61060// String returns the string representation
61061func (s DeleteFleetErrorItem) String() string {
61062	return awsutil.Prettify(s)
61063}
61064
61065// GoString returns the string representation
61066func (s DeleteFleetErrorItem) GoString() string {
61067	return s.String()
61068}
61069
61070// SetError sets the Error field's value.
61071func (s *DeleteFleetErrorItem) SetError(v *DeleteFleetError) *DeleteFleetErrorItem {
61072	s.Error = v
61073	return s
61074}
61075
61076// SetFleetId sets the FleetId field's value.
61077func (s *DeleteFleetErrorItem) SetFleetId(v string) *DeleteFleetErrorItem {
61078	s.FleetId = &v
61079	return s
61080}
61081
61082// Describes an EC2 Fleet that was successfully deleted.
61083type DeleteFleetSuccessItem struct {
61084	_ struct{} `type:"structure"`
61085
61086	// The current state of the EC2 Fleet.
61087	CurrentFleetState *string `locationName:"currentFleetState" type:"string" enum:"FleetStateCode"`
61088
61089	// The ID of the EC2 Fleet.
61090	FleetId *string `locationName:"fleetId" type:"string"`
61091
61092	// The previous state of the EC2 Fleet.
61093	PreviousFleetState *string `locationName:"previousFleetState" type:"string" enum:"FleetStateCode"`
61094}
61095
61096// String returns the string representation
61097func (s DeleteFleetSuccessItem) String() string {
61098	return awsutil.Prettify(s)
61099}
61100
61101// GoString returns the string representation
61102func (s DeleteFleetSuccessItem) GoString() string {
61103	return s.String()
61104}
61105
61106// SetCurrentFleetState sets the CurrentFleetState field's value.
61107func (s *DeleteFleetSuccessItem) SetCurrentFleetState(v string) *DeleteFleetSuccessItem {
61108	s.CurrentFleetState = &v
61109	return s
61110}
61111
61112// SetFleetId sets the FleetId field's value.
61113func (s *DeleteFleetSuccessItem) SetFleetId(v string) *DeleteFleetSuccessItem {
61114	s.FleetId = &v
61115	return s
61116}
61117
61118// SetPreviousFleetState sets the PreviousFleetState field's value.
61119func (s *DeleteFleetSuccessItem) SetPreviousFleetState(v string) *DeleteFleetSuccessItem {
61120	s.PreviousFleetState = &v
61121	return s
61122}
61123
61124type DeleteFleetsInput struct {
61125	_ struct{} `type:"structure"`
61126
61127	// Checks whether you have the required permissions for the action, without
61128	// actually making the request, and provides an error response. If you have
61129	// the required permissions, the error response is DryRunOperation. Otherwise,
61130	// it is UnauthorizedOperation.
61131	DryRun *bool `type:"boolean"`
61132
61133	// The IDs of the EC2 Fleets.
61134	//
61135	// FleetIds is a required field
61136	FleetIds []*string `locationName:"FleetId" type:"list" required:"true"`
61137
61138	// Indicates whether to terminate the instances when the EC2 Fleet is deleted.
61139	// The default is to terminate the instances.
61140	//
61141	// To let the instances continue to run after the EC2 Fleet is deleted, specify
61142	// NoTerminateInstances. Supported only for fleets of type maintain and request.
61143	//
61144	// For instant fleets, you cannot specify NoTerminateInstances. A deleted instant
61145	// fleet with running instances is not supported.
61146	//
61147	// TerminateInstances is a required field
61148	TerminateInstances *bool `type:"boolean" required:"true"`
61149}
61150
61151// String returns the string representation
61152func (s DeleteFleetsInput) String() string {
61153	return awsutil.Prettify(s)
61154}
61155
61156// GoString returns the string representation
61157func (s DeleteFleetsInput) GoString() string {
61158	return s.String()
61159}
61160
61161// Validate inspects the fields of the type to determine if they are valid.
61162func (s *DeleteFleetsInput) Validate() error {
61163	invalidParams := request.ErrInvalidParams{Context: "DeleteFleetsInput"}
61164	if s.FleetIds == nil {
61165		invalidParams.Add(request.NewErrParamRequired("FleetIds"))
61166	}
61167	if s.TerminateInstances == nil {
61168		invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
61169	}
61170
61171	if invalidParams.Len() > 0 {
61172		return invalidParams
61173	}
61174	return nil
61175}
61176
61177// SetDryRun sets the DryRun field's value.
61178func (s *DeleteFleetsInput) SetDryRun(v bool) *DeleteFleetsInput {
61179	s.DryRun = &v
61180	return s
61181}
61182
61183// SetFleetIds sets the FleetIds field's value.
61184func (s *DeleteFleetsInput) SetFleetIds(v []*string) *DeleteFleetsInput {
61185	s.FleetIds = v
61186	return s
61187}
61188
61189// SetTerminateInstances sets the TerminateInstances field's value.
61190func (s *DeleteFleetsInput) SetTerminateInstances(v bool) *DeleteFleetsInput {
61191	s.TerminateInstances = &v
61192	return s
61193}
61194
61195type DeleteFleetsOutput struct {
61196	_ struct{} `type:"structure"`
61197
61198	// Information about the EC2 Fleets that are successfully deleted.
61199	SuccessfulFleetDeletions []*DeleteFleetSuccessItem `locationName:"successfulFleetDeletionSet" locationNameList:"item" type:"list"`
61200
61201	// Information about the EC2 Fleets that are not successfully deleted.
61202	UnsuccessfulFleetDeletions []*DeleteFleetErrorItem `locationName:"unsuccessfulFleetDeletionSet" locationNameList:"item" type:"list"`
61203}
61204
61205// String returns the string representation
61206func (s DeleteFleetsOutput) String() string {
61207	return awsutil.Prettify(s)
61208}
61209
61210// GoString returns the string representation
61211func (s DeleteFleetsOutput) GoString() string {
61212	return s.String()
61213}
61214
61215// SetSuccessfulFleetDeletions sets the SuccessfulFleetDeletions field's value.
61216func (s *DeleteFleetsOutput) SetSuccessfulFleetDeletions(v []*DeleteFleetSuccessItem) *DeleteFleetsOutput {
61217	s.SuccessfulFleetDeletions = v
61218	return s
61219}
61220
61221// SetUnsuccessfulFleetDeletions sets the UnsuccessfulFleetDeletions field's value.
61222func (s *DeleteFleetsOutput) SetUnsuccessfulFleetDeletions(v []*DeleteFleetErrorItem) *DeleteFleetsOutput {
61223	s.UnsuccessfulFleetDeletions = v
61224	return s
61225}
61226
61227type DeleteFlowLogsInput struct {
61228	_ struct{} `type:"structure"`
61229
61230	// Checks whether you have the required permissions for the action, without
61231	// actually making the request, and provides an error response. If you have
61232	// the required permissions, the error response is DryRunOperation. Otherwise,
61233	// it is UnauthorizedOperation.
61234	DryRun *bool `type:"boolean"`
61235
61236	// One or more flow log IDs.
61237	//
61238	// Constraint: Maximum of 1000 flow log IDs.
61239	//
61240	// FlowLogIds is a required field
61241	FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list" required:"true"`
61242}
61243
61244// String returns the string representation
61245func (s DeleteFlowLogsInput) String() string {
61246	return awsutil.Prettify(s)
61247}
61248
61249// GoString returns the string representation
61250func (s DeleteFlowLogsInput) GoString() string {
61251	return s.String()
61252}
61253
61254// Validate inspects the fields of the type to determine if they are valid.
61255func (s *DeleteFlowLogsInput) Validate() error {
61256	invalidParams := request.ErrInvalidParams{Context: "DeleteFlowLogsInput"}
61257	if s.FlowLogIds == nil {
61258		invalidParams.Add(request.NewErrParamRequired("FlowLogIds"))
61259	}
61260
61261	if invalidParams.Len() > 0 {
61262		return invalidParams
61263	}
61264	return nil
61265}
61266
61267// SetDryRun sets the DryRun field's value.
61268func (s *DeleteFlowLogsInput) SetDryRun(v bool) *DeleteFlowLogsInput {
61269	s.DryRun = &v
61270	return s
61271}
61272
61273// SetFlowLogIds sets the FlowLogIds field's value.
61274func (s *DeleteFlowLogsInput) SetFlowLogIds(v []*string) *DeleteFlowLogsInput {
61275	s.FlowLogIds = v
61276	return s
61277}
61278
61279type DeleteFlowLogsOutput struct {
61280	_ struct{} `type:"structure"`
61281
61282	// Information about the flow logs that could not be deleted successfully.
61283	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
61284}
61285
61286// String returns the string representation
61287func (s DeleteFlowLogsOutput) String() string {
61288	return awsutil.Prettify(s)
61289}
61290
61291// GoString returns the string representation
61292func (s DeleteFlowLogsOutput) GoString() string {
61293	return s.String()
61294}
61295
61296// SetUnsuccessful sets the Unsuccessful field's value.
61297func (s *DeleteFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteFlowLogsOutput {
61298	s.Unsuccessful = v
61299	return s
61300}
61301
61302type DeleteFpgaImageInput struct {
61303	_ struct{} `type:"structure"`
61304
61305	// Checks whether you have the required permissions for the action, without
61306	// actually making the request, and provides an error response. If you have
61307	// the required permissions, the error response is DryRunOperation. Otherwise,
61308	// it is UnauthorizedOperation.
61309	DryRun *bool `type:"boolean"`
61310
61311	// The ID of the AFI.
61312	//
61313	// FpgaImageId is a required field
61314	FpgaImageId *string `type:"string" required:"true"`
61315}
61316
61317// String returns the string representation
61318func (s DeleteFpgaImageInput) String() string {
61319	return awsutil.Prettify(s)
61320}
61321
61322// GoString returns the string representation
61323func (s DeleteFpgaImageInput) GoString() string {
61324	return s.String()
61325}
61326
61327// Validate inspects the fields of the type to determine if they are valid.
61328func (s *DeleteFpgaImageInput) Validate() error {
61329	invalidParams := request.ErrInvalidParams{Context: "DeleteFpgaImageInput"}
61330	if s.FpgaImageId == nil {
61331		invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
61332	}
61333
61334	if invalidParams.Len() > 0 {
61335		return invalidParams
61336	}
61337	return nil
61338}
61339
61340// SetDryRun sets the DryRun field's value.
61341func (s *DeleteFpgaImageInput) SetDryRun(v bool) *DeleteFpgaImageInput {
61342	s.DryRun = &v
61343	return s
61344}
61345
61346// SetFpgaImageId sets the FpgaImageId field's value.
61347func (s *DeleteFpgaImageInput) SetFpgaImageId(v string) *DeleteFpgaImageInput {
61348	s.FpgaImageId = &v
61349	return s
61350}
61351
61352type DeleteFpgaImageOutput struct {
61353	_ struct{} `type:"structure"`
61354
61355	// Is true if the request succeeds, and an error otherwise.
61356	Return *bool `locationName:"return" type:"boolean"`
61357}
61358
61359// String returns the string representation
61360func (s DeleteFpgaImageOutput) String() string {
61361	return awsutil.Prettify(s)
61362}
61363
61364// GoString returns the string representation
61365func (s DeleteFpgaImageOutput) GoString() string {
61366	return s.String()
61367}
61368
61369// SetReturn sets the Return field's value.
61370func (s *DeleteFpgaImageOutput) SetReturn(v bool) *DeleteFpgaImageOutput {
61371	s.Return = &v
61372	return s
61373}
61374
61375type DeleteInstanceEventWindowInput struct {
61376	_ struct{} `type:"structure"`
61377
61378	// Checks whether you have the required permissions for the action, without
61379	// actually making the request, and provides an error response. If you have
61380	// the required permissions, the error response is DryRunOperation. Otherwise,
61381	// it is UnauthorizedOperation.
61382	DryRun *bool `type:"boolean"`
61383
61384	// Specify true to force delete the event window. Use the force delete parameter
61385	// if the event window is currently associated with targets.
61386	ForceDelete *bool `type:"boolean"`
61387
61388	// The ID of the event window.
61389	//
61390	// InstanceEventWindowId is a required field
61391	InstanceEventWindowId *string `type:"string" required:"true"`
61392}
61393
61394// String returns the string representation
61395func (s DeleteInstanceEventWindowInput) String() string {
61396	return awsutil.Prettify(s)
61397}
61398
61399// GoString returns the string representation
61400func (s DeleteInstanceEventWindowInput) GoString() string {
61401	return s.String()
61402}
61403
61404// Validate inspects the fields of the type to determine if they are valid.
61405func (s *DeleteInstanceEventWindowInput) Validate() error {
61406	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceEventWindowInput"}
61407	if s.InstanceEventWindowId == nil {
61408		invalidParams.Add(request.NewErrParamRequired("InstanceEventWindowId"))
61409	}
61410
61411	if invalidParams.Len() > 0 {
61412		return invalidParams
61413	}
61414	return nil
61415}
61416
61417// SetDryRun sets the DryRun field's value.
61418func (s *DeleteInstanceEventWindowInput) SetDryRun(v bool) *DeleteInstanceEventWindowInput {
61419	s.DryRun = &v
61420	return s
61421}
61422
61423// SetForceDelete sets the ForceDelete field's value.
61424func (s *DeleteInstanceEventWindowInput) SetForceDelete(v bool) *DeleteInstanceEventWindowInput {
61425	s.ForceDelete = &v
61426	return s
61427}
61428
61429// SetInstanceEventWindowId sets the InstanceEventWindowId field's value.
61430func (s *DeleteInstanceEventWindowInput) SetInstanceEventWindowId(v string) *DeleteInstanceEventWindowInput {
61431	s.InstanceEventWindowId = &v
61432	return s
61433}
61434
61435type DeleteInstanceEventWindowOutput struct {
61436	_ struct{} `type:"structure"`
61437
61438	// The state of the event window.
61439	InstanceEventWindowState *InstanceEventWindowStateChange `locationName:"instanceEventWindowState" type:"structure"`
61440}
61441
61442// String returns the string representation
61443func (s DeleteInstanceEventWindowOutput) String() string {
61444	return awsutil.Prettify(s)
61445}
61446
61447// GoString returns the string representation
61448func (s DeleteInstanceEventWindowOutput) GoString() string {
61449	return s.String()
61450}
61451
61452// SetInstanceEventWindowState sets the InstanceEventWindowState field's value.
61453func (s *DeleteInstanceEventWindowOutput) SetInstanceEventWindowState(v *InstanceEventWindowStateChange) *DeleteInstanceEventWindowOutput {
61454	s.InstanceEventWindowState = v
61455	return s
61456}
61457
61458type DeleteInternetGatewayInput struct {
61459	_ struct{} `type:"structure"`
61460
61461	// Checks whether you have the required permissions for the action, without
61462	// actually making the request, and provides an error response. If you have
61463	// the required permissions, the error response is DryRunOperation. Otherwise,
61464	// it is UnauthorizedOperation.
61465	DryRun *bool `locationName:"dryRun" type:"boolean"`
61466
61467	// The ID of the internet gateway.
61468	//
61469	// InternetGatewayId is a required field
61470	InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
61471}
61472
61473// String returns the string representation
61474func (s DeleteInternetGatewayInput) String() string {
61475	return awsutil.Prettify(s)
61476}
61477
61478// GoString returns the string representation
61479func (s DeleteInternetGatewayInput) GoString() string {
61480	return s.String()
61481}
61482
61483// Validate inspects the fields of the type to determine if they are valid.
61484func (s *DeleteInternetGatewayInput) Validate() error {
61485	invalidParams := request.ErrInvalidParams{Context: "DeleteInternetGatewayInput"}
61486	if s.InternetGatewayId == nil {
61487		invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
61488	}
61489
61490	if invalidParams.Len() > 0 {
61491		return invalidParams
61492	}
61493	return nil
61494}
61495
61496// SetDryRun sets the DryRun field's value.
61497func (s *DeleteInternetGatewayInput) SetDryRun(v bool) *DeleteInternetGatewayInput {
61498	s.DryRun = &v
61499	return s
61500}
61501
61502// SetInternetGatewayId sets the InternetGatewayId field's value.
61503func (s *DeleteInternetGatewayInput) SetInternetGatewayId(v string) *DeleteInternetGatewayInput {
61504	s.InternetGatewayId = &v
61505	return s
61506}
61507
61508type DeleteInternetGatewayOutput struct {
61509	_ struct{} `type:"structure"`
61510}
61511
61512// String returns the string representation
61513func (s DeleteInternetGatewayOutput) String() string {
61514	return awsutil.Prettify(s)
61515}
61516
61517// GoString returns the string representation
61518func (s DeleteInternetGatewayOutput) GoString() string {
61519	return s.String()
61520}
61521
61522type DeleteKeyPairInput struct {
61523	_ struct{} `type:"structure"`
61524
61525	// Checks whether you have the required permissions for the action, without
61526	// actually making the request, and provides an error response. If you have
61527	// the required permissions, the error response is DryRunOperation. Otherwise,
61528	// it is UnauthorizedOperation.
61529	DryRun *bool `locationName:"dryRun" type:"boolean"`
61530
61531	// The name of the key pair.
61532	KeyName *string `type:"string"`
61533
61534	// The ID of the key pair.
61535	KeyPairId *string `type:"string"`
61536}
61537
61538// String returns the string representation
61539func (s DeleteKeyPairInput) String() string {
61540	return awsutil.Prettify(s)
61541}
61542
61543// GoString returns the string representation
61544func (s DeleteKeyPairInput) GoString() string {
61545	return s.String()
61546}
61547
61548// SetDryRun sets the DryRun field's value.
61549func (s *DeleteKeyPairInput) SetDryRun(v bool) *DeleteKeyPairInput {
61550	s.DryRun = &v
61551	return s
61552}
61553
61554// SetKeyName sets the KeyName field's value.
61555func (s *DeleteKeyPairInput) SetKeyName(v string) *DeleteKeyPairInput {
61556	s.KeyName = &v
61557	return s
61558}
61559
61560// SetKeyPairId sets the KeyPairId field's value.
61561func (s *DeleteKeyPairInput) SetKeyPairId(v string) *DeleteKeyPairInput {
61562	s.KeyPairId = &v
61563	return s
61564}
61565
61566type DeleteKeyPairOutput struct {
61567	_ struct{} `type:"structure"`
61568}
61569
61570// String returns the string representation
61571func (s DeleteKeyPairOutput) String() string {
61572	return awsutil.Prettify(s)
61573}
61574
61575// GoString returns the string representation
61576func (s DeleteKeyPairOutput) GoString() string {
61577	return s.String()
61578}
61579
61580type DeleteLaunchTemplateInput struct {
61581	_ struct{} `type:"structure"`
61582
61583	// Checks whether you have the required permissions for the action, without
61584	// actually making the request, and provides an error response. If you have
61585	// the required permissions, the error response is DryRunOperation. Otherwise,
61586	// it is UnauthorizedOperation.
61587	DryRun *bool `type:"boolean"`
61588
61589	// The ID of the launch template. You must specify either the launch template
61590	// ID or launch template name in the request.
61591	LaunchTemplateId *string `type:"string"`
61592
61593	// The name of the launch template. You must specify either the launch template
61594	// ID or launch template name in the request.
61595	LaunchTemplateName *string `min:"3" type:"string"`
61596}
61597
61598// String returns the string representation
61599func (s DeleteLaunchTemplateInput) String() string {
61600	return awsutil.Prettify(s)
61601}
61602
61603// GoString returns the string representation
61604func (s DeleteLaunchTemplateInput) GoString() string {
61605	return s.String()
61606}
61607
61608// Validate inspects the fields of the type to determine if they are valid.
61609func (s *DeleteLaunchTemplateInput) Validate() error {
61610	invalidParams := request.ErrInvalidParams{Context: "DeleteLaunchTemplateInput"}
61611	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
61612		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
61613	}
61614
61615	if invalidParams.Len() > 0 {
61616		return invalidParams
61617	}
61618	return nil
61619}
61620
61621// SetDryRun sets the DryRun field's value.
61622func (s *DeleteLaunchTemplateInput) SetDryRun(v bool) *DeleteLaunchTemplateInput {
61623	s.DryRun = &v
61624	return s
61625}
61626
61627// SetLaunchTemplateId sets the LaunchTemplateId field's value.
61628func (s *DeleteLaunchTemplateInput) SetLaunchTemplateId(v string) *DeleteLaunchTemplateInput {
61629	s.LaunchTemplateId = &v
61630	return s
61631}
61632
61633// SetLaunchTemplateName sets the LaunchTemplateName field's value.
61634func (s *DeleteLaunchTemplateInput) SetLaunchTemplateName(v string) *DeleteLaunchTemplateInput {
61635	s.LaunchTemplateName = &v
61636	return s
61637}
61638
61639type DeleteLaunchTemplateOutput struct {
61640	_ struct{} `type:"structure"`
61641
61642	// Information about the launch template.
61643	LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
61644}
61645
61646// String returns the string representation
61647func (s DeleteLaunchTemplateOutput) String() string {
61648	return awsutil.Prettify(s)
61649}
61650
61651// GoString returns the string representation
61652func (s DeleteLaunchTemplateOutput) GoString() string {
61653	return s.String()
61654}
61655
61656// SetLaunchTemplate sets the LaunchTemplate field's value.
61657func (s *DeleteLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *DeleteLaunchTemplateOutput {
61658	s.LaunchTemplate = v
61659	return s
61660}
61661
61662type DeleteLaunchTemplateVersionsInput struct {
61663	_ struct{} `type:"structure"`
61664
61665	// Checks whether you have the required permissions for the action, without
61666	// actually making the request, and provides an error response. If you have
61667	// the required permissions, the error response is DryRunOperation. Otherwise,
61668	// it is UnauthorizedOperation.
61669	DryRun *bool `type:"boolean"`
61670
61671	// The ID of the launch template. You must specify either the launch template
61672	// ID or launch template name in the request.
61673	LaunchTemplateId *string `type:"string"`
61674
61675	// The name of the launch template. You must specify either the launch template
61676	// ID or launch template name in the request.
61677	LaunchTemplateName *string `min:"3" type:"string"`
61678
61679	// The version numbers of one or more launch template versions to delete.
61680	//
61681	// Versions is a required field
61682	Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list" required:"true"`
61683}
61684
61685// String returns the string representation
61686func (s DeleteLaunchTemplateVersionsInput) String() string {
61687	return awsutil.Prettify(s)
61688}
61689
61690// GoString returns the string representation
61691func (s DeleteLaunchTemplateVersionsInput) GoString() string {
61692	return s.String()
61693}
61694
61695// Validate inspects the fields of the type to determine if they are valid.
61696func (s *DeleteLaunchTemplateVersionsInput) Validate() error {
61697	invalidParams := request.ErrInvalidParams{Context: "DeleteLaunchTemplateVersionsInput"}
61698	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
61699		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
61700	}
61701	if s.Versions == nil {
61702		invalidParams.Add(request.NewErrParamRequired("Versions"))
61703	}
61704
61705	if invalidParams.Len() > 0 {
61706		return invalidParams
61707	}
61708	return nil
61709}
61710
61711// SetDryRun sets the DryRun field's value.
61712func (s *DeleteLaunchTemplateVersionsInput) SetDryRun(v bool) *DeleteLaunchTemplateVersionsInput {
61713	s.DryRun = &v
61714	return s
61715}
61716
61717// SetLaunchTemplateId sets the LaunchTemplateId field's value.
61718func (s *DeleteLaunchTemplateVersionsInput) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsInput {
61719	s.LaunchTemplateId = &v
61720	return s
61721}
61722
61723// SetLaunchTemplateName sets the LaunchTemplateName field's value.
61724func (s *DeleteLaunchTemplateVersionsInput) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsInput {
61725	s.LaunchTemplateName = &v
61726	return s
61727}
61728
61729// SetVersions sets the Versions field's value.
61730func (s *DeleteLaunchTemplateVersionsInput) SetVersions(v []*string) *DeleteLaunchTemplateVersionsInput {
61731	s.Versions = v
61732	return s
61733}
61734
61735type DeleteLaunchTemplateVersionsOutput struct {
61736	_ struct{} `type:"structure"`
61737
61738	// Information about the launch template versions that were successfully deleted.
61739	SuccessfullyDeletedLaunchTemplateVersions []*DeleteLaunchTemplateVersionsResponseSuccessItem `locationName:"successfullyDeletedLaunchTemplateVersionSet" locationNameList:"item" type:"list"`
61740
61741	// Information about the launch template versions that could not be deleted.
61742	UnsuccessfullyDeletedLaunchTemplateVersions []*DeleteLaunchTemplateVersionsResponseErrorItem `locationName:"unsuccessfullyDeletedLaunchTemplateVersionSet" locationNameList:"item" type:"list"`
61743}
61744
61745// String returns the string representation
61746func (s DeleteLaunchTemplateVersionsOutput) String() string {
61747	return awsutil.Prettify(s)
61748}
61749
61750// GoString returns the string representation
61751func (s DeleteLaunchTemplateVersionsOutput) GoString() string {
61752	return s.String()
61753}
61754
61755// SetSuccessfullyDeletedLaunchTemplateVersions sets the SuccessfullyDeletedLaunchTemplateVersions field's value.
61756func (s *DeleteLaunchTemplateVersionsOutput) SetSuccessfullyDeletedLaunchTemplateVersions(v []*DeleteLaunchTemplateVersionsResponseSuccessItem) *DeleteLaunchTemplateVersionsOutput {
61757	s.SuccessfullyDeletedLaunchTemplateVersions = v
61758	return s
61759}
61760
61761// SetUnsuccessfullyDeletedLaunchTemplateVersions sets the UnsuccessfullyDeletedLaunchTemplateVersions field's value.
61762func (s *DeleteLaunchTemplateVersionsOutput) SetUnsuccessfullyDeletedLaunchTemplateVersions(v []*DeleteLaunchTemplateVersionsResponseErrorItem) *DeleteLaunchTemplateVersionsOutput {
61763	s.UnsuccessfullyDeletedLaunchTemplateVersions = v
61764	return s
61765}
61766
61767// Describes a launch template version that could not be deleted.
61768type DeleteLaunchTemplateVersionsResponseErrorItem struct {
61769	_ struct{} `type:"structure"`
61770
61771	// The ID of the launch template.
61772	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
61773
61774	// The name of the launch template.
61775	LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"`
61776
61777	// Information about the error.
61778	ResponseError *ResponseError `locationName:"responseError" type:"structure"`
61779
61780	// The version number of the launch template.
61781	VersionNumber *int64 `locationName:"versionNumber" type:"long"`
61782}
61783
61784// String returns the string representation
61785func (s DeleteLaunchTemplateVersionsResponseErrorItem) String() string {
61786	return awsutil.Prettify(s)
61787}
61788
61789// GoString returns the string representation
61790func (s DeleteLaunchTemplateVersionsResponseErrorItem) GoString() string {
61791	return s.String()
61792}
61793
61794// SetLaunchTemplateId sets the LaunchTemplateId field's value.
61795func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsResponseErrorItem {
61796	s.LaunchTemplateId = &v
61797	return s
61798}
61799
61800// SetLaunchTemplateName sets the LaunchTemplateName field's value.
61801func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsResponseErrorItem {
61802	s.LaunchTemplateName = &v
61803	return s
61804}
61805
61806// SetResponseError sets the ResponseError field's value.
61807func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetResponseError(v *ResponseError) *DeleteLaunchTemplateVersionsResponseErrorItem {
61808	s.ResponseError = v
61809	return s
61810}
61811
61812// SetVersionNumber sets the VersionNumber field's value.
61813func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetVersionNumber(v int64) *DeleteLaunchTemplateVersionsResponseErrorItem {
61814	s.VersionNumber = &v
61815	return s
61816}
61817
61818// Describes a launch template version that was successfully deleted.
61819type DeleteLaunchTemplateVersionsResponseSuccessItem struct {
61820	_ struct{} `type:"structure"`
61821
61822	// The ID of the launch template.
61823	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
61824
61825	// The name of the launch template.
61826	LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"`
61827
61828	// The version number of the launch template.
61829	VersionNumber *int64 `locationName:"versionNumber" type:"long"`
61830}
61831
61832// String returns the string representation
61833func (s DeleteLaunchTemplateVersionsResponseSuccessItem) String() string {
61834	return awsutil.Prettify(s)
61835}
61836
61837// GoString returns the string representation
61838func (s DeleteLaunchTemplateVersionsResponseSuccessItem) GoString() string {
61839	return s.String()
61840}
61841
61842// SetLaunchTemplateId sets the LaunchTemplateId field's value.
61843func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsResponseSuccessItem {
61844	s.LaunchTemplateId = &v
61845	return s
61846}
61847
61848// SetLaunchTemplateName sets the LaunchTemplateName field's value.
61849func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsResponseSuccessItem {
61850	s.LaunchTemplateName = &v
61851	return s
61852}
61853
61854// SetVersionNumber sets the VersionNumber field's value.
61855func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetVersionNumber(v int64) *DeleteLaunchTemplateVersionsResponseSuccessItem {
61856	s.VersionNumber = &v
61857	return s
61858}
61859
61860type DeleteLocalGatewayRouteInput struct {
61861	_ struct{} `type:"structure"`
61862
61863	// The CIDR range for the route. This must match the CIDR for the route exactly.
61864	//
61865	// DestinationCidrBlock is a required field
61866	DestinationCidrBlock *string `type:"string" required:"true"`
61867
61868	// Checks whether you have the required permissions for the action, without
61869	// actually making the request, and provides an error response. If you have
61870	// the required permissions, the error response is DryRunOperation. Otherwise,
61871	// it is UnauthorizedOperation.
61872	DryRun *bool `type:"boolean"`
61873
61874	// The ID of the local gateway route table.
61875	//
61876	// LocalGatewayRouteTableId is a required field
61877	LocalGatewayRouteTableId *string `type:"string" required:"true"`
61878}
61879
61880// String returns the string representation
61881func (s DeleteLocalGatewayRouteInput) String() string {
61882	return awsutil.Prettify(s)
61883}
61884
61885// GoString returns the string representation
61886func (s DeleteLocalGatewayRouteInput) GoString() string {
61887	return s.String()
61888}
61889
61890// Validate inspects the fields of the type to determine if they are valid.
61891func (s *DeleteLocalGatewayRouteInput) Validate() error {
61892	invalidParams := request.ErrInvalidParams{Context: "DeleteLocalGatewayRouteInput"}
61893	if s.DestinationCidrBlock == nil {
61894		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
61895	}
61896	if s.LocalGatewayRouteTableId == nil {
61897		invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
61898	}
61899
61900	if invalidParams.Len() > 0 {
61901		return invalidParams
61902	}
61903	return nil
61904}
61905
61906// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
61907func (s *DeleteLocalGatewayRouteInput) SetDestinationCidrBlock(v string) *DeleteLocalGatewayRouteInput {
61908	s.DestinationCidrBlock = &v
61909	return s
61910}
61911
61912// SetDryRun sets the DryRun field's value.
61913func (s *DeleteLocalGatewayRouteInput) SetDryRun(v bool) *DeleteLocalGatewayRouteInput {
61914	s.DryRun = &v
61915	return s
61916}
61917
61918// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
61919func (s *DeleteLocalGatewayRouteInput) SetLocalGatewayRouteTableId(v string) *DeleteLocalGatewayRouteInput {
61920	s.LocalGatewayRouteTableId = &v
61921	return s
61922}
61923
61924type DeleteLocalGatewayRouteOutput struct {
61925	_ struct{} `type:"structure"`
61926
61927	// Information about the route.
61928	Route *LocalGatewayRoute `locationName:"route" type:"structure"`
61929}
61930
61931// String returns the string representation
61932func (s DeleteLocalGatewayRouteOutput) String() string {
61933	return awsutil.Prettify(s)
61934}
61935
61936// GoString returns the string representation
61937func (s DeleteLocalGatewayRouteOutput) GoString() string {
61938	return s.String()
61939}
61940
61941// SetRoute sets the Route field's value.
61942func (s *DeleteLocalGatewayRouteOutput) SetRoute(v *LocalGatewayRoute) *DeleteLocalGatewayRouteOutput {
61943	s.Route = v
61944	return s
61945}
61946
61947type DeleteLocalGatewayRouteTableVpcAssociationInput struct {
61948	_ struct{} `type:"structure"`
61949
61950	// Checks whether you have the required permissions for the action, without
61951	// actually making the request, and provides an error response. If you have
61952	// the required permissions, the error response is DryRunOperation. Otherwise,
61953	// it is UnauthorizedOperation.
61954	DryRun *bool `type:"boolean"`
61955
61956	// The ID of the association.
61957	//
61958	// LocalGatewayRouteTableVpcAssociationId is a required field
61959	LocalGatewayRouteTableVpcAssociationId *string `type:"string" required:"true"`
61960}
61961
61962// String returns the string representation
61963func (s DeleteLocalGatewayRouteTableVpcAssociationInput) String() string {
61964	return awsutil.Prettify(s)
61965}
61966
61967// GoString returns the string representation
61968func (s DeleteLocalGatewayRouteTableVpcAssociationInput) GoString() string {
61969	return s.String()
61970}
61971
61972// Validate inspects the fields of the type to determine if they are valid.
61973func (s *DeleteLocalGatewayRouteTableVpcAssociationInput) Validate() error {
61974	invalidParams := request.ErrInvalidParams{Context: "DeleteLocalGatewayRouteTableVpcAssociationInput"}
61975	if s.LocalGatewayRouteTableVpcAssociationId == nil {
61976		invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableVpcAssociationId"))
61977	}
61978
61979	if invalidParams.Len() > 0 {
61980		return invalidParams
61981	}
61982	return nil
61983}
61984
61985// SetDryRun sets the DryRun field's value.
61986func (s *DeleteLocalGatewayRouteTableVpcAssociationInput) SetDryRun(v bool) *DeleteLocalGatewayRouteTableVpcAssociationInput {
61987	s.DryRun = &v
61988	return s
61989}
61990
61991// SetLocalGatewayRouteTableVpcAssociationId sets the LocalGatewayRouteTableVpcAssociationId field's value.
61992func (s *DeleteLocalGatewayRouteTableVpcAssociationInput) SetLocalGatewayRouteTableVpcAssociationId(v string) *DeleteLocalGatewayRouteTableVpcAssociationInput {
61993	s.LocalGatewayRouteTableVpcAssociationId = &v
61994	return s
61995}
61996
61997type DeleteLocalGatewayRouteTableVpcAssociationOutput struct {
61998	_ struct{} `type:"structure"`
61999
62000	// Information about the association.
62001	LocalGatewayRouteTableVpcAssociation *LocalGatewayRouteTableVpcAssociation `locationName:"localGatewayRouteTableVpcAssociation" type:"structure"`
62002}
62003
62004// String returns the string representation
62005func (s DeleteLocalGatewayRouteTableVpcAssociationOutput) String() string {
62006	return awsutil.Prettify(s)
62007}
62008
62009// GoString returns the string representation
62010func (s DeleteLocalGatewayRouteTableVpcAssociationOutput) GoString() string {
62011	return s.String()
62012}
62013
62014// SetLocalGatewayRouteTableVpcAssociation sets the LocalGatewayRouteTableVpcAssociation field's value.
62015func (s *DeleteLocalGatewayRouteTableVpcAssociationOutput) SetLocalGatewayRouteTableVpcAssociation(v *LocalGatewayRouteTableVpcAssociation) *DeleteLocalGatewayRouteTableVpcAssociationOutput {
62016	s.LocalGatewayRouteTableVpcAssociation = v
62017	return s
62018}
62019
62020type DeleteManagedPrefixListInput struct {
62021	_ struct{} `type:"structure"`
62022
62023	// Checks whether you have the required permissions for the action, without
62024	// actually making the request, and provides an error response. If you have
62025	// the required permissions, the error response is DryRunOperation. Otherwise,
62026	// it is UnauthorizedOperation.
62027	DryRun *bool `type:"boolean"`
62028
62029	// The ID of the prefix list.
62030	//
62031	// PrefixListId is a required field
62032	PrefixListId *string `type:"string" required:"true"`
62033}
62034
62035// String returns the string representation
62036func (s DeleteManagedPrefixListInput) String() string {
62037	return awsutil.Prettify(s)
62038}
62039
62040// GoString returns the string representation
62041func (s DeleteManagedPrefixListInput) GoString() string {
62042	return s.String()
62043}
62044
62045// Validate inspects the fields of the type to determine if they are valid.
62046func (s *DeleteManagedPrefixListInput) Validate() error {
62047	invalidParams := request.ErrInvalidParams{Context: "DeleteManagedPrefixListInput"}
62048	if s.PrefixListId == nil {
62049		invalidParams.Add(request.NewErrParamRequired("PrefixListId"))
62050	}
62051
62052	if invalidParams.Len() > 0 {
62053		return invalidParams
62054	}
62055	return nil
62056}
62057
62058// SetDryRun sets the DryRun field's value.
62059func (s *DeleteManagedPrefixListInput) SetDryRun(v bool) *DeleteManagedPrefixListInput {
62060	s.DryRun = &v
62061	return s
62062}
62063
62064// SetPrefixListId sets the PrefixListId field's value.
62065func (s *DeleteManagedPrefixListInput) SetPrefixListId(v string) *DeleteManagedPrefixListInput {
62066	s.PrefixListId = &v
62067	return s
62068}
62069
62070type DeleteManagedPrefixListOutput struct {
62071	_ struct{} `type:"structure"`
62072
62073	// Information about the prefix list.
62074	PrefixList *ManagedPrefixList `locationName:"prefixList" type:"structure"`
62075}
62076
62077// String returns the string representation
62078func (s DeleteManagedPrefixListOutput) String() string {
62079	return awsutil.Prettify(s)
62080}
62081
62082// GoString returns the string representation
62083func (s DeleteManagedPrefixListOutput) GoString() string {
62084	return s.String()
62085}
62086
62087// SetPrefixList sets the PrefixList field's value.
62088func (s *DeleteManagedPrefixListOutput) SetPrefixList(v *ManagedPrefixList) *DeleteManagedPrefixListOutput {
62089	s.PrefixList = v
62090	return s
62091}
62092
62093type DeleteNatGatewayInput struct {
62094	_ struct{} `type:"structure"`
62095
62096	// Checks whether you have the required permissions for the action, without
62097	// actually making the request, and provides an error response. If you have
62098	// the required permissions, the error response is DryRunOperation. Otherwise,
62099	// it is UnauthorizedOperation.
62100	DryRun *bool `type:"boolean"`
62101
62102	// The ID of the NAT gateway.
62103	//
62104	// NatGatewayId is a required field
62105	NatGatewayId *string `type:"string" required:"true"`
62106}
62107
62108// String returns the string representation
62109func (s DeleteNatGatewayInput) String() string {
62110	return awsutil.Prettify(s)
62111}
62112
62113// GoString returns the string representation
62114func (s DeleteNatGatewayInput) GoString() string {
62115	return s.String()
62116}
62117
62118// Validate inspects the fields of the type to determine if they are valid.
62119func (s *DeleteNatGatewayInput) Validate() error {
62120	invalidParams := request.ErrInvalidParams{Context: "DeleteNatGatewayInput"}
62121	if s.NatGatewayId == nil {
62122		invalidParams.Add(request.NewErrParamRequired("NatGatewayId"))
62123	}
62124
62125	if invalidParams.Len() > 0 {
62126		return invalidParams
62127	}
62128	return nil
62129}
62130
62131// SetDryRun sets the DryRun field's value.
62132func (s *DeleteNatGatewayInput) SetDryRun(v bool) *DeleteNatGatewayInput {
62133	s.DryRun = &v
62134	return s
62135}
62136
62137// SetNatGatewayId sets the NatGatewayId field's value.
62138func (s *DeleteNatGatewayInput) SetNatGatewayId(v string) *DeleteNatGatewayInput {
62139	s.NatGatewayId = &v
62140	return s
62141}
62142
62143type DeleteNatGatewayOutput struct {
62144	_ struct{} `type:"structure"`
62145
62146	// The ID of the NAT gateway.
62147	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
62148}
62149
62150// String returns the string representation
62151func (s DeleteNatGatewayOutput) String() string {
62152	return awsutil.Prettify(s)
62153}
62154
62155// GoString returns the string representation
62156func (s DeleteNatGatewayOutput) GoString() string {
62157	return s.String()
62158}
62159
62160// SetNatGatewayId sets the NatGatewayId field's value.
62161func (s *DeleteNatGatewayOutput) SetNatGatewayId(v string) *DeleteNatGatewayOutput {
62162	s.NatGatewayId = &v
62163	return s
62164}
62165
62166type DeleteNetworkAclEntryInput struct {
62167	_ struct{} `type:"structure"`
62168
62169	// Checks whether you have the required permissions for the action, without
62170	// actually making the request, and provides an error response. If you have
62171	// the required permissions, the error response is DryRunOperation. Otherwise,
62172	// it is UnauthorizedOperation.
62173	DryRun *bool `locationName:"dryRun" type:"boolean"`
62174
62175	// Indicates whether the rule is an egress rule.
62176	//
62177	// Egress is a required field
62178	Egress *bool `locationName:"egress" type:"boolean" required:"true"`
62179
62180	// The ID of the network ACL.
62181	//
62182	// NetworkAclId is a required field
62183	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
62184
62185	// The rule number of the entry to delete.
62186	//
62187	// RuleNumber is a required field
62188	RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
62189}
62190
62191// String returns the string representation
62192func (s DeleteNetworkAclEntryInput) String() string {
62193	return awsutil.Prettify(s)
62194}
62195
62196// GoString returns the string representation
62197func (s DeleteNetworkAclEntryInput) GoString() string {
62198	return s.String()
62199}
62200
62201// Validate inspects the fields of the type to determine if they are valid.
62202func (s *DeleteNetworkAclEntryInput) Validate() error {
62203	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclEntryInput"}
62204	if s.Egress == nil {
62205		invalidParams.Add(request.NewErrParamRequired("Egress"))
62206	}
62207	if s.NetworkAclId == nil {
62208		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
62209	}
62210	if s.RuleNumber == nil {
62211		invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
62212	}
62213
62214	if invalidParams.Len() > 0 {
62215		return invalidParams
62216	}
62217	return nil
62218}
62219
62220// SetDryRun sets the DryRun field's value.
62221func (s *DeleteNetworkAclEntryInput) SetDryRun(v bool) *DeleteNetworkAclEntryInput {
62222	s.DryRun = &v
62223	return s
62224}
62225
62226// SetEgress sets the Egress field's value.
62227func (s *DeleteNetworkAclEntryInput) SetEgress(v bool) *DeleteNetworkAclEntryInput {
62228	s.Egress = &v
62229	return s
62230}
62231
62232// SetNetworkAclId sets the NetworkAclId field's value.
62233func (s *DeleteNetworkAclEntryInput) SetNetworkAclId(v string) *DeleteNetworkAclEntryInput {
62234	s.NetworkAclId = &v
62235	return s
62236}
62237
62238// SetRuleNumber sets the RuleNumber field's value.
62239func (s *DeleteNetworkAclEntryInput) SetRuleNumber(v int64) *DeleteNetworkAclEntryInput {
62240	s.RuleNumber = &v
62241	return s
62242}
62243
62244type DeleteNetworkAclEntryOutput struct {
62245	_ struct{} `type:"structure"`
62246}
62247
62248// String returns the string representation
62249func (s DeleteNetworkAclEntryOutput) String() string {
62250	return awsutil.Prettify(s)
62251}
62252
62253// GoString returns the string representation
62254func (s DeleteNetworkAclEntryOutput) GoString() string {
62255	return s.String()
62256}
62257
62258type DeleteNetworkAclInput struct {
62259	_ struct{} `type:"structure"`
62260
62261	// Checks whether you have the required permissions for the action, without
62262	// actually making the request, and provides an error response. If you have
62263	// the required permissions, the error response is DryRunOperation. Otherwise,
62264	// it is UnauthorizedOperation.
62265	DryRun *bool `locationName:"dryRun" type:"boolean"`
62266
62267	// The ID of the network ACL.
62268	//
62269	// NetworkAclId is a required field
62270	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
62271}
62272
62273// String returns the string representation
62274func (s DeleteNetworkAclInput) String() string {
62275	return awsutil.Prettify(s)
62276}
62277
62278// GoString returns the string representation
62279func (s DeleteNetworkAclInput) GoString() string {
62280	return s.String()
62281}
62282
62283// Validate inspects the fields of the type to determine if they are valid.
62284func (s *DeleteNetworkAclInput) Validate() error {
62285	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclInput"}
62286	if s.NetworkAclId == nil {
62287		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
62288	}
62289
62290	if invalidParams.Len() > 0 {
62291		return invalidParams
62292	}
62293	return nil
62294}
62295
62296// SetDryRun sets the DryRun field's value.
62297func (s *DeleteNetworkAclInput) SetDryRun(v bool) *DeleteNetworkAclInput {
62298	s.DryRun = &v
62299	return s
62300}
62301
62302// SetNetworkAclId sets the NetworkAclId field's value.
62303func (s *DeleteNetworkAclInput) SetNetworkAclId(v string) *DeleteNetworkAclInput {
62304	s.NetworkAclId = &v
62305	return s
62306}
62307
62308type DeleteNetworkAclOutput struct {
62309	_ struct{} `type:"structure"`
62310}
62311
62312// String returns the string representation
62313func (s DeleteNetworkAclOutput) String() string {
62314	return awsutil.Prettify(s)
62315}
62316
62317// GoString returns the string representation
62318func (s DeleteNetworkAclOutput) GoString() string {
62319	return s.String()
62320}
62321
62322type DeleteNetworkInsightsAnalysisInput struct {
62323	_ struct{} `type:"structure"`
62324
62325	// Checks whether you have the required permissions for the action, without
62326	// actually making the request, and provides an error response. If you have
62327	// the required permissions, the error response is DryRunOperation. Otherwise,
62328	// it is UnauthorizedOperation.
62329	DryRun *bool `type:"boolean"`
62330
62331	// The ID of the network insights analysis.
62332	//
62333	// NetworkInsightsAnalysisId is a required field
62334	NetworkInsightsAnalysisId *string `type:"string" required:"true"`
62335}
62336
62337// String returns the string representation
62338func (s DeleteNetworkInsightsAnalysisInput) String() string {
62339	return awsutil.Prettify(s)
62340}
62341
62342// GoString returns the string representation
62343func (s DeleteNetworkInsightsAnalysisInput) GoString() string {
62344	return s.String()
62345}
62346
62347// Validate inspects the fields of the type to determine if they are valid.
62348func (s *DeleteNetworkInsightsAnalysisInput) Validate() error {
62349	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInsightsAnalysisInput"}
62350	if s.NetworkInsightsAnalysisId == nil {
62351		invalidParams.Add(request.NewErrParamRequired("NetworkInsightsAnalysisId"))
62352	}
62353
62354	if invalidParams.Len() > 0 {
62355		return invalidParams
62356	}
62357	return nil
62358}
62359
62360// SetDryRun sets the DryRun field's value.
62361func (s *DeleteNetworkInsightsAnalysisInput) SetDryRun(v bool) *DeleteNetworkInsightsAnalysisInput {
62362	s.DryRun = &v
62363	return s
62364}
62365
62366// SetNetworkInsightsAnalysisId sets the NetworkInsightsAnalysisId field's value.
62367func (s *DeleteNetworkInsightsAnalysisInput) SetNetworkInsightsAnalysisId(v string) *DeleteNetworkInsightsAnalysisInput {
62368	s.NetworkInsightsAnalysisId = &v
62369	return s
62370}
62371
62372type DeleteNetworkInsightsAnalysisOutput struct {
62373	_ struct{} `type:"structure"`
62374
62375	// The ID of the network insights analysis.
62376	NetworkInsightsAnalysisId *string `locationName:"networkInsightsAnalysisId" type:"string"`
62377}
62378
62379// String returns the string representation
62380func (s DeleteNetworkInsightsAnalysisOutput) String() string {
62381	return awsutil.Prettify(s)
62382}
62383
62384// GoString returns the string representation
62385func (s DeleteNetworkInsightsAnalysisOutput) GoString() string {
62386	return s.String()
62387}
62388
62389// SetNetworkInsightsAnalysisId sets the NetworkInsightsAnalysisId field's value.
62390func (s *DeleteNetworkInsightsAnalysisOutput) SetNetworkInsightsAnalysisId(v string) *DeleteNetworkInsightsAnalysisOutput {
62391	s.NetworkInsightsAnalysisId = &v
62392	return s
62393}
62394
62395type DeleteNetworkInsightsPathInput struct {
62396	_ struct{} `type:"structure"`
62397
62398	// Checks whether you have the required permissions for the action, without
62399	// actually making the request, and provides an error response. If you have
62400	// the required permissions, the error response is DryRunOperation. Otherwise,
62401	// it is UnauthorizedOperation.
62402	DryRun *bool `type:"boolean"`
62403
62404	// The ID of the path.
62405	//
62406	// NetworkInsightsPathId is a required field
62407	NetworkInsightsPathId *string `type:"string" required:"true"`
62408}
62409
62410// String returns the string representation
62411func (s DeleteNetworkInsightsPathInput) String() string {
62412	return awsutil.Prettify(s)
62413}
62414
62415// GoString returns the string representation
62416func (s DeleteNetworkInsightsPathInput) GoString() string {
62417	return s.String()
62418}
62419
62420// Validate inspects the fields of the type to determine if they are valid.
62421func (s *DeleteNetworkInsightsPathInput) Validate() error {
62422	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInsightsPathInput"}
62423	if s.NetworkInsightsPathId == nil {
62424		invalidParams.Add(request.NewErrParamRequired("NetworkInsightsPathId"))
62425	}
62426
62427	if invalidParams.Len() > 0 {
62428		return invalidParams
62429	}
62430	return nil
62431}
62432
62433// SetDryRun sets the DryRun field's value.
62434func (s *DeleteNetworkInsightsPathInput) SetDryRun(v bool) *DeleteNetworkInsightsPathInput {
62435	s.DryRun = &v
62436	return s
62437}
62438
62439// SetNetworkInsightsPathId sets the NetworkInsightsPathId field's value.
62440func (s *DeleteNetworkInsightsPathInput) SetNetworkInsightsPathId(v string) *DeleteNetworkInsightsPathInput {
62441	s.NetworkInsightsPathId = &v
62442	return s
62443}
62444
62445type DeleteNetworkInsightsPathOutput struct {
62446	_ struct{} `type:"structure"`
62447
62448	// The ID of the path.
62449	NetworkInsightsPathId *string `locationName:"networkInsightsPathId" type:"string"`
62450}
62451
62452// String returns the string representation
62453func (s DeleteNetworkInsightsPathOutput) String() string {
62454	return awsutil.Prettify(s)
62455}
62456
62457// GoString returns the string representation
62458func (s DeleteNetworkInsightsPathOutput) GoString() string {
62459	return s.String()
62460}
62461
62462// SetNetworkInsightsPathId sets the NetworkInsightsPathId field's value.
62463func (s *DeleteNetworkInsightsPathOutput) SetNetworkInsightsPathId(v string) *DeleteNetworkInsightsPathOutput {
62464	s.NetworkInsightsPathId = &v
62465	return s
62466}
62467
62468// Contains the parameters for DeleteNetworkInterface.
62469type DeleteNetworkInterfaceInput struct {
62470	_ struct{} `type:"structure"`
62471
62472	// Checks whether you have the required permissions for the action, without
62473	// actually making the request, and provides an error response. If you have
62474	// the required permissions, the error response is DryRunOperation. Otherwise,
62475	// it is UnauthorizedOperation.
62476	DryRun *bool `locationName:"dryRun" type:"boolean"`
62477
62478	// The ID of the network interface.
62479	//
62480	// NetworkInterfaceId is a required field
62481	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
62482}
62483
62484// String returns the string representation
62485func (s DeleteNetworkInterfaceInput) String() string {
62486	return awsutil.Prettify(s)
62487}
62488
62489// GoString returns the string representation
62490func (s DeleteNetworkInterfaceInput) GoString() string {
62491	return s.String()
62492}
62493
62494// Validate inspects the fields of the type to determine if they are valid.
62495func (s *DeleteNetworkInterfaceInput) Validate() error {
62496	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfaceInput"}
62497	if s.NetworkInterfaceId == nil {
62498		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
62499	}
62500
62501	if invalidParams.Len() > 0 {
62502		return invalidParams
62503	}
62504	return nil
62505}
62506
62507// SetDryRun sets the DryRun field's value.
62508func (s *DeleteNetworkInterfaceInput) SetDryRun(v bool) *DeleteNetworkInterfaceInput {
62509	s.DryRun = &v
62510	return s
62511}
62512
62513// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
62514func (s *DeleteNetworkInterfaceInput) SetNetworkInterfaceId(v string) *DeleteNetworkInterfaceInput {
62515	s.NetworkInterfaceId = &v
62516	return s
62517}
62518
62519type DeleteNetworkInterfaceOutput struct {
62520	_ struct{} `type:"structure"`
62521}
62522
62523// String returns the string representation
62524func (s DeleteNetworkInterfaceOutput) String() string {
62525	return awsutil.Prettify(s)
62526}
62527
62528// GoString returns the string representation
62529func (s DeleteNetworkInterfaceOutput) GoString() string {
62530	return s.String()
62531}
62532
62533// Contains the parameters for DeleteNetworkInterfacePermission.
62534type DeleteNetworkInterfacePermissionInput struct {
62535	_ struct{} `type:"structure"`
62536
62537	// Checks whether you have the required permissions for the action, without
62538	// actually making the request, and provides an error response. If you have
62539	// the required permissions, the error response is DryRunOperation. Otherwise,
62540	// it is UnauthorizedOperation.
62541	DryRun *bool `type:"boolean"`
62542
62543	// Specify true to remove the permission even if the network interface is attached
62544	// to an instance.
62545	Force *bool `type:"boolean"`
62546
62547	// The ID of the network interface permission.
62548	//
62549	// NetworkInterfacePermissionId is a required field
62550	NetworkInterfacePermissionId *string `type:"string" required:"true"`
62551}
62552
62553// String returns the string representation
62554func (s DeleteNetworkInterfacePermissionInput) String() string {
62555	return awsutil.Prettify(s)
62556}
62557
62558// GoString returns the string representation
62559func (s DeleteNetworkInterfacePermissionInput) GoString() string {
62560	return s.String()
62561}
62562
62563// Validate inspects the fields of the type to determine if they are valid.
62564func (s *DeleteNetworkInterfacePermissionInput) Validate() error {
62565	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfacePermissionInput"}
62566	if s.NetworkInterfacePermissionId == nil {
62567		invalidParams.Add(request.NewErrParamRequired("NetworkInterfacePermissionId"))
62568	}
62569
62570	if invalidParams.Len() > 0 {
62571		return invalidParams
62572	}
62573	return nil
62574}
62575
62576// SetDryRun sets the DryRun field's value.
62577func (s *DeleteNetworkInterfacePermissionInput) SetDryRun(v bool) *DeleteNetworkInterfacePermissionInput {
62578	s.DryRun = &v
62579	return s
62580}
62581
62582// SetForce sets the Force field's value.
62583func (s *DeleteNetworkInterfacePermissionInput) SetForce(v bool) *DeleteNetworkInterfacePermissionInput {
62584	s.Force = &v
62585	return s
62586}
62587
62588// SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
62589func (s *DeleteNetworkInterfacePermissionInput) SetNetworkInterfacePermissionId(v string) *DeleteNetworkInterfacePermissionInput {
62590	s.NetworkInterfacePermissionId = &v
62591	return s
62592}
62593
62594// Contains the output for DeleteNetworkInterfacePermission.
62595type DeleteNetworkInterfacePermissionOutput struct {
62596	_ struct{} `type:"structure"`
62597
62598	// Returns true if the request succeeds, otherwise returns an error.
62599	Return *bool `locationName:"return" type:"boolean"`
62600}
62601
62602// String returns the string representation
62603func (s DeleteNetworkInterfacePermissionOutput) String() string {
62604	return awsutil.Prettify(s)
62605}
62606
62607// GoString returns the string representation
62608func (s DeleteNetworkInterfacePermissionOutput) GoString() string {
62609	return s.String()
62610}
62611
62612// SetReturn sets the Return field's value.
62613func (s *DeleteNetworkInterfacePermissionOutput) SetReturn(v bool) *DeleteNetworkInterfacePermissionOutput {
62614	s.Return = &v
62615	return s
62616}
62617
62618type DeletePlacementGroupInput struct {
62619	_ struct{} `type:"structure"`
62620
62621	// Checks whether you have the required permissions for the action, without
62622	// actually making the request, and provides an error response. If you have
62623	// the required permissions, the error response is DryRunOperation. Otherwise,
62624	// it is UnauthorizedOperation.
62625	DryRun *bool `locationName:"dryRun" type:"boolean"`
62626
62627	// The name of the placement group.
62628	//
62629	// GroupName is a required field
62630	GroupName *string `locationName:"groupName" type:"string" required:"true"`
62631}
62632
62633// String returns the string representation
62634func (s DeletePlacementGroupInput) String() string {
62635	return awsutil.Prettify(s)
62636}
62637
62638// GoString returns the string representation
62639func (s DeletePlacementGroupInput) GoString() string {
62640	return s.String()
62641}
62642
62643// Validate inspects the fields of the type to determine if they are valid.
62644func (s *DeletePlacementGroupInput) Validate() error {
62645	invalidParams := request.ErrInvalidParams{Context: "DeletePlacementGroupInput"}
62646	if s.GroupName == nil {
62647		invalidParams.Add(request.NewErrParamRequired("GroupName"))
62648	}
62649
62650	if invalidParams.Len() > 0 {
62651		return invalidParams
62652	}
62653	return nil
62654}
62655
62656// SetDryRun sets the DryRun field's value.
62657func (s *DeletePlacementGroupInput) SetDryRun(v bool) *DeletePlacementGroupInput {
62658	s.DryRun = &v
62659	return s
62660}
62661
62662// SetGroupName sets the GroupName field's value.
62663func (s *DeletePlacementGroupInput) SetGroupName(v string) *DeletePlacementGroupInput {
62664	s.GroupName = &v
62665	return s
62666}
62667
62668type DeletePlacementGroupOutput struct {
62669	_ struct{} `type:"structure"`
62670}
62671
62672// String returns the string representation
62673func (s DeletePlacementGroupOutput) String() string {
62674	return awsutil.Prettify(s)
62675}
62676
62677// GoString returns the string representation
62678func (s DeletePlacementGroupOutput) GoString() string {
62679	return s.String()
62680}
62681
62682// Describes the error for a Reserved Instance whose queued purchase could not
62683// be deleted.
62684type DeleteQueuedReservedInstancesError struct {
62685	_ struct{} `type:"structure"`
62686
62687	// The error code.
62688	Code *string `locationName:"code" type:"string" enum:"DeleteQueuedReservedInstancesErrorCode"`
62689
62690	// The error message.
62691	Message *string `locationName:"message" type:"string"`
62692}
62693
62694// String returns the string representation
62695func (s DeleteQueuedReservedInstancesError) String() string {
62696	return awsutil.Prettify(s)
62697}
62698
62699// GoString returns the string representation
62700func (s DeleteQueuedReservedInstancesError) GoString() string {
62701	return s.String()
62702}
62703
62704// SetCode sets the Code field's value.
62705func (s *DeleteQueuedReservedInstancesError) SetCode(v string) *DeleteQueuedReservedInstancesError {
62706	s.Code = &v
62707	return s
62708}
62709
62710// SetMessage sets the Message field's value.
62711func (s *DeleteQueuedReservedInstancesError) SetMessage(v string) *DeleteQueuedReservedInstancesError {
62712	s.Message = &v
62713	return s
62714}
62715
62716type DeleteQueuedReservedInstancesInput struct {
62717	_ struct{} `type:"structure"`
62718
62719	// Checks whether you have the required permissions for the action, without
62720	// actually making the request, and provides an error response. If you have
62721	// the required permissions, the error response is DryRunOperation. Otherwise,
62722	// it is UnauthorizedOperation.
62723	DryRun *bool `type:"boolean"`
62724
62725	// The IDs of the Reserved Instances.
62726	//
62727	// ReservedInstancesIds is a required field
62728	ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"item" min:"1" type:"list" required:"true"`
62729}
62730
62731// String returns the string representation
62732func (s DeleteQueuedReservedInstancesInput) String() string {
62733	return awsutil.Prettify(s)
62734}
62735
62736// GoString returns the string representation
62737func (s DeleteQueuedReservedInstancesInput) GoString() string {
62738	return s.String()
62739}
62740
62741// Validate inspects the fields of the type to determine if they are valid.
62742func (s *DeleteQueuedReservedInstancesInput) Validate() error {
62743	invalidParams := request.ErrInvalidParams{Context: "DeleteQueuedReservedInstancesInput"}
62744	if s.ReservedInstancesIds == nil {
62745		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesIds"))
62746	}
62747	if s.ReservedInstancesIds != nil && len(s.ReservedInstancesIds) < 1 {
62748		invalidParams.Add(request.NewErrParamMinLen("ReservedInstancesIds", 1))
62749	}
62750
62751	if invalidParams.Len() > 0 {
62752		return invalidParams
62753	}
62754	return nil
62755}
62756
62757// SetDryRun sets the DryRun field's value.
62758func (s *DeleteQueuedReservedInstancesInput) SetDryRun(v bool) *DeleteQueuedReservedInstancesInput {
62759	s.DryRun = &v
62760	return s
62761}
62762
62763// SetReservedInstancesIds sets the ReservedInstancesIds field's value.
62764func (s *DeleteQueuedReservedInstancesInput) SetReservedInstancesIds(v []*string) *DeleteQueuedReservedInstancesInput {
62765	s.ReservedInstancesIds = v
62766	return s
62767}
62768
62769type DeleteQueuedReservedInstancesOutput struct {
62770	_ struct{} `type:"structure"`
62771
62772	// Information about the queued purchases that could not be deleted.
62773	FailedQueuedPurchaseDeletions []*FailedQueuedPurchaseDeletion `locationName:"failedQueuedPurchaseDeletionSet" locationNameList:"item" type:"list"`
62774
62775	// Information about the queued purchases that were successfully deleted.
62776	SuccessfulQueuedPurchaseDeletions []*SuccessfulQueuedPurchaseDeletion `locationName:"successfulQueuedPurchaseDeletionSet" locationNameList:"item" type:"list"`
62777}
62778
62779// String returns the string representation
62780func (s DeleteQueuedReservedInstancesOutput) String() string {
62781	return awsutil.Prettify(s)
62782}
62783
62784// GoString returns the string representation
62785func (s DeleteQueuedReservedInstancesOutput) GoString() string {
62786	return s.String()
62787}
62788
62789// SetFailedQueuedPurchaseDeletions sets the FailedQueuedPurchaseDeletions field's value.
62790func (s *DeleteQueuedReservedInstancesOutput) SetFailedQueuedPurchaseDeletions(v []*FailedQueuedPurchaseDeletion) *DeleteQueuedReservedInstancesOutput {
62791	s.FailedQueuedPurchaseDeletions = v
62792	return s
62793}
62794
62795// SetSuccessfulQueuedPurchaseDeletions sets the SuccessfulQueuedPurchaseDeletions field's value.
62796func (s *DeleteQueuedReservedInstancesOutput) SetSuccessfulQueuedPurchaseDeletions(v []*SuccessfulQueuedPurchaseDeletion) *DeleteQueuedReservedInstancesOutput {
62797	s.SuccessfulQueuedPurchaseDeletions = v
62798	return s
62799}
62800
62801type DeleteRouteInput struct {
62802	_ struct{} `type:"structure"`
62803
62804	// The IPv4 CIDR range for the route. The value you specify must match the CIDR
62805	// for the route exactly.
62806	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
62807
62808	// The IPv6 CIDR range for the route. The value you specify must match the CIDR
62809	// for the route exactly.
62810	DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
62811
62812	// The ID of the prefix list for the route.
62813	DestinationPrefixListId *string `type:"string"`
62814
62815	// Checks whether you have the required permissions for the action, without
62816	// actually making the request, and provides an error response. If you have
62817	// the required permissions, the error response is DryRunOperation. Otherwise,
62818	// it is UnauthorizedOperation.
62819	DryRun *bool `locationName:"dryRun" type:"boolean"`
62820
62821	// The ID of the route table.
62822	//
62823	// RouteTableId is a required field
62824	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
62825}
62826
62827// String returns the string representation
62828func (s DeleteRouteInput) String() string {
62829	return awsutil.Prettify(s)
62830}
62831
62832// GoString returns the string representation
62833func (s DeleteRouteInput) GoString() string {
62834	return s.String()
62835}
62836
62837// Validate inspects the fields of the type to determine if they are valid.
62838func (s *DeleteRouteInput) Validate() error {
62839	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"}
62840	if s.RouteTableId == nil {
62841		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
62842	}
62843
62844	if invalidParams.Len() > 0 {
62845		return invalidParams
62846	}
62847	return nil
62848}
62849
62850// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
62851func (s *DeleteRouteInput) SetDestinationCidrBlock(v string) *DeleteRouteInput {
62852	s.DestinationCidrBlock = &v
62853	return s
62854}
62855
62856// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
62857func (s *DeleteRouteInput) SetDestinationIpv6CidrBlock(v string) *DeleteRouteInput {
62858	s.DestinationIpv6CidrBlock = &v
62859	return s
62860}
62861
62862// SetDestinationPrefixListId sets the DestinationPrefixListId field's value.
62863func (s *DeleteRouteInput) SetDestinationPrefixListId(v string) *DeleteRouteInput {
62864	s.DestinationPrefixListId = &v
62865	return s
62866}
62867
62868// SetDryRun sets the DryRun field's value.
62869func (s *DeleteRouteInput) SetDryRun(v bool) *DeleteRouteInput {
62870	s.DryRun = &v
62871	return s
62872}
62873
62874// SetRouteTableId sets the RouteTableId field's value.
62875func (s *DeleteRouteInput) SetRouteTableId(v string) *DeleteRouteInput {
62876	s.RouteTableId = &v
62877	return s
62878}
62879
62880type DeleteRouteOutput struct {
62881	_ struct{} `type:"structure"`
62882}
62883
62884// String returns the string representation
62885func (s DeleteRouteOutput) String() string {
62886	return awsutil.Prettify(s)
62887}
62888
62889// GoString returns the string representation
62890func (s DeleteRouteOutput) GoString() string {
62891	return s.String()
62892}
62893
62894type DeleteRouteTableInput struct {
62895	_ struct{} `type:"structure"`
62896
62897	// Checks whether you have the required permissions for the action, without
62898	// actually making the request, and provides an error response. If you have
62899	// the required permissions, the error response is DryRunOperation. Otherwise,
62900	// it is UnauthorizedOperation.
62901	DryRun *bool `locationName:"dryRun" type:"boolean"`
62902
62903	// The ID of the route table.
62904	//
62905	// RouteTableId is a required field
62906	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
62907}
62908
62909// String returns the string representation
62910func (s DeleteRouteTableInput) String() string {
62911	return awsutil.Prettify(s)
62912}
62913
62914// GoString returns the string representation
62915func (s DeleteRouteTableInput) GoString() string {
62916	return s.String()
62917}
62918
62919// Validate inspects the fields of the type to determine if they are valid.
62920func (s *DeleteRouteTableInput) Validate() error {
62921	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteTableInput"}
62922	if s.RouteTableId == nil {
62923		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
62924	}
62925
62926	if invalidParams.Len() > 0 {
62927		return invalidParams
62928	}
62929	return nil
62930}
62931
62932// SetDryRun sets the DryRun field's value.
62933func (s *DeleteRouteTableInput) SetDryRun(v bool) *DeleteRouteTableInput {
62934	s.DryRun = &v
62935	return s
62936}
62937
62938// SetRouteTableId sets the RouteTableId field's value.
62939func (s *DeleteRouteTableInput) SetRouteTableId(v string) *DeleteRouteTableInput {
62940	s.RouteTableId = &v
62941	return s
62942}
62943
62944type DeleteRouteTableOutput struct {
62945	_ struct{} `type:"structure"`
62946}
62947
62948// String returns the string representation
62949func (s DeleteRouteTableOutput) String() string {
62950	return awsutil.Prettify(s)
62951}
62952
62953// GoString returns the string representation
62954func (s DeleteRouteTableOutput) GoString() string {
62955	return s.String()
62956}
62957
62958type DeleteSecurityGroupInput struct {
62959	_ struct{} `type:"structure"`
62960
62961	// Checks whether you have the required permissions for the action, without
62962	// actually making the request, and provides an error response. If you have
62963	// the required permissions, the error response is DryRunOperation. Otherwise,
62964	// it is UnauthorizedOperation.
62965	DryRun *bool `locationName:"dryRun" type:"boolean"`
62966
62967	// The ID of the security group. Required for a nondefault VPC.
62968	GroupId *string `type:"string"`
62969
62970	// [EC2-Classic, default VPC] The name of the security group. You can specify
62971	// either the security group name or the security group ID.
62972	GroupName *string `type:"string"`
62973}
62974
62975// String returns the string representation
62976func (s DeleteSecurityGroupInput) String() string {
62977	return awsutil.Prettify(s)
62978}
62979
62980// GoString returns the string representation
62981func (s DeleteSecurityGroupInput) GoString() string {
62982	return s.String()
62983}
62984
62985// SetDryRun sets the DryRun field's value.
62986func (s *DeleteSecurityGroupInput) SetDryRun(v bool) *DeleteSecurityGroupInput {
62987	s.DryRun = &v
62988	return s
62989}
62990
62991// SetGroupId sets the GroupId field's value.
62992func (s *DeleteSecurityGroupInput) SetGroupId(v string) *DeleteSecurityGroupInput {
62993	s.GroupId = &v
62994	return s
62995}
62996
62997// SetGroupName sets the GroupName field's value.
62998func (s *DeleteSecurityGroupInput) SetGroupName(v string) *DeleteSecurityGroupInput {
62999	s.GroupName = &v
63000	return s
63001}
63002
63003type DeleteSecurityGroupOutput struct {
63004	_ struct{} `type:"structure"`
63005}
63006
63007// String returns the string representation
63008func (s DeleteSecurityGroupOutput) String() string {
63009	return awsutil.Prettify(s)
63010}
63011
63012// GoString returns the string representation
63013func (s DeleteSecurityGroupOutput) GoString() string {
63014	return s.String()
63015}
63016
63017type DeleteSnapshotInput struct {
63018	_ struct{} `type:"structure"`
63019
63020	// Checks whether you have the required permissions for the action, without
63021	// actually making the request, and provides an error response. If you have
63022	// the required permissions, the error response is DryRunOperation. Otherwise,
63023	// it is UnauthorizedOperation.
63024	DryRun *bool `locationName:"dryRun" type:"boolean"`
63025
63026	// The ID of the EBS snapshot.
63027	//
63028	// SnapshotId is a required field
63029	SnapshotId *string `type:"string" required:"true"`
63030}
63031
63032// String returns the string representation
63033func (s DeleteSnapshotInput) String() string {
63034	return awsutil.Prettify(s)
63035}
63036
63037// GoString returns the string representation
63038func (s DeleteSnapshotInput) GoString() string {
63039	return s.String()
63040}
63041
63042// Validate inspects the fields of the type to determine if they are valid.
63043func (s *DeleteSnapshotInput) Validate() error {
63044	invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"}
63045	if s.SnapshotId == nil {
63046		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
63047	}
63048
63049	if invalidParams.Len() > 0 {
63050		return invalidParams
63051	}
63052	return nil
63053}
63054
63055// SetDryRun sets the DryRun field's value.
63056func (s *DeleteSnapshotInput) SetDryRun(v bool) *DeleteSnapshotInput {
63057	s.DryRun = &v
63058	return s
63059}
63060
63061// SetSnapshotId sets the SnapshotId field's value.
63062func (s *DeleteSnapshotInput) SetSnapshotId(v string) *DeleteSnapshotInput {
63063	s.SnapshotId = &v
63064	return s
63065}
63066
63067type DeleteSnapshotOutput struct {
63068	_ struct{} `type:"structure"`
63069}
63070
63071// String returns the string representation
63072func (s DeleteSnapshotOutput) String() string {
63073	return awsutil.Prettify(s)
63074}
63075
63076// GoString returns the string representation
63077func (s DeleteSnapshotOutput) GoString() string {
63078	return s.String()
63079}
63080
63081// Contains the parameters for DeleteSpotDatafeedSubscription.
63082type DeleteSpotDatafeedSubscriptionInput struct {
63083	_ struct{} `type:"structure"`
63084
63085	// Checks whether you have the required permissions for the action, without
63086	// actually making the request, and provides an error response. If you have
63087	// the required permissions, the error response is DryRunOperation. Otherwise,
63088	// it is UnauthorizedOperation.
63089	DryRun *bool `locationName:"dryRun" type:"boolean"`
63090}
63091
63092// String returns the string representation
63093func (s DeleteSpotDatafeedSubscriptionInput) String() string {
63094	return awsutil.Prettify(s)
63095}
63096
63097// GoString returns the string representation
63098func (s DeleteSpotDatafeedSubscriptionInput) GoString() string {
63099	return s.String()
63100}
63101
63102// SetDryRun sets the DryRun field's value.
63103func (s *DeleteSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DeleteSpotDatafeedSubscriptionInput {
63104	s.DryRun = &v
63105	return s
63106}
63107
63108type DeleteSpotDatafeedSubscriptionOutput struct {
63109	_ struct{} `type:"structure"`
63110}
63111
63112// String returns the string representation
63113func (s DeleteSpotDatafeedSubscriptionOutput) String() string {
63114	return awsutil.Prettify(s)
63115}
63116
63117// GoString returns the string representation
63118func (s DeleteSpotDatafeedSubscriptionOutput) GoString() string {
63119	return s.String()
63120}
63121
63122type DeleteSubnetCidrReservationInput struct {
63123	_ struct{} `type:"structure"`
63124
63125	// Checks whether you have the required permissions for the action, without
63126	// actually making the request, and provides an error response. If you have
63127	// the required permissions, the error response is DryRunOperation. Otherwise,
63128	// it is UnauthorizedOperation.
63129	DryRun *bool `type:"boolean"`
63130
63131	// The ID of the subnet CIDR reservation.
63132	//
63133	// SubnetCidrReservationId is a required field
63134	SubnetCidrReservationId *string `type:"string" required:"true"`
63135}
63136
63137// String returns the string representation
63138func (s DeleteSubnetCidrReservationInput) String() string {
63139	return awsutil.Prettify(s)
63140}
63141
63142// GoString returns the string representation
63143func (s DeleteSubnetCidrReservationInput) GoString() string {
63144	return s.String()
63145}
63146
63147// Validate inspects the fields of the type to determine if they are valid.
63148func (s *DeleteSubnetCidrReservationInput) Validate() error {
63149	invalidParams := request.ErrInvalidParams{Context: "DeleteSubnetCidrReservationInput"}
63150	if s.SubnetCidrReservationId == nil {
63151		invalidParams.Add(request.NewErrParamRequired("SubnetCidrReservationId"))
63152	}
63153
63154	if invalidParams.Len() > 0 {
63155		return invalidParams
63156	}
63157	return nil
63158}
63159
63160// SetDryRun sets the DryRun field's value.
63161func (s *DeleteSubnetCidrReservationInput) SetDryRun(v bool) *DeleteSubnetCidrReservationInput {
63162	s.DryRun = &v
63163	return s
63164}
63165
63166// SetSubnetCidrReservationId sets the SubnetCidrReservationId field's value.
63167func (s *DeleteSubnetCidrReservationInput) SetSubnetCidrReservationId(v string) *DeleteSubnetCidrReservationInput {
63168	s.SubnetCidrReservationId = &v
63169	return s
63170}
63171
63172type DeleteSubnetCidrReservationOutput struct {
63173	_ struct{} `type:"structure"`
63174
63175	// Information about the deleted subnet CIDR reservation.
63176	DeletedSubnetCidrReservation *SubnetCidrReservation `locationName:"deletedSubnetCidrReservation" type:"structure"`
63177}
63178
63179// String returns the string representation
63180func (s DeleteSubnetCidrReservationOutput) String() string {
63181	return awsutil.Prettify(s)
63182}
63183
63184// GoString returns the string representation
63185func (s DeleteSubnetCidrReservationOutput) GoString() string {
63186	return s.String()
63187}
63188
63189// SetDeletedSubnetCidrReservation sets the DeletedSubnetCidrReservation field's value.
63190func (s *DeleteSubnetCidrReservationOutput) SetDeletedSubnetCidrReservation(v *SubnetCidrReservation) *DeleteSubnetCidrReservationOutput {
63191	s.DeletedSubnetCidrReservation = v
63192	return s
63193}
63194
63195type DeleteSubnetInput struct {
63196	_ struct{} `type:"structure"`
63197
63198	// Checks whether you have the required permissions for the action, without
63199	// actually making the request, and provides an error response. If you have
63200	// the required permissions, the error response is DryRunOperation. Otherwise,
63201	// it is UnauthorizedOperation.
63202	DryRun *bool `locationName:"dryRun" type:"boolean"`
63203
63204	// The ID of the subnet.
63205	//
63206	// SubnetId is a required field
63207	SubnetId *string `type:"string" required:"true"`
63208}
63209
63210// String returns the string representation
63211func (s DeleteSubnetInput) String() string {
63212	return awsutil.Prettify(s)
63213}
63214
63215// GoString returns the string representation
63216func (s DeleteSubnetInput) GoString() string {
63217	return s.String()
63218}
63219
63220// Validate inspects the fields of the type to determine if they are valid.
63221func (s *DeleteSubnetInput) Validate() error {
63222	invalidParams := request.ErrInvalidParams{Context: "DeleteSubnetInput"}
63223	if s.SubnetId == nil {
63224		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
63225	}
63226
63227	if invalidParams.Len() > 0 {
63228		return invalidParams
63229	}
63230	return nil
63231}
63232
63233// SetDryRun sets the DryRun field's value.
63234func (s *DeleteSubnetInput) SetDryRun(v bool) *DeleteSubnetInput {
63235	s.DryRun = &v
63236	return s
63237}
63238
63239// SetSubnetId sets the SubnetId field's value.
63240func (s *DeleteSubnetInput) SetSubnetId(v string) *DeleteSubnetInput {
63241	s.SubnetId = &v
63242	return s
63243}
63244
63245type DeleteSubnetOutput struct {
63246	_ struct{} `type:"structure"`
63247}
63248
63249// String returns the string representation
63250func (s DeleteSubnetOutput) String() string {
63251	return awsutil.Prettify(s)
63252}
63253
63254// GoString returns the string representation
63255func (s DeleteSubnetOutput) GoString() string {
63256	return s.String()
63257}
63258
63259type DeleteTagsInput struct {
63260	_ struct{} `type:"structure"`
63261
63262	// Checks whether you have the required permissions for the action, without
63263	// actually making the request, and provides an error response. If you have
63264	// the required permissions, the error response is DryRunOperation. Otherwise,
63265	// it is UnauthorizedOperation.
63266	DryRun *bool `locationName:"dryRun" type:"boolean"`
63267
63268	// The IDs of the resources, separated by spaces.
63269	//
63270	// Constraints: Up to 1000 resource IDs. We recommend breaking up this request
63271	// into smaller batches.
63272	//
63273	// Resources is a required field
63274	Resources []*string `locationName:"resourceId" type:"list" required:"true"`
63275
63276	// The tags to delete. Specify a tag key and an optional tag value to delete
63277	// specific tags. If you specify a tag key without a tag value, we delete any
63278	// tag with this key regardless of its value. If you specify a tag key with
63279	// an empty string as the tag value, we delete the tag only if its value is
63280	// an empty string.
63281	//
63282	// If you omit this parameter, we delete all user-defined tags for the specified
63283	// resources. We do not delete Amazon Web Services-generated tags (tags that
63284	// have the aws: prefix).
63285	Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
63286}
63287
63288// String returns the string representation
63289func (s DeleteTagsInput) String() string {
63290	return awsutil.Prettify(s)
63291}
63292
63293// GoString returns the string representation
63294func (s DeleteTagsInput) GoString() string {
63295	return s.String()
63296}
63297
63298// Validate inspects the fields of the type to determine if they are valid.
63299func (s *DeleteTagsInput) Validate() error {
63300	invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
63301	if s.Resources == nil {
63302		invalidParams.Add(request.NewErrParamRequired("Resources"))
63303	}
63304
63305	if invalidParams.Len() > 0 {
63306		return invalidParams
63307	}
63308	return nil
63309}
63310
63311// SetDryRun sets the DryRun field's value.
63312func (s *DeleteTagsInput) SetDryRun(v bool) *DeleteTagsInput {
63313	s.DryRun = &v
63314	return s
63315}
63316
63317// SetResources sets the Resources field's value.
63318func (s *DeleteTagsInput) SetResources(v []*string) *DeleteTagsInput {
63319	s.Resources = v
63320	return s
63321}
63322
63323// SetTags sets the Tags field's value.
63324func (s *DeleteTagsInput) SetTags(v []*Tag) *DeleteTagsInput {
63325	s.Tags = v
63326	return s
63327}
63328
63329type DeleteTagsOutput struct {
63330	_ struct{} `type:"structure"`
63331}
63332
63333// String returns the string representation
63334func (s DeleteTagsOutput) String() string {
63335	return awsutil.Prettify(s)
63336}
63337
63338// GoString returns the string representation
63339func (s DeleteTagsOutput) GoString() string {
63340	return s.String()
63341}
63342
63343type DeleteTrafficMirrorFilterInput struct {
63344	_ struct{} `type:"structure"`
63345
63346	// Checks whether you have the required permissions for the action, without
63347	// actually making the request, and provides an error response. If you have
63348	// the required permissions, the error response is DryRunOperation. Otherwise,
63349	// it is UnauthorizedOperation.
63350	DryRun *bool `type:"boolean"`
63351
63352	// The ID of the Traffic Mirror filter.
63353	//
63354	// TrafficMirrorFilterId is a required field
63355	TrafficMirrorFilterId *string `type:"string" required:"true"`
63356}
63357
63358// String returns the string representation
63359func (s DeleteTrafficMirrorFilterInput) String() string {
63360	return awsutil.Prettify(s)
63361}
63362
63363// GoString returns the string representation
63364func (s DeleteTrafficMirrorFilterInput) GoString() string {
63365	return s.String()
63366}
63367
63368// Validate inspects the fields of the type to determine if they are valid.
63369func (s *DeleteTrafficMirrorFilterInput) Validate() error {
63370	invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorFilterInput"}
63371	if s.TrafficMirrorFilterId == nil {
63372		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId"))
63373	}
63374
63375	if invalidParams.Len() > 0 {
63376		return invalidParams
63377	}
63378	return nil
63379}
63380
63381// SetDryRun sets the DryRun field's value.
63382func (s *DeleteTrafficMirrorFilterInput) SetDryRun(v bool) *DeleteTrafficMirrorFilterInput {
63383	s.DryRun = &v
63384	return s
63385}
63386
63387// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
63388func (s *DeleteTrafficMirrorFilterInput) SetTrafficMirrorFilterId(v string) *DeleteTrafficMirrorFilterInput {
63389	s.TrafficMirrorFilterId = &v
63390	return s
63391}
63392
63393type DeleteTrafficMirrorFilterOutput struct {
63394	_ struct{} `type:"structure"`
63395
63396	// The ID of the Traffic Mirror filter.
63397	TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"`
63398}
63399
63400// String returns the string representation
63401func (s DeleteTrafficMirrorFilterOutput) String() string {
63402	return awsutil.Prettify(s)
63403}
63404
63405// GoString returns the string representation
63406func (s DeleteTrafficMirrorFilterOutput) GoString() string {
63407	return s.String()
63408}
63409
63410// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
63411func (s *DeleteTrafficMirrorFilterOutput) SetTrafficMirrorFilterId(v string) *DeleteTrafficMirrorFilterOutput {
63412	s.TrafficMirrorFilterId = &v
63413	return s
63414}
63415
63416type DeleteTrafficMirrorFilterRuleInput struct {
63417	_ struct{} `type:"structure"`
63418
63419	// Checks whether you have the required permissions for the action, without
63420	// actually making the request, and provides an error response. If you have
63421	// the required permissions, the error response is DryRunOperation. Otherwise,
63422	// it is UnauthorizedOperation.
63423	DryRun *bool `type:"boolean"`
63424
63425	// The ID of the Traffic Mirror rule.
63426	//
63427	// TrafficMirrorFilterRuleId is a required field
63428	TrafficMirrorFilterRuleId *string `type:"string" required:"true"`
63429}
63430
63431// String returns the string representation
63432func (s DeleteTrafficMirrorFilterRuleInput) String() string {
63433	return awsutil.Prettify(s)
63434}
63435
63436// GoString returns the string representation
63437func (s DeleteTrafficMirrorFilterRuleInput) GoString() string {
63438	return s.String()
63439}
63440
63441// Validate inspects the fields of the type to determine if they are valid.
63442func (s *DeleteTrafficMirrorFilterRuleInput) Validate() error {
63443	invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorFilterRuleInput"}
63444	if s.TrafficMirrorFilterRuleId == nil {
63445		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterRuleId"))
63446	}
63447
63448	if invalidParams.Len() > 0 {
63449		return invalidParams
63450	}
63451	return nil
63452}
63453
63454// SetDryRun sets the DryRun field's value.
63455func (s *DeleteTrafficMirrorFilterRuleInput) SetDryRun(v bool) *DeleteTrafficMirrorFilterRuleInput {
63456	s.DryRun = &v
63457	return s
63458}
63459
63460// SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value.
63461func (s *DeleteTrafficMirrorFilterRuleInput) SetTrafficMirrorFilterRuleId(v string) *DeleteTrafficMirrorFilterRuleInput {
63462	s.TrafficMirrorFilterRuleId = &v
63463	return s
63464}
63465
63466type DeleteTrafficMirrorFilterRuleOutput struct {
63467	_ struct{} `type:"structure"`
63468
63469	// The ID of the deleted Traffic Mirror rule.
63470	TrafficMirrorFilterRuleId *string `locationName:"trafficMirrorFilterRuleId" type:"string"`
63471}
63472
63473// String returns the string representation
63474func (s DeleteTrafficMirrorFilterRuleOutput) String() string {
63475	return awsutil.Prettify(s)
63476}
63477
63478// GoString returns the string representation
63479func (s DeleteTrafficMirrorFilterRuleOutput) GoString() string {
63480	return s.String()
63481}
63482
63483// SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value.
63484func (s *DeleteTrafficMirrorFilterRuleOutput) SetTrafficMirrorFilterRuleId(v string) *DeleteTrafficMirrorFilterRuleOutput {
63485	s.TrafficMirrorFilterRuleId = &v
63486	return s
63487}
63488
63489type DeleteTrafficMirrorSessionInput struct {
63490	_ struct{} `type:"structure"`
63491
63492	// Checks whether you have the required permissions for the action, without
63493	// actually making the request, and provides an error response. If you have
63494	// the required permissions, the error response is DryRunOperation. Otherwise,
63495	// it is UnauthorizedOperation.
63496	DryRun *bool `type:"boolean"`
63497
63498	// The ID of the Traffic Mirror session.
63499	//
63500	// TrafficMirrorSessionId is a required field
63501	TrafficMirrorSessionId *string `type:"string" required:"true"`
63502}
63503
63504// String returns the string representation
63505func (s DeleteTrafficMirrorSessionInput) String() string {
63506	return awsutil.Prettify(s)
63507}
63508
63509// GoString returns the string representation
63510func (s DeleteTrafficMirrorSessionInput) GoString() string {
63511	return s.String()
63512}
63513
63514// Validate inspects the fields of the type to determine if they are valid.
63515func (s *DeleteTrafficMirrorSessionInput) Validate() error {
63516	invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorSessionInput"}
63517	if s.TrafficMirrorSessionId == nil {
63518		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorSessionId"))
63519	}
63520
63521	if invalidParams.Len() > 0 {
63522		return invalidParams
63523	}
63524	return nil
63525}
63526
63527// SetDryRun sets the DryRun field's value.
63528func (s *DeleteTrafficMirrorSessionInput) SetDryRun(v bool) *DeleteTrafficMirrorSessionInput {
63529	s.DryRun = &v
63530	return s
63531}
63532
63533// SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value.
63534func (s *DeleteTrafficMirrorSessionInput) SetTrafficMirrorSessionId(v string) *DeleteTrafficMirrorSessionInput {
63535	s.TrafficMirrorSessionId = &v
63536	return s
63537}
63538
63539type DeleteTrafficMirrorSessionOutput struct {
63540	_ struct{} `type:"structure"`
63541
63542	// The ID of the deleted Traffic Mirror session.
63543	TrafficMirrorSessionId *string `locationName:"trafficMirrorSessionId" type:"string"`
63544}
63545
63546// String returns the string representation
63547func (s DeleteTrafficMirrorSessionOutput) String() string {
63548	return awsutil.Prettify(s)
63549}
63550
63551// GoString returns the string representation
63552func (s DeleteTrafficMirrorSessionOutput) GoString() string {
63553	return s.String()
63554}
63555
63556// SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value.
63557func (s *DeleteTrafficMirrorSessionOutput) SetTrafficMirrorSessionId(v string) *DeleteTrafficMirrorSessionOutput {
63558	s.TrafficMirrorSessionId = &v
63559	return s
63560}
63561
63562type DeleteTrafficMirrorTargetInput struct {
63563	_ struct{} `type:"structure"`
63564
63565	// Checks whether you have the required permissions for the action, without
63566	// actually making the request, and provides an error response. If you have
63567	// the required permissions, the error response is DryRunOperation. Otherwise,
63568	// it is UnauthorizedOperation.
63569	DryRun *bool `type:"boolean"`
63570
63571	// The ID of the Traffic Mirror target.
63572	//
63573	// TrafficMirrorTargetId is a required field
63574	TrafficMirrorTargetId *string `type:"string" required:"true"`
63575}
63576
63577// String returns the string representation
63578func (s DeleteTrafficMirrorTargetInput) String() string {
63579	return awsutil.Prettify(s)
63580}
63581
63582// GoString returns the string representation
63583func (s DeleteTrafficMirrorTargetInput) GoString() string {
63584	return s.String()
63585}
63586
63587// Validate inspects the fields of the type to determine if they are valid.
63588func (s *DeleteTrafficMirrorTargetInput) Validate() error {
63589	invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorTargetInput"}
63590	if s.TrafficMirrorTargetId == nil {
63591		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorTargetId"))
63592	}
63593
63594	if invalidParams.Len() > 0 {
63595		return invalidParams
63596	}
63597	return nil
63598}
63599
63600// SetDryRun sets the DryRun field's value.
63601func (s *DeleteTrafficMirrorTargetInput) SetDryRun(v bool) *DeleteTrafficMirrorTargetInput {
63602	s.DryRun = &v
63603	return s
63604}
63605
63606// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
63607func (s *DeleteTrafficMirrorTargetInput) SetTrafficMirrorTargetId(v string) *DeleteTrafficMirrorTargetInput {
63608	s.TrafficMirrorTargetId = &v
63609	return s
63610}
63611
63612type DeleteTrafficMirrorTargetOutput struct {
63613	_ struct{} `type:"structure"`
63614
63615	// The ID of the deleted Traffic Mirror target.
63616	TrafficMirrorTargetId *string `locationName:"trafficMirrorTargetId" type:"string"`
63617}
63618
63619// String returns the string representation
63620func (s DeleteTrafficMirrorTargetOutput) String() string {
63621	return awsutil.Prettify(s)
63622}
63623
63624// GoString returns the string representation
63625func (s DeleteTrafficMirrorTargetOutput) GoString() string {
63626	return s.String()
63627}
63628
63629// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
63630func (s *DeleteTrafficMirrorTargetOutput) SetTrafficMirrorTargetId(v string) *DeleteTrafficMirrorTargetOutput {
63631	s.TrafficMirrorTargetId = &v
63632	return s
63633}
63634
63635type DeleteTransitGatewayConnectInput struct {
63636	_ struct{} `type:"structure"`
63637
63638	// Checks whether you have the required permissions for the action, without
63639	// actually making the request, and provides an error response. If you have
63640	// the required permissions, the error response is DryRunOperation. Otherwise,
63641	// it is UnauthorizedOperation.
63642	DryRun *bool `type:"boolean"`
63643
63644	// The ID of the Connect attachment.
63645	//
63646	// TransitGatewayAttachmentId is a required field
63647	TransitGatewayAttachmentId *string `type:"string" required:"true"`
63648}
63649
63650// String returns the string representation
63651func (s DeleteTransitGatewayConnectInput) String() string {
63652	return awsutil.Prettify(s)
63653}
63654
63655// GoString returns the string representation
63656func (s DeleteTransitGatewayConnectInput) GoString() string {
63657	return s.String()
63658}
63659
63660// Validate inspects the fields of the type to determine if they are valid.
63661func (s *DeleteTransitGatewayConnectInput) Validate() error {
63662	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayConnectInput"}
63663	if s.TransitGatewayAttachmentId == nil {
63664		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
63665	}
63666
63667	if invalidParams.Len() > 0 {
63668		return invalidParams
63669	}
63670	return nil
63671}
63672
63673// SetDryRun sets the DryRun field's value.
63674func (s *DeleteTransitGatewayConnectInput) SetDryRun(v bool) *DeleteTransitGatewayConnectInput {
63675	s.DryRun = &v
63676	return s
63677}
63678
63679// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
63680func (s *DeleteTransitGatewayConnectInput) SetTransitGatewayAttachmentId(v string) *DeleteTransitGatewayConnectInput {
63681	s.TransitGatewayAttachmentId = &v
63682	return s
63683}
63684
63685type DeleteTransitGatewayConnectOutput struct {
63686	_ struct{} `type:"structure"`
63687
63688	// Information about the deleted Connect attachment.
63689	TransitGatewayConnect *TransitGatewayConnect `locationName:"transitGatewayConnect" type:"structure"`
63690}
63691
63692// String returns the string representation
63693func (s DeleteTransitGatewayConnectOutput) String() string {
63694	return awsutil.Prettify(s)
63695}
63696
63697// GoString returns the string representation
63698func (s DeleteTransitGatewayConnectOutput) GoString() string {
63699	return s.String()
63700}
63701
63702// SetTransitGatewayConnect sets the TransitGatewayConnect field's value.
63703func (s *DeleteTransitGatewayConnectOutput) SetTransitGatewayConnect(v *TransitGatewayConnect) *DeleteTransitGatewayConnectOutput {
63704	s.TransitGatewayConnect = v
63705	return s
63706}
63707
63708type DeleteTransitGatewayConnectPeerInput struct {
63709	_ struct{} `type:"structure"`
63710
63711	// Checks whether you have the required permissions for the action, without
63712	// actually making the request, and provides an error response. If you have
63713	// the required permissions, the error response is DryRunOperation. Otherwise,
63714	// it is UnauthorizedOperation.
63715	DryRun *bool `type:"boolean"`
63716
63717	// The ID of the Connect peer.
63718	//
63719	// TransitGatewayConnectPeerId is a required field
63720	TransitGatewayConnectPeerId *string `type:"string" required:"true"`
63721}
63722
63723// String returns the string representation
63724func (s DeleteTransitGatewayConnectPeerInput) String() string {
63725	return awsutil.Prettify(s)
63726}
63727
63728// GoString returns the string representation
63729func (s DeleteTransitGatewayConnectPeerInput) GoString() string {
63730	return s.String()
63731}
63732
63733// Validate inspects the fields of the type to determine if they are valid.
63734func (s *DeleteTransitGatewayConnectPeerInput) Validate() error {
63735	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayConnectPeerInput"}
63736	if s.TransitGatewayConnectPeerId == nil {
63737		invalidParams.Add(request.NewErrParamRequired("TransitGatewayConnectPeerId"))
63738	}
63739
63740	if invalidParams.Len() > 0 {
63741		return invalidParams
63742	}
63743	return nil
63744}
63745
63746// SetDryRun sets the DryRun field's value.
63747func (s *DeleteTransitGatewayConnectPeerInput) SetDryRun(v bool) *DeleteTransitGatewayConnectPeerInput {
63748	s.DryRun = &v
63749	return s
63750}
63751
63752// SetTransitGatewayConnectPeerId sets the TransitGatewayConnectPeerId field's value.
63753func (s *DeleteTransitGatewayConnectPeerInput) SetTransitGatewayConnectPeerId(v string) *DeleteTransitGatewayConnectPeerInput {
63754	s.TransitGatewayConnectPeerId = &v
63755	return s
63756}
63757
63758type DeleteTransitGatewayConnectPeerOutput struct {
63759	_ struct{} `type:"structure"`
63760
63761	// Information about the deleted Connect peer.
63762	TransitGatewayConnectPeer *TransitGatewayConnectPeer `locationName:"transitGatewayConnectPeer" type:"structure"`
63763}
63764
63765// String returns the string representation
63766func (s DeleteTransitGatewayConnectPeerOutput) String() string {
63767	return awsutil.Prettify(s)
63768}
63769
63770// GoString returns the string representation
63771func (s DeleteTransitGatewayConnectPeerOutput) GoString() string {
63772	return s.String()
63773}
63774
63775// SetTransitGatewayConnectPeer sets the TransitGatewayConnectPeer field's value.
63776func (s *DeleteTransitGatewayConnectPeerOutput) SetTransitGatewayConnectPeer(v *TransitGatewayConnectPeer) *DeleteTransitGatewayConnectPeerOutput {
63777	s.TransitGatewayConnectPeer = v
63778	return s
63779}
63780
63781type DeleteTransitGatewayInput struct {
63782	_ struct{} `type:"structure"`
63783
63784	// Checks whether you have the required permissions for the action, without
63785	// actually making the request, and provides an error response. If you have
63786	// the required permissions, the error response is DryRunOperation. Otherwise,
63787	// it is UnauthorizedOperation.
63788	DryRun *bool `type:"boolean"`
63789
63790	// The ID of the transit gateway.
63791	//
63792	// TransitGatewayId is a required field
63793	TransitGatewayId *string `type:"string" required:"true"`
63794}
63795
63796// String returns the string representation
63797func (s DeleteTransitGatewayInput) String() string {
63798	return awsutil.Prettify(s)
63799}
63800
63801// GoString returns the string representation
63802func (s DeleteTransitGatewayInput) GoString() string {
63803	return s.String()
63804}
63805
63806// Validate inspects the fields of the type to determine if they are valid.
63807func (s *DeleteTransitGatewayInput) Validate() error {
63808	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayInput"}
63809	if s.TransitGatewayId == nil {
63810		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
63811	}
63812
63813	if invalidParams.Len() > 0 {
63814		return invalidParams
63815	}
63816	return nil
63817}
63818
63819// SetDryRun sets the DryRun field's value.
63820func (s *DeleteTransitGatewayInput) SetDryRun(v bool) *DeleteTransitGatewayInput {
63821	s.DryRun = &v
63822	return s
63823}
63824
63825// SetTransitGatewayId sets the TransitGatewayId field's value.
63826func (s *DeleteTransitGatewayInput) SetTransitGatewayId(v string) *DeleteTransitGatewayInput {
63827	s.TransitGatewayId = &v
63828	return s
63829}
63830
63831type DeleteTransitGatewayMulticastDomainInput struct {
63832	_ struct{} `type:"structure"`
63833
63834	// Checks whether you have the required permissions for the action, without
63835	// actually making the request, and provides an error response. If you have
63836	// the required permissions, the error response is DryRunOperation. Otherwise,
63837	// it is UnauthorizedOperation.
63838	DryRun *bool `type:"boolean"`
63839
63840	// The ID of the transit gateway multicast domain.
63841	//
63842	// TransitGatewayMulticastDomainId is a required field
63843	TransitGatewayMulticastDomainId *string `type:"string" required:"true"`
63844}
63845
63846// String returns the string representation
63847func (s DeleteTransitGatewayMulticastDomainInput) String() string {
63848	return awsutil.Prettify(s)
63849}
63850
63851// GoString returns the string representation
63852func (s DeleteTransitGatewayMulticastDomainInput) GoString() string {
63853	return s.String()
63854}
63855
63856// Validate inspects the fields of the type to determine if they are valid.
63857func (s *DeleteTransitGatewayMulticastDomainInput) Validate() error {
63858	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayMulticastDomainInput"}
63859	if s.TransitGatewayMulticastDomainId == nil {
63860		invalidParams.Add(request.NewErrParamRequired("TransitGatewayMulticastDomainId"))
63861	}
63862
63863	if invalidParams.Len() > 0 {
63864		return invalidParams
63865	}
63866	return nil
63867}
63868
63869// SetDryRun sets the DryRun field's value.
63870func (s *DeleteTransitGatewayMulticastDomainInput) SetDryRun(v bool) *DeleteTransitGatewayMulticastDomainInput {
63871	s.DryRun = &v
63872	return s
63873}
63874
63875// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
63876func (s *DeleteTransitGatewayMulticastDomainInput) SetTransitGatewayMulticastDomainId(v string) *DeleteTransitGatewayMulticastDomainInput {
63877	s.TransitGatewayMulticastDomainId = &v
63878	return s
63879}
63880
63881type DeleteTransitGatewayMulticastDomainOutput struct {
63882	_ struct{} `type:"structure"`
63883
63884	// Information about the deleted transit gateway multicast domain.
63885	TransitGatewayMulticastDomain *TransitGatewayMulticastDomain `locationName:"transitGatewayMulticastDomain" type:"structure"`
63886}
63887
63888// String returns the string representation
63889func (s DeleteTransitGatewayMulticastDomainOutput) String() string {
63890	return awsutil.Prettify(s)
63891}
63892
63893// GoString returns the string representation
63894func (s DeleteTransitGatewayMulticastDomainOutput) GoString() string {
63895	return s.String()
63896}
63897
63898// SetTransitGatewayMulticastDomain sets the TransitGatewayMulticastDomain field's value.
63899func (s *DeleteTransitGatewayMulticastDomainOutput) SetTransitGatewayMulticastDomain(v *TransitGatewayMulticastDomain) *DeleteTransitGatewayMulticastDomainOutput {
63900	s.TransitGatewayMulticastDomain = v
63901	return s
63902}
63903
63904type DeleteTransitGatewayOutput struct {
63905	_ struct{} `type:"structure"`
63906
63907	// Information about the deleted transit gateway.
63908	TransitGateway *TransitGateway `locationName:"transitGateway" type:"structure"`
63909}
63910
63911// String returns the string representation
63912func (s DeleteTransitGatewayOutput) String() string {
63913	return awsutil.Prettify(s)
63914}
63915
63916// GoString returns the string representation
63917func (s DeleteTransitGatewayOutput) GoString() string {
63918	return s.String()
63919}
63920
63921// SetTransitGateway sets the TransitGateway field's value.
63922func (s *DeleteTransitGatewayOutput) SetTransitGateway(v *TransitGateway) *DeleteTransitGatewayOutput {
63923	s.TransitGateway = v
63924	return s
63925}
63926
63927type DeleteTransitGatewayPeeringAttachmentInput struct {
63928	_ struct{} `type:"structure"`
63929
63930	// Checks whether you have the required permissions for the action, without
63931	// actually making the request, and provides an error response. If you have
63932	// the required permissions, the error response is DryRunOperation. Otherwise,
63933	// it is UnauthorizedOperation.
63934	DryRun *bool `type:"boolean"`
63935
63936	// The ID of the transit gateway peering attachment.
63937	//
63938	// TransitGatewayAttachmentId is a required field
63939	TransitGatewayAttachmentId *string `type:"string" required:"true"`
63940}
63941
63942// String returns the string representation
63943func (s DeleteTransitGatewayPeeringAttachmentInput) String() string {
63944	return awsutil.Prettify(s)
63945}
63946
63947// GoString returns the string representation
63948func (s DeleteTransitGatewayPeeringAttachmentInput) GoString() string {
63949	return s.String()
63950}
63951
63952// Validate inspects the fields of the type to determine if they are valid.
63953func (s *DeleteTransitGatewayPeeringAttachmentInput) Validate() error {
63954	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayPeeringAttachmentInput"}
63955	if s.TransitGatewayAttachmentId == nil {
63956		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
63957	}
63958
63959	if invalidParams.Len() > 0 {
63960		return invalidParams
63961	}
63962	return nil
63963}
63964
63965// SetDryRun sets the DryRun field's value.
63966func (s *DeleteTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *DeleteTransitGatewayPeeringAttachmentInput {
63967	s.DryRun = &v
63968	return s
63969}
63970
63971// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
63972func (s *DeleteTransitGatewayPeeringAttachmentInput) SetTransitGatewayAttachmentId(v string) *DeleteTransitGatewayPeeringAttachmentInput {
63973	s.TransitGatewayAttachmentId = &v
63974	return s
63975}
63976
63977type DeleteTransitGatewayPeeringAttachmentOutput struct {
63978	_ struct{} `type:"structure"`
63979
63980	// The transit gateway peering attachment.
63981	TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
63982}
63983
63984// String returns the string representation
63985func (s DeleteTransitGatewayPeeringAttachmentOutput) String() string {
63986	return awsutil.Prettify(s)
63987}
63988
63989// GoString returns the string representation
63990func (s DeleteTransitGatewayPeeringAttachmentOutput) GoString() string {
63991	return s.String()
63992}
63993
63994// SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
63995func (s *DeleteTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *DeleteTransitGatewayPeeringAttachmentOutput {
63996	s.TransitGatewayPeeringAttachment = v
63997	return s
63998}
63999
64000type DeleteTransitGatewayPrefixListReferenceInput struct {
64001	_ struct{} `type:"structure"`
64002
64003	// Checks whether you have the required permissions for the action, without
64004	// actually making the request, and provides an error response. If you have
64005	// the required permissions, the error response is DryRunOperation. Otherwise,
64006	// it is UnauthorizedOperation.
64007	DryRun *bool `type:"boolean"`
64008
64009	// The ID of the prefix list.
64010	//
64011	// PrefixListId is a required field
64012	PrefixListId *string `type:"string" required:"true"`
64013
64014	// The ID of the route table.
64015	//
64016	// TransitGatewayRouteTableId is a required field
64017	TransitGatewayRouteTableId *string `type:"string" required:"true"`
64018}
64019
64020// String returns the string representation
64021func (s DeleteTransitGatewayPrefixListReferenceInput) String() string {
64022	return awsutil.Prettify(s)
64023}
64024
64025// GoString returns the string representation
64026func (s DeleteTransitGatewayPrefixListReferenceInput) GoString() string {
64027	return s.String()
64028}
64029
64030// Validate inspects the fields of the type to determine if they are valid.
64031func (s *DeleteTransitGatewayPrefixListReferenceInput) Validate() error {
64032	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayPrefixListReferenceInput"}
64033	if s.PrefixListId == nil {
64034		invalidParams.Add(request.NewErrParamRequired("PrefixListId"))
64035	}
64036	if s.TransitGatewayRouteTableId == nil {
64037		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
64038	}
64039
64040	if invalidParams.Len() > 0 {
64041		return invalidParams
64042	}
64043	return nil
64044}
64045
64046// SetDryRun sets the DryRun field's value.
64047func (s *DeleteTransitGatewayPrefixListReferenceInput) SetDryRun(v bool) *DeleteTransitGatewayPrefixListReferenceInput {
64048	s.DryRun = &v
64049	return s
64050}
64051
64052// SetPrefixListId sets the PrefixListId field's value.
64053func (s *DeleteTransitGatewayPrefixListReferenceInput) SetPrefixListId(v string) *DeleteTransitGatewayPrefixListReferenceInput {
64054	s.PrefixListId = &v
64055	return s
64056}
64057
64058// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
64059func (s *DeleteTransitGatewayPrefixListReferenceInput) SetTransitGatewayRouteTableId(v string) *DeleteTransitGatewayPrefixListReferenceInput {
64060	s.TransitGatewayRouteTableId = &v
64061	return s
64062}
64063
64064type DeleteTransitGatewayPrefixListReferenceOutput struct {
64065	_ struct{} `type:"structure"`
64066
64067	// Information about the deleted prefix list reference.
64068	TransitGatewayPrefixListReference *TransitGatewayPrefixListReference `locationName:"transitGatewayPrefixListReference" type:"structure"`
64069}
64070
64071// String returns the string representation
64072func (s DeleteTransitGatewayPrefixListReferenceOutput) String() string {
64073	return awsutil.Prettify(s)
64074}
64075
64076// GoString returns the string representation
64077func (s DeleteTransitGatewayPrefixListReferenceOutput) GoString() string {
64078	return s.String()
64079}
64080
64081// SetTransitGatewayPrefixListReference sets the TransitGatewayPrefixListReference field's value.
64082func (s *DeleteTransitGatewayPrefixListReferenceOutput) SetTransitGatewayPrefixListReference(v *TransitGatewayPrefixListReference) *DeleteTransitGatewayPrefixListReferenceOutput {
64083	s.TransitGatewayPrefixListReference = v
64084	return s
64085}
64086
64087type DeleteTransitGatewayRouteInput struct {
64088	_ struct{} `type:"structure"`
64089
64090	// The CIDR range for the route. This must match the CIDR for the route exactly.
64091	//
64092	// DestinationCidrBlock is a required field
64093	DestinationCidrBlock *string `type:"string" required:"true"`
64094
64095	// Checks whether you have the required permissions for the action, without
64096	// actually making the request, and provides an error response. If you have
64097	// the required permissions, the error response is DryRunOperation. Otherwise,
64098	// it is UnauthorizedOperation.
64099	DryRun *bool `type:"boolean"`
64100
64101	// The ID of the transit gateway route table.
64102	//
64103	// TransitGatewayRouteTableId is a required field
64104	TransitGatewayRouteTableId *string `type:"string" required:"true"`
64105}
64106
64107// String returns the string representation
64108func (s DeleteTransitGatewayRouteInput) String() string {
64109	return awsutil.Prettify(s)
64110}
64111
64112// GoString returns the string representation
64113func (s DeleteTransitGatewayRouteInput) GoString() string {
64114	return s.String()
64115}
64116
64117// Validate inspects the fields of the type to determine if they are valid.
64118func (s *DeleteTransitGatewayRouteInput) Validate() error {
64119	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayRouteInput"}
64120	if s.DestinationCidrBlock == nil {
64121		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
64122	}
64123	if s.TransitGatewayRouteTableId == nil {
64124		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
64125	}
64126
64127	if invalidParams.Len() > 0 {
64128		return invalidParams
64129	}
64130	return nil
64131}
64132
64133// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
64134func (s *DeleteTransitGatewayRouteInput) SetDestinationCidrBlock(v string) *DeleteTransitGatewayRouteInput {
64135	s.DestinationCidrBlock = &v
64136	return s
64137}
64138
64139// SetDryRun sets the DryRun field's value.
64140func (s *DeleteTransitGatewayRouteInput) SetDryRun(v bool) *DeleteTransitGatewayRouteInput {
64141	s.DryRun = &v
64142	return s
64143}
64144
64145// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
64146func (s *DeleteTransitGatewayRouteInput) SetTransitGatewayRouteTableId(v string) *DeleteTransitGatewayRouteInput {
64147	s.TransitGatewayRouteTableId = &v
64148	return s
64149}
64150
64151type DeleteTransitGatewayRouteOutput struct {
64152	_ struct{} `type:"structure"`
64153
64154	// Information about the route.
64155	Route *TransitGatewayRoute `locationName:"route" type:"structure"`
64156}
64157
64158// String returns the string representation
64159func (s DeleteTransitGatewayRouteOutput) String() string {
64160	return awsutil.Prettify(s)
64161}
64162
64163// GoString returns the string representation
64164func (s DeleteTransitGatewayRouteOutput) GoString() string {
64165	return s.String()
64166}
64167
64168// SetRoute sets the Route field's value.
64169func (s *DeleteTransitGatewayRouteOutput) SetRoute(v *TransitGatewayRoute) *DeleteTransitGatewayRouteOutput {
64170	s.Route = v
64171	return s
64172}
64173
64174type DeleteTransitGatewayRouteTableInput struct {
64175	_ struct{} `type:"structure"`
64176
64177	// Checks whether you have the required permissions for the action, without
64178	// actually making the request, and provides an error response. If you have
64179	// the required permissions, the error response is DryRunOperation. Otherwise,
64180	// it is UnauthorizedOperation.
64181	DryRun *bool `type:"boolean"`
64182
64183	// The ID of the transit gateway route table.
64184	//
64185	// TransitGatewayRouteTableId is a required field
64186	TransitGatewayRouteTableId *string `type:"string" required:"true"`
64187}
64188
64189// String returns the string representation
64190func (s DeleteTransitGatewayRouteTableInput) String() string {
64191	return awsutil.Prettify(s)
64192}
64193
64194// GoString returns the string representation
64195func (s DeleteTransitGatewayRouteTableInput) GoString() string {
64196	return s.String()
64197}
64198
64199// Validate inspects the fields of the type to determine if they are valid.
64200func (s *DeleteTransitGatewayRouteTableInput) Validate() error {
64201	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayRouteTableInput"}
64202	if s.TransitGatewayRouteTableId == nil {
64203		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
64204	}
64205
64206	if invalidParams.Len() > 0 {
64207		return invalidParams
64208	}
64209	return nil
64210}
64211
64212// SetDryRun sets the DryRun field's value.
64213func (s *DeleteTransitGatewayRouteTableInput) SetDryRun(v bool) *DeleteTransitGatewayRouteTableInput {
64214	s.DryRun = &v
64215	return s
64216}
64217
64218// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
64219func (s *DeleteTransitGatewayRouteTableInput) SetTransitGatewayRouteTableId(v string) *DeleteTransitGatewayRouteTableInput {
64220	s.TransitGatewayRouteTableId = &v
64221	return s
64222}
64223
64224type DeleteTransitGatewayRouteTableOutput struct {
64225	_ struct{} `type:"structure"`
64226
64227	// Information about the deleted transit gateway route table.
64228	TransitGatewayRouteTable *TransitGatewayRouteTable `locationName:"transitGatewayRouteTable" type:"structure"`
64229}
64230
64231// String returns the string representation
64232func (s DeleteTransitGatewayRouteTableOutput) String() string {
64233	return awsutil.Prettify(s)
64234}
64235
64236// GoString returns the string representation
64237func (s DeleteTransitGatewayRouteTableOutput) GoString() string {
64238	return s.String()
64239}
64240
64241// SetTransitGatewayRouteTable sets the TransitGatewayRouteTable field's value.
64242func (s *DeleteTransitGatewayRouteTableOutput) SetTransitGatewayRouteTable(v *TransitGatewayRouteTable) *DeleteTransitGatewayRouteTableOutput {
64243	s.TransitGatewayRouteTable = v
64244	return s
64245}
64246
64247type DeleteTransitGatewayVpcAttachmentInput struct {
64248	_ struct{} `type:"structure"`
64249
64250	// Checks whether you have the required permissions for the action, without
64251	// actually making the request, and provides an error response. If you have
64252	// the required permissions, the error response is DryRunOperation. Otherwise,
64253	// it is UnauthorizedOperation.
64254	DryRun *bool `type:"boolean"`
64255
64256	// The ID of the attachment.
64257	//
64258	// TransitGatewayAttachmentId is a required field
64259	TransitGatewayAttachmentId *string `type:"string" required:"true"`
64260}
64261
64262// String returns the string representation
64263func (s DeleteTransitGatewayVpcAttachmentInput) String() string {
64264	return awsutil.Prettify(s)
64265}
64266
64267// GoString returns the string representation
64268func (s DeleteTransitGatewayVpcAttachmentInput) GoString() string {
64269	return s.String()
64270}
64271
64272// Validate inspects the fields of the type to determine if they are valid.
64273func (s *DeleteTransitGatewayVpcAttachmentInput) Validate() error {
64274	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayVpcAttachmentInput"}
64275	if s.TransitGatewayAttachmentId == nil {
64276		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
64277	}
64278
64279	if invalidParams.Len() > 0 {
64280		return invalidParams
64281	}
64282	return nil
64283}
64284
64285// SetDryRun sets the DryRun field's value.
64286func (s *DeleteTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *DeleteTransitGatewayVpcAttachmentInput {
64287	s.DryRun = &v
64288	return s
64289}
64290
64291// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
64292func (s *DeleteTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *DeleteTransitGatewayVpcAttachmentInput {
64293	s.TransitGatewayAttachmentId = &v
64294	return s
64295}
64296
64297type DeleteTransitGatewayVpcAttachmentOutput struct {
64298	_ struct{} `type:"structure"`
64299
64300	// Information about the deleted VPC attachment.
64301	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
64302}
64303
64304// String returns the string representation
64305func (s DeleteTransitGatewayVpcAttachmentOutput) String() string {
64306	return awsutil.Prettify(s)
64307}
64308
64309// GoString returns the string representation
64310func (s DeleteTransitGatewayVpcAttachmentOutput) GoString() string {
64311	return s.String()
64312}
64313
64314// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
64315func (s *DeleteTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *DeleteTransitGatewayVpcAttachmentOutput {
64316	s.TransitGatewayVpcAttachment = v
64317	return s
64318}
64319
64320type DeleteVolumeInput struct {
64321	_ struct{} `type:"structure"`
64322
64323	// Checks whether you have the required permissions for the action, without
64324	// actually making the request, and provides an error response. If you have
64325	// the required permissions, the error response is DryRunOperation. Otherwise,
64326	// it is UnauthorizedOperation.
64327	DryRun *bool `locationName:"dryRun" type:"boolean"`
64328
64329	// The ID of the volume.
64330	//
64331	// VolumeId is a required field
64332	VolumeId *string `type:"string" required:"true"`
64333}
64334
64335// String returns the string representation
64336func (s DeleteVolumeInput) String() string {
64337	return awsutil.Prettify(s)
64338}
64339
64340// GoString returns the string representation
64341func (s DeleteVolumeInput) GoString() string {
64342	return s.String()
64343}
64344
64345// Validate inspects the fields of the type to determine if they are valid.
64346func (s *DeleteVolumeInput) Validate() error {
64347	invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeInput"}
64348	if s.VolumeId == nil {
64349		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
64350	}
64351
64352	if invalidParams.Len() > 0 {
64353		return invalidParams
64354	}
64355	return nil
64356}
64357
64358// SetDryRun sets the DryRun field's value.
64359func (s *DeleteVolumeInput) SetDryRun(v bool) *DeleteVolumeInput {
64360	s.DryRun = &v
64361	return s
64362}
64363
64364// SetVolumeId sets the VolumeId field's value.
64365func (s *DeleteVolumeInput) SetVolumeId(v string) *DeleteVolumeInput {
64366	s.VolumeId = &v
64367	return s
64368}
64369
64370type DeleteVolumeOutput struct {
64371	_ struct{} `type:"structure"`
64372}
64373
64374// String returns the string representation
64375func (s DeleteVolumeOutput) String() string {
64376	return awsutil.Prettify(s)
64377}
64378
64379// GoString returns the string representation
64380func (s DeleteVolumeOutput) GoString() string {
64381	return s.String()
64382}
64383
64384type DeleteVpcEndpointConnectionNotificationsInput struct {
64385	_ struct{} `type:"structure"`
64386
64387	// One or more notification IDs.
64388	//
64389	// ConnectionNotificationIds is a required field
64390	ConnectionNotificationIds []*string `locationName:"ConnectionNotificationId" locationNameList:"item" type:"list" required:"true"`
64391
64392	// Checks whether you have the required permissions for the action, without
64393	// actually making the request, and provides an error response. If you have
64394	// the required permissions, the error response is DryRunOperation. Otherwise,
64395	// it is UnauthorizedOperation.
64396	DryRun *bool `type:"boolean"`
64397}
64398
64399// String returns the string representation
64400func (s DeleteVpcEndpointConnectionNotificationsInput) String() string {
64401	return awsutil.Prettify(s)
64402}
64403
64404// GoString returns the string representation
64405func (s DeleteVpcEndpointConnectionNotificationsInput) GoString() string {
64406	return s.String()
64407}
64408
64409// Validate inspects the fields of the type to determine if they are valid.
64410func (s *DeleteVpcEndpointConnectionNotificationsInput) Validate() error {
64411	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointConnectionNotificationsInput"}
64412	if s.ConnectionNotificationIds == nil {
64413		invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationIds"))
64414	}
64415
64416	if invalidParams.Len() > 0 {
64417		return invalidParams
64418	}
64419	return nil
64420}
64421
64422// SetConnectionNotificationIds sets the ConnectionNotificationIds field's value.
64423func (s *DeleteVpcEndpointConnectionNotificationsInput) SetConnectionNotificationIds(v []*string) *DeleteVpcEndpointConnectionNotificationsInput {
64424	s.ConnectionNotificationIds = v
64425	return s
64426}
64427
64428// SetDryRun sets the DryRun field's value.
64429func (s *DeleteVpcEndpointConnectionNotificationsInput) SetDryRun(v bool) *DeleteVpcEndpointConnectionNotificationsInput {
64430	s.DryRun = &v
64431	return s
64432}
64433
64434type DeleteVpcEndpointConnectionNotificationsOutput struct {
64435	_ struct{} `type:"structure"`
64436
64437	// Information about the notifications that could not be deleted successfully.
64438	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
64439}
64440
64441// String returns the string representation
64442func (s DeleteVpcEndpointConnectionNotificationsOutput) String() string {
64443	return awsutil.Prettify(s)
64444}
64445
64446// GoString returns the string representation
64447func (s DeleteVpcEndpointConnectionNotificationsOutput) GoString() string {
64448	return s.String()
64449}
64450
64451// SetUnsuccessful sets the Unsuccessful field's value.
64452func (s *DeleteVpcEndpointConnectionNotificationsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointConnectionNotificationsOutput {
64453	s.Unsuccessful = v
64454	return s
64455}
64456
64457type DeleteVpcEndpointServiceConfigurationsInput struct {
64458	_ struct{} `type:"structure"`
64459
64460	// Checks whether you have the required permissions for the action, without
64461	// actually making the request, and provides an error response. If you have
64462	// the required permissions, the error response is DryRunOperation. Otherwise,
64463	// it is UnauthorizedOperation.
64464	DryRun *bool `type:"boolean"`
64465
64466	// The IDs of one or more services.
64467	//
64468	// ServiceIds is a required field
64469	ServiceIds []*string `locationName:"ServiceId" locationNameList:"item" type:"list" required:"true"`
64470}
64471
64472// String returns the string representation
64473func (s DeleteVpcEndpointServiceConfigurationsInput) String() string {
64474	return awsutil.Prettify(s)
64475}
64476
64477// GoString returns the string representation
64478func (s DeleteVpcEndpointServiceConfigurationsInput) GoString() string {
64479	return s.String()
64480}
64481
64482// Validate inspects the fields of the type to determine if they are valid.
64483func (s *DeleteVpcEndpointServiceConfigurationsInput) Validate() error {
64484	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointServiceConfigurationsInput"}
64485	if s.ServiceIds == nil {
64486		invalidParams.Add(request.NewErrParamRequired("ServiceIds"))
64487	}
64488
64489	if invalidParams.Len() > 0 {
64490		return invalidParams
64491	}
64492	return nil
64493}
64494
64495// SetDryRun sets the DryRun field's value.
64496func (s *DeleteVpcEndpointServiceConfigurationsInput) SetDryRun(v bool) *DeleteVpcEndpointServiceConfigurationsInput {
64497	s.DryRun = &v
64498	return s
64499}
64500
64501// SetServiceIds sets the ServiceIds field's value.
64502func (s *DeleteVpcEndpointServiceConfigurationsInput) SetServiceIds(v []*string) *DeleteVpcEndpointServiceConfigurationsInput {
64503	s.ServiceIds = v
64504	return s
64505}
64506
64507type DeleteVpcEndpointServiceConfigurationsOutput struct {
64508	_ struct{} `type:"structure"`
64509
64510	// Information about the service configurations that were not deleted, if applicable.
64511	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
64512}
64513
64514// String returns the string representation
64515func (s DeleteVpcEndpointServiceConfigurationsOutput) String() string {
64516	return awsutil.Prettify(s)
64517}
64518
64519// GoString returns the string representation
64520func (s DeleteVpcEndpointServiceConfigurationsOutput) GoString() string {
64521	return s.String()
64522}
64523
64524// SetUnsuccessful sets the Unsuccessful field's value.
64525func (s *DeleteVpcEndpointServiceConfigurationsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointServiceConfigurationsOutput {
64526	s.Unsuccessful = v
64527	return s
64528}
64529
64530// Contains the parameters for DeleteVpcEndpoints.
64531type DeleteVpcEndpointsInput struct {
64532	_ struct{} `type:"structure"`
64533
64534	// Checks whether you have the required permissions for the action, without
64535	// actually making the request, and provides an error response. If you have
64536	// the required permissions, the error response is DryRunOperation. Otherwise,
64537	// it is UnauthorizedOperation.
64538	DryRun *bool `type:"boolean"`
64539
64540	// One or more VPC endpoint IDs.
64541	//
64542	// VpcEndpointIds is a required field
64543	VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
64544}
64545
64546// String returns the string representation
64547func (s DeleteVpcEndpointsInput) String() string {
64548	return awsutil.Prettify(s)
64549}
64550
64551// GoString returns the string representation
64552func (s DeleteVpcEndpointsInput) GoString() string {
64553	return s.String()
64554}
64555
64556// Validate inspects the fields of the type to determine if they are valid.
64557func (s *DeleteVpcEndpointsInput) Validate() error {
64558	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointsInput"}
64559	if s.VpcEndpointIds == nil {
64560		invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
64561	}
64562
64563	if invalidParams.Len() > 0 {
64564		return invalidParams
64565	}
64566	return nil
64567}
64568
64569// SetDryRun sets the DryRun field's value.
64570func (s *DeleteVpcEndpointsInput) SetDryRun(v bool) *DeleteVpcEndpointsInput {
64571	s.DryRun = &v
64572	return s
64573}
64574
64575// SetVpcEndpointIds sets the VpcEndpointIds field's value.
64576func (s *DeleteVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DeleteVpcEndpointsInput {
64577	s.VpcEndpointIds = v
64578	return s
64579}
64580
64581// Contains the output of DeleteVpcEndpoints.
64582type DeleteVpcEndpointsOutput struct {
64583	_ struct{} `type:"structure"`
64584
64585	// Information about the VPC endpoints that were not successfully deleted.
64586	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
64587}
64588
64589// String returns the string representation
64590func (s DeleteVpcEndpointsOutput) String() string {
64591	return awsutil.Prettify(s)
64592}
64593
64594// GoString returns the string representation
64595func (s DeleteVpcEndpointsOutput) GoString() string {
64596	return s.String()
64597}
64598
64599// SetUnsuccessful sets the Unsuccessful field's value.
64600func (s *DeleteVpcEndpointsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointsOutput {
64601	s.Unsuccessful = v
64602	return s
64603}
64604
64605type DeleteVpcInput struct {
64606	_ struct{} `type:"structure"`
64607
64608	// Checks whether you have the required permissions for the action, without
64609	// actually making the request, and provides an error response. If you have
64610	// the required permissions, the error response is DryRunOperation. Otherwise,
64611	// it is UnauthorizedOperation.
64612	DryRun *bool `locationName:"dryRun" type:"boolean"`
64613
64614	// The ID of the VPC.
64615	//
64616	// VpcId is a required field
64617	VpcId *string `type:"string" required:"true"`
64618}
64619
64620// String returns the string representation
64621func (s DeleteVpcInput) String() string {
64622	return awsutil.Prettify(s)
64623}
64624
64625// GoString returns the string representation
64626func (s DeleteVpcInput) GoString() string {
64627	return s.String()
64628}
64629
64630// Validate inspects the fields of the type to determine if they are valid.
64631func (s *DeleteVpcInput) Validate() error {
64632	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcInput"}
64633	if s.VpcId == nil {
64634		invalidParams.Add(request.NewErrParamRequired("VpcId"))
64635	}
64636
64637	if invalidParams.Len() > 0 {
64638		return invalidParams
64639	}
64640	return nil
64641}
64642
64643// SetDryRun sets the DryRun field's value.
64644func (s *DeleteVpcInput) SetDryRun(v bool) *DeleteVpcInput {
64645	s.DryRun = &v
64646	return s
64647}
64648
64649// SetVpcId sets the VpcId field's value.
64650func (s *DeleteVpcInput) SetVpcId(v string) *DeleteVpcInput {
64651	s.VpcId = &v
64652	return s
64653}
64654
64655type DeleteVpcOutput struct {
64656	_ struct{} `type:"structure"`
64657}
64658
64659// String returns the string representation
64660func (s DeleteVpcOutput) String() string {
64661	return awsutil.Prettify(s)
64662}
64663
64664// GoString returns the string representation
64665func (s DeleteVpcOutput) GoString() string {
64666	return s.String()
64667}
64668
64669type DeleteVpcPeeringConnectionInput struct {
64670	_ struct{} `type:"structure"`
64671
64672	// Checks whether you have the required permissions for the action, without
64673	// actually making the request, and provides an error response. If you have
64674	// the required permissions, the error response is DryRunOperation. Otherwise,
64675	// it is UnauthorizedOperation.
64676	DryRun *bool `locationName:"dryRun" type:"boolean"`
64677
64678	// The ID of the VPC peering connection.
64679	//
64680	// VpcPeeringConnectionId is a required field
64681	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
64682}
64683
64684// String returns the string representation
64685func (s DeleteVpcPeeringConnectionInput) String() string {
64686	return awsutil.Prettify(s)
64687}
64688
64689// GoString returns the string representation
64690func (s DeleteVpcPeeringConnectionInput) GoString() string {
64691	return s.String()
64692}
64693
64694// Validate inspects the fields of the type to determine if they are valid.
64695func (s *DeleteVpcPeeringConnectionInput) Validate() error {
64696	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringConnectionInput"}
64697	if s.VpcPeeringConnectionId == nil {
64698		invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
64699	}
64700
64701	if invalidParams.Len() > 0 {
64702		return invalidParams
64703	}
64704	return nil
64705}
64706
64707// SetDryRun sets the DryRun field's value.
64708func (s *DeleteVpcPeeringConnectionInput) SetDryRun(v bool) *DeleteVpcPeeringConnectionInput {
64709	s.DryRun = &v
64710	return s
64711}
64712
64713// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
64714func (s *DeleteVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *DeleteVpcPeeringConnectionInput {
64715	s.VpcPeeringConnectionId = &v
64716	return s
64717}
64718
64719type DeleteVpcPeeringConnectionOutput struct {
64720	_ struct{} `type:"structure"`
64721
64722	// Returns true if the request succeeds; otherwise, it returns an error.
64723	Return *bool `locationName:"return" type:"boolean"`
64724}
64725
64726// String returns the string representation
64727func (s DeleteVpcPeeringConnectionOutput) String() string {
64728	return awsutil.Prettify(s)
64729}
64730
64731// GoString returns the string representation
64732func (s DeleteVpcPeeringConnectionOutput) GoString() string {
64733	return s.String()
64734}
64735
64736// SetReturn sets the Return field's value.
64737func (s *DeleteVpcPeeringConnectionOutput) SetReturn(v bool) *DeleteVpcPeeringConnectionOutput {
64738	s.Return = &v
64739	return s
64740}
64741
64742// Contains the parameters for DeleteVpnConnection.
64743type DeleteVpnConnectionInput struct {
64744	_ struct{} `type:"structure"`
64745
64746	// Checks whether you have the required permissions for the action, without
64747	// actually making the request, and provides an error response. If you have
64748	// the required permissions, the error response is DryRunOperation. Otherwise,
64749	// it is UnauthorizedOperation.
64750	DryRun *bool `locationName:"dryRun" type:"boolean"`
64751
64752	// The ID of the VPN connection.
64753	//
64754	// VpnConnectionId is a required field
64755	VpnConnectionId *string `type:"string" required:"true"`
64756}
64757
64758// String returns the string representation
64759func (s DeleteVpnConnectionInput) String() string {
64760	return awsutil.Prettify(s)
64761}
64762
64763// GoString returns the string representation
64764func (s DeleteVpnConnectionInput) GoString() string {
64765	return s.String()
64766}
64767
64768// Validate inspects the fields of the type to determine if they are valid.
64769func (s *DeleteVpnConnectionInput) Validate() error {
64770	invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionInput"}
64771	if s.VpnConnectionId == nil {
64772		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
64773	}
64774
64775	if invalidParams.Len() > 0 {
64776		return invalidParams
64777	}
64778	return nil
64779}
64780
64781// SetDryRun sets the DryRun field's value.
64782func (s *DeleteVpnConnectionInput) SetDryRun(v bool) *DeleteVpnConnectionInput {
64783	s.DryRun = &v
64784	return s
64785}
64786
64787// SetVpnConnectionId sets the VpnConnectionId field's value.
64788func (s *DeleteVpnConnectionInput) SetVpnConnectionId(v string) *DeleteVpnConnectionInput {
64789	s.VpnConnectionId = &v
64790	return s
64791}
64792
64793type DeleteVpnConnectionOutput struct {
64794	_ struct{} `type:"structure"`
64795}
64796
64797// String returns the string representation
64798func (s DeleteVpnConnectionOutput) String() string {
64799	return awsutil.Prettify(s)
64800}
64801
64802// GoString returns the string representation
64803func (s DeleteVpnConnectionOutput) GoString() string {
64804	return s.String()
64805}
64806
64807// Contains the parameters for DeleteVpnConnectionRoute.
64808type DeleteVpnConnectionRouteInput struct {
64809	_ struct{} `type:"structure"`
64810
64811	// The CIDR block associated with the local subnet of the customer network.
64812	//
64813	// DestinationCidrBlock is a required field
64814	DestinationCidrBlock *string `type:"string" required:"true"`
64815
64816	// The ID of the VPN connection.
64817	//
64818	// VpnConnectionId is a required field
64819	VpnConnectionId *string `type:"string" required:"true"`
64820}
64821
64822// String returns the string representation
64823func (s DeleteVpnConnectionRouteInput) String() string {
64824	return awsutil.Prettify(s)
64825}
64826
64827// GoString returns the string representation
64828func (s DeleteVpnConnectionRouteInput) GoString() string {
64829	return s.String()
64830}
64831
64832// Validate inspects the fields of the type to determine if they are valid.
64833func (s *DeleteVpnConnectionRouteInput) Validate() error {
64834	invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionRouteInput"}
64835	if s.DestinationCidrBlock == nil {
64836		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
64837	}
64838	if s.VpnConnectionId == nil {
64839		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
64840	}
64841
64842	if invalidParams.Len() > 0 {
64843		return invalidParams
64844	}
64845	return nil
64846}
64847
64848// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
64849func (s *DeleteVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *DeleteVpnConnectionRouteInput {
64850	s.DestinationCidrBlock = &v
64851	return s
64852}
64853
64854// SetVpnConnectionId sets the VpnConnectionId field's value.
64855func (s *DeleteVpnConnectionRouteInput) SetVpnConnectionId(v string) *DeleteVpnConnectionRouteInput {
64856	s.VpnConnectionId = &v
64857	return s
64858}
64859
64860type DeleteVpnConnectionRouteOutput struct {
64861	_ struct{} `type:"structure"`
64862}
64863
64864// String returns the string representation
64865func (s DeleteVpnConnectionRouteOutput) String() string {
64866	return awsutil.Prettify(s)
64867}
64868
64869// GoString returns the string representation
64870func (s DeleteVpnConnectionRouteOutput) GoString() string {
64871	return s.String()
64872}
64873
64874// Contains the parameters for DeleteVpnGateway.
64875type DeleteVpnGatewayInput struct {
64876	_ struct{} `type:"structure"`
64877
64878	// Checks whether you have the required permissions for the action, without
64879	// actually making the request, and provides an error response. If you have
64880	// the required permissions, the error response is DryRunOperation. Otherwise,
64881	// it is UnauthorizedOperation.
64882	DryRun *bool `locationName:"dryRun" type:"boolean"`
64883
64884	// The ID of the virtual private gateway.
64885	//
64886	// VpnGatewayId is a required field
64887	VpnGatewayId *string `type:"string" required:"true"`
64888}
64889
64890// String returns the string representation
64891func (s DeleteVpnGatewayInput) String() string {
64892	return awsutil.Prettify(s)
64893}
64894
64895// GoString returns the string representation
64896func (s DeleteVpnGatewayInput) GoString() string {
64897	return s.String()
64898}
64899
64900// Validate inspects the fields of the type to determine if they are valid.
64901func (s *DeleteVpnGatewayInput) Validate() error {
64902	invalidParams := request.ErrInvalidParams{Context: "DeleteVpnGatewayInput"}
64903	if s.VpnGatewayId == nil {
64904		invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
64905	}
64906
64907	if invalidParams.Len() > 0 {
64908		return invalidParams
64909	}
64910	return nil
64911}
64912
64913// SetDryRun sets the DryRun field's value.
64914func (s *DeleteVpnGatewayInput) SetDryRun(v bool) *DeleteVpnGatewayInput {
64915	s.DryRun = &v
64916	return s
64917}
64918
64919// SetVpnGatewayId sets the VpnGatewayId field's value.
64920func (s *DeleteVpnGatewayInput) SetVpnGatewayId(v string) *DeleteVpnGatewayInput {
64921	s.VpnGatewayId = &v
64922	return s
64923}
64924
64925type DeleteVpnGatewayOutput struct {
64926	_ struct{} `type:"structure"`
64927}
64928
64929// String returns the string representation
64930func (s DeleteVpnGatewayOutput) String() string {
64931	return awsutil.Prettify(s)
64932}
64933
64934// GoString returns the string representation
64935func (s DeleteVpnGatewayOutput) GoString() string {
64936	return s.String()
64937}
64938
64939type DeprovisionByoipCidrInput struct {
64940	_ struct{} `type:"structure"`
64941
64942	// The address range, in CIDR notation. The prefix must be the same prefix that
64943	// you specified when you provisioned the address range.
64944	//
64945	// Cidr is a required field
64946	Cidr *string `type:"string" required:"true"`
64947
64948	// Checks whether you have the required permissions for the action, without
64949	// actually making the request, and provides an error response. If you have
64950	// the required permissions, the error response is DryRunOperation. Otherwise,
64951	// it is UnauthorizedOperation.
64952	DryRun *bool `type:"boolean"`
64953}
64954
64955// String returns the string representation
64956func (s DeprovisionByoipCidrInput) String() string {
64957	return awsutil.Prettify(s)
64958}
64959
64960// GoString returns the string representation
64961func (s DeprovisionByoipCidrInput) GoString() string {
64962	return s.String()
64963}
64964
64965// Validate inspects the fields of the type to determine if they are valid.
64966func (s *DeprovisionByoipCidrInput) Validate() error {
64967	invalidParams := request.ErrInvalidParams{Context: "DeprovisionByoipCidrInput"}
64968	if s.Cidr == nil {
64969		invalidParams.Add(request.NewErrParamRequired("Cidr"))
64970	}
64971
64972	if invalidParams.Len() > 0 {
64973		return invalidParams
64974	}
64975	return nil
64976}
64977
64978// SetCidr sets the Cidr field's value.
64979func (s *DeprovisionByoipCidrInput) SetCidr(v string) *DeprovisionByoipCidrInput {
64980	s.Cidr = &v
64981	return s
64982}
64983
64984// SetDryRun sets the DryRun field's value.
64985func (s *DeprovisionByoipCidrInput) SetDryRun(v bool) *DeprovisionByoipCidrInput {
64986	s.DryRun = &v
64987	return s
64988}
64989
64990type DeprovisionByoipCidrOutput struct {
64991	_ struct{} `type:"structure"`
64992
64993	// Information about the address range.
64994	ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
64995}
64996
64997// String returns the string representation
64998func (s DeprovisionByoipCidrOutput) String() string {
64999	return awsutil.Prettify(s)
65000}
65001
65002// GoString returns the string representation
65003func (s DeprovisionByoipCidrOutput) GoString() string {
65004	return s.String()
65005}
65006
65007// SetByoipCidr sets the ByoipCidr field's value.
65008func (s *DeprovisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *DeprovisionByoipCidrOutput {
65009	s.ByoipCidr = v
65010	return s
65011}
65012
65013// Contains the parameters for DeregisterImage.
65014type DeregisterImageInput struct {
65015	_ struct{} `type:"structure"`
65016
65017	// Checks whether you have the required permissions for the action, without
65018	// actually making the request, and provides an error response. If you have
65019	// the required permissions, the error response is DryRunOperation. Otherwise,
65020	// it is UnauthorizedOperation.
65021	DryRun *bool `locationName:"dryRun" type:"boolean"`
65022
65023	// The ID of the AMI.
65024	//
65025	// ImageId is a required field
65026	ImageId *string `type:"string" required:"true"`
65027}
65028
65029// String returns the string representation
65030func (s DeregisterImageInput) String() string {
65031	return awsutil.Prettify(s)
65032}
65033
65034// GoString returns the string representation
65035func (s DeregisterImageInput) GoString() string {
65036	return s.String()
65037}
65038
65039// Validate inspects the fields of the type to determine if they are valid.
65040func (s *DeregisterImageInput) Validate() error {
65041	invalidParams := request.ErrInvalidParams{Context: "DeregisterImageInput"}
65042	if s.ImageId == nil {
65043		invalidParams.Add(request.NewErrParamRequired("ImageId"))
65044	}
65045
65046	if invalidParams.Len() > 0 {
65047		return invalidParams
65048	}
65049	return nil
65050}
65051
65052// SetDryRun sets the DryRun field's value.
65053func (s *DeregisterImageInput) SetDryRun(v bool) *DeregisterImageInput {
65054	s.DryRun = &v
65055	return s
65056}
65057
65058// SetImageId sets the ImageId field's value.
65059func (s *DeregisterImageInput) SetImageId(v string) *DeregisterImageInput {
65060	s.ImageId = &v
65061	return s
65062}
65063
65064type DeregisterImageOutput struct {
65065	_ struct{} `type:"structure"`
65066}
65067
65068// String returns the string representation
65069func (s DeregisterImageOutput) String() string {
65070	return awsutil.Prettify(s)
65071}
65072
65073// GoString returns the string representation
65074func (s DeregisterImageOutput) GoString() string {
65075	return s.String()
65076}
65077
65078type DeregisterInstanceEventNotificationAttributesInput struct {
65079	_ struct{} `type:"structure"`
65080
65081	// Checks whether you have the required permissions for the action, without
65082	// actually making the request, and provides an error response. If you have
65083	// the required permissions, the error response is DryRunOperation. Otherwise,
65084	// it is UnauthorizedOperation.
65085	DryRun *bool `type:"boolean"`
65086
65087	// Information about the tag keys to deregister.
65088	InstanceTagAttribute *DeregisterInstanceTagAttributeRequest `type:"structure"`
65089}
65090
65091// String returns the string representation
65092func (s DeregisterInstanceEventNotificationAttributesInput) String() string {
65093	return awsutil.Prettify(s)
65094}
65095
65096// GoString returns the string representation
65097func (s DeregisterInstanceEventNotificationAttributesInput) GoString() string {
65098	return s.String()
65099}
65100
65101// SetDryRun sets the DryRun field's value.
65102func (s *DeregisterInstanceEventNotificationAttributesInput) SetDryRun(v bool) *DeregisterInstanceEventNotificationAttributesInput {
65103	s.DryRun = &v
65104	return s
65105}
65106
65107// SetInstanceTagAttribute sets the InstanceTagAttribute field's value.
65108func (s *DeregisterInstanceEventNotificationAttributesInput) SetInstanceTagAttribute(v *DeregisterInstanceTagAttributeRequest) *DeregisterInstanceEventNotificationAttributesInput {
65109	s.InstanceTagAttribute = v
65110	return s
65111}
65112
65113type DeregisterInstanceEventNotificationAttributesOutput struct {
65114	_ struct{} `type:"structure"`
65115
65116	// The resulting set of tag keys.
65117	InstanceTagAttribute *InstanceTagNotificationAttribute `locationName:"instanceTagAttribute" type:"structure"`
65118}
65119
65120// String returns the string representation
65121func (s DeregisterInstanceEventNotificationAttributesOutput) String() string {
65122	return awsutil.Prettify(s)
65123}
65124
65125// GoString returns the string representation
65126func (s DeregisterInstanceEventNotificationAttributesOutput) GoString() string {
65127	return s.String()
65128}
65129
65130// SetInstanceTagAttribute sets the InstanceTagAttribute field's value.
65131func (s *DeregisterInstanceEventNotificationAttributesOutput) SetInstanceTagAttribute(v *InstanceTagNotificationAttribute) *DeregisterInstanceEventNotificationAttributesOutput {
65132	s.InstanceTagAttribute = v
65133	return s
65134}
65135
65136// Information about the tag keys to deregister for the current Region. You
65137// can either specify individual tag keys or deregister all tag keys in the
65138// current Region. You must specify either IncludeAllTagsOfInstance or InstanceTagKeys
65139// in the request
65140type DeregisterInstanceTagAttributeRequest struct {
65141	_ struct{} `type:"structure"`
65142
65143	// Indicates whether to deregister all tag keys in the current Region. Specify
65144	// false to deregister all tag keys.
65145	IncludeAllTagsOfInstance *bool `type:"boolean"`
65146
65147	// Information about the tag keys to deregister.
65148	InstanceTagKeys []*string `locationName:"InstanceTagKey" locationNameList:"item" type:"list"`
65149}
65150
65151// String returns the string representation
65152func (s DeregisterInstanceTagAttributeRequest) String() string {
65153	return awsutil.Prettify(s)
65154}
65155
65156// GoString returns the string representation
65157func (s DeregisterInstanceTagAttributeRequest) GoString() string {
65158	return s.String()
65159}
65160
65161// SetIncludeAllTagsOfInstance sets the IncludeAllTagsOfInstance field's value.
65162func (s *DeregisterInstanceTagAttributeRequest) SetIncludeAllTagsOfInstance(v bool) *DeregisterInstanceTagAttributeRequest {
65163	s.IncludeAllTagsOfInstance = &v
65164	return s
65165}
65166
65167// SetInstanceTagKeys sets the InstanceTagKeys field's value.
65168func (s *DeregisterInstanceTagAttributeRequest) SetInstanceTagKeys(v []*string) *DeregisterInstanceTagAttributeRequest {
65169	s.InstanceTagKeys = v
65170	return s
65171}
65172
65173type DeregisterTransitGatewayMulticastGroupMembersInput 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 IP address assigned to the transit gateway multicast group.
65183	GroupIpAddress *string `type:"string"`
65184
65185	// The IDs of the group members' network interfaces.
65186	NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
65187
65188	// The ID of the transit gateway multicast domain.
65189	TransitGatewayMulticastDomainId *string `type:"string"`
65190}
65191
65192// String returns the string representation
65193func (s DeregisterTransitGatewayMulticastGroupMembersInput) String() string {
65194	return awsutil.Prettify(s)
65195}
65196
65197// GoString returns the string representation
65198func (s DeregisterTransitGatewayMulticastGroupMembersInput) GoString() string {
65199	return s.String()
65200}
65201
65202// SetDryRun sets the DryRun field's value.
65203func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetDryRun(v bool) *DeregisterTransitGatewayMulticastGroupMembersInput {
65204	s.DryRun = &v
65205	return s
65206}
65207
65208// SetGroupIpAddress sets the GroupIpAddress field's value.
65209func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetGroupIpAddress(v string) *DeregisterTransitGatewayMulticastGroupMembersInput {
65210	s.GroupIpAddress = &v
65211	return s
65212}
65213
65214// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
65215func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetNetworkInterfaceIds(v []*string) *DeregisterTransitGatewayMulticastGroupMembersInput {
65216	s.NetworkInterfaceIds = v
65217	return s
65218}
65219
65220// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
65221func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetTransitGatewayMulticastDomainId(v string) *DeregisterTransitGatewayMulticastGroupMembersInput {
65222	s.TransitGatewayMulticastDomainId = &v
65223	return s
65224}
65225
65226type DeregisterTransitGatewayMulticastGroupMembersOutput struct {
65227	_ struct{} `type:"structure"`
65228
65229	// Information about the deregistered members.
65230	DeregisteredMulticastGroupMembers *TransitGatewayMulticastDeregisteredGroupMembers `locationName:"deregisteredMulticastGroupMembers" type:"structure"`
65231}
65232
65233// String returns the string representation
65234func (s DeregisterTransitGatewayMulticastGroupMembersOutput) String() string {
65235	return awsutil.Prettify(s)
65236}
65237
65238// GoString returns the string representation
65239func (s DeregisterTransitGatewayMulticastGroupMembersOutput) GoString() string {
65240	return s.String()
65241}
65242
65243// SetDeregisteredMulticastGroupMembers sets the DeregisteredMulticastGroupMembers field's value.
65244func (s *DeregisterTransitGatewayMulticastGroupMembersOutput) SetDeregisteredMulticastGroupMembers(v *TransitGatewayMulticastDeregisteredGroupMembers) *DeregisterTransitGatewayMulticastGroupMembersOutput {
65245	s.DeregisteredMulticastGroupMembers = v
65246	return s
65247}
65248
65249type DeregisterTransitGatewayMulticastGroupSourcesInput struct {
65250	_ struct{} `type:"structure"`
65251
65252	// Checks whether you have the required permissions for the action, without
65253	// actually making the request, and provides an error response. If you have
65254	// the required permissions, the error response is DryRunOperation. Otherwise,
65255	// it is UnauthorizedOperation.
65256	DryRun *bool `type:"boolean"`
65257
65258	// The IP address assigned to the transit gateway multicast group.
65259	GroupIpAddress *string `type:"string"`
65260
65261	// The IDs of the group sources' network interfaces.
65262	NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
65263
65264	// The ID of the transit gateway multicast domain.
65265	TransitGatewayMulticastDomainId *string `type:"string"`
65266}
65267
65268// String returns the string representation
65269func (s DeregisterTransitGatewayMulticastGroupSourcesInput) String() string {
65270	return awsutil.Prettify(s)
65271}
65272
65273// GoString returns the string representation
65274func (s DeregisterTransitGatewayMulticastGroupSourcesInput) GoString() string {
65275	return s.String()
65276}
65277
65278// SetDryRun sets the DryRun field's value.
65279func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetDryRun(v bool) *DeregisterTransitGatewayMulticastGroupSourcesInput {
65280	s.DryRun = &v
65281	return s
65282}
65283
65284// SetGroupIpAddress sets the GroupIpAddress field's value.
65285func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetGroupIpAddress(v string) *DeregisterTransitGatewayMulticastGroupSourcesInput {
65286	s.GroupIpAddress = &v
65287	return s
65288}
65289
65290// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
65291func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetNetworkInterfaceIds(v []*string) *DeregisterTransitGatewayMulticastGroupSourcesInput {
65292	s.NetworkInterfaceIds = v
65293	return s
65294}
65295
65296// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
65297func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetTransitGatewayMulticastDomainId(v string) *DeregisterTransitGatewayMulticastGroupSourcesInput {
65298	s.TransitGatewayMulticastDomainId = &v
65299	return s
65300}
65301
65302type DeregisterTransitGatewayMulticastGroupSourcesOutput struct {
65303	_ struct{} `type:"structure"`
65304
65305	// Information about the deregistered group sources.
65306	DeregisteredMulticastGroupSources *TransitGatewayMulticastDeregisteredGroupSources `locationName:"deregisteredMulticastGroupSources" type:"structure"`
65307}
65308
65309// String returns the string representation
65310func (s DeregisterTransitGatewayMulticastGroupSourcesOutput) String() string {
65311	return awsutil.Prettify(s)
65312}
65313
65314// GoString returns the string representation
65315func (s DeregisterTransitGatewayMulticastGroupSourcesOutput) GoString() string {
65316	return s.String()
65317}
65318
65319// SetDeregisteredMulticastGroupSources sets the DeregisteredMulticastGroupSources field's value.
65320func (s *DeregisterTransitGatewayMulticastGroupSourcesOutput) SetDeregisteredMulticastGroupSources(v *TransitGatewayMulticastDeregisteredGroupSources) *DeregisterTransitGatewayMulticastGroupSourcesOutput {
65321	s.DeregisteredMulticastGroupSources = v
65322	return s
65323}
65324
65325type DescribeAccountAttributesInput struct {
65326	_ struct{} `type:"structure"`
65327
65328	// The account attribute names.
65329	AttributeNames []*string `locationName:"attributeName" locationNameList:"attributeName" type:"list"`
65330
65331	// Checks whether you have the required permissions for the action, without
65332	// actually making the request, and provides an error response. If you have
65333	// the required permissions, the error response is DryRunOperation. Otherwise,
65334	// it is UnauthorizedOperation.
65335	DryRun *bool `locationName:"dryRun" type:"boolean"`
65336}
65337
65338// String returns the string representation
65339func (s DescribeAccountAttributesInput) String() string {
65340	return awsutil.Prettify(s)
65341}
65342
65343// GoString returns the string representation
65344func (s DescribeAccountAttributesInput) GoString() string {
65345	return s.String()
65346}
65347
65348// SetAttributeNames sets the AttributeNames field's value.
65349func (s *DescribeAccountAttributesInput) SetAttributeNames(v []*string) *DescribeAccountAttributesInput {
65350	s.AttributeNames = v
65351	return s
65352}
65353
65354// SetDryRun sets the DryRun field's value.
65355func (s *DescribeAccountAttributesInput) SetDryRun(v bool) *DescribeAccountAttributesInput {
65356	s.DryRun = &v
65357	return s
65358}
65359
65360type DescribeAccountAttributesOutput struct {
65361	_ struct{} `type:"structure"`
65362
65363	// Information about the account attributes.
65364	AccountAttributes []*AccountAttribute `locationName:"accountAttributeSet" locationNameList:"item" type:"list"`
65365}
65366
65367// String returns the string representation
65368func (s DescribeAccountAttributesOutput) String() string {
65369	return awsutil.Prettify(s)
65370}
65371
65372// GoString returns the string representation
65373func (s DescribeAccountAttributesOutput) GoString() string {
65374	return s.String()
65375}
65376
65377// SetAccountAttributes sets the AccountAttributes field's value.
65378func (s *DescribeAccountAttributesOutput) SetAccountAttributes(v []*AccountAttribute) *DescribeAccountAttributesOutput {
65379	s.AccountAttributes = v
65380	return s
65381}
65382
65383type DescribeAddressesAttributeInput struct {
65384	_ struct{} `type:"structure"`
65385
65386	// [EC2-VPC] The allocation IDs.
65387	AllocationIds []*string `locationName:"AllocationId" locationNameList:"item" type:"list"`
65388
65389	// The attribute of the IP address.
65390	Attribute *string `type:"string" enum:"AddressAttributeName"`
65391
65392	// Checks whether you have the required permissions for the action, without
65393	// actually making the request, and provides an error response. If you have
65394	// the required permissions, the error response is DryRunOperation. Otherwise,
65395	// it is UnauthorizedOperation.
65396	DryRun *bool `type:"boolean"`
65397
65398	// The maximum number of results to return with a single call. To retrieve the
65399	// remaining results, make another call with the returned nextToken value.
65400	MaxResults *int64 `min:"1" type:"integer"`
65401
65402	// The token for the next page of results.
65403	NextToken *string `type:"string"`
65404}
65405
65406// String returns the string representation
65407func (s DescribeAddressesAttributeInput) String() string {
65408	return awsutil.Prettify(s)
65409}
65410
65411// GoString returns the string representation
65412func (s DescribeAddressesAttributeInput) GoString() string {
65413	return s.String()
65414}
65415
65416// Validate inspects the fields of the type to determine if they are valid.
65417func (s *DescribeAddressesAttributeInput) Validate() error {
65418	invalidParams := request.ErrInvalidParams{Context: "DescribeAddressesAttributeInput"}
65419	if s.MaxResults != nil && *s.MaxResults < 1 {
65420		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
65421	}
65422
65423	if invalidParams.Len() > 0 {
65424		return invalidParams
65425	}
65426	return nil
65427}
65428
65429// SetAllocationIds sets the AllocationIds field's value.
65430func (s *DescribeAddressesAttributeInput) SetAllocationIds(v []*string) *DescribeAddressesAttributeInput {
65431	s.AllocationIds = v
65432	return s
65433}
65434
65435// SetAttribute sets the Attribute field's value.
65436func (s *DescribeAddressesAttributeInput) SetAttribute(v string) *DescribeAddressesAttributeInput {
65437	s.Attribute = &v
65438	return s
65439}
65440
65441// SetDryRun sets the DryRun field's value.
65442func (s *DescribeAddressesAttributeInput) SetDryRun(v bool) *DescribeAddressesAttributeInput {
65443	s.DryRun = &v
65444	return s
65445}
65446
65447// SetMaxResults sets the MaxResults field's value.
65448func (s *DescribeAddressesAttributeInput) SetMaxResults(v int64) *DescribeAddressesAttributeInput {
65449	s.MaxResults = &v
65450	return s
65451}
65452
65453// SetNextToken sets the NextToken field's value.
65454func (s *DescribeAddressesAttributeInput) SetNextToken(v string) *DescribeAddressesAttributeInput {
65455	s.NextToken = &v
65456	return s
65457}
65458
65459type DescribeAddressesAttributeOutput struct {
65460	_ struct{} `type:"structure"`
65461
65462	// Information about the IP addresses.
65463	Addresses []*AddressAttribute `locationName:"addressSet" locationNameList:"item" type:"list"`
65464
65465	// The token to use to retrieve the next page of results. This value is null
65466	// when there are no more results to return.
65467	NextToken *string `locationName:"nextToken" type:"string"`
65468}
65469
65470// String returns the string representation
65471func (s DescribeAddressesAttributeOutput) String() string {
65472	return awsutil.Prettify(s)
65473}
65474
65475// GoString returns the string representation
65476func (s DescribeAddressesAttributeOutput) GoString() string {
65477	return s.String()
65478}
65479
65480// SetAddresses sets the Addresses field's value.
65481func (s *DescribeAddressesAttributeOutput) SetAddresses(v []*AddressAttribute) *DescribeAddressesAttributeOutput {
65482	s.Addresses = v
65483	return s
65484}
65485
65486// SetNextToken sets the NextToken field's value.
65487func (s *DescribeAddressesAttributeOutput) SetNextToken(v string) *DescribeAddressesAttributeOutput {
65488	s.NextToken = &v
65489	return s
65490}
65491
65492type DescribeAddressesInput struct {
65493	_ struct{} `type:"structure"`
65494
65495	// [EC2-VPC] Information about the allocation IDs.
65496	AllocationIds []*string `locationName:"AllocationId" locationNameList:"AllocationId" type:"list"`
65497
65498	// Checks whether you have the required permissions for the action, without
65499	// actually making the request, and provides an error response. If you have
65500	// the required permissions, the error response is DryRunOperation. Otherwise,
65501	// it is UnauthorizedOperation.
65502	DryRun *bool `locationName:"dryRun" type:"boolean"`
65503
65504	// One or more filters. Filter names and values are case-sensitive.
65505	//
65506	//    * allocation-id - [EC2-VPC] The allocation ID for the address.
65507	//
65508	//    * association-id - [EC2-VPC] The association ID for the address.
65509	//
65510	//    * domain - Indicates whether the address is for use in EC2-Classic (standard)
65511	//    or in a VPC (vpc).
65512	//
65513	//    * instance-id - The ID of the instance the address is associated with,
65514	//    if any.
65515	//
65516	//    * network-border-group - A unique set of Availability Zones, Local Zones,
65517	//    or Wavelength Zones from where Amazon Web Services advertises IP addresses.
65518	//
65519	//    * network-interface-id - [EC2-VPC] The ID of the network interface that
65520	//    the address is associated with, if any.
65521	//
65522	//    * network-interface-owner-id - The Amazon Web Services account ID of the
65523	//    owner.
65524	//
65525	//    * private-ip-address - [EC2-VPC] The private IP address associated with
65526	//    the Elastic IP address.
65527	//
65528	//    * public-ip - The Elastic IP address, or the carrier IP address.
65529	//
65530	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
65531	//    Use the tag key in the filter name and the tag value as the filter value.
65532	//    For example, to find all resources that have a tag with the key Owner
65533	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
65534	//    the filter value.
65535	//
65536	//    * tag-key - The key of a tag assigned to the resource. Use this filter
65537	//    to find all resources assigned a tag with a specific key, regardless of
65538	//    the tag value.
65539	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
65540
65541	// One or more Elastic IP addresses.
65542	//
65543	// Default: Describes all your Elastic IP addresses.
65544	PublicIps []*string `locationName:"PublicIp" locationNameList:"PublicIp" type:"list"`
65545}
65546
65547// String returns the string representation
65548func (s DescribeAddressesInput) String() string {
65549	return awsutil.Prettify(s)
65550}
65551
65552// GoString returns the string representation
65553func (s DescribeAddressesInput) GoString() string {
65554	return s.String()
65555}
65556
65557// SetAllocationIds sets the AllocationIds field's value.
65558func (s *DescribeAddressesInput) SetAllocationIds(v []*string) *DescribeAddressesInput {
65559	s.AllocationIds = v
65560	return s
65561}
65562
65563// SetDryRun sets the DryRun field's value.
65564func (s *DescribeAddressesInput) SetDryRun(v bool) *DescribeAddressesInput {
65565	s.DryRun = &v
65566	return s
65567}
65568
65569// SetFilters sets the Filters field's value.
65570func (s *DescribeAddressesInput) SetFilters(v []*Filter) *DescribeAddressesInput {
65571	s.Filters = v
65572	return s
65573}
65574
65575// SetPublicIps sets the PublicIps field's value.
65576func (s *DescribeAddressesInput) SetPublicIps(v []*string) *DescribeAddressesInput {
65577	s.PublicIps = v
65578	return s
65579}
65580
65581type DescribeAddressesOutput struct {
65582	_ struct{} `type:"structure"`
65583
65584	// Information about the Elastic IP addresses.
65585	Addresses []*Address `locationName:"addressesSet" locationNameList:"item" type:"list"`
65586}
65587
65588// String returns the string representation
65589func (s DescribeAddressesOutput) String() string {
65590	return awsutil.Prettify(s)
65591}
65592
65593// GoString returns the string representation
65594func (s DescribeAddressesOutput) GoString() string {
65595	return s.String()
65596}
65597
65598// SetAddresses sets the Addresses field's value.
65599func (s *DescribeAddressesOutput) SetAddresses(v []*Address) *DescribeAddressesOutput {
65600	s.Addresses = v
65601	return s
65602}
65603
65604type DescribeAggregateIdFormatInput struct {
65605	_ struct{} `type:"structure"`
65606
65607	// Checks whether you have the required permissions for the action, without
65608	// actually making the request, and provides an error response. If you have
65609	// the required permissions, the error response is DryRunOperation. Otherwise,
65610	// it is UnauthorizedOperation.
65611	DryRun *bool `type:"boolean"`
65612}
65613
65614// String returns the string representation
65615func (s DescribeAggregateIdFormatInput) String() string {
65616	return awsutil.Prettify(s)
65617}
65618
65619// GoString returns the string representation
65620func (s DescribeAggregateIdFormatInput) GoString() string {
65621	return s.String()
65622}
65623
65624// SetDryRun sets the DryRun field's value.
65625func (s *DescribeAggregateIdFormatInput) SetDryRun(v bool) *DescribeAggregateIdFormatInput {
65626	s.DryRun = &v
65627	return s
65628}
65629
65630type DescribeAggregateIdFormatOutput struct {
65631	_ struct{} `type:"structure"`
65632
65633	// Information about each resource's ID format.
65634	Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
65635
65636	// Indicates whether all resource types in the Region are configured to use
65637	// longer IDs. This value is only true if all users are configured to use longer
65638	// IDs for all resources types in the Region.
65639	UseLongIdsAggregated *bool `locationName:"useLongIdsAggregated" type:"boolean"`
65640}
65641
65642// String returns the string representation
65643func (s DescribeAggregateIdFormatOutput) String() string {
65644	return awsutil.Prettify(s)
65645}
65646
65647// GoString returns the string representation
65648func (s DescribeAggregateIdFormatOutput) GoString() string {
65649	return s.String()
65650}
65651
65652// SetStatuses sets the Statuses field's value.
65653func (s *DescribeAggregateIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeAggregateIdFormatOutput {
65654	s.Statuses = v
65655	return s
65656}
65657
65658// SetUseLongIdsAggregated sets the UseLongIdsAggregated field's value.
65659func (s *DescribeAggregateIdFormatOutput) SetUseLongIdsAggregated(v bool) *DescribeAggregateIdFormatOutput {
65660	s.UseLongIdsAggregated = &v
65661	return s
65662}
65663
65664type DescribeAvailabilityZonesInput struct {
65665	_ struct{} `type:"structure"`
65666
65667	// Include all Availability Zones, Local Zones, and Wavelength Zones regardless
65668	// of your opt-in status.
65669	//
65670	// If you do not use this parameter, the results include only the zones for
65671	// the Regions where you have chosen the option to opt in.
65672	AllAvailabilityZones *bool `type:"boolean"`
65673
65674	// Checks whether you have the required permissions for the action, without
65675	// actually making the request, and provides an error response. If you have
65676	// the required permissions, the error response is DryRunOperation. Otherwise,
65677	// it is UnauthorizedOperation.
65678	DryRun *bool `locationName:"dryRun" type:"boolean"`
65679
65680	// The filters.
65681	//
65682	//    * group-name - For Availability Zones, use the Region name. For Local
65683	//    Zones, use the name of the group associated with the Local Zone (for example,
65684	//    us-west-2-lax-1) For Wavelength Zones, use the name of the group associated
65685	//    with the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).
65686	//
65687	//    * message - The Zone message.
65688	//
65689	//    * opt-in-status - The opt-in status (opted-in, and not-opted-in | opt-in-not-required).
65690	//
65691	//    * parent-zoneID - The ID of the zone that handles some of the Local Zone
65692	//    and Wavelength Zone control plane operations, such as API calls.
65693	//
65694	//    * parent-zoneName - The ID of the zone that handles some of the Local
65695	//    Zone and Wavelength Zone control plane operations, such as API calls.
65696	//
65697	//    * region-name - The name of the Region for the Zone (for example, us-east-1).
65698	//
65699	//    * state - The state of the Availability Zone, the Local Zone, or the Wavelength
65700	//    Zone (available | information | impaired | unavailable).
65701	//
65702	//    * zone-id - The ID of the Availability Zone (for example, use1-az1), the
65703	//    Local Zone (for example, usw2-lax1-az1), or the Wavelength Zone (for example,
65704	//    us-east-1-wl1-bos-wlz-1).
65705	//
65706	//    * zone-type - The type of zone, for example, local-zone.
65707	//
65708	//    * zone-name - The name of the Availability Zone (for example, us-east-1a),
65709	//    the Local Zone (for example, us-west-2-lax-1a), or the Wavelength Zone
65710	//    (for example, us-east-1-wl1-bos-wlz-1).
65711	//
65712	//    * zone-type - The type of zone, for example, local-zone.
65713	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
65714
65715	// The IDs of the Availability Zones, Local Zones, and Wavelength Zones.
65716	ZoneIds []*string `locationName:"ZoneId" locationNameList:"ZoneId" type:"list"`
65717
65718	// The names of the Availability Zones, Local Zones, and Wavelength Zones.
65719	ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"`
65720}
65721
65722// String returns the string representation
65723func (s DescribeAvailabilityZonesInput) String() string {
65724	return awsutil.Prettify(s)
65725}
65726
65727// GoString returns the string representation
65728func (s DescribeAvailabilityZonesInput) GoString() string {
65729	return s.String()
65730}
65731
65732// SetAllAvailabilityZones sets the AllAvailabilityZones field's value.
65733func (s *DescribeAvailabilityZonesInput) SetAllAvailabilityZones(v bool) *DescribeAvailabilityZonesInput {
65734	s.AllAvailabilityZones = &v
65735	return s
65736}
65737
65738// SetDryRun sets the DryRun field's value.
65739func (s *DescribeAvailabilityZonesInput) SetDryRun(v bool) *DescribeAvailabilityZonesInput {
65740	s.DryRun = &v
65741	return s
65742}
65743
65744// SetFilters sets the Filters field's value.
65745func (s *DescribeAvailabilityZonesInput) SetFilters(v []*Filter) *DescribeAvailabilityZonesInput {
65746	s.Filters = v
65747	return s
65748}
65749
65750// SetZoneIds sets the ZoneIds field's value.
65751func (s *DescribeAvailabilityZonesInput) SetZoneIds(v []*string) *DescribeAvailabilityZonesInput {
65752	s.ZoneIds = v
65753	return s
65754}
65755
65756// SetZoneNames sets the ZoneNames field's value.
65757func (s *DescribeAvailabilityZonesInput) SetZoneNames(v []*string) *DescribeAvailabilityZonesInput {
65758	s.ZoneNames = v
65759	return s
65760}
65761
65762type DescribeAvailabilityZonesOutput struct {
65763	_ struct{} `type:"structure"`
65764
65765	// Information about the Availability Zones, Local Zones, and Wavelength Zones.
65766	AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"`
65767}
65768
65769// String returns the string representation
65770func (s DescribeAvailabilityZonesOutput) String() string {
65771	return awsutil.Prettify(s)
65772}
65773
65774// GoString returns the string representation
65775func (s DescribeAvailabilityZonesOutput) GoString() string {
65776	return s.String()
65777}
65778
65779// SetAvailabilityZones sets the AvailabilityZones field's value.
65780func (s *DescribeAvailabilityZonesOutput) SetAvailabilityZones(v []*AvailabilityZone) *DescribeAvailabilityZonesOutput {
65781	s.AvailabilityZones = v
65782	return s
65783}
65784
65785type DescribeBundleTasksInput struct {
65786	_ struct{} `type:"structure"`
65787
65788	// The bundle task IDs.
65789	//
65790	// Default: Describes all your bundle tasks.
65791	BundleIds []*string `locationName:"BundleId" locationNameList:"BundleId" type:"list"`
65792
65793	// Checks whether you have the required permissions for the action, without
65794	// actually making the request, and provides an error response. If you have
65795	// the required permissions, the error response is DryRunOperation. Otherwise,
65796	// it is UnauthorizedOperation.
65797	DryRun *bool `locationName:"dryRun" type:"boolean"`
65798
65799	// The filters.
65800	//
65801	//    * bundle-id - The ID of the bundle task.
65802	//
65803	//    * error-code - If the task failed, the error code returned.
65804	//
65805	//    * error-message - If the task failed, the error message returned.
65806	//
65807	//    * instance-id - The ID of the instance.
65808	//
65809	//    * progress - The level of task completion, as a percentage (for example,
65810	//    20%).
65811	//
65812	//    * s3-bucket - The Amazon S3 bucket to store the AMI.
65813	//
65814	//    * s3-prefix - The beginning of the AMI name.
65815	//
65816	//    * start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).
65817	//
65818	//    * state - The state of the task (pending | waiting-for-shutdown | bundling
65819	//    | storing | cancelling | complete | failed).
65820	//
65821	//    * update-time - The time of the most recent update for the task.
65822	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
65823}
65824
65825// String returns the string representation
65826func (s DescribeBundleTasksInput) String() string {
65827	return awsutil.Prettify(s)
65828}
65829
65830// GoString returns the string representation
65831func (s DescribeBundleTasksInput) GoString() string {
65832	return s.String()
65833}
65834
65835// SetBundleIds sets the BundleIds field's value.
65836func (s *DescribeBundleTasksInput) SetBundleIds(v []*string) *DescribeBundleTasksInput {
65837	s.BundleIds = v
65838	return s
65839}
65840
65841// SetDryRun sets the DryRun field's value.
65842func (s *DescribeBundleTasksInput) SetDryRun(v bool) *DescribeBundleTasksInput {
65843	s.DryRun = &v
65844	return s
65845}
65846
65847// SetFilters sets the Filters field's value.
65848func (s *DescribeBundleTasksInput) SetFilters(v []*Filter) *DescribeBundleTasksInput {
65849	s.Filters = v
65850	return s
65851}
65852
65853type DescribeBundleTasksOutput struct {
65854	_ struct{} `type:"structure"`
65855
65856	// Information about the bundle tasks.
65857	BundleTasks []*BundleTask `locationName:"bundleInstanceTasksSet" locationNameList:"item" type:"list"`
65858}
65859
65860// String returns the string representation
65861func (s DescribeBundleTasksOutput) String() string {
65862	return awsutil.Prettify(s)
65863}
65864
65865// GoString returns the string representation
65866func (s DescribeBundleTasksOutput) GoString() string {
65867	return s.String()
65868}
65869
65870// SetBundleTasks sets the BundleTasks field's value.
65871func (s *DescribeBundleTasksOutput) SetBundleTasks(v []*BundleTask) *DescribeBundleTasksOutput {
65872	s.BundleTasks = v
65873	return s
65874}
65875
65876type DescribeByoipCidrsInput struct {
65877	_ struct{} `type:"structure"`
65878
65879	// Checks whether you have the required permissions for the action, without
65880	// actually making the request, and provides an error response. If you have
65881	// the required permissions, the error response is DryRunOperation. Otherwise,
65882	// it is UnauthorizedOperation.
65883	DryRun *bool `type:"boolean"`
65884
65885	// The maximum number of results to return with a single call. To retrieve the
65886	// remaining results, make another call with the returned nextToken value.
65887	//
65888	// MaxResults is a required field
65889	MaxResults *int64 `min:"1" type:"integer" required:"true"`
65890
65891	// The token for the next page of results.
65892	NextToken *string `type:"string"`
65893}
65894
65895// String returns the string representation
65896func (s DescribeByoipCidrsInput) String() string {
65897	return awsutil.Prettify(s)
65898}
65899
65900// GoString returns the string representation
65901func (s DescribeByoipCidrsInput) GoString() string {
65902	return s.String()
65903}
65904
65905// Validate inspects the fields of the type to determine if they are valid.
65906func (s *DescribeByoipCidrsInput) Validate() error {
65907	invalidParams := request.ErrInvalidParams{Context: "DescribeByoipCidrsInput"}
65908	if s.MaxResults == nil {
65909		invalidParams.Add(request.NewErrParamRequired("MaxResults"))
65910	}
65911	if s.MaxResults != nil && *s.MaxResults < 1 {
65912		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
65913	}
65914
65915	if invalidParams.Len() > 0 {
65916		return invalidParams
65917	}
65918	return nil
65919}
65920
65921// SetDryRun sets the DryRun field's value.
65922func (s *DescribeByoipCidrsInput) SetDryRun(v bool) *DescribeByoipCidrsInput {
65923	s.DryRun = &v
65924	return s
65925}
65926
65927// SetMaxResults sets the MaxResults field's value.
65928func (s *DescribeByoipCidrsInput) SetMaxResults(v int64) *DescribeByoipCidrsInput {
65929	s.MaxResults = &v
65930	return s
65931}
65932
65933// SetNextToken sets the NextToken field's value.
65934func (s *DescribeByoipCidrsInput) SetNextToken(v string) *DescribeByoipCidrsInput {
65935	s.NextToken = &v
65936	return s
65937}
65938
65939type DescribeByoipCidrsOutput struct {
65940	_ struct{} `type:"structure"`
65941
65942	// Information about your address ranges.
65943	ByoipCidrs []*ByoipCidr `locationName:"byoipCidrSet" locationNameList:"item" type:"list"`
65944
65945	// The token to use to retrieve the next page of results. This value is null
65946	// when there are no more results to return.
65947	NextToken *string `locationName:"nextToken" type:"string"`
65948}
65949
65950// String returns the string representation
65951func (s DescribeByoipCidrsOutput) String() string {
65952	return awsutil.Prettify(s)
65953}
65954
65955// GoString returns the string representation
65956func (s DescribeByoipCidrsOutput) GoString() string {
65957	return s.String()
65958}
65959
65960// SetByoipCidrs sets the ByoipCidrs field's value.
65961func (s *DescribeByoipCidrsOutput) SetByoipCidrs(v []*ByoipCidr) *DescribeByoipCidrsOutput {
65962	s.ByoipCidrs = v
65963	return s
65964}
65965
65966// SetNextToken sets the NextToken field's value.
65967func (s *DescribeByoipCidrsOutput) SetNextToken(v string) *DescribeByoipCidrsOutput {
65968	s.NextToken = &v
65969	return s
65970}
65971
65972type DescribeCapacityReservationsInput struct {
65973	_ struct{} `type:"structure"`
65974
65975	// The ID of the Capacity Reservation.
65976	CapacityReservationIds []*string `locationName:"CapacityReservationId" locationNameList:"item" type:"list"`
65977
65978	// Checks whether you have the required permissions for the action, without
65979	// actually making the request, and provides an error response. If you have
65980	// the required permissions, the error response is DryRunOperation. Otherwise,
65981	// it is UnauthorizedOperation.
65982	DryRun *bool `type:"boolean"`
65983
65984	// One or more filters.
65985	//
65986	//    * instance-type - The type of instance for which the Capacity Reservation
65987	//    reserves capacity.
65988	//
65989	//    * owner-id - The ID of the Amazon Web Services account that owns the Capacity
65990	//    Reservation.
65991	//
65992	//    * availability-zone-id - The Availability Zone ID of the Capacity Reservation.
65993	//
65994	//    * instance-platform - The type of operating system for which the Capacity
65995	//    Reservation reserves capacity.
65996	//
65997	//    * availability-zone - The Availability Zone ID of the Capacity Reservation.
65998	//
65999	//    * tenancy - Indicates the tenancy of the Capacity Reservation. A Capacity
66000	//    Reservation can have one of the following tenancy settings: default -
66001	//    The Capacity Reservation is created on hardware that is shared with other
66002	//    Amazon Web Services accounts. dedicated - The Capacity Reservation is
66003	//    created on single-tenant hardware that is dedicated to a single Amazon
66004	//    Web Services account.
66005	//
66006	//    * outpost-arn - The Amazon Resource Name (ARN) of the Outpost on which
66007	//    the Capacity Reservation was created.
66008	//
66009	//    * state - The current state of the Capacity Reservation. A Capacity Reservation
66010	//    can be in one of the following states: active- The Capacity Reservation
66011	//    is active and the capacity is available for your use. expired - The Capacity
66012	//    Reservation expired automatically at the date and time specified in your
66013	//    request. The reserved capacity is no longer available for your use. cancelled
66014	//    - The Capacity Reservation was cancelled. The reserved capacity is no
66015	//    longer available for your use. pending - The Capacity Reservation request
66016	//    was successful but the capacity provisioning is still pending. failed
66017	//    - The Capacity Reservation request has failed. A request might fail due
66018	//    to invalid request parameters, capacity constraints, or instance limit
66019	//    constraints. Failed requests are retained for 60 minutes.
66020	//
66021	//    * start-date - The date and time at which the Capacity Reservation was
66022	//    started.
66023	//
66024	//    * end-date - The date and time at which the Capacity Reservation expires.
66025	//    When a Capacity Reservation expires, the reserved capacity is released
66026	//    and you can no longer launch instances into it. The Capacity Reservation's
66027	//    state changes to expired when it reaches its end date and time.
66028	//
66029	//    * end-date-type - Indicates the way in which the Capacity Reservation
66030	//    ends. A Capacity Reservation can have one of the following end types:
66031	//    unlimited - The Capacity Reservation remains active until you explicitly
66032	//    cancel it. limited - The Capacity Reservation expires automatically at
66033	//    a specified date and time.
66034	//
66035	//    * instance-match-criteria - Indicates the type of instance launches that
66036	//    the Capacity Reservation accepts. The options include: open - The Capacity
66037	//    Reservation accepts all instances that have matching attributes (instance
66038	//    type, platform, and Availability Zone). Instances that have matching attributes
66039	//    launch into the Capacity Reservation automatically without specifying
66040	//    any additional parameters. targeted - The Capacity Reservation only accepts
66041	//    instances that have matching attributes (instance type, platform, and
66042	//    Availability Zone), and explicitly target the Capacity Reservation. This
66043	//    ensures that only permitted instances can use the reserved capacity.
66044	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66045
66046	// The maximum number of results to return for the request in a single page.
66047	// The remaining results can be seen by sending another request with the returned
66048	// nextToken value. This value can be between 5 and 500. If maxResults is given
66049	// a larger value than 500, you receive an error.
66050	MaxResults *int64 `min:"1" type:"integer"`
66051
66052	// The token to use to retrieve the next page of results.
66053	NextToken *string `type:"string"`
66054}
66055
66056// String returns the string representation
66057func (s DescribeCapacityReservationsInput) String() string {
66058	return awsutil.Prettify(s)
66059}
66060
66061// GoString returns the string representation
66062func (s DescribeCapacityReservationsInput) GoString() string {
66063	return s.String()
66064}
66065
66066// Validate inspects the fields of the type to determine if they are valid.
66067func (s *DescribeCapacityReservationsInput) Validate() error {
66068	invalidParams := request.ErrInvalidParams{Context: "DescribeCapacityReservationsInput"}
66069	if s.MaxResults != nil && *s.MaxResults < 1 {
66070		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
66071	}
66072
66073	if invalidParams.Len() > 0 {
66074		return invalidParams
66075	}
66076	return nil
66077}
66078
66079// SetCapacityReservationIds sets the CapacityReservationIds field's value.
66080func (s *DescribeCapacityReservationsInput) SetCapacityReservationIds(v []*string) *DescribeCapacityReservationsInput {
66081	s.CapacityReservationIds = v
66082	return s
66083}
66084
66085// SetDryRun sets the DryRun field's value.
66086func (s *DescribeCapacityReservationsInput) SetDryRun(v bool) *DescribeCapacityReservationsInput {
66087	s.DryRun = &v
66088	return s
66089}
66090
66091// SetFilters sets the Filters field's value.
66092func (s *DescribeCapacityReservationsInput) SetFilters(v []*Filter) *DescribeCapacityReservationsInput {
66093	s.Filters = v
66094	return s
66095}
66096
66097// SetMaxResults sets the MaxResults field's value.
66098func (s *DescribeCapacityReservationsInput) SetMaxResults(v int64) *DescribeCapacityReservationsInput {
66099	s.MaxResults = &v
66100	return s
66101}
66102
66103// SetNextToken sets the NextToken field's value.
66104func (s *DescribeCapacityReservationsInput) SetNextToken(v string) *DescribeCapacityReservationsInput {
66105	s.NextToken = &v
66106	return s
66107}
66108
66109type DescribeCapacityReservationsOutput struct {
66110	_ struct{} `type:"structure"`
66111
66112	// Information about the Capacity Reservations.
66113	CapacityReservations []*CapacityReservation `locationName:"capacityReservationSet" locationNameList:"item" type:"list"`
66114
66115	// The token to use to retrieve the next page of results. This value is null
66116	// when there are no more results to return.
66117	NextToken *string `locationName:"nextToken" type:"string"`
66118}
66119
66120// String returns the string representation
66121func (s DescribeCapacityReservationsOutput) String() string {
66122	return awsutil.Prettify(s)
66123}
66124
66125// GoString returns the string representation
66126func (s DescribeCapacityReservationsOutput) GoString() string {
66127	return s.String()
66128}
66129
66130// SetCapacityReservations sets the CapacityReservations field's value.
66131func (s *DescribeCapacityReservationsOutput) SetCapacityReservations(v []*CapacityReservation) *DescribeCapacityReservationsOutput {
66132	s.CapacityReservations = v
66133	return s
66134}
66135
66136// SetNextToken sets the NextToken field's value.
66137func (s *DescribeCapacityReservationsOutput) SetNextToken(v string) *DescribeCapacityReservationsOutput {
66138	s.NextToken = &v
66139	return s
66140}
66141
66142type DescribeCarrierGatewaysInput struct {
66143	_ struct{} `type:"structure"`
66144
66145	// One or more carrier gateway IDs.
66146	CarrierGatewayIds []*string `locationName:"CarrierGatewayId" type:"list"`
66147
66148	// Checks whether you have the required permissions for the action, without
66149	// actually making the request, and provides an error response. If you have
66150	// the required permissions, the error response is DryRunOperation. Otherwise,
66151	// it is UnauthorizedOperation.
66152	DryRun *bool `type:"boolean"`
66153
66154	// One or more filters.
66155	//
66156	//    * carrier-gateway-id - The ID of the carrier gateway.
66157	//
66158	//    * state - The state of the carrier gateway (pending | failed | available
66159	//    | deleting | deleted).
66160	//
66161	//    * owner-id - The Amazon Web Services account ID of the owner of the carrier
66162	//    gateway.
66163	//
66164	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
66165	//    Use the tag key in the filter name and the tag value as the filter value.
66166	//    For example, to find all resources that have a tag with the key Owner
66167	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
66168	//    the filter value.
66169	//
66170	//    * tag-key - The key of a tag assigned to the resource. Use this filter
66171	//    to find all resources assigned a tag with a specific key, regardless of
66172	//    the tag value.
66173	//
66174	//    * vpc-id - The ID of the VPC associated with the carrier gateway.
66175	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66176
66177	// The maximum number of results to return with a single call. To retrieve the
66178	// remaining results, make another call with the returned nextToken value.
66179	MaxResults *int64 `min:"5" type:"integer"`
66180
66181	// The token for the next page of results.
66182	NextToken *string `type:"string"`
66183}
66184
66185// String returns the string representation
66186func (s DescribeCarrierGatewaysInput) String() string {
66187	return awsutil.Prettify(s)
66188}
66189
66190// GoString returns the string representation
66191func (s DescribeCarrierGatewaysInput) GoString() string {
66192	return s.String()
66193}
66194
66195// Validate inspects the fields of the type to determine if they are valid.
66196func (s *DescribeCarrierGatewaysInput) Validate() error {
66197	invalidParams := request.ErrInvalidParams{Context: "DescribeCarrierGatewaysInput"}
66198	if s.MaxResults != nil && *s.MaxResults < 5 {
66199		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
66200	}
66201
66202	if invalidParams.Len() > 0 {
66203		return invalidParams
66204	}
66205	return nil
66206}
66207
66208// SetCarrierGatewayIds sets the CarrierGatewayIds field's value.
66209func (s *DescribeCarrierGatewaysInput) SetCarrierGatewayIds(v []*string) *DescribeCarrierGatewaysInput {
66210	s.CarrierGatewayIds = v
66211	return s
66212}
66213
66214// SetDryRun sets the DryRun field's value.
66215func (s *DescribeCarrierGatewaysInput) SetDryRun(v bool) *DescribeCarrierGatewaysInput {
66216	s.DryRun = &v
66217	return s
66218}
66219
66220// SetFilters sets the Filters field's value.
66221func (s *DescribeCarrierGatewaysInput) SetFilters(v []*Filter) *DescribeCarrierGatewaysInput {
66222	s.Filters = v
66223	return s
66224}
66225
66226// SetMaxResults sets the MaxResults field's value.
66227func (s *DescribeCarrierGatewaysInput) SetMaxResults(v int64) *DescribeCarrierGatewaysInput {
66228	s.MaxResults = &v
66229	return s
66230}
66231
66232// SetNextToken sets the NextToken field's value.
66233func (s *DescribeCarrierGatewaysInput) SetNextToken(v string) *DescribeCarrierGatewaysInput {
66234	s.NextToken = &v
66235	return s
66236}
66237
66238type DescribeCarrierGatewaysOutput struct {
66239	_ struct{} `type:"structure"`
66240
66241	// Information about the carrier gateway.
66242	CarrierGateways []*CarrierGateway `locationName:"carrierGatewaySet" locationNameList:"item" type:"list"`
66243
66244	// The token to use to retrieve the next page of results. This value is null
66245	// when there are no more results to return.
66246	NextToken *string `locationName:"nextToken" type:"string"`
66247}
66248
66249// String returns the string representation
66250func (s DescribeCarrierGatewaysOutput) String() string {
66251	return awsutil.Prettify(s)
66252}
66253
66254// GoString returns the string representation
66255func (s DescribeCarrierGatewaysOutput) GoString() string {
66256	return s.String()
66257}
66258
66259// SetCarrierGateways sets the CarrierGateways field's value.
66260func (s *DescribeCarrierGatewaysOutput) SetCarrierGateways(v []*CarrierGateway) *DescribeCarrierGatewaysOutput {
66261	s.CarrierGateways = v
66262	return s
66263}
66264
66265// SetNextToken sets the NextToken field's value.
66266func (s *DescribeCarrierGatewaysOutput) SetNextToken(v string) *DescribeCarrierGatewaysOutput {
66267	s.NextToken = &v
66268	return s
66269}
66270
66271type DescribeClassicLinkInstancesInput struct {
66272	_ struct{} `type:"structure"`
66273
66274	// Checks whether you have the required permissions for the action, without
66275	// actually making the request, and provides an error response. If you have
66276	// the required permissions, the error response is DryRunOperation. Otherwise,
66277	// it is UnauthorizedOperation.
66278	DryRun *bool `locationName:"dryRun" type:"boolean"`
66279
66280	// One or more filters.
66281	//
66282	//    * group-id - The ID of a VPC security group that's associated with the
66283	//    instance.
66284	//
66285	//    * instance-id - The ID of the instance.
66286	//
66287	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
66288	//    Use the tag key in the filter name and the tag value as the filter value.
66289	//    For example, to find all resources that have a tag with the key Owner
66290	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
66291	//    the filter value.
66292	//
66293	//    * tag-key - The key of a tag assigned to the resource. Use this filter
66294	//    to find all resources assigned a tag with a specific key, regardless of
66295	//    the tag value.
66296	//
66297	//    * vpc-id - The ID of the VPC to which the instance is linked. vpc-id -
66298	//    The ID of the VPC that the instance is linked to.
66299	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66300
66301	// One or more instance IDs. Must be instances linked to a VPC through ClassicLink.
66302	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
66303
66304	// The maximum number of results to return with a single call. To retrieve the
66305	// remaining results, make another call with the returned nextToken value.
66306	//
66307	// Constraint: If the value is greater than 1000, we return only 1000 items.
66308	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
66309
66310	// The token for the next page of results.
66311	NextToken *string `locationName:"nextToken" type:"string"`
66312}
66313
66314// String returns the string representation
66315func (s DescribeClassicLinkInstancesInput) String() string {
66316	return awsutil.Prettify(s)
66317}
66318
66319// GoString returns the string representation
66320func (s DescribeClassicLinkInstancesInput) GoString() string {
66321	return s.String()
66322}
66323
66324// Validate inspects the fields of the type to determine if they are valid.
66325func (s *DescribeClassicLinkInstancesInput) Validate() error {
66326	invalidParams := request.ErrInvalidParams{Context: "DescribeClassicLinkInstancesInput"}
66327	if s.MaxResults != nil && *s.MaxResults < 5 {
66328		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
66329	}
66330
66331	if invalidParams.Len() > 0 {
66332		return invalidParams
66333	}
66334	return nil
66335}
66336
66337// SetDryRun sets the DryRun field's value.
66338func (s *DescribeClassicLinkInstancesInput) SetDryRun(v bool) *DescribeClassicLinkInstancesInput {
66339	s.DryRun = &v
66340	return s
66341}
66342
66343// SetFilters sets the Filters field's value.
66344func (s *DescribeClassicLinkInstancesInput) SetFilters(v []*Filter) *DescribeClassicLinkInstancesInput {
66345	s.Filters = v
66346	return s
66347}
66348
66349// SetInstanceIds sets the InstanceIds field's value.
66350func (s *DescribeClassicLinkInstancesInput) SetInstanceIds(v []*string) *DescribeClassicLinkInstancesInput {
66351	s.InstanceIds = v
66352	return s
66353}
66354
66355// SetMaxResults sets the MaxResults field's value.
66356func (s *DescribeClassicLinkInstancesInput) SetMaxResults(v int64) *DescribeClassicLinkInstancesInput {
66357	s.MaxResults = &v
66358	return s
66359}
66360
66361// SetNextToken sets the NextToken field's value.
66362func (s *DescribeClassicLinkInstancesInput) SetNextToken(v string) *DescribeClassicLinkInstancesInput {
66363	s.NextToken = &v
66364	return s
66365}
66366
66367type DescribeClassicLinkInstancesOutput struct {
66368	_ struct{} `type:"structure"`
66369
66370	// Information about one or more linked EC2-Classic instances.
66371	Instances []*ClassicLinkInstance `locationName:"instancesSet" locationNameList:"item" type:"list"`
66372
66373	// The token to use to retrieve the next page of results. This value is null
66374	// when there are no more results to return.
66375	NextToken *string `locationName:"nextToken" type:"string"`
66376}
66377
66378// String returns the string representation
66379func (s DescribeClassicLinkInstancesOutput) String() string {
66380	return awsutil.Prettify(s)
66381}
66382
66383// GoString returns the string representation
66384func (s DescribeClassicLinkInstancesOutput) GoString() string {
66385	return s.String()
66386}
66387
66388// SetInstances sets the Instances field's value.
66389func (s *DescribeClassicLinkInstancesOutput) SetInstances(v []*ClassicLinkInstance) *DescribeClassicLinkInstancesOutput {
66390	s.Instances = v
66391	return s
66392}
66393
66394// SetNextToken sets the NextToken field's value.
66395func (s *DescribeClassicLinkInstancesOutput) SetNextToken(v string) *DescribeClassicLinkInstancesOutput {
66396	s.NextToken = &v
66397	return s
66398}
66399
66400type DescribeClientVpnAuthorizationRulesInput struct {
66401	_ struct{} `type:"structure"`
66402
66403	// The ID of the Client VPN endpoint.
66404	//
66405	// ClientVpnEndpointId is a required field
66406	ClientVpnEndpointId *string `type:"string" required:"true"`
66407
66408	// Checks whether you have the required permissions for the action, without
66409	// actually making the request, and provides an error response. If you have
66410	// the required permissions, the error response is DryRunOperation. Otherwise,
66411	// it is UnauthorizedOperation.
66412	DryRun *bool `type:"boolean"`
66413
66414	// One or more filters. Filter names and values are case-sensitive.
66415	//
66416	//    * description - The description of the authorization rule.
66417	//
66418	//    * destination-cidr - The CIDR of the network to which the authorization
66419	//    rule applies.
66420	//
66421	//    * group-id - The ID of the Active Directory group to which the authorization
66422	//    rule grants access.
66423	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66424
66425	// The maximum number of results to return for the request in a single page.
66426	// The remaining results can be seen by sending another request with the nextToken
66427	// value.
66428	MaxResults *int64 `min:"5" type:"integer"`
66429
66430	// The token to retrieve the next page of results.
66431	NextToken *string `type:"string"`
66432}
66433
66434// String returns the string representation
66435func (s DescribeClientVpnAuthorizationRulesInput) String() string {
66436	return awsutil.Prettify(s)
66437}
66438
66439// GoString returns the string representation
66440func (s DescribeClientVpnAuthorizationRulesInput) GoString() string {
66441	return s.String()
66442}
66443
66444// Validate inspects the fields of the type to determine if they are valid.
66445func (s *DescribeClientVpnAuthorizationRulesInput) Validate() error {
66446	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnAuthorizationRulesInput"}
66447	if s.ClientVpnEndpointId == nil {
66448		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
66449	}
66450	if s.MaxResults != nil && *s.MaxResults < 5 {
66451		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
66452	}
66453
66454	if invalidParams.Len() > 0 {
66455		return invalidParams
66456	}
66457	return nil
66458}
66459
66460// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
66461func (s *DescribeClientVpnAuthorizationRulesInput) SetClientVpnEndpointId(v string) *DescribeClientVpnAuthorizationRulesInput {
66462	s.ClientVpnEndpointId = &v
66463	return s
66464}
66465
66466// SetDryRun sets the DryRun field's value.
66467func (s *DescribeClientVpnAuthorizationRulesInput) SetDryRun(v bool) *DescribeClientVpnAuthorizationRulesInput {
66468	s.DryRun = &v
66469	return s
66470}
66471
66472// SetFilters sets the Filters field's value.
66473func (s *DescribeClientVpnAuthorizationRulesInput) SetFilters(v []*Filter) *DescribeClientVpnAuthorizationRulesInput {
66474	s.Filters = v
66475	return s
66476}
66477
66478// SetMaxResults sets the MaxResults field's value.
66479func (s *DescribeClientVpnAuthorizationRulesInput) SetMaxResults(v int64) *DescribeClientVpnAuthorizationRulesInput {
66480	s.MaxResults = &v
66481	return s
66482}
66483
66484// SetNextToken sets the NextToken field's value.
66485func (s *DescribeClientVpnAuthorizationRulesInput) SetNextToken(v string) *DescribeClientVpnAuthorizationRulesInput {
66486	s.NextToken = &v
66487	return s
66488}
66489
66490type DescribeClientVpnAuthorizationRulesOutput struct {
66491	_ struct{} `type:"structure"`
66492
66493	// Information about the authorization rules.
66494	AuthorizationRules []*AuthorizationRule `locationName:"authorizationRule" locationNameList:"item" type:"list"`
66495
66496	// The token to use to retrieve the next page of results. This value is null
66497	// when there are no more results to return.
66498	NextToken *string `locationName:"nextToken" type:"string"`
66499}
66500
66501// String returns the string representation
66502func (s DescribeClientVpnAuthorizationRulesOutput) String() string {
66503	return awsutil.Prettify(s)
66504}
66505
66506// GoString returns the string representation
66507func (s DescribeClientVpnAuthorizationRulesOutput) GoString() string {
66508	return s.String()
66509}
66510
66511// SetAuthorizationRules sets the AuthorizationRules field's value.
66512func (s *DescribeClientVpnAuthorizationRulesOutput) SetAuthorizationRules(v []*AuthorizationRule) *DescribeClientVpnAuthorizationRulesOutput {
66513	s.AuthorizationRules = v
66514	return s
66515}
66516
66517// SetNextToken sets the NextToken field's value.
66518func (s *DescribeClientVpnAuthorizationRulesOutput) SetNextToken(v string) *DescribeClientVpnAuthorizationRulesOutput {
66519	s.NextToken = &v
66520	return s
66521}
66522
66523type DescribeClientVpnConnectionsInput struct {
66524	_ struct{} `type:"structure"`
66525
66526	// The ID of the Client VPN endpoint.
66527	//
66528	// ClientVpnEndpointId is a required field
66529	ClientVpnEndpointId *string `type:"string" required:"true"`
66530
66531	// Checks whether you have the required permissions for the action, without
66532	// actually making the request, and provides an error response. If you have
66533	// the required permissions, the error response is DryRunOperation. Otherwise,
66534	// it is UnauthorizedOperation.
66535	DryRun *bool `type:"boolean"`
66536
66537	// One or more filters. Filter names and values are case-sensitive.
66538	//
66539	//    * connection-id - The ID of the connection.
66540	//
66541	//    * username - For Active Directory client authentication, the user name
66542	//    of the client who established the client connection.
66543	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66544
66545	// The maximum number of results to return for the request in a single page.
66546	// The remaining results can be seen by sending another request with the nextToken
66547	// value.
66548	MaxResults *int64 `min:"5" type:"integer"`
66549
66550	// The token to retrieve the next page of results.
66551	NextToken *string `type:"string"`
66552}
66553
66554// String returns the string representation
66555func (s DescribeClientVpnConnectionsInput) String() string {
66556	return awsutil.Prettify(s)
66557}
66558
66559// GoString returns the string representation
66560func (s DescribeClientVpnConnectionsInput) GoString() string {
66561	return s.String()
66562}
66563
66564// Validate inspects the fields of the type to determine if they are valid.
66565func (s *DescribeClientVpnConnectionsInput) Validate() error {
66566	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnConnectionsInput"}
66567	if s.ClientVpnEndpointId == nil {
66568		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
66569	}
66570	if s.MaxResults != nil && *s.MaxResults < 5 {
66571		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
66572	}
66573
66574	if invalidParams.Len() > 0 {
66575		return invalidParams
66576	}
66577	return nil
66578}
66579
66580// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
66581func (s *DescribeClientVpnConnectionsInput) SetClientVpnEndpointId(v string) *DescribeClientVpnConnectionsInput {
66582	s.ClientVpnEndpointId = &v
66583	return s
66584}
66585
66586// SetDryRun sets the DryRun field's value.
66587func (s *DescribeClientVpnConnectionsInput) SetDryRun(v bool) *DescribeClientVpnConnectionsInput {
66588	s.DryRun = &v
66589	return s
66590}
66591
66592// SetFilters sets the Filters field's value.
66593func (s *DescribeClientVpnConnectionsInput) SetFilters(v []*Filter) *DescribeClientVpnConnectionsInput {
66594	s.Filters = v
66595	return s
66596}
66597
66598// SetMaxResults sets the MaxResults field's value.
66599func (s *DescribeClientVpnConnectionsInput) SetMaxResults(v int64) *DescribeClientVpnConnectionsInput {
66600	s.MaxResults = &v
66601	return s
66602}
66603
66604// SetNextToken sets the NextToken field's value.
66605func (s *DescribeClientVpnConnectionsInput) SetNextToken(v string) *DescribeClientVpnConnectionsInput {
66606	s.NextToken = &v
66607	return s
66608}
66609
66610type DescribeClientVpnConnectionsOutput struct {
66611	_ struct{} `type:"structure"`
66612
66613	// Information about the active and terminated client connections.
66614	Connections []*ClientVpnConnection `locationName:"connections" locationNameList:"item" type:"list"`
66615
66616	// The token to use to retrieve the next page of results. This value is null
66617	// when there are no more results to return.
66618	NextToken *string `locationName:"nextToken" type:"string"`
66619}
66620
66621// String returns the string representation
66622func (s DescribeClientVpnConnectionsOutput) String() string {
66623	return awsutil.Prettify(s)
66624}
66625
66626// GoString returns the string representation
66627func (s DescribeClientVpnConnectionsOutput) GoString() string {
66628	return s.String()
66629}
66630
66631// SetConnections sets the Connections field's value.
66632func (s *DescribeClientVpnConnectionsOutput) SetConnections(v []*ClientVpnConnection) *DescribeClientVpnConnectionsOutput {
66633	s.Connections = v
66634	return s
66635}
66636
66637// SetNextToken sets the NextToken field's value.
66638func (s *DescribeClientVpnConnectionsOutput) SetNextToken(v string) *DescribeClientVpnConnectionsOutput {
66639	s.NextToken = &v
66640	return s
66641}
66642
66643type DescribeClientVpnEndpointsInput struct {
66644	_ struct{} `type:"structure"`
66645
66646	// The ID of the Client VPN endpoint.
66647	ClientVpnEndpointIds []*string `locationName:"ClientVpnEndpointId" locationNameList:"item" type:"list"`
66648
66649	// Checks whether you have the required permissions for the action, without
66650	// actually making the request, and provides an error response. If you have
66651	// the required permissions, the error response is DryRunOperation. Otherwise,
66652	// it is UnauthorizedOperation.
66653	DryRun *bool `type:"boolean"`
66654
66655	// One or more filters. Filter names and values are case-sensitive.
66656	//
66657	//    * endpoint-id - The ID of the Client VPN endpoint.
66658	//
66659	//    * transport-protocol - The transport protocol (tcp | udp).
66660	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66661
66662	// The maximum number of results to return for the request in a single page.
66663	// The remaining results can be seen by sending another request with the nextToken
66664	// value.
66665	MaxResults *int64 `min:"5" type:"integer"`
66666
66667	// The token to retrieve the next page of results.
66668	NextToken *string `type:"string"`
66669}
66670
66671// String returns the string representation
66672func (s DescribeClientVpnEndpointsInput) String() string {
66673	return awsutil.Prettify(s)
66674}
66675
66676// GoString returns the string representation
66677func (s DescribeClientVpnEndpointsInput) GoString() string {
66678	return s.String()
66679}
66680
66681// Validate inspects the fields of the type to determine if they are valid.
66682func (s *DescribeClientVpnEndpointsInput) Validate() error {
66683	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnEndpointsInput"}
66684	if s.MaxResults != nil && *s.MaxResults < 5 {
66685		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
66686	}
66687
66688	if invalidParams.Len() > 0 {
66689		return invalidParams
66690	}
66691	return nil
66692}
66693
66694// SetClientVpnEndpointIds sets the ClientVpnEndpointIds field's value.
66695func (s *DescribeClientVpnEndpointsInput) SetClientVpnEndpointIds(v []*string) *DescribeClientVpnEndpointsInput {
66696	s.ClientVpnEndpointIds = v
66697	return s
66698}
66699
66700// SetDryRun sets the DryRun field's value.
66701func (s *DescribeClientVpnEndpointsInput) SetDryRun(v bool) *DescribeClientVpnEndpointsInput {
66702	s.DryRun = &v
66703	return s
66704}
66705
66706// SetFilters sets the Filters field's value.
66707func (s *DescribeClientVpnEndpointsInput) SetFilters(v []*Filter) *DescribeClientVpnEndpointsInput {
66708	s.Filters = v
66709	return s
66710}
66711
66712// SetMaxResults sets the MaxResults field's value.
66713func (s *DescribeClientVpnEndpointsInput) SetMaxResults(v int64) *DescribeClientVpnEndpointsInput {
66714	s.MaxResults = &v
66715	return s
66716}
66717
66718// SetNextToken sets the NextToken field's value.
66719func (s *DescribeClientVpnEndpointsInput) SetNextToken(v string) *DescribeClientVpnEndpointsInput {
66720	s.NextToken = &v
66721	return s
66722}
66723
66724type DescribeClientVpnEndpointsOutput struct {
66725	_ struct{} `type:"structure"`
66726
66727	// Information about the Client VPN endpoints.
66728	ClientVpnEndpoints []*ClientVpnEndpoint `locationName:"clientVpnEndpoint" locationNameList:"item" type:"list"`
66729
66730	// The token to use to retrieve the next page of results. This value is null
66731	// when there are no more results to return.
66732	NextToken *string `locationName:"nextToken" type:"string"`
66733}
66734
66735// String returns the string representation
66736func (s DescribeClientVpnEndpointsOutput) String() string {
66737	return awsutil.Prettify(s)
66738}
66739
66740// GoString returns the string representation
66741func (s DescribeClientVpnEndpointsOutput) GoString() string {
66742	return s.String()
66743}
66744
66745// SetClientVpnEndpoints sets the ClientVpnEndpoints field's value.
66746func (s *DescribeClientVpnEndpointsOutput) SetClientVpnEndpoints(v []*ClientVpnEndpoint) *DescribeClientVpnEndpointsOutput {
66747	s.ClientVpnEndpoints = v
66748	return s
66749}
66750
66751// SetNextToken sets the NextToken field's value.
66752func (s *DescribeClientVpnEndpointsOutput) SetNextToken(v string) *DescribeClientVpnEndpointsOutput {
66753	s.NextToken = &v
66754	return s
66755}
66756
66757type DescribeClientVpnRoutesInput struct {
66758	_ struct{} `type:"structure"`
66759
66760	// The ID of the Client VPN endpoint.
66761	//
66762	// ClientVpnEndpointId is a required field
66763	ClientVpnEndpointId *string `type:"string" required:"true"`
66764
66765	// Checks whether you have the required permissions for the action, without
66766	// actually making the request, and provides an error response. If you have
66767	// the required permissions, the error response is DryRunOperation. Otherwise,
66768	// it is UnauthorizedOperation.
66769	DryRun *bool `type:"boolean"`
66770
66771	// One or more filters. Filter names and values are case-sensitive.
66772	//
66773	//    * destination-cidr - The CIDR of the route destination.
66774	//
66775	//    * origin - How the route was associated with the Client VPN endpoint (associate
66776	//    | add-route).
66777	//
66778	//    * target-subnet - The ID of the subnet through which traffic is routed.
66779	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66780
66781	// The maximum number of results to return for the request in a single page.
66782	// The remaining results can be seen by sending another request with the nextToken
66783	// value.
66784	MaxResults *int64 `min:"5" type:"integer"`
66785
66786	// The token to retrieve the next page of results.
66787	NextToken *string `type:"string"`
66788}
66789
66790// String returns the string representation
66791func (s DescribeClientVpnRoutesInput) String() string {
66792	return awsutil.Prettify(s)
66793}
66794
66795// GoString returns the string representation
66796func (s DescribeClientVpnRoutesInput) GoString() string {
66797	return s.String()
66798}
66799
66800// Validate inspects the fields of the type to determine if they are valid.
66801func (s *DescribeClientVpnRoutesInput) Validate() error {
66802	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnRoutesInput"}
66803	if s.ClientVpnEndpointId == nil {
66804		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
66805	}
66806	if s.MaxResults != nil && *s.MaxResults < 5 {
66807		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
66808	}
66809
66810	if invalidParams.Len() > 0 {
66811		return invalidParams
66812	}
66813	return nil
66814}
66815
66816// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
66817func (s *DescribeClientVpnRoutesInput) SetClientVpnEndpointId(v string) *DescribeClientVpnRoutesInput {
66818	s.ClientVpnEndpointId = &v
66819	return s
66820}
66821
66822// SetDryRun sets the DryRun field's value.
66823func (s *DescribeClientVpnRoutesInput) SetDryRun(v bool) *DescribeClientVpnRoutesInput {
66824	s.DryRun = &v
66825	return s
66826}
66827
66828// SetFilters sets the Filters field's value.
66829func (s *DescribeClientVpnRoutesInput) SetFilters(v []*Filter) *DescribeClientVpnRoutesInput {
66830	s.Filters = v
66831	return s
66832}
66833
66834// SetMaxResults sets the MaxResults field's value.
66835func (s *DescribeClientVpnRoutesInput) SetMaxResults(v int64) *DescribeClientVpnRoutesInput {
66836	s.MaxResults = &v
66837	return s
66838}
66839
66840// SetNextToken sets the NextToken field's value.
66841func (s *DescribeClientVpnRoutesInput) SetNextToken(v string) *DescribeClientVpnRoutesInput {
66842	s.NextToken = &v
66843	return s
66844}
66845
66846type DescribeClientVpnRoutesOutput struct {
66847	_ struct{} `type:"structure"`
66848
66849	// The token to use to retrieve the next page of results. This value is null
66850	// when there are no more results to return.
66851	NextToken *string `locationName:"nextToken" type:"string"`
66852
66853	// Information about the Client VPN endpoint routes.
66854	Routes []*ClientVpnRoute `locationName:"routes" locationNameList:"item" type:"list"`
66855}
66856
66857// String returns the string representation
66858func (s DescribeClientVpnRoutesOutput) String() string {
66859	return awsutil.Prettify(s)
66860}
66861
66862// GoString returns the string representation
66863func (s DescribeClientVpnRoutesOutput) GoString() string {
66864	return s.String()
66865}
66866
66867// SetNextToken sets the NextToken field's value.
66868func (s *DescribeClientVpnRoutesOutput) SetNextToken(v string) *DescribeClientVpnRoutesOutput {
66869	s.NextToken = &v
66870	return s
66871}
66872
66873// SetRoutes sets the Routes field's value.
66874func (s *DescribeClientVpnRoutesOutput) SetRoutes(v []*ClientVpnRoute) *DescribeClientVpnRoutesOutput {
66875	s.Routes = v
66876	return s
66877}
66878
66879type DescribeClientVpnTargetNetworksInput struct {
66880	_ struct{} `type:"structure"`
66881
66882	// The IDs of the target network associations.
66883	AssociationIds []*string `locationNameList:"item" type:"list"`
66884
66885	// The ID of the Client VPN endpoint.
66886	//
66887	// ClientVpnEndpointId is a required field
66888	ClientVpnEndpointId *string `type:"string" required:"true"`
66889
66890	// Checks whether you have the required permissions for the action, without
66891	// actually making the request, and provides an error response. If you have
66892	// the required permissions, the error response is DryRunOperation. Otherwise,
66893	// it is UnauthorizedOperation.
66894	DryRun *bool `type:"boolean"`
66895
66896	// One or more filters. Filter names and values are case-sensitive.
66897	//
66898	//    * association-id - The ID of the association.
66899	//
66900	//    * target-network-id - The ID of the subnet specified as the target network.
66901	//
66902	//    * vpc-id - The ID of the VPC in which the target network is located.
66903	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66904
66905	// The maximum number of results to return for the request in a single page.
66906	// The remaining results can be seen by sending another request with the nextToken
66907	// value.
66908	MaxResults *int64 `min:"5" type:"integer"`
66909
66910	// The token to retrieve the next page of results.
66911	NextToken *string `type:"string"`
66912}
66913
66914// String returns the string representation
66915func (s DescribeClientVpnTargetNetworksInput) String() string {
66916	return awsutil.Prettify(s)
66917}
66918
66919// GoString returns the string representation
66920func (s DescribeClientVpnTargetNetworksInput) GoString() string {
66921	return s.String()
66922}
66923
66924// Validate inspects the fields of the type to determine if they are valid.
66925func (s *DescribeClientVpnTargetNetworksInput) Validate() error {
66926	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnTargetNetworksInput"}
66927	if s.ClientVpnEndpointId == nil {
66928		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
66929	}
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 *DescribeClientVpnTargetNetworksInput) SetAssociationIds(v []*string) *DescribeClientVpnTargetNetworksInput {
66942	s.AssociationIds = v
66943	return s
66944}
66945
66946// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
66947func (s *DescribeClientVpnTargetNetworksInput) SetClientVpnEndpointId(v string) *DescribeClientVpnTargetNetworksInput {
66948	s.ClientVpnEndpointId = &v
66949	return s
66950}
66951
66952// SetDryRun sets the DryRun field's value.
66953func (s *DescribeClientVpnTargetNetworksInput) SetDryRun(v bool) *DescribeClientVpnTargetNetworksInput {
66954	s.DryRun = &v
66955	return s
66956}
66957
66958// SetFilters sets the Filters field's value.
66959func (s *DescribeClientVpnTargetNetworksInput) SetFilters(v []*Filter) *DescribeClientVpnTargetNetworksInput {
66960	s.Filters = v
66961	return s
66962}
66963
66964// SetMaxResults sets the MaxResults field's value.
66965func (s *DescribeClientVpnTargetNetworksInput) SetMaxResults(v int64) *DescribeClientVpnTargetNetworksInput {
66966	s.MaxResults = &v
66967	return s
66968}
66969
66970// SetNextToken sets the NextToken field's value.
66971func (s *DescribeClientVpnTargetNetworksInput) SetNextToken(v string) *DescribeClientVpnTargetNetworksInput {
66972	s.NextToken = &v
66973	return s
66974}
66975
66976type DescribeClientVpnTargetNetworksOutput struct {
66977	_ struct{} `type:"structure"`
66978
66979	// Information about the associated target networks.
66980	ClientVpnTargetNetworks []*TargetNetwork `locationName:"clientVpnTargetNetworks" locationNameList:"item" type:"list"`
66981
66982	// The token to use to retrieve the next page of results. This value is null
66983	// when there are no more results to return.
66984	NextToken *string `locationName:"nextToken" type:"string"`
66985}
66986
66987// String returns the string representation
66988func (s DescribeClientVpnTargetNetworksOutput) String() string {
66989	return awsutil.Prettify(s)
66990}
66991
66992// GoString returns the string representation
66993func (s DescribeClientVpnTargetNetworksOutput) GoString() string {
66994	return s.String()
66995}
66996
66997// SetClientVpnTargetNetworks sets the ClientVpnTargetNetworks field's value.
66998func (s *DescribeClientVpnTargetNetworksOutput) SetClientVpnTargetNetworks(v []*TargetNetwork) *DescribeClientVpnTargetNetworksOutput {
66999	s.ClientVpnTargetNetworks = v
67000	return s
67001}
67002
67003// SetNextToken sets the NextToken field's value.
67004func (s *DescribeClientVpnTargetNetworksOutput) SetNextToken(v string) *DescribeClientVpnTargetNetworksOutput {
67005	s.NextToken = &v
67006	return s
67007}
67008
67009type DescribeCoipPoolsInput struct {
67010	_ struct{} `type:"structure"`
67011
67012	// Checks whether you have the required permissions for the action, without
67013	// actually making the request, and provides an error response. If you have
67014	// the required permissions, the error response is DryRunOperation. Otherwise,
67015	// it is UnauthorizedOperation.
67016	DryRun *bool `type:"boolean"`
67017
67018	// The filters. The following are the possible values:
67019	//
67020	//    * coip-pool.pool-id
67021	//
67022	//    * coip-pool.local-gateway-route-table-id
67023	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
67024
67025	// The maximum number of results to return with a single call. To retrieve the
67026	// remaining results, make another call with the returned nextToken value.
67027	MaxResults *int64 `min:"5" type:"integer"`
67028
67029	// The token for the next page of results.
67030	NextToken *string `type:"string"`
67031
67032	// The IDs of the address pools.
67033	PoolIds []*string `locationName:"PoolId" locationNameList:"item" type:"list"`
67034}
67035
67036// String returns the string representation
67037func (s DescribeCoipPoolsInput) String() string {
67038	return awsutil.Prettify(s)
67039}
67040
67041// GoString returns the string representation
67042func (s DescribeCoipPoolsInput) GoString() string {
67043	return s.String()
67044}
67045
67046// Validate inspects the fields of the type to determine if they are valid.
67047func (s *DescribeCoipPoolsInput) Validate() error {
67048	invalidParams := request.ErrInvalidParams{Context: "DescribeCoipPoolsInput"}
67049	if s.MaxResults != nil && *s.MaxResults < 5 {
67050		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
67051	}
67052
67053	if invalidParams.Len() > 0 {
67054		return invalidParams
67055	}
67056	return nil
67057}
67058
67059// SetDryRun sets the DryRun field's value.
67060func (s *DescribeCoipPoolsInput) SetDryRun(v bool) *DescribeCoipPoolsInput {
67061	s.DryRun = &v
67062	return s
67063}
67064
67065// SetFilters sets the Filters field's value.
67066func (s *DescribeCoipPoolsInput) SetFilters(v []*Filter) *DescribeCoipPoolsInput {
67067	s.Filters = v
67068	return s
67069}
67070
67071// SetMaxResults sets the MaxResults field's value.
67072func (s *DescribeCoipPoolsInput) SetMaxResults(v int64) *DescribeCoipPoolsInput {
67073	s.MaxResults = &v
67074	return s
67075}
67076
67077// SetNextToken sets the NextToken field's value.
67078func (s *DescribeCoipPoolsInput) SetNextToken(v string) *DescribeCoipPoolsInput {
67079	s.NextToken = &v
67080	return s
67081}
67082
67083// SetPoolIds sets the PoolIds field's value.
67084func (s *DescribeCoipPoolsInput) SetPoolIds(v []*string) *DescribeCoipPoolsInput {
67085	s.PoolIds = v
67086	return s
67087}
67088
67089type DescribeCoipPoolsOutput struct {
67090	_ struct{} `type:"structure"`
67091
67092	// Information about the address pools.
67093	CoipPools []*CoipPool `locationName:"coipPoolSet" locationNameList:"item" type:"list"`
67094
67095	// The token to use to retrieve the next page of results. This value is null
67096	// when there are no more results to return.
67097	NextToken *string `locationName:"nextToken" type:"string"`
67098}
67099
67100// String returns the string representation
67101func (s DescribeCoipPoolsOutput) String() string {
67102	return awsutil.Prettify(s)
67103}
67104
67105// GoString returns the string representation
67106func (s DescribeCoipPoolsOutput) GoString() string {
67107	return s.String()
67108}
67109
67110// SetCoipPools sets the CoipPools field's value.
67111func (s *DescribeCoipPoolsOutput) SetCoipPools(v []*CoipPool) *DescribeCoipPoolsOutput {
67112	s.CoipPools = v
67113	return s
67114}
67115
67116// SetNextToken sets the NextToken field's value.
67117func (s *DescribeCoipPoolsOutput) SetNextToken(v string) *DescribeCoipPoolsOutput {
67118	s.NextToken = &v
67119	return s
67120}
67121
67122type DescribeConversionTasksInput struct {
67123	_ struct{} `type:"structure"`
67124
67125	// The conversion task IDs.
67126	ConversionTaskIds []*string `locationName:"conversionTaskId" locationNameList:"item" type:"list"`
67127
67128	// Checks whether you have the required permissions for the action, without
67129	// actually making the request, and provides an error response. If you have
67130	// the required permissions, the error response is DryRunOperation. Otherwise,
67131	// it is UnauthorizedOperation.
67132	DryRun *bool `locationName:"dryRun" type:"boolean"`
67133}
67134
67135// String returns the string representation
67136func (s DescribeConversionTasksInput) String() string {
67137	return awsutil.Prettify(s)
67138}
67139
67140// GoString returns the string representation
67141func (s DescribeConversionTasksInput) GoString() string {
67142	return s.String()
67143}
67144
67145// SetConversionTaskIds sets the ConversionTaskIds field's value.
67146func (s *DescribeConversionTasksInput) SetConversionTaskIds(v []*string) *DescribeConversionTasksInput {
67147	s.ConversionTaskIds = v
67148	return s
67149}
67150
67151// SetDryRun sets the DryRun field's value.
67152func (s *DescribeConversionTasksInput) SetDryRun(v bool) *DescribeConversionTasksInput {
67153	s.DryRun = &v
67154	return s
67155}
67156
67157type DescribeConversionTasksOutput struct {
67158	_ struct{} `type:"structure"`
67159
67160	// Information about the conversion tasks.
67161	ConversionTasks []*ConversionTask `locationName:"conversionTasks" locationNameList:"item" type:"list"`
67162}
67163
67164// String returns the string representation
67165func (s DescribeConversionTasksOutput) String() string {
67166	return awsutil.Prettify(s)
67167}
67168
67169// GoString returns the string representation
67170func (s DescribeConversionTasksOutput) GoString() string {
67171	return s.String()
67172}
67173
67174// SetConversionTasks sets the ConversionTasks field's value.
67175func (s *DescribeConversionTasksOutput) SetConversionTasks(v []*ConversionTask) *DescribeConversionTasksOutput {
67176	s.ConversionTasks = v
67177	return s
67178}
67179
67180// Contains the parameters for DescribeCustomerGateways.
67181type DescribeCustomerGatewaysInput struct {
67182	_ struct{} `type:"structure"`
67183
67184	// One or more customer gateway IDs.
67185	//
67186	// Default: Describes all your customer gateways.
67187	CustomerGatewayIds []*string `locationName:"CustomerGatewayId" locationNameList:"CustomerGatewayId" type:"list"`
67188
67189	// Checks whether you have the required permissions for the action, without
67190	// actually making the request, and provides an error response. If you have
67191	// the required permissions, the error response is DryRunOperation. Otherwise,
67192	// it is UnauthorizedOperation.
67193	DryRun *bool `locationName:"dryRun" type:"boolean"`
67194
67195	// One or more filters.
67196	//
67197	//    * bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous
67198	//    System Number (ASN).
67199	//
67200	//    * customer-gateway-id - The ID of the customer gateway.
67201	//
67202	//    * ip-address - The IP address of the customer gateway's Internet-routable
67203	//    external interface.
67204	//
67205	//    * state - The state of the customer gateway (pending | available | deleting
67206	//    | deleted).
67207	//
67208	//    * type - The type of customer gateway. Currently, the only supported type
67209	//    is ipsec.1.
67210	//
67211	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
67212	//    Use the tag key in the filter name and the tag value as the filter value.
67213	//    For example, to find all resources that have a tag with the key Owner
67214	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
67215	//    the filter value.
67216	//
67217	//    * tag-key - The key of a tag assigned to the resource. Use this filter
67218	//    to find all resources assigned a tag with a specific key, regardless of
67219	//    the tag value.
67220	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
67221}
67222
67223// String returns the string representation
67224func (s DescribeCustomerGatewaysInput) String() string {
67225	return awsutil.Prettify(s)
67226}
67227
67228// GoString returns the string representation
67229func (s DescribeCustomerGatewaysInput) GoString() string {
67230	return s.String()
67231}
67232
67233// SetCustomerGatewayIds sets the CustomerGatewayIds field's value.
67234func (s *DescribeCustomerGatewaysInput) SetCustomerGatewayIds(v []*string) *DescribeCustomerGatewaysInput {
67235	s.CustomerGatewayIds = v
67236	return s
67237}
67238
67239// SetDryRun sets the DryRun field's value.
67240func (s *DescribeCustomerGatewaysInput) SetDryRun(v bool) *DescribeCustomerGatewaysInput {
67241	s.DryRun = &v
67242	return s
67243}
67244
67245// SetFilters sets the Filters field's value.
67246func (s *DescribeCustomerGatewaysInput) SetFilters(v []*Filter) *DescribeCustomerGatewaysInput {
67247	s.Filters = v
67248	return s
67249}
67250
67251// Contains the output of DescribeCustomerGateways.
67252type DescribeCustomerGatewaysOutput struct {
67253	_ struct{} `type:"structure"`
67254
67255	// Information about one or more customer gateways.
67256	CustomerGateways []*CustomerGateway `locationName:"customerGatewaySet" locationNameList:"item" type:"list"`
67257}
67258
67259// String returns the string representation
67260func (s DescribeCustomerGatewaysOutput) String() string {
67261	return awsutil.Prettify(s)
67262}
67263
67264// GoString returns the string representation
67265func (s DescribeCustomerGatewaysOutput) GoString() string {
67266	return s.String()
67267}
67268
67269// SetCustomerGateways sets the CustomerGateways field's value.
67270func (s *DescribeCustomerGatewaysOutput) SetCustomerGateways(v []*CustomerGateway) *DescribeCustomerGatewaysOutput {
67271	s.CustomerGateways = v
67272	return s
67273}
67274
67275type DescribeDhcpOptionsInput struct {
67276	_ struct{} `type:"structure"`
67277
67278	// The IDs of one or more DHCP options sets.
67279	//
67280	// Default: Describes all your DHCP options sets.
67281	DhcpOptionsIds []*string `locationName:"DhcpOptionsId" locationNameList:"DhcpOptionsId" type:"list"`
67282
67283	// Checks whether you have the required permissions for the action, without
67284	// actually making the request, and provides an error response. If you have
67285	// the required permissions, the error response is DryRunOperation. Otherwise,
67286	// it is UnauthorizedOperation.
67287	DryRun *bool `locationName:"dryRun" type:"boolean"`
67288
67289	// One or more filters.
67290	//
67291	//    * dhcp-options-id - The ID of a DHCP options set.
67292	//
67293	//    * key - The key for one of the options (for example, domain-name).
67294	//
67295	//    * value - The value for one of the options.
67296	//
67297	//    * owner-id - The ID of the Amazon Web Services account that owns the DHCP
67298	//    options set.
67299	//
67300	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
67301	//    Use the tag key in the filter name and the tag value as the filter value.
67302	//    For example, to find all resources that have a tag with the key Owner
67303	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
67304	//    the filter value.
67305	//
67306	//    * tag-key - The key of a tag assigned to the resource. Use this filter
67307	//    to find all resources assigned a tag with a specific key, regardless of
67308	//    the tag value.
67309	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
67310
67311	// The maximum number of results to return with a single call. To retrieve the
67312	// remaining results, make another call with the returned nextToken value.
67313	MaxResults *int64 `min:"5" type:"integer"`
67314
67315	// The token for the next page of results.
67316	NextToken *string `type:"string"`
67317}
67318
67319// String returns the string representation
67320func (s DescribeDhcpOptionsInput) String() string {
67321	return awsutil.Prettify(s)
67322}
67323
67324// GoString returns the string representation
67325func (s DescribeDhcpOptionsInput) GoString() string {
67326	return s.String()
67327}
67328
67329// Validate inspects the fields of the type to determine if they are valid.
67330func (s *DescribeDhcpOptionsInput) Validate() error {
67331	invalidParams := request.ErrInvalidParams{Context: "DescribeDhcpOptionsInput"}
67332	if s.MaxResults != nil && *s.MaxResults < 5 {
67333		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
67334	}
67335
67336	if invalidParams.Len() > 0 {
67337		return invalidParams
67338	}
67339	return nil
67340}
67341
67342// SetDhcpOptionsIds sets the DhcpOptionsIds field's value.
67343func (s *DescribeDhcpOptionsInput) SetDhcpOptionsIds(v []*string) *DescribeDhcpOptionsInput {
67344	s.DhcpOptionsIds = v
67345	return s
67346}
67347
67348// SetDryRun sets the DryRun field's value.
67349func (s *DescribeDhcpOptionsInput) SetDryRun(v bool) *DescribeDhcpOptionsInput {
67350	s.DryRun = &v
67351	return s
67352}
67353
67354// SetFilters sets the Filters field's value.
67355func (s *DescribeDhcpOptionsInput) SetFilters(v []*Filter) *DescribeDhcpOptionsInput {
67356	s.Filters = v
67357	return s
67358}
67359
67360// SetMaxResults sets the MaxResults field's value.
67361func (s *DescribeDhcpOptionsInput) SetMaxResults(v int64) *DescribeDhcpOptionsInput {
67362	s.MaxResults = &v
67363	return s
67364}
67365
67366// SetNextToken sets the NextToken field's value.
67367func (s *DescribeDhcpOptionsInput) SetNextToken(v string) *DescribeDhcpOptionsInput {
67368	s.NextToken = &v
67369	return s
67370}
67371
67372type DescribeDhcpOptionsOutput struct {
67373	_ struct{} `type:"structure"`
67374
67375	// Information about one or more DHCP options sets.
67376	DhcpOptions []*DhcpOptions `locationName:"dhcpOptionsSet" locationNameList:"item" type:"list"`
67377
67378	// The token to use to retrieve the next page of results. This value is null
67379	// when there are no more results to return.
67380	NextToken *string `locationName:"nextToken" type:"string"`
67381}
67382
67383// String returns the string representation
67384func (s DescribeDhcpOptionsOutput) String() string {
67385	return awsutil.Prettify(s)
67386}
67387
67388// GoString returns the string representation
67389func (s DescribeDhcpOptionsOutput) GoString() string {
67390	return s.String()
67391}
67392
67393// SetDhcpOptions sets the DhcpOptions field's value.
67394func (s *DescribeDhcpOptionsOutput) SetDhcpOptions(v []*DhcpOptions) *DescribeDhcpOptionsOutput {
67395	s.DhcpOptions = v
67396	return s
67397}
67398
67399// SetNextToken sets the NextToken field's value.
67400func (s *DescribeDhcpOptionsOutput) SetNextToken(v string) *DescribeDhcpOptionsOutput {
67401	s.NextToken = &v
67402	return s
67403}
67404
67405type DescribeEgressOnlyInternetGatewaysInput struct {
67406	_ struct{} `type:"structure"`
67407
67408	// Checks whether you have the required permissions for the action, without
67409	// actually making the request, and provides an error response. If you have
67410	// the required permissions, the error response is DryRunOperation. Otherwise,
67411	// it is UnauthorizedOperation.
67412	DryRun *bool `type:"boolean"`
67413
67414	// One or more egress-only internet gateway IDs.
67415	EgressOnlyInternetGatewayIds []*string `locationName:"EgressOnlyInternetGatewayId" locationNameList:"item" type:"list"`
67416
67417	// One or more filters.
67418	//
67419	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
67420	//    Use the tag key in the filter name and the tag value as the filter value.
67421	//    For example, to find all resources that have a tag with the key Owner
67422	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
67423	//    the filter value.
67424	//
67425	//    * tag-key - The key of a tag assigned to the resource. Use this filter
67426	//    to find all resources assigned a tag with a specific key, regardless of
67427	//    the tag value.
67428	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
67429
67430	// The maximum number of results to return with a single call. To retrieve the
67431	// remaining results, make another call with the returned nextToken value.
67432	MaxResults *int64 `min:"5" type:"integer"`
67433
67434	// The token for the next page of results.
67435	NextToken *string `type:"string"`
67436}
67437
67438// String returns the string representation
67439func (s DescribeEgressOnlyInternetGatewaysInput) String() string {
67440	return awsutil.Prettify(s)
67441}
67442
67443// GoString returns the string representation
67444func (s DescribeEgressOnlyInternetGatewaysInput) GoString() string {
67445	return s.String()
67446}
67447
67448// Validate inspects the fields of the type to determine if they are valid.
67449func (s *DescribeEgressOnlyInternetGatewaysInput) Validate() error {
67450	invalidParams := request.ErrInvalidParams{Context: "DescribeEgressOnlyInternetGatewaysInput"}
67451	if s.MaxResults != nil && *s.MaxResults < 5 {
67452		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
67453	}
67454
67455	if invalidParams.Len() > 0 {
67456		return invalidParams
67457	}
67458	return nil
67459}
67460
67461// SetDryRun sets the DryRun field's value.
67462func (s *DescribeEgressOnlyInternetGatewaysInput) SetDryRun(v bool) *DescribeEgressOnlyInternetGatewaysInput {
67463	s.DryRun = &v
67464	return s
67465}
67466
67467// SetEgressOnlyInternetGatewayIds sets the EgressOnlyInternetGatewayIds field's value.
67468func (s *DescribeEgressOnlyInternetGatewaysInput) SetEgressOnlyInternetGatewayIds(v []*string) *DescribeEgressOnlyInternetGatewaysInput {
67469	s.EgressOnlyInternetGatewayIds = v
67470	return s
67471}
67472
67473// SetFilters sets the Filters field's value.
67474func (s *DescribeEgressOnlyInternetGatewaysInput) SetFilters(v []*Filter) *DescribeEgressOnlyInternetGatewaysInput {
67475	s.Filters = v
67476	return s
67477}
67478
67479// SetMaxResults sets the MaxResults field's value.
67480func (s *DescribeEgressOnlyInternetGatewaysInput) SetMaxResults(v int64) *DescribeEgressOnlyInternetGatewaysInput {
67481	s.MaxResults = &v
67482	return s
67483}
67484
67485// SetNextToken sets the NextToken field's value.
67486func (s *DescribeEgressOnlyInternetGatewaysInput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysInput {
67487	s.NextToken = &v
67488	return s
67489}
67490
67491type DescribeEgressOnlyInternetGatewaysOutput struct {
67492	_ struct{} `type:"structure"`
67493
67494	// Information about the egress-only internet gateways.
67495	EgressOnlyInternetGateways []*EgressOnlyInternetGateway `locationName:"egressOnlyInternetGatewaySet" locationNameList:"item" type:"list"`
67496
67497	// The token to use to retrieve the next page of results. This value is null
67498	// when there are no more results to return.
67499	NextToken *string `locationName:"nextToken" type:"string"`
67500}
67501
67502// String returns the string representation
67503func (s DescribeEgressOnlyInternetGatewaysOutput) String() string {
67504	return awsutil.Prettify(s)
67505}
67506
67507// GoString returns the string representation
67508func (s DescribeEgressOnlyInternetGatewaysOutput) GoString() string {
67509	return s.String()
67510}
67511
67512// SetEgressOnlyInternetGateways sets the EgressOnlyInternetGateways field's value.
67513func (s *DescribeEgressOnlyInternetGatewaysOutput) SetEgressOnlyInternetGateways(v []*EgressOnlyInternetGateway) *DescribeEgressOnlyInternetGatewaysOutput {
67514	s.EgressOnlyInternetGateways = v
67515	return s
67516}
67517
67518// SetNextToken sets the NextToken field's value.
67519func (s *DescribeEgressOnlyInternetGatewaysOutput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysOutput {
67520	s.NextToken = &v
67521	return s
67522}
67523
67524type DescribeElasticGpusInput struct {
67525	_ struct{} `type:"structure"`
67526
67527	// Checks whether you have the required permissions for the action, without
67528	// actually making the request, and provides an error response. If you have
67529	// the required permissions, the error response is DryRunOperation. Otherwise,
67530	// it is UnauthorizedOperation.
67531	DryRun *bool `type:"boolean"`
67532
67533	// The Elastic Graphics accelerator IDs.
67534	ElasticGpuIds []*string `locationName:"ElasticGpuId" locationNameList:"item" type:"list"`
67535
67536	// The filters.
67537	//
67538	//    * availability-zone - The Availability Zone in which the Elastic Graphics
67539	//    accelerator resides.
67540	//
67541	//    * elastic-gpu-health - The status of the Elastic Graphics accelerator
67542	//    (OK | IMPAIRED).
67543	//
67544	//    * elastic-gpu-state - The state of the Elastic Graphics accelerator (ATTACHED).
67545	//
67546	//    * elastic-gpu-type - The type of Elastic Graphics accelerator; for example,
67547	//    eg1.medium.
67548	//
67549	//    * instance-id - The ID of the instance to which the Elastic Graphics accelerator
67550	//    is associated.
67551	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
67552
67553	// The maximum number of results to return in a single call. To retrieve the
67554	// remaining results, make another call with the returned NextToken value. This
67555	// value can be between 5 and 1000.
67556	MaxResults *int64 `min:"10" type:"integer"`
67557
67558	// The token to request the next page of results.
67559	NextToken *string `type:"string"`
67560}
67561
67562// String returns the string representation
67563func (s DescribeElasticGpusInput) String() string {
67564	return awsutil.Prettify(s)
67565}
67566
67567// GoString returns the string representation
67568func (s DescribeElasticGpusInput) GoString() string {
67569	return s.String()
67570}
67571
67572// Validate inspects the fields of the type to determine if they are valid.
67573func (s *DescribeElasticGpusInput) Validate() error {
67574	invalidParams := request.ErrInvalidParams{Context: "DescribeElasticGpusInput"}
67575	if s.MaxResults != nil && *s.MaxResults < 10 {
67576		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
67577	}
67578
67579	if invalidParams.Len() > 0 {
67580		return invalidParams
67581	}
67582	return nil
67583}
67584
67585// SetDryRun sets the DryRun field's value.
67586func (s *DescribeElasticGpusInput) SetDryRun(v bool) *DescribeElasticGpusInput {
67587	s.DryRun = &v
67588	return s
67589}
67590
67591// SetElasticGpuIds sets the ElasticGpuIds field's value.
67592func (s *DescribeElasticGpusInput) SetElasticGpuIds(v []*string) *DescribeElasticGpusInput {
67593	s.ElasticGpuIds = v
67594	return s
67595}
67596
67597// SetFilters sets the Filters field's value.
67598func (s *DescribeElasticGpusInput) SetFilters(v []*Filter) *DescribeElasticGpusInput {
67599	s.Filters = v
67600	return s
67601}
67602
67603// SetMaxResults sets the MaxResults field's value.
67604func (s *DescribeElasticGpusInput) SetMaxResults(v int64) *DescribeElasticGpusInput {
67605	s.MaxResults = &v
67606	return s
67607}
67608
67609// SetNextToken sets the NextToken field's value.
67610func (s *DescribeElasticGpusInput) SetNextToken(v string) *DescribeElasticGpusInput {
67611	s.NextToken = &v
67612	return s
67613}
67614
67615type DescribeElasticGpusOutput struct {
67616	_ struct{} `type:"structure"`
67617
67618	// Information about the Elastic Graphics accelerators.
67619	ElasticGpuSet []*ElasticGpus `locationName:"elasticGpuSet" locationNameList:"item" type:"list"`
67620
67621	// The total number of items to return. If the total number of items available
67622	// is more than the value specified in max-items then a Next-Token will be provided
67623	// in the output that you can use to resume pagination.
67624	MaxResults *int64 `locationName:"maxResults" type:"integer"`
67625
67626	// The token to use to retrieve the next page of results. This value is null
67627	// when there are no more results to return.
67628	NextToken *string `locationName:"nextToken" type:"string"`
67629}
67630
67631// String returns the string representation
67632func (s DescribeElasticGpusOutput) String() string {
67633	return awsutil.Prettify(s)
67634}
67635
67636// GoString returns the string representation
67637func (s DescribeElasticGpusOutput) GoString() string {
67638	return s.String()
67639}
67640
67641// SetElasticGpuSet sets the ElasticGpuSet field's value.
67642func (s *DescribeElasticGpusOutput) SetElasticGpuSet(v []*ElasticGpus) *DescribeElasticGpusOutput {
67643	s.ElasticGpuSet = v
67644	return s
67645}
67646
67647// SetMaxResults sets the MaxResults field's value.
67648func (s *DescribeElasticGpusOutput) SetMaxResults(v int64) *DescribeElasticGpusOutput {
67649	s.MaxResults = &v
67650	return s
67651}
67652
67653// SetNextToken sets the NextToken field's value.
67654func (s *DescribeElasticGpusOutput) SetNextToken(v string) *DescribeElasticGpusOutput {
67655	s.NextToken = &v
67656	return s
67657}
67658
67659type DescribeExportImageTasksInput struct {
67660	_ struct{} `type:"structure"`
67661
67662	// Checks whether you have the required permissions for the action, without
67663	// actually making the request, and provides an error response. If you have
67664	// the required permissions, the error response is DryRunOperation. Otherwise,
67665	// it is UnauthorizedOperation.
67666	DryRun *bool `type:"boolean"`
67667
67668	// The IDs of the export image tasks.
67669	ExportImageTaskIds []*string `locationName:"ExportImageTaskId" locationNameList:"ExportImageTaskId" type:"list"`
67670
67671	// Filter tasks using the task-state filter and one of the following values:
67672	// active, completed, deleting, or deleted.
67673	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
67674
67675	// The maximum number of results to return in a single call.
67676	MaxResults *int64 `min:"1" type:"integer"`
67677
67678	// A token that indicates the next page of results.
67679	NextToken *string `type:"string"`
67680}
67681
67682// String returns the string representation
67683func (s DescribeExportImageTasksInput) String() string {
67684	return awsutil.Prettify(s)
67685}
67686
67687// GoString returns the string representation
67688func (s DescribeExportImageTasksInput) GoString() string {
67689	return s.String()
67690}
67691
67692// Validate inspects the fields of the type to determine if they are valid.
67693func (s *DescribeExportImageTasksInput) Validate() error {
67694	invalidParams := request.ErrInvalidParams{Context: "DescribeExportImageTasksInput"}
67695	if s.MaxResults != nil && *s.MaxResults < 1 {
67696		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
67697	}
67698
67699	if invalidParams.Len() > 0 {
67700		return invalidParams
67701	}
67702	return nil
67703}
67704
67705// SetDryRun sets the DryRun field's value.
67706func (s *DescribeExportImageTasksInput) SetDryRun(v bool) *DescribeExportImageTasksInput {
67707	s.DryRun = &v
67708	return s
67709}
67710
67711// SetExportImageTaskIds sets the ExportImageTaskIds field's value.
67712func (s *DescribeExportImageTasksInput) SetExportImageTaskIds(v []*string) *DescribeExportImageTasksInput {
67713	s.ExportImageTaskIds = v
67714	return s
67715}
67716
67717// SetFilters sets the Filters field's value.
67718func (s *DescribeExportImageTasksInput) SetFilters(v []*Filter) *DescribeExportImageTasksInput {
67719	s.Filters = v
67720	return s
67721}
67722
67723// SetMaxResults sets the MaxResults field's value.
67724func (s *DescribeExportImageTasksInput) SetMaxResults(v int64) *DescribeExportImageTasksInput {
67725	s.MaxResults = &v
67726	return s
67727}
67728
67729// SetNextToken sets the NextToken field's value.
67730func (s *DescribeExportImageTasksInput) SetNextToken(v string) *DescribeExportImageTasksInput {
67731	s.NextToken = &v
67732	return s
67733}
67734
67735type DescribeExportImageTasksOutput struct {
67736	_ struct{} `type:"structure"`
67737
67738	// Information about the export image tasks.
67739	ExportImageTasks []*ExportImageTask `locationName:"exportImageTaskSet" locationNameList:"item" type:"list"`
67740
67741	// The token to use to get the next page of results. This value is null when
67742	// there are no more results to return.
67743	NextToken *string `locationName:"nextToken" type:"string"`
67744}
67745
67746// String returns the string representation
67747func (s DescribeExportImageTasksOutput) String() string {
67748	return awsutil.Prettify(s)
67749}
67750
67751// GoString returns the string representation
67752func (s DescribeExportImageTasksOutput) GoString() string {
67753	return s.String()
67754}
67755
67756// SetExportImageTasks sets the ExportImageTasks field's value.
67757func (s *DescribeExportImageTasksOutput) SetExportImageTasks(v []*ExportImageTask) *DescribeExportImageTasksOutput {
67758	s.ExportImageTasks = v
67759	return s
67760}
67761
67762// SetNextToken sets the NextToken field's value.
67763func (s *DescribeExportImageTasksOutput) SetNextToken(v string) *DescribeExportImageTasksOutput {
67764	s.NextToken = &v
67765	return s
67766}
67767
67768type DescribeExportTasksInput struct {
67769	_ struct{} `type:"structure"`
67770
67771	// The export task IDs.
67772	ExportTaskIds []*string `locationName:"exportTaskId" locationNameList:"ExportTaskId" type:"list"`
67773
67774	// the filters for the export tasks.
67775	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
67776}
67777
67778// String returns the string representation
67779func (s DescribeExportTasksInput) String() string {
67780	return awsutil.Prettify(s)
67781}
67782
67783// GoString returns the string representation
67784func (s DescribeExportTasksInput) GoString() string {
67785	return s.String()
67786}
67787
67788// SetExportTaskIds sets the ExportTaskIds field's value.
67789func (s *DescribeExportTasksInput) SetExportTaskIds(v []*string) *DescribeExportTasksInput {
67790	s.ExportTaskIds = v
67791	return s
67792}
67793
67794// SetFilters sets the Filters field's value.
67795func (s *DescribeExportTasksInput) SetFilters(v []*Filter) *DescribeExportTasksInput {
67796	s.Filters = v
67797	return s
67798}
67799
67800type DescribeExportTasksOutput struct {
67801	_ struct{} `type:"structure"`
67802
67803	// Information about the export tasks.
67804	ExportTasks []*ExportTask `locationName:"exportTaskSet" locationNameList:"item" type:"list"`
67805}
67806
67807// String returns the string representation
67808func (s DescribeExportTasksOutput) String() string {
67809	return awsutil.Prettify(s)
67810}
67811
67812// GoString returns the string representation
67813func (s DescribeExportTasksOutput) GoString() string {
67814	return s.String()
67815}
67816
67817// SetExportTasks sets the ExportTasks field's value.
67818func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExportTasksOutput {
67819	s.ExportTasks = v
67820	return s
67821}
67822
67823// Describes fast snapshot restores for a snapshot.
67824type DescribeFastSnapshotRestoreSuccessItem struct {
67825	_ struct{} `type:"structure"`
67826
67827	// The Availability Zone.
67828	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
67829
67830	// The time at which fast snapshot restores entered the disabled state.
67831	DisabledTime *time.Time `locationName:"disabledTime" type:"timestamp"`
67832
67833	// The time at which fast snapshot restores entered the disabling state.
67834	DisablingTime *time.Time `locationName:"disablingTime" type:"timestamp"`
67835
67836	// The time at which fast snapshot restores entered the enabled state.
67837	EnabledTime *time.Time `locationName:"enabledTime" type:"timestamp"`
67838
67839	// The time at which fast snapshot restores entered the enabling state.
67840	EnablingTime *time.Time `locationName:"enablingTime" type:"timestamp"`
67841
67842	// The time at which fast snapshot restores entered the optimizing state.
67843	OptimizingTime *time.Time `locationName:"optimizingTime" type:"timestamp"`
67844
67845	// The Amazon Web Services owner alias that enabled fast snapshot restores on
67846	// the snapshot. This is intended for future use.
67847	OwnerAlias *string `locationName:"ownerAlias" type:"string"`
67848
67849	// The ID of the Amazon Web Services account that enabled fast snapshot restores
67850	// on the snapshot.
67851	OwnerId *string `locationName:"ownerId" type:"string"`
67852
67853	// The ID of the snapshot.
67854	SnapshotId *string `locationName:"snapshotId" type:"string"`
67855
67856	// The state of fast snapshot restores.
67857	State *string `locationName:"state" type:"string" enum:"FastSnapshotRestoreStateCode"`
67858
67859	// The reason for the state transition. The possible values are as follows:
67860	//
67861	//    * Client.UserInitiated - The state successfully transitioned to enabling
67862	//    or disabling.
67863	//
67864	//    * Client.UserInitiated - Lifecycle state transition - The state successfully
67865	//    transitioned to optimizing, enabled, or disabled.
67866	StateTransitionReason *string `locationName:"stateTransitionReason" type:"string"`
67867}
67868
67869// String returns the string representation
67870func (s DescribeFastSnapshotRestoreSuccessItem) String() string {
67871	return awsutil.Prettify(s)
67872}
67873
67874// GoString returns the string representation
67875func (s DescribeFastSnapshotRestoreSuccessItem) GoString() string {
67876	return s.String()
67877}
67878
67879// SetAvailabilityZone sets the AvailabilityZone field's value.
67880func (s *DescribeFastSnapshotRestoreSuccessItem) SetAvailabilityZone(v string) *DescribeFastSnapshotRestoreSuccessItem {
67881	s.AvailabilityZone = &v
67882	return s
67883}
67884
67885// SetDisabledTime sets the DisabledTime field's value.
67886func (s *DescribeFastSnapshotRestoreSuccessItem) SetDisabledTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
67887	s.DisabledTime = &v
67888	return s
67889}
67890
67891// SetDisablingTime sets the DisablingTime field's value.
67892func (s *DescribeFastSnapshotRestoreSuccessItem) SetDisablingTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
67893	s.DisablingTime = &v
67894	return s
67895}
67896
67897// SetEnabledTime sets the EnabledTime field's value.
67898func (s *DescribeFastSnapshotRestoreSuccessItem) SetEnabledTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
67899	s.EnabledTime = &v
67900	return s
67901}
67902
67903// SetEnablingTime sets the EnablingTime field's value.
67904func (s *DescribeFastSnapshotRestoreSuccessItem) SetEnablingTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
67905	s.EnablingTime = &v
67906	return s
67907}
67908
67909// SetOptimizingTime sets the OptimizingTime field's value.
67910func (s *DescribeFastSnapshotRestoreSuccessItem) SetOptimizingTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
67911	s.OptimizingTime = &v
67912	return s
67913}
67914
67915// SetOwnerAlias sets the OwnerAlias field's value.
67916func (s *DescribeFastSnapshotRestoreSuccessItem) SetOwnerAlias(v string) *DescribeFastSnapshotRestoreSuccessItem {
67917	s.OwnerAlias = &v
67918	return s
67919}
67920
67921// SetOwnerId sets the OwnerId field's value.
67922func (s *DescribeFastSnapshotRestoreSuccessItem) SetOwnerId(v string) *DescribeFastSnapshotRestoreSuccessItem {
67923	s.OwnerId = &v
67924	return s
67925}
67926
67927// SetSnapshotId sets the SnapshotId field's value.
67928func (s *DescribeFastSnapshotRestoreSuccessItem) SetSnapshotId(v string) *DescribeFastSnapshotRestoreSuccessItem {
67929	s.SnapshotId = &v
67930	return s
67931}
67932
67933// SetState sets the State field's value.
67934func (s *DescribeFastSnapshotRestoreSuccessItem) SetState(v string) *DescribeFastSnapshotRestoreSuccessItem {
67935	s.State = &v
67936	return s
67937}
67938
67939// SetStateTransitionReason sets the StateTransitionReason field's value.
67940func (s *DescribeFastSnapshotRestoreSuccessItem) SetStateTransitionReason(v string) *DescribeFastSnapshotRestoreSuccessItem {
67941	s.StateTransitionReason = &v
67942	return s
67943}
67944
67945type DescribeFastSnapshotRestoresInput struct {
67946	_ struct{} `type:"structure"`
67947
67948	// Checks whether you have the required permissions for the action, without
67949	// actually making the request, and provides an error response. If you have
67950	// the required permissions, the error response is DryRunOperation. Otherwise,
67951	// it is UnauthorizedOperation.
67952	DryRun *bool `type:"boolean"`
67953
67954	// The filters. The possible values are:
67955	//
67956	//    * availability-zone: The Availability Zone of the snapshot.
67957	//
67958	//    * owner-id: The ID of the Amazon Web Services account that enabled fast
67959	//    snapshot restore on the snapshot.
67960	//
67961	//    * snapshot-id: The ID of the snapshot.
67962	//
67963	//    * state: The state of fast snapshot restores for the snapshot (enabling
67964	//    | optimizing | enabled | disabling | disabled).
67965	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
67966
67967	// The maximum number of results to return with a single call. To retrieve the
67968	// remaining results, make another call with the returned nextToken value.
67969	MaxResults *int64 `type:"integer"`
67970
67971	// The token for the next page of results.
67972	NextToken *string `type:"string"`
67973}
67974
67975// String returns the string representation
67976func (s DescribeFastSnapshotRestoresInput) String() string {
67977	return awsutil.Prettify(s)
67978}
67979
67980// GoString returns the string representation
67981func (s DescribeFastSnapshotRestoresInput) GoString() string {
67982	return s.String()
67983}
67984
67985// SetDryRun sets the DryRun field's value.
67986func (s *DescribeFastSnapshotRestoresInput) SetDryRun(v bool) *DescribeFastSnapshotRestoresInput {
67987	s.DryRun = &v
67988	return s
67989}
67990
67991// SetFilters sets the Filters field's value.
67992func (s *DescribeFastSnapshotRestoresInput) SetFilters(v []*Filter) *DescribeFastSnapshotRestoresInput {
67993	s.Filters = v
67994	return s
67995}
67996
67997// SetMaxResults sets the MaxResults field's value.
67998func (s *DescribeFastSnapshotRestoresInput) SetMaxResults(v int64) *DescribeFastSnapshotRestoresInput {
67999	s.MaxResults = &v
68000	return s
68001}
68002
68003// SetNextToken sets the NextToken field's value.
68004func (s *DescribeFastSnapshotRestoresInput) SetNextToken(v string) *DescribeFastSnapshotRestoresInput {
68005	s.NextToken = &v
68006	return s
68007}
68008
68009type DescribeFastSnapshotRestoresOutput struct {
68010	_ struct{} `type:"structure"`
68011
68012	// Information about the state of fast snapshot restores.
68013	FastSnapshotRestores []*DescribeFastSnapshotRestoreSuccessItem `locationName:"fastSnapshotRestoreSet" locationNameList:"item" type:"list"`
68014
68015	// The token to use to retrieve the next page of results. This value is null
68016	// when there are no more results to return.
68017	NextToken *string `locationName:"nextToken" type:"string"`
68018}
68019
68020// String returns the string representation
68021func (s DescribeFastSnapshotRestoresOutput) String() string {
68022	return awsutil.Prettify(s)
68023}
68024
68025// GoString returns the string representation
68026func (s DescribeFastSnapshotRestoresOutput) GoString() string {
68027	return s.String()
68028}
68029
68030// SetFastSnapshotRestores sets the FastSnapshotRestores field's value.
68031func (s *DescribeFastSnapshotRestoresOutput) SetFastSnapshotRestores(v []*DescribeFastSnapshotRestoreSuccessItem) *DescribeFastSnapshotRestoresOutput {
68032	s.FastSnapshotRestores = v
68033	return s
68034}
68035
68036// SetNextToken sets the NextToken field's value.
68037func (s *DescribeFastSnapshotRestoresOutput) SetNextToken(v string) *DescribeFastSnapshotRestoresOutput {
68038	s.NextToken = &v
68039	return s
68040}
68041
68042// Describes the instances that could not be launched by the fleet.
68043type DescribeFleetError struct {
68044	_ struct{} `type:"structure"`
68045
68046	// The error code that indicates why the instance could not be launched. For
68047	// more information about error codes, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
68048	ErrorCode *string `locationName:"errorCode" type:"string"`
68049
68050	// The error message that describes why the instance could not be launched.
68051	// For more information about error messages, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
68052	ErrorMessage *string `locationName:"errorMessage" type:"string"`
68053
68054	// The launch templates and overrides that were used for launching the instances.
68055	// The values that you specify in the Overrides replace the values in the launch
68056	// template.
68057	LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
68058
68059	// Indicates if the instance that could not be launched was a Spot Instance
68060	// or On-Demand Instance.
68061	Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
68062}
68063
68064// String returns the string representation
68065func (s DescribeFleetError) String() string {
68066	return awsutil.Prettify(s)
68067}
68068
68069// GoString returns the string representation
68070func (s DescribeFleetError) GoString() string {
68071	return s.String()
68072}
68073
68074// SetErrorCode sets the ErrorCode field's value.
68075func (s *DescribeFleetError) SetErrorCode(v string) *DescribeFleetError {
68076	s.ErrorCode = &v
68077	return s
68078}
68079
68080// SetErrorMessage sets the ErrorMessage field's value.
68081func (s *DescribeFleetError) SetErrorMessage(v string) *DescribeFleetError {
68082	s.ErrorMessage = &v
68083	return s
68084}
68085
68086// SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
68087func (s *DescribeFleetError) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *DescribeFleetError {
68088	s.LaunchTemplateAndOverrides = v
68089	return s
68090}
68091
68092// SetLifecycle sets the Lifecycle field's value.
68093func (s *DescribeFleetError) SetLifecycle(v string) *DescribeFleetError {
68094	s.Lifecycle = &v
68095	return s
68096}
68097
68098type DescribeFleetHistoryInput struct {
68099	_ struct{} `type:"structure"`
68100
68101	// Checks whether you have the required permissions for the action, without
68102	// actually making the request, and provides an error response. If you have
68103	// the required permissions, the error response is DryRunOperation. Otherwise,
68104	// it is UnauthorizedOperation.
68105	DryRun *bool `type:"boolean"`
68106
68107	// The type of events to describe. By default, all events are described.
68108	EventType *string `type:"string" enum:"FleetEventType"`
68109
68110	// The ID of the EC2 Fleet.
68111	//
68112	// FleetId is a required field
68113	FleetId *string `type:"string" required:"true"`
68114
68115	// The maximum number of results to return in a single call. Specify a value
68116	// between 1 and 1000. The default value is 1000. To retrieve the remaining
68117	// results, make another call with the returned NextToken value.
68118	MaxResults *int64 `type:"integer"`
68119
68120	// The token for the next set of results.
68121	NextToken *string `type:"string"`
68122
68123	// The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
68124	//
68125	// StartTime is a required field
68126	StartTime *time.Time `type:"timestamp" required:"true"`
68127}
68128
68129// String returns the string representation
68130func (s DescribeFleetHistoryInput) String() string {
68131	return awsutil.Prettify(s)
68132}
68133
68134// GoString returns the string representation
68135func (s DescribeFleetHistoryInput) GoString() string {
68136	return s.String()
68137}
68138
68139// Validate inspects the fields of the type to determine if they are valid.
68140func (s *DescribeFleetHistoryInput) Validate() error {
68141	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetHistoryInput"}
68142	if s.FleetId == nil {
68143		invalidParams.Add(request.NewErrParamRequired("FleetId"))
68144	}
68145	if s.StartTime == nil {
68146		invalidParams.Add(request.NewErrParamRequired("StartTime"))
68147	}
68148
68149	if invalidParams.Len() > 0 {
68150		return invalidParams
68151	}
68152	return nil
68153}
68154
68155// SetDryRun sets the DryRun field's value.
68156func (s *DescribeFleetHistoryInput) SetDryRun(v bool) *DescribeFleetHistoryInput {
68157	s.DryRun = &v
68158	return s
68159}
68160
68161// SetEventType sets the EventType field's value.
68162func (s *DescribeFleetHistoryInput) SetEventType(v string) *DescribeFleetHistoryInput {
68163	s.EventType = &v
68164	return s
68165}
68166
68167// SetFleetId sets the FleetId field's value.
68168func (s *DescribeFleetHistoryInput) SetFleetId(v string) *DescribeFleetHistoryInput {
68169	s.FleetId = &v
68170	return s
68171}
68172
68173// SetMaxResults sets the MaxResults field's value.
68174func (s *DescribeFleetHistoryInput) SetMaxResults(v int64) *DescribeFleetHistoryInput {
68175	s.MaxResults = &v
68176	return s
68177}
68178
68179// SetNextToken sets the NextToken field's value.
68180func (s *DescribeFleetHistoryInput) SetNextToken(v string) *DescribeFleetHistoryInput {
68181	s.NextToken = &v
68182	return s
68183}
68184
68185// SetStartTime sets the StartTime field's value.
68186func (s *DescribeFleetHistoryInput) SetStartTime(v time.Time) *DescribeFleetHistoryInput {
68187	s.StartTime = &v
68188	return s
68189}
68190
68191type DescribeFleetHistoryOutput struct {
68192	_ struct{} `type:"structure"`
68193
68194	// The ID of the EC Fleet.
68195	FleetId *string `locationName:"fleetId" type:"string"`
68196
68197	// Information about the events in the history of the EC2 Fleet.
68198	HistoryRecords []*HistoryRecordEntry `locationName:"historyRecordSet" locationNameList:"item" type:"list"`
68199
68200	// The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
68201	// All records up to this time were retrieved.
68202	//
68203	// If nextToken indicates that there are more results, this value is not present.
68204	LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp"`
68205
68206	// The token for the next set of results.
68207	NextToken *string `locationName:"nextToken" type:"string"`
68208
68209	// The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
68210	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
68211}
68212
68213// String returns the string representation
68214func (s DescribeFleetHistoryOutput) String() string {
68215	return awsutil.Prettify(s)
68216}
68217
68218// GoString returns the string representation
68219func (s DescribeFleetHistoryOutput) GoString() string {
68220	return s.String()
68221}
68222
68223// SetFleetId sets the FleetId field's value.
68224func (s *DescribeFleetHistoryOutput) SetFleetId(v string) *DescribeFleetHistoryOutput {
68225	s.FleetId = &v
68226	return s
68227}
68228
68229// SetHistoryRecords sets the HistoryRecords field's value.
68230func (s *DescribeFleetHistoryOutput) SetHistoryRecords(v []*HistoryRecordEntry) *DescribeFleetHistoryOutput {
68231	s.HistoryRecords = v
68232	return s
68233}
68234
68235// SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
68236func (s *DescribeFleetHistoryOutput) SetLastEvaluatedTime(v time.Time) *DescribeFleetHistoryOutput {
68237	s.LastEvaluatedTime = &v
68238	return s
68239}
68240
68241// SetNextToken sets the NextToken field's value.
68242func (s *DescribeFleetHistoryOutput) SetNextToken(v string) *DescribeFleetHistoryOutput {
68243	s.NextToken = &v
68244	return s
68245}
68246
68247// SetStartTime sets the StartTime field's value.
68248func (s *DescribeFleetHistoryOutput) SetStartTime(v time.Time) *DescribeFleetHistoryOutput {
68249	s.StartTime = &v
68250	return s
68251}
68252
68253type DescribeFleetInstancesInput struct {
68254	_ struct{} `type:"structure"`
68255
68256	// Checks whether you have the required permissions for the action, without
68257	// actually making the request, and provides an error response. If you have
68258	// the required permissions, the error response is DryRunOperation. Otherwise,
68259	// it is UnauthorizedOperation.
68260	DryRun *bool `type:"boolean"`
68261
68262	// The filters.
68263	//
68264	//    * instance-type - The instance type.
68265	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
68266
68267	// The ID of the EC2 Fleet.
68268	//
68269	// FleetId is a required field
68270	FleetId *string `type:"string" required:"true"`
68271
68272	// The maximum number of results to return in a single call. Specify a value
68273	// between 1 and 1000. The default value is 1000. To retrieve the remaining
68274	// results, make another call with the returned NextToken value.
68275	MaxResults *int64 `type:"integer"`
68276
68277	// The token for the next set of results.
68278	NextToken *string `type:"string"`
68279}
68280
68281// String returns the string representation
68282func (s DescribeFleetInstancesInput) String() string {
68283	return awsutil.Prettify(s)
68284}
68285
68286// GoString returns the string representation
68287func (s DescribeFleetInstancesInput) GoString() string {
68288	return s.String()
68289}
68290
68291// Validate inspects the fields of the type to determine if they are valid.
68292func (s *DescribeFleetInstancesInput) Validate() error {
68293	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetInstancesInput"}
68294	if s.FleetId == nil {
68295		invalidParams.Add(request.NewErrParamRequired("FleetId"))
68296	}
68297
68298	if invalidParams.Len() > 0 {
68299		return invalidParams
68300	}
68301	return nil
68302}
68303
68304// SetDryRun sets the DryRun field's value.
68305func (s *DescribeFleetInstancesInput) SetDryRun(v bool) *DescribeFleetInstancesInput {
68306	s.DryRun = &v
68307	return s
68308}
68309
68310// SetFilters sets the Filters field's value.
68311func (s *DescribeFleetInstancesInput) SetFilters(v []*Filter) *DescribeFleetInstancesInput {
68312	s.Filters = v
68313	return s
68314}
68315
68316// SetFleetId sets the FleetId field's value.
68317func (s *DescribeFleetInstancesInput) SetFleetId(v string) *DescribeFleetInstancesInput {
68318	s.FleetId = &v
68319	return s
68320}
68321
68322// SetMaxResults sets the MaxResults field's value.
68323func (s *DescribeFleetInstancesInput) SetMaxResults(v int64) *DescribeFleetInstancesInput {
68324	s.MaxResults = &v
68325	return s
68326}
68327
68328// SetNextToken sets the NextToken field's value.
68329func (s *DescribeFleetInstancesInput) SetNextToken(v string) *DescribeFleetInstancesInput {
68330	s.NextToken = &v
68331	return s
68332}
68333
68334type DescribeFleetInstancesOutput struct {
68335	_ struct{} `type:"structure"`
68336
68337	// The running instances. This list is refreshed periodically and might be out
68338	// of date.
68339	ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list"`
68340
68341	// The ID of the EC2 Fleet.
68342	FleetId *string `locationName:"fleetId" type:"string"`
68343
68344	// The token for the next set of results.
68345	NextToken *string `locationName:"nextToken" type:"string"`
68346}
68347
68348// String returns the string representation
68349func (s DescribeFleetInstancesOutput) String() string {
68350	return awsutil.Prettify(s)
68351}
68352
68353// GoString returns the string representation
68354func (s DescribeFleetInstancesOutput) GoString() string {
68355	return s.String()
68356}
68357
68358// SetActiveInstances sets the ActiveInstances field's value.
68359func (s *DescribeFleetInstancesOutput) SetActiveInstances(v []*ActiveInstance) *DescribeFleetInstancesOutput {
68360	s.ActiveInstances = v
68361	return s
68362}
68363
68364// SetFleetId sets the FleetId field's value.
68365func (s *DescribeFleetInstancesOutput) SetFleetId(v string) *DescribeFleetInstancesOutput {
68366	s.FleetId = &v
68367	return s
68368}
68369
68370// SetNextToken sets the NextToken field's value.
68371func (s *DescribeFleetInstancesOutput) SetNextToken(v string) *DescribeFleetInstancesOutput {
68372	s.NextToken = &v
68373	return s
68374}
68375
68376type DescribeFleetsInput struct {
68377	_ struct{} `type:"structure"`
68378
68379	// Checks whether you have the required permissions for the action, without
68380	// actually making the request, and provides an error response. If you have
68381	// the required permissions, the error response is DryRunOperation. Otherwise,
68382	// it is UnauthorizedOperation.
68383	DryRun *bool `type:"boolean"`
68384
68385	// The filters.
68386	//
68387	//    * activity-status - The progress of the EC2 Fleet ( error | pending-fulfillment
68388	//    | pending-termination | fulfilled).
68389	//
68390	//    * excess-capacity-termination-policy - Indicates whether to terminate
68391	//    running instances if the target capacity is decreased below the current
68392	//    EC2 Fleet size (true | false).
68393	//
68394	//    * fleet-state - The state of the EC2 Fleet (submitted | active | deleted
68395	//    | failed | deleted-running | deleted-terminating | modifying).
68396	//
68397	//    * replace-unhealthy-instances - Indicates whether EC2 Fleet should replace
68398	//    unhealthy instances (true | false).
68399	//
68400	//    * type - The type of request (instant | request | maintain).
68401	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
68402
68403	// The ID of the EC2 Fleets.
68404	FleetIds []*string `locationName:"FleetId" type:"list"`
68405
68406	// The maximum number of results to return in a single call. Specify a value
68407	// between 1 and 1000. The default value is 1000. To retrieve the remaining
68408	// results, make another call with the returned NextToken value.
68409	MaxResults *int64 `type:"integer"`
68410
68411	// The token for the next set of results.
68412	NextToken *string `type:"string"`
68413}
68414
68415// String returns the string representation
68416func (s DescribeFleetsInput) String() string {
68417	return awsutil.Prettify(s)
68418}
68419
68420// GoString returns the string representation
68421func (s DescribeFleetsInput) GoString() string {
68422	return s.String()
68423}
68424
68425// SetDryRun sets the DryRun field's value.
68426func (s *DescribeFleetsInput) SetDryRun(v bool) *DescribeFleetsInput {
68427	s.DryRun = &v
68428	return s
68429}
68430
68431// SetFilters sets the Filters field's value.
68432func (s *DescribeFleetsInput) SetFilters(v []*Filter) *DescribeFleetsInput {
68433	s.Filters = v
68434	return s
68435}
68436
68437// SetFleetIds sets the FleetIds field's value.
68438func (s *DescribeFleetsInput) SetFleetIds(v []*string) *DescribeFleetsInput {
68439	s.FleetIds = v
68440	return s
68441}
68442
68443// SetMaxResults sets the MaxResults field's value.
68444func (s *DescribeFleetsInput) SetMaxResults(v int64) *DescribeFleetsInput {
68445	s.MaxResults = &v
68446	return s
68447}
68448
68449// SetNextToken sets the NextToken field's value.
68450func (s *DescribeFleetsInput) SetNextToken(v string) *DescribeFleetsInput {
68451	s.NextToken = &v
68452	return s
68453}
68454
68455// Describes the instances that were launched by the fleet.
68456type DescribeFleetsInstances struct {
68457	_ struct{} `type:"structure"`
68458
68459	// The IDs of the instances.
68460	InstanceIds []*string `locationName:"instanceIds" locationNameList:"item" type:"list"`
68461
68462	// The instance type.
68463	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
68464
68465	// The launch templates and overrides that were used for launching the instances.
68466	// The values that you specify in the Overrides replace the values in the launch
68467	// template.
68468	LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
68469
68470	// Indicates if the instance that was launched is a Spot Instance or On-Demand
68471	// Instance.
68472	Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
68473
68474	// The value is Windows for Windows instances. Otherwise, the value is blank.
68475	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
68476}
68477
68478// String returns the string representation
68479func (s DescribeFleetsInstances) String() string {
68480	return awsutil.Prettify(s)
68481}
68482
68483// GoString returns the string representation
68484func (s DescribeFleetsInstances) GoString() string {
68485	return s.String()
68486}
68487
68488// SetInstanceIds sets the InstanceIds field's value.
68489func (s *DescribeFleetsInstances) SetInstanceIds(v []*string) *DescribeFleetsInstances {
68490	s.InstanceIds = v
68491	return s
68492}
68493
68494// SetInstanceType sets the InstanceType field's value.
68495func (s *DescribeFleetsInstances) SetInstanceType(v string) *DescribeFleetsInstances {
68496	s.InstanceType = &v
68497	return s
68498}
68499
68500// SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
68501func (s *DescribeFleetsInstances) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *DescribeFleetsInstances {
68502	s.LaunchTemplateAndOverrides = v
68503	return s
68504}
68505
68506// SetLifecycle sets the Lifecycle field's value.
68507func (s *DescribeFleetsInstances) SetLifecycle(v string) *DescribeFleetsInstances {
68508	s.Lifecycle = &v
68509	return s
68510}
68511
68512// SetPlatform sets the Platform field's value.
68513func (s *DescribeFleetsInstances) SetPlatform(v string) *DescribeFleetsInstances {
68514	s.Platform = &v
68515	return s
68516}
68517
68518type DescribeFleetsOutput struct {
68519	_ struct{} `type:"structure"`
68520
68521	// Information about the EC2 Fleets.
68522	Fleets []*FleetData `locationName:"fleetSet" locationNameList:"item" type:"list"`
68523
68524	// The token for the next set of results.
68525	NextToken *string `locationName:"nextToken" type:"string"`
68526}
68527
68528// String returns the string representation
68529func (s DescribeFleetsOutput) String() string {
68530	return awsutil.Prettify(s)
68531}
68532
68533// GoString returns the string representation
68534func (s DescribeFleetsOutput) GoString() string {
68535	return s.String()
68536}
68537
68538// SetFleets sets the Fleets field's value.
68539func (s *DescribeFleetsOutput) SetFleets(v []*FleetData) *DescribeFleetsOutput {
68540	s.Fleets = v
68541	return s
68542}
68543
68544// SetNextToken sets the NextToken field's value.
68545func (s *DescribeFleetsOutput) SetNextToken(v string) *DescribeFleetsOutput {
68546	s.NextToken = &v
68547	return s
68548}
68549
68550type DescribeFlowLogsInput struct {
68551	_ struct{} `type:"structure"`
68552
68553	// Checks whether you have the required permissions for the action, without
68554	// actually making the request, and provides an error response. If you have
68555	// the required permissions, the error response is DryRunOperation. Otherwise,
68556	// it is UnauthorizedOperation.
68557	DryRun *bool `type:"boolean"`
68558
68559	// One or more filters.
68560	//
68561	//    * deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).
68562	//
68563	//    * log-destination-type - The type of destination to which the flow log
68564	//    publishes data. Possible destination types include cloud-watch-logs and
68565	//    s3.
68566	//
68567	//    * flow-log-id - The ID of the flow log.
68568	//
68569	//    * log-group-name - The name of the log group.
68570	//
68571	//    * resource-id - The ID of the VPC, subnet, or network interface.
68572	//
68573	//    * traffic-type - The type of traffic (ACCEPT | REJECT | ALL).
68574	//
68575	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
68576	//    Use the tag key in the filter name and the tag value as the filter value.
68577	//    For example, to find all resources that have a tag with the key Owner
68578	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
68579	//    the filter value.
68580	//
68581	//    * tag-key - The key of a tag assigned to the resource. Use this filter
68582	//    to find all resources assigned a tag with a specific key, regardless of
68583	//    the tag value.
68584	Filter []*Filter `locationNameList:"Filter" type:"list"`
68585
68586	// One or more flow log IDs.
68587	//
68588	// Constraint: Maximum of 1000 flow log IDs.
68589	FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list"`
68590
68591	// The maximum number of results to return with a single call. To retrieve the
68592	// remaining results, make another call with the returned nextToken value.
68593	MaxResults *int64 `type:"integer"`
68594
68595	// The token for the next page of results.
68596	NextToken *string `type:"string"`
68597}
68598
68599// String returns the string representation
68600func (s DescribeFlowLogsInput) String() string {
68601	return awsutil.Prettify(s)
68602}
68603
68604// GoString returns the string representation
68605func (s DescribeFlowLogsInput) GoString() string {
68606	return s.String()
68607}
68608
68609// SetDryRun sets the DryRun field's value.
68610func (s *DescribeFlowLogsInput) SetDryRun(v bool) *DescribeFlowLogsInput {
68611	s.DryRun = &v
68612	return s
68613}
68614
68615// SetFilter sets the Filter field's value.
68616func (s *DescribeFlowLogsInput) SetFilter(v []*Filter) *DescribeFlowLogsInput {
68617	s.Filter = v
68618	return s
68619}
68620
68621// SetFlowLogIds sets the FlowLogIds field's value.
68622func (s *DescribeFlowLogsInput) SetFlowLogIds(v []*string) *DescribeFlowLogsInput {
68623	s.FlowLogIds = v
68624	return s
68625}
68626
68627// SetMaxResults sets the MaxResults field's value.
68628func (s *DescribeFlowLogsInput) SetMaxResults(v int64) *DescribeFlowLogsInput {
68629	s.MaxResults = &v
68630	return s
68631}
68632
68633// SetNextToken sets the NextToken field's value.
68634func (s *DescribeFlowLogsInput) SetNextToken(v string) *DescribeFlowLogsInput {
68635	s.NextToken = &v
68636	return s
68637}
68638
68639type DescribeFlowLogsOutput struct {
68640	_ struct{} `type:"structure"`
68641
68642	// Information about the flow logs.
68643	FlowLogs []*FlowLog `locationName:"flowLogSet" locationNameList:"item" type:"list"`
68644
68645	// The token to use to retrieve the next page of results. This value is null
68646	// when there are no more results to return.
68647	NextToken *string `locationName:"nextToken" type:"string"`
68648}
68649
68650// String returns the string representation
68651func (s DescribeFlowLogsOutput) String() string {
68652	return awsutil.Prettify(s)
68653}
68654
68655// GoString returns the string representation
68656func (s DescribeFlowLogsOutput) GoString() string {
68657	return s.String()
68658}
68659
68660// SetFlowLogs sets the FlowLogs field's value.
68661func (s *DescribeFlowLogsOutput) SetFlowLogs(v []*FlowLog) *DescribeFlowLogsOutput {
68662	s.FlowLogs = v
68663	return s
68664}
68665
68666// SetNextToken sets the NextToken field's value.
68667func (s *DescribeFlowLogsOutput) SetNextToken(v string) *DescribeFlowLogsOutput {
68668	s.NextToken = &v
68669	return s
68670}
68671
68672type DescribeFpgaImageAttributeInput struct {
68673	_ struct{} `type:"structure"`
68674
68675	// The AFI attribute.
68676	//
68677	// Attribute is a required field
68678	Attribute *string `type:"string" required:"true" enum:"FpgaImageAttributeName"`
68679
68680	// Checks whether you have the required permissions for the action, without
68681	// actually making the request, and provides an error response. If you have
68682	// the required permissions, the error response is DryRunOperation. Otherwise,
68683	// it is UnauthorizedOperation.
68684	DryRun *bool `type:"boolean"`
68685
68686	// The ID of the AFI.
68687	//
68688	// FpgaImageId is a required field
68689	FpgaImageId *string `type:"string" required:"true"`
68690}
68691
68692// String returns the string representation
68693func (s DescribeFpgaImageAttributeInput) String() string {
68694	return awsutil.Prettify(s)
68695}
68696
68697// GoString returns the string representation
68698func (s DescribeFpgaImageAttributeInput) GoString() string {
68699	return s.String()
68700}
68701
68702// Validate inspects the fields of the type to determine if they are valid.
68703func (s *DescribeFpgaImageAttributeInput) Validate() error {
68704	invalidParams := request.ErrInvalidParams{Context: "DescribeFpgaImageAttributeInput"}
68705	if s.Attribute == nil {
68706		invalidParams.Add(request.NewErrParamRequired("Attribute"))
68707	}
68708	if s.FpgaImageId == nil {
68709		invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
68710	}
68711
68712	if invalidParams.Len() > 0 {
68713		return invalidParams
68714	}
68715	return nil
68716}
68717
68718// SetAttribute sets the Attribute field's value.
68719func (s *DescribeFpgaImageAttributeInput) SetAttribute(v string) *DescribeFpgaImageAttributeInput {
68720	s.Attribute = &v
68721	return s
68722}
68723
68724// SetDryRun sets the DryRun field's value.
68725func (s *DescribeFpgaImageAttributeInput) SetDryRun(v bool) *DescribeFpgaImageAttributeInput {
68726	s.DryRun = &v
68727	return s
68728}
68729
68730// SetFpgaImageId sets the FpgaImageId field's value.
68731func (s *DescribeFpgaImageAttributeInput) SetFpgaImageId(v string) *DescribeFpgaImageAttributeInput {
68732	s.FpgaImageId = &v
68733	return s
68734}
68735
68736type DescribeFpgaImageAttributeOutput struct {
68737	_ struct{} `type:"structure"`
68738
68739	// Information about the attribute.
68740	FpgaImageAttribute *FpgaImageAttribute `locationName:"fpgaImageAttribute" type:"structure"`
68741}
68742
68743// String returns the string representation
68744func (s DescribeFpgaImageAttributeOutput) String() string {
68745	return awsutil.Prettify(s)
68746}
68747
68748// GoString returns the string representation
68749func (s DescribeFpgaImageAttributeOutput) GoString() string {
68750	return s.String()
68751}
68752
68753// SetFpgaImageAttribute sets the FpgaImageAttribute field's value.
68754func (s *DescribeFpgaImageAttributeOutput) SetFpgaImageAttribute(v *FpgaImageAttribute) *DescribeFpgaImageAttributeOutput {
68755	s.FpgaImageAttribute = v
68756	return s
68757}
68758
68759type DescribeFpgaImagesInput struct {
68760	_ struct{} `type:"structure"`
68761
68762	// Checks whether you have the required permissions for the action, without
68763	// actually making the request, and provides an error response. If you have
68764	// the required permissions, the error response is DryRunOperation. Otherwise,
68765	// it is UnauthorizedOperation.
68766	DryRun *bool `type:"boolean"`
68767
68768	// The filters.
68769	//
68770	//    * create-time - The creation time of the AFI.
68771	//
68772	//    * fpga-image-id - The FPGA image identifier (AFI ID).
68773	//
68774	//    * fpga-image-global-id - The global FPGA image identifier (AGFI ID).
68775	//
68776	//    * name - The name of the AFI.
68777	//
68778	//    * owner-id - The AWS account ID of the AFI owner.
68779	//
68780	//    * product-code - The product code.
68781	//
68782	//    * shell-version - The version of the AWS Shell that was used to create
68783	//    the bitstream.
68784	//
68785	//    * state - The state of the AFI (pending | failed | available | unavailable).
68786	//
68787	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
68788	//    Use the tag key in the filter name and the tag value as the filter value.
68789	//    For example, to find all resources that have a tag with the key Owner
68790	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
68791	//    the filter value.
68792	//
68793	//    * tag-key - The key of a tag assigned to the resource. Use this filter
68794	//    to find all resources assigned a tag with a specific key, regardless of
68795	//    the tag value.
68796	//
68797	//    * update-time - The time of the most recent update.
68798	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
68799
68800	// The AFI IDs.
68801	FpgaImageIds []*string `locationName:"FpgaImageId" locationNameList:"item" type:"list"`
68802
68803	// The maximum number of results to return in a single call.
68804	MaxResults *int64 `min:"5" type:"integer"`
68805
68806	// The token to retrieve the next page of results.
68807	NextToken *string `type:"string"`
68808
68809	// Filters the AFI by owner. Specify an AWS account ID, self (owner is the sender
68810	// of the request), or an AWS owner alias (valid values are amazon | aws-marketplace).
68811	Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
68812}
68813
68814// String returns the string representation
68815func (s DescribeFpgaImagesInput) String() string {
68816	return awsutil.Prettify(s)
68817}
68818
68819// GoString returns the string representation
68820func (s DescribeFpgaImagesInput) GoString() string {
68821	return s.String()
68822}
68823
68824// Validate inspects the fields of the type to determine if they are valid.
68825func (s *DescribeFpgaImagesInput) Validate() error {
68826	invalidParams := request.ErrInvalidParams{Context: "DescribeFpgaImagesInput"}
68827	if s.MaxResults != nil && *s.MaxResults < 5 {
68828		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
68829	}
68830
68831	if invalidParams.Len() > 0 {
68832		return invalidParams
68833	}
68834	return nil
68835}
68836
68837// SetDryRun sets the DryRun field's value.
68838func (s *DescribeFpgaImagesInput) SetDryRun(v bool) *DescribeFpgaImagesInput {
68839	s.DryRun = &v
68840	return s
68841}
68842
68843// SetFilters sets the Filters field's value.
68844func (s *DescribeFpgaImagesInput) SetFilters(v []*Filter) *DescribeFpgaImagesInput {
68845	s.Filters = v
68846	return s
68847}
68848
68849// SetFpgaImageIds sets the FpgaImageIds field's value.
68850func (s *DescribeFpgaImagesInput) SetFpgaImageIds(v []*string) *DescribeFpgaImagesInput {
68851	s.FpgaImageIds = v
68852	return s
68853}
68854
68855// SetMaxResults sets the MaxResults field's value.
68856func (s *DescribeFpgaImagesInput) SetMaxResults(v int64) *DescribeFpgaImagesInput {
68857	s.MaxResults = &v
68858	return s
68859}
68860
68861// SetNextToken sets the NextToken field's value.
68862func (s *DescribeFpgaImagesInput) SetNextToken(v string) *DescribeFpgaImagesInput {
68863	s.NextToken = &v
68864	return s
68865}
68866
68867// SetOwners sets the Owners field's value.
68868func (s *DescribeFpgaImagesInput) SetOwners(v []*string) *DescribeFpgaImagesInput {
68869	s.Owners = v
68870	return s
68871}
68872
68873type DescribeFpgaImagesOutput struct {
68874	_ struct{} `type:"structure"`
68875
68876	// Information about the FPGA images.
68877	FpgaImages []*FpgaImage `locationName:"fpgaImageSet" locationNameList:"item" type:"list"`
68878
68879	// The token to use to retrieve the next page of results. This value is null
68880	// when there are no more results to return.
68881	NextToken *string `locationName:"nextToken" type:"string"`
68882}
68883
68884// String returns the string representation
68885func (s DescribeFpgaImagesOutput) String() string {
68886	return awsutil.Prettify(s)
68887}
68888
68889// GoString returns the string representation
68890func (s DescribeFpgaImagesOutput) GoString() string {
68891	return s.String()
68892}
68893
68894// SetFpgaImages sets the FpgaImages field's value.
68895func (s *DescribeFpgaImagesOutput) SetFpgaImages(v []*FpgaImage) *DescribeFpgaImagesOutput {
68896	s.FpgaImages = v
68897	return s
68898}
68899
68900// SetNextToken sets the NextToken field's value.
68901func (s *DescribeFpgaImagesOutput) SetNextToken(v string) *DescribeFpgaImagesOutput {
68902	s.NextToken = &v
68903	return s
68904}
68905
68906type DescribeHostReservationOfferingsInput struct {
68907	_ struct{} `type:"structure"`
68908
68909	// The filters.
68910	//
68911	//    * instance-family - The instance family of the offering (for example,
68912	//    m4).
68913	//
68914	//    * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
68915	Filter []*Filter `locationNameList:"Filter" type:"list"`
68916
68917	// This is the maximum duration of the reservation to purchase, specified in
68918	// seconds. Reservations are available in one-year and three-year terms. The
68919	// number of seconds specified must be the number of seconds in a year (365x24x60x60)
68920	// times one of the supported durations (1 or 3). For example, specify 94608000
68921	// for three years.
68922	MaxDuration *int64 `type:"integer"`
68923
68924	// The maximum number of results to return for the request in a single page.
68925	// The remaining results can be seen by sending another request with the returned
68926	// nextToken value. This value can be between 5 and 500. If maxResults is given
68927	// a larger value than 500, you receive an error.
68928	MaxResults *int64 `min:"5" type:"integer"`
68929
68930	// This is the minimum duration of the reservation you'd like to purchase, specified
68931	// in seconds. Reservations are available in one-year and three-year terms.
68932	// The number of seconds specified must be the number of seconds in a year (365x24x60x60)
68933	// times one of the supported durations (1 or 3). For example, specify 31536000
68934	// for one year.
68935	MinDuration *int64 `type:"integer"`
68936
68937	// The token to use to retrieve the next page of results.
68938	NextToken *string `type:"string"`
68939
68940	// The ID of the reservation offering.
68941	OfferingId *string `type:"string"`
68942}
68943
68944// String returns the string representation
68945func (s DescribeHostReservationOfferingsInput) String() string {
68946	return awsutil.Prettify(s)
68947}
68948
68949// GoString returns the string representation
68950func (s DescribeHostReservationOfferingsInput) GoString() string {
68951	return s.String()
68952}
68953
68954// Validate inspects the fields of the type to determine if they are valid.
68955func (s *DescribeHostReservationOfferingsInput) Validate() error {
68956	invalidParams := request.ErrInvalidParams{Context: "DescribeHostReservationOfferingsInput"}
68957	if s.MaxResults != nil && *s.MaxResults < 5 {
68958		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
68959	}
68960
68961	if invalidParams.Len() > 0 {
68962		return invalidParams
68963	}
68964	return nil
68965}
68966
68967// SetFilter sets the Filter field's value.
68968func (s *DescribeHostReservationOfferingsInput) SetFilter(v []*Filter) *DescribeHostReservationOfferingsInput {
68969	s.Filter = v
68970	return s
68971}
68972
68973// SetMaxDuration sets the MaxDuration field's value.
68974func (s *DescribeHostReservationOfferingsInput) SetMaxDuration(v int64) *DescribeHostReservationOfferingsInput {
68975	s.MaxDuration = &v
68976	return s
68977}
68978
68979// SetMaxResults sets the MaxResults field's value.
68980func (s *DescribeHostReservationOfferingsInput) SetMaxResults(v int64) *DescribeHostReservationOfferingsInput {
68981	s.MaxResults = &v
68982	return s
68983}
68984
68985// SetMinDuration sets the MinDuration field's value.
68986func (s *DescribeHostReservationOfferingsInput) SetMinDuration(v int64) *DescribeHostReservationOfferingsInput {
68987	s.MinDuration = &v
68988	return s
68989}
68990
68991// SetNextToken sets the NextToken field's value.
68992func (s *DescribeHostReservationOfferingsInput) SetNextToken(v string) *DescribeHostReservationOfferingsInput {
68993	s.NextToken = &v
68994	return s
68995}
68996
68997// SetOfferingId sets the OfferingId field's value.
68998func (s *DescribeHostReservationOfferingsInput) SetOfferingId(v string) *DescribeHostReservationOfferingsInput {
68999	s.OfferingId = &v
69000	return s
69001}
69002
69003type DescribeHostReservationOfferingsOutput struct {
69004	_ struct{} `type:"structure"`
69005
69006	// The token to use to retrieve the next page of results. This value is null
69007	// when there are no more results to return.
69008	NextToken *string `locationName:"nextToken" type:"string"`
69009
69010	// Information about the offerings.
69011	OfferingSet []*HostOffering `locationName:"offeringSet" locationNameList:"item" type:"list"`
69012}
69013
69014// String returns the string representation
69015func (s DescribeHostReservationOfferingsOutput) String() string {
69016	return awsutil.Prettify(s)
69017}
69018
69019// GoString returns the string representation
69020func (s DescribeHostReservationOfferingsOutput) GoString() string {
69021	return s.String()
69022}
69023
69024// SetNextToken sets the NextToken field's value.
69025func (s *DescribeHostReservationOfferingsOutput) SetNextToken(v string) *DescribeHostReservationOfferingsOutput {
69026	s.NextToken = &v
69027	return s
69028}
69029
69030// SetOfferingSet sets the OfferingSet field's value.
69031func (s *DescribeHostReservationOfferingsOutput) SetOfferingSet(v []*HostOffering) *DescribeHostReservationOfferingsOutput {
69032	s.OfferingSet = v
69033	return s
69034}
69035
69036type DescribeHostReservationsInput struct {
69037	_ struct{} `type:"structure"`
69038
69039	// The filters.
69040	//
69041	//    * instance-family - The instance family (for example, m4).
69042	//
69043	//    * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
69044	//
69045	//    * state - The state of the reservation (payment-pending | payment-failed
69046	//    | active | retired).
69047	//
69048	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
69049	//    Use the tag key in the filter name and the tag value as the filter value.
69050	//    For example, to find all resources that have a tag with the key Owner
69051	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
69052	//    the filter value.
69053	//
69054	//    * tag-key - The key of a tag assigned to the resource. Use this filter
69055	//    to find all resources assigned a tag with a specific key, regardless of
69056	//    the tag value.
69057	Filter []*Filter `locationNameList:"Filter" type:"list"`
69058
69059	// The host reservation IDs.
69060	HostReservationIdSet []*string `locationNameList:"item" type:"list"`
69061
69062	// The maximum number of results to return for the request in a single page.
69063	// The remaining results can be seen by sending another request with the returned
69064	// nextToken value. This value can be between 5 and 500. If maxResults is given
69065	// a larger value than 500, you receive an error.
69066	MaxResults *int64 `type:"integer"`
69067
69068	// The token to use to retrieve the next page of results.
69069	NextToken *string `type:"string"`
69070}
69071
69072// String returns the string representation
69073func (s DescribeHostReservationsInput) String() string {
69074	return awsutil.Prettify(s)
69075}
69076
69077// GoString returns the string representation
69078func (s DescribeHostReservationsInput) GoString() string {
69079	return s.String()
69080}
69081
69082// SetFilter sets the Filter field's value.
69083func (s *DescribeHostReservationsInput) SetFilter(v []*Filter) *DescribeHostReservationsInput {
69084	s.Filter = v
69085	return s
69086}
69087
69088// SetHostReservationIdSet sets the HostReservationIdSet field's value.
69089func (s *DescribeHostReservationsInput) SetHostReservationIdSet(v []*string) *DescribeHostReservationsInput {
69090	s.HostReservationIdSet = v
69091	return s
69092}
69093
69094// SetMaxResults sets the MaxResults field's value.
69095func (s *DescribeHostReservationsInput) SetMaxResults(v int64) *DescribeHostReservationsInput {
69096	s.MaxResults = &v
69097	return s
69098}
69099
69100// SetNextToken sets the NextToken field's value.
69101func (s *DescribeHostReservationsInput) SetNextToken(v string) *DescribeHostReservationsInput {
69102	s.NextToken = &v
69103	return s
69104}
69105
69106type DescribeHostReservationsOutput struct {
69107	_ struct{} `type:"structure"`
69108
69109	// Details about the reservation's configuration.
69110	HostReservationSet []*HostReservation `locationName:"hostReservationSet" locationNameList:"item" type:"list"`
69111
69112	// The token to use to retrieve the next page of results. This value is null
69113	// when there are no more results to return.
69114	NextToken *string `locationName:"nextToken" type:"string"`
69115}
69116
69117// String returns the string representation
69118func (s DescribeHostReservationsOutput) String() string {
69119	return awsutil.Prettify(s)
69120}
69121
69122// GoString returns the string representation
69123func (s DescribeHostReservationsOutput) GoString() string {
69124	return s.String()
69125}
69126
69127// SetHostReservationSet sets the HostReservationSet field's value.
69128func (s *DescribeHostReservationsOutput) SetHostReservationSet(v []*HostReservation) *DescribeHostReservationsOutput {
69129	s.HostReservationSet = v
69130	return s
69131}
69132
69133// SetNextToken sets the NextToken field's value.
69134func (s *DescribeHostReservationsOutput) SetNextToken(v string) *DescribeHostReservationsOutput {
69135	s.NextToken = &v
69136	return s
69137}
69138
69139type DescribeHostsInput struct {
69140	_ struct{} `type:"structure"`
69141
69142	// The filters.
69143	//
69144	//    * auto-placement - Whether auto-placement is enabled or disabled (on |
69145	//    off).
69146	//
69147	//    * availability-zone - The Availability Zone of the host.
69148	//
69149	//    * client-token - The idempotency token that you provided when you allocated
69150	//    the host.
69151	//
69152	//    * host-reservation-id - The ID of the reservation assigned to this host.
69153	//
69154	//    * instance-type - The instance type size that the Dedicated Host is configured
69155	//    to support.
69156	//
69157	//    * state - The allocation state of the Dedicated Host (available | under-assessment
69158	//    | permanent-failure | released | released-permanent-failure).
69159	//
69160	//    * tag-key - The key of a tag assigned to the resource. Use this filter
69161	//    to find all resources assigned a tag with a specific key, regardless of
69162	//    the tag value.
69163	Filter []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
69164
69165	// The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.
69166	HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list"`
69167
69168	// The maximum number of results to return for the request in a single page.
69169	// The remaining results can be seen by sending another request with the returned
69170	// nextToken value. This value can be between 5 and 500. If maxResults is given
69171	// a larger value than 500, you receive an error.
69172	//
69173	// You cannot specify this parameter and the host IDs parameter in the same
69174	// request.
69175	MaxResults *int64 `locationName:"maxResults" type:"integer"`
69176
69177	// The token to use to retrieve the next page of results.
69178	NextToken *string `locationName:"nextToken" type:"string"`
69179}
69180
69181// String returns the string representation
69182func (s DescribeHostsInput) String() string {
69183	return awsutil.Prettify(s)
69184}
69185
69186// GoString returns the string representation
69187func (s DescribeHostsInput) GoString() string {
69188	return s.String()
69189}
69190
69191// SetFilter sets the Filter field's value.
69192func (s *DescribeHostsInput) SetFilter(v []*Filter) *DescribeHostsInput {
69193	s.Filter = v
69194	return s
69195}
69196
69197// SetHostIds sets the HostIds field's value.
69198func (s *DescribeHostsInput) SetHostIds(v []*string) *DescribeHostsInput {
69199	s.HostIds = v
69200	return s
69201}
69202
69203// SetMaxResults sets the MaxResults field's value.
69204func (s *DescribeHostsInput) SetMaxResults(v int64) *DescribeHostsInput {
69205	s.MaxResults = &v
69206	return s
69207}
69208
69209// SetNextToken sets the NextToken field's value.
69210func (s *DescribeHostsInput) SetNextToken(v string) *DescribeHostsInput {
69211	s.NextToken = &v
69212	return s
69213}
69214
69215type DescribeHostsOutput struct {
69216	_ struct{} `type:"structure"`
69217
69218	// Information about the Dedicated Hosts.
69219	Hosts []*Host `locationName:"hostSet" locationNameList:"item" type:"list"`
69220
69221	// The token to use to retrieve the next page of results. This value is null
69222	// when there are no more results to return.
69223	NextToken *string `locationName:"nextToken" type:"string"`
69224}
69225
69226// String returns the string representation
69227func (s DescribeHostsOutput) String() string {
69228	return awsutil.Prettify(s)
69229}
69230
69231// GoString returns the string representation
69232func (s DescribeHostsOutput) GoString() string {
69233	return s.String()
69234}
69235
69236// SetHosts sets the Hosts field's value.
69237func (s *DescribeHostsOutput) SetHosts(v []*Host) *DescribeHostsOutput {
69238	s.Hosts = v
69239	return s
69240}
69241
69242// SetNextToken sets the NextToken field's value.
69243func (s *DescribeHostsOutput) SetNextToken(v string) *DescribeHostsOutput {
69244	s.NextToken = &v
69245	return s
69246}
69247
69248type DescribeIamInstanceProfileAssociationsInput struct {
69249	_ struct{} `type:"structure"`
69250
69251	// The IAM instance profile associations.
69252	AssociationIds []*string `locationName:"AssociationId" locationNameList:"AssociationId" type:"list"`
69253
69254	// The filters.
69255	//
69256	//    * instance-id - The ID of the instance.
69257	//
69258	//    * state - The state of the association (associating | associated | disassociating).
69259	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
69260
69261	// The maximum number of results to return in a single call. To retrieve the
69262	// remaining results, make another call with the returned NextToken value.
69263	MaxResults *int64 `min:"5" type:"integer"`
69264
69265	// The token to request the next page of results.
69266	NextToken *string `type:"string"`
69267}
69268
69269// String returns the string representation
69270func (s DescribeIamInstanceProfileAssociationsInput) String() string {
69271	return awsutil.Prettify(s)
69272}
69273
69274// GoString returns the string representation
69275func (s DescribeIamInstanceProfileAssociationsInput) GoString() string {
69276	return s.String()
69277}
69278
69279// Validate inspects the fields of the type to determine if they are valid.
69280func (s *DescribeIamInstanceProfileAssociationsInput) Validate() error {
69281	invalidParams := request.ErrInvalidParams{Context: "DescribeIamInstanceProfileAssociationsInput"}
69282	if s.MaxResults != nil && *s.MaxResults < 5 {
69283		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
69284	}
69285
69286	if invalidParams.Len() > 0 {
69287		return invalidParams
69288	}
69289	return nil
69290}
69291
69292// SetAssociationIds sets the AssociationIds field's value.
69293func (s *DescribeIamInstanceProfileAssociationsInput) SetAssociationIds(v []*string) *DescribeIamInstanceProfileAssociationsInput {
69294	s.AssociationIds = v
69295	return s
69296}
69297
69298// SetFilters sets the Filters field's value.
69299func (s *DescribeIamInstanceProfileAssociationsInput) SetFilters(v []*Filter) *DescribeIamInstanceProfileAssociationsInput {
69300	s.Filters = v
69301	return s
69302}
69303
69304// SetMaxResults sets the MaxResults field's value.
69305func (s *DescribeIamInstanceProfileAssociationsInput) SetMaxResults(v int64) *DescribeIamInstanceProfileAssociationsInput {
69306	s.MaxResults = &v
69307	return s
69308}
69309
69310// SetNextToken sets the NextToken field's value.
69311func (s *DescribeIamInstanceProfileAssociationsInput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsInput {
69312	s.NextToken = &v
69313	return s
69314}
69315
69316type DescribeIamInstanceProfileAssociationsOutput struct {
69317	_ struct{} `type:"structure"`
69318
69319	// Information about the IAM instance profile associations.
69320	IamInstanceProfileAssociations []*IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociationSet" locationNameList:"item" type:"list"`
69321
69322	// The token to use to retrieve the next page of results. This value is null
69323	// when there are no more results to return.
69324	NextToken *string `locationName:"nextToken" type:"string"`
69325}
69326
69327// String returns the string representation
69328func (s DescribeIamInstanceProfileAssociationsOutput) String() string {
69329	return awsutil.Prettify(s)
69330}
69331
69332// GoString returns the string representation
69333func (s DescribeIamInstanceProfileAssociationsOutput) GoString() string {
69334	return s.String()
69335}
69336
69337// SetIamInstanceProfileAssociations sets the IamInstanceProfileAssociations field's value.
69338func (s *DescribeIamInstanceProfileAssociationsOutput) SetIamInstanceProfileAssociations(v []*IamInstanceProfileAssociation) *DescribeIamInstanceProfileAssociationsOutput {
69339	s.IamInstanceProfileAssociations = v
69340	return s
69341}
69342
69343// SetNextToken sets the NextToken field's value.
69344func (s *DescribeIamInstanceProfileAssociationsOutput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsOutput {
69345	s.NextToken = &v
69346	return s
69347}
69348
69349type DescribeIdFormatInput struct {
69350	_ struct{} `type:"structure"`
69351
69352	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
69353	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
69354	// | image | import-task | instance | internet-gateway | network-acl | network-acl-association
69355	// | network-interface | network-interface-attachment | prefix-list | reservation
69356	// | route-table | route-table-association | security-group | snapshot | subnet
69357	// | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
69358	// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
69359	Resource *string `type:"string"`
69360}
69361
69362// String returns the string representation
69363func (s DescribeIdFormatInput) String() string {
69364	return awsutil.Prettify(s)
69365}
69366
69367// GoString returns the string representation
69368func (s DescribeIdFormatInput) GoString() string {
69369	return s.String()
69370}
69371
69372// SetResource sets the Resource field's value.
69373func (s *DescribeIdFormatInput) SetResource(v string) *DescribeIdFormatInput {
69374	s.Resource = &v
69375	return s
69376}
69377
69378type DescribeIdFormatOutput struct {
69379	_ struct{} `type:"structure"`
69380
69381	// Information about the ID format for the resource.
69382	Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
69383}
69384
69385// String returns the string representation
69386func (s DescribeIdFormatOutput) String() string {
69387	return awsutil.Prettify(s)
69388}
69389
69390// GoString returns the string representation
69391func (s DescribeIdFormatOutput) GoString() string {
69392	return s.String()
69393}
69394
69395// SetStatuses sets the Statuses field's value.
69396func (s *DescribeIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdFormatOutput {
69397	s.Statuses = v
69398	return s
69399}
69400
69401type DescribeIdentityIdFormatInput struct {
69402	_ struct{} `type:"structure"`
69403
69404	// The ARN of the principal, which can be an IAM role, IAM user, or the root
69405	// user.
69406	//
69407	// PrincipalArn is a required field
69408	PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
69409
69410	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
69411	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
69412	// | image | import-task | instance | internet-gateway | network-acl | network-acl-association
69413	// | network-interface | network-interface-attachment | prefix-list | reservation
69414	// | route-table | route-table-association | security-group | snapshot | subnet
69415	// | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
69416	// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
69417	Resource *string `locationName:"resource" type:"string"`
69418}
69419
69420// String returns the string representation
69421func (s DescribeIdentityIdFormatInput) String() string {
69422	return awsutil.Prettify(s)
69423}
69424
69425// GoString returns the string representation
69426func (s DescribeIdentityIdFormatInput) GoString() string {
69427	return s.String()
69428}
69429
69430// Validate inspects the fields of the type to determine if they are valid.
69431func (s *DescribeIdentityIdFormatInput) Validate() error {
69432	invalidParams := request.ErrInvalidParams{Context: "DescribeIdentityIdFormatInput"}
69433	if s.PrincipalArn == nil {
69434		invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
69435	}
69436
69437	if invalidParams.Len() > 0 {
69438		return invalidParams
69439	}
69440	return nil
69441}
69442
69443// SetPrincipalArn sets the PrincipalArn field's value.
69444func (s *DescribeIdentityIdFormatInput) SetPrincipalArn(v string) *DescribeIdentityIdFormatInput {
69445	s.PrincipalArn = &v
69446	return s
69447}
69448
69449// SetResource sets the Resource field's value.
69450func (s *DescribeIdentityIdFormatInput) SetResource(v string) *DescribeIdentityIdFormatInput {
69451	s.Resource = &v
69452	return s
69453}
69454
69455type DescribeIdentityIdFormatOutput struct {
69456	_ struct{} `type:"structure"`
69457
69458	// Information about the ID format for the resources.
69459	Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
69460}
69461
69462// String returns the string representation
69463func (s DescribeIdentityIdFormatOutput) String() string {
69464	return awsutil.Prettify(s)
69465}
69466
69467// GoString returns the string representation
69468func (s DescribeIdentityIdFormatOutput) GoString() string {
69469	return s.String()
69470}
69471
69472// SetStatuses sets the Statuses field's value.
69473func (s *DescribeIdentityIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdentityIdFormatOutput {
69474	s.Statuses = v
69475	return s
69476}
69477
69478// Contains the parameters for DescribeImageAttribute.
69479type DescribeImageAttributeInput struct {
69480	_ struct{} `type:"structure"`
69481
69482	// The AMI attribute.
69483	//
69484	// Note: The blockDeviceMapping attribute is deprecated. Using this attribute
69485	// returns the Client.AuthFailure error. To get information about the block
69486	// device mappings for an AMI, use the DescribeImages action.
69487	//
69488	// Attribute is a required field
69489	Attribute *string `type:"string" required:"true" enum:"ImageAttributeName"`
69490
69491	// Checks whether you have the required permissions for the action, without
69492	// actually making the request, and provides an error response. If you have
69493	// the required permissions, the error response is DryRunOperation. Otherwise,
69494	// it is UnauthorizedOperation.
69495	DryRun *bool `locationName:"dryRun" type:"boolean"`
69496
69497	// The ID of the AMI.
69498	//
69499	// ImageId is a required field
69500	ImageId *string `type:"string" required:"true"`
69501}
69502
69503// String returns the string representation
69504func (s DescribeImageAttributeInput) String() string {
69505	return awsutil.Prettify(s)
69506}
69507
69508// GoString returns the string representation
69509func (s DescribeImageAttributeInput) GoString() string {
69510	return s.String()
69511}
69512
69513// Validate inspects the fields of the type to determine if they are valid.
69514func (s *DescribeImageAttributeInput) Validate() error {
69515	invalidParams := request.ErrInvalidParams{Context: "DescribeImageAttributeInput"}
69516	if s.Attribute == nil {
69517		invalidParams.Add(request.NewErrParamRequired("Attribute"))
69518	}
69519	if s.ImageId == nil {
69520		invalidParams.Add(request.NewErrParamRequired("ImageId"))
69521	}
69522
69523	if invalidParams.Len() > 0 {
69524		return invalidParams
69525	}
69526	return nil
69527}
69528
69529// SetAttribute sets the Attribute field's value.
69530func (s *DescribeImageAttributeInput) SetAttribute(v string) *DescribeImageAttributeInput {
69531	s.Attribute = &v
69532	return s
69533}
69534
69535// SetDryRun sets the DryRun field's value.
69536func (s *DescribeImageAttributeInput) SetDryRun(v bool) *DescribeImageAttributeInput {
69537	s.DryRun = &v
69538	return s
69539}
69540
69541// SetImageId sets the ImageId field's value.
69542func (s *DescribeImageAttributeInput) SetImageId(v string) *DescribeImageAttributeInput {
69543	s.ImageId = &v
69544	return s
69545}
69546
69547// Describes an image attribute.
69548type DescribeImageAttributeOutput struct {
69549	_ struct{} `type:"structure"`
69550
69551	// The block device mapping entries.
69552	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
69553
69554	// Describes a value for a resource attribute that is a String.
69555	BootMode *AttributeValue `locationName:"bootMode" type:"structure"`
69556
69557	// A description for the AMI.
69558	Description *AttributeValue `locationName:"description" type:"structure"`
69559
69560	// The ID of the AMI.
69561	ImageId *string `locationName:"imageId" type:"string"`
69562
69563	// The kernel ID.
69564	KernelId *AttributeValue `locationName:"kernel" type:"structure"`
69565
69566	// The launch permissions.
69567	LaunchPermissions []*LaunchPermission `locationName:"launchPermission" locationNameList:"item" type:"list"`
69568
69569	// The product codes.
69570	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
69571
69572	// The RAM disk ID.
69573	RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
69574
69575	// Indicates whether enhanced networking with the Intel 82599 Virtual Function
69576	// interface is enabled.
69577	SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
69578}
69579
69580// String returns the string representation
69581func (s DescribeImageAttributeOutput) String() string {
69582	return awsutil.Prettify(s)
69583}
69584
69585// GoString returns the string representation
69586func (s DescribeImageAttributeOutput) GoString() string {
69587	return s.String()
69588}
69589
69590// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
69591func (s *DescribeImageAttributeOutput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *DescribeImageAttributeOutput {
69592	s.BlockDeviceMappings = v
69593	return s
69594}
69595
69596// SetBootMode sets the BootMode field's value.
69597func (s *DescribeImageAttributeOutput) SetBootMode(v *AttributeValue) *DescribeImageAttributeOutput {
69598	s.BootMode = v
69599	return s
69600}
69601
69602// SetDescription sets the Description field's value.
69603func (s *DescribeImageAttributeOutput) SetDescription(v *AttributeValue) *DescribeImageAttributeOutput {
69604	s.Description = v
69605	return s
69606}
69607
69608// SetImageId sets the ImageId field's value.
69609func (s *DescribeImageAttributeOutput) SetImageId(v string) *DescribeImageAttributeOutput {
69610	s.ImageId = &v
69611	return s
69612}
69613
69614// SetKernelId sets the KernelId field's value.
69615func (s *DescribeImageAttributeOutput) SetKernelId(v *AttributeValue) *DescribeImageAttributeOutput {
69616	s.KernelId = v
69617	return s
69618}
69619
69620// SetLaunchPermissions sets the LaunchPermissions field's value.
69621func (s *DescribeImageAttributeOutput) SetLaunchPermissions(v []*LaunchPermission) *DescribeImageAttributeOutput {
69622	s.LaunchPermissions = v
69623	return s
69624}
69625
69626// SetProductCodes sets the ProductCodes field's value.
69627func (s *DescribeImageAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeImageAttributeOutput {
69628	s.ProductCodes = v
69629	return s
69630}
69631
69632// SetRamdiskId sets the RamdiskId field's value.
69633func (s *DescribeImageAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeImageAttributeOutput {
69634	s.RamdiskId = v
69635	return s
69636}
69637
69638// SetSriovNetSupport sets the SriovNetSupport field's value.
69639func (s *DescribeImageAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeImageAttributeOutput {
69640	s.SriovNetSupport = v
69641	return s
69642}
69643
69644type DescribeImagesInput struct {
69645	_ struct{} `type:"structure"`
69646
69647	// Checks whether you have the required permissions for the action, without
69648	// actually making the request, and provides an error response. If you have
69649	// the required permissions, the error response is DryRunOperation. Otherwise,
69650	// it is UnauthorizedOperation.
69651	DryRun *bool `locationName:"dryRun" type:"boolean"`
69652
69653	// Scopes the images by users with explicit launch permissions. Specify an AWS
69654	// account ID, self (the sender of the request), or all (public AMIs).
69655	ExecutableUsers []*string `locationName:"ExecutableBy" locationNameList:"ExecutableBy" type:"list"`
69656
69657	// The filters.
69658	//
69659	//    * architecture - The image architecture (i386 | x86_64 | arm64).
69660	//
69661	//    * block-device-mapping.delete-on-termination - A Boolean value that indicates
69662	//    whether the Amazon EBS volume is deleted on instance termination.
69663	//
69664	//    * block-device-mapping.device-name - The device name specified in the
69665	//    block device mapping (for example, /dev/sdh or xvdh).
69666	//
69667	//    * block-device-mapping.snapshot-id - The ID of the snapshot used for the
69668	//    EBS volume.
69669	//
69670	//    * block-device-mapping.volume-size - The volume size of the EBS volume,
69671	//    in GiB.
69672	//
69673	//    * block-device-mapping.volume-type - The volume type of the EBS volume
69674	//    (gp2 | io1 | io2 | st1 | sc1 | standard).
69675	//
69676	//    * block-device-mapping.encrypted - A Boolean that indicates whether the
69677	//    EBS volume is encrypted.
69678	//
69679	//    * description - The description of the image (provided during image creation).
69680	//
69681	//    * ena-support - A Boolean that indicates whether enhanced networking with
69682	//    ENA is enabled.
69683	//
69684	//    * hypervisor - The hypervisor type (ovm | xen).
69685	//
69686	//    * image-id - The ID of the image.
69687	//
69688	//    * image-type - The image type (machine | kernel | ramdisk).
69689	//
69690	//    * is-public - A Boolean that indicates whether the image is public.
69691	//
69692	//    * kernel-id - The kernel ID.
69693	//
69694	//    * manifest-location - The location of the image manifest.
69695	//
69696	//    * name - The name of the AMI (provided during image creation).
69697	//
69698	//    * owner-alias - The owner alias (amazon | aws-marketplace). The valid
69699	//    aliases are defined in an Amazon-maintained list. This is not the AWS
69700	//    account alias that can be set using the IAM console. We recommend that
69701	//    you use the Owner request parameter instead of this filter.
69702	//
69703	//    * owner-id - The AWS account ID of the owner. We recommend that you use
69704	//    the Owner request parameter instead of this filter.
69705	//
69706	//    * platform - The platform. To only list Windows-based AMIs, use windows.
69707	//
69708	//    * product-code - The product code.
69709	//
69710	//    * product-code.type - The type of the product code (devpay | marketplace).
69711	//
69712	//    * ramdisk-id - The RAM disk ID.
69713	//
69714	//    * root-device-name - The device name of the root device volume (for example,
69715	//    /dev/sda1).
69716	//
69717	//    * root-device-type - The type of the root device volume (ebs | instance-store).
69718	//
69719	//    * state - The state of the image (available | pending | failed).
69720	//
69721	//    * state-reason-code - The reason code for the state change.
69722	//
69723	//    * state-reason-message - The message for the state change.
69724	//
69725	//    * sriov-net-support - A value of simple indicates that enhanced networking
69726	//    with the Intel 82599 VF interface is enabled.
69727	//
69728	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
69729	//    Use the tag key in the filter name and the tag value as the filter value.
69730	//    For example, to find all resources that have a tag with the key Owner
69731	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
69732	//    the filter value.
69733	//
69734	//    * tag-key - The key of a tag assigned to the resource. Use this filter
69735	//    to find all resources assigned a tag with a specific key, regardless of
69736	//    the tag value.
69737	//
69738	//    * virtualization-type - The virtualization type (paravirtual | hvm).
69739	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
69740
69741	// The image IDs.
69742	//
69743	// Default: Describes all images available to you.
69744	ImageIds []*string `locationName:"ImageId" locationNameList:"ImageId" type:"list"`
69745
69746	// If true, all deprecated AMIs are included in the response. If false, no deprecated
69747	// AMIs are included in the response. If no value is specified, the default
69748	// value is false.
69749	//
69750	// If you are the AMI owner, all deprecated AMIs appear in the response regardless
69751	// of the value (true or false) that you set for this parameter.
69752	IncludeDeprecated *bool `type:"boolean"`
69753
69754	// Scopes the results to images with the specified owners. You can specify a
69755	// combination of AWS account IDs, self, amazon, and aws-marketplace. If you
69756	// omit this parameter, the results include all images for which you have launch
69757	// permissions, regardless of ownership.
69758	Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
69759}
69760
69761// String returns the string representation
69762func (s DescribeImagesInput) String() string {
69763	return awsutil.Prettify(s)
69764}
69765
69766// GoString returns the string representation
69767func (s DescribeImagesInput) GoString() string {
69768	return s.String()
69769}
69770
69771// SetDryRun sets the DryRun field's value.
69772func (s *DescribeImagesInput) SetDryRun(v bool) *DescribeImagesInput {
69773	s.DryRun = &v
69774	return s
69775}
69776
69777// SetExecutableUsers sets the ExecutableUsers field's value.
69778func (s *DescribeImagesInput) SetExecutableUsers(v []*string) *DescribeImagesInput {
69779	s.ExecutableUsers = v
69780	return s
69781}
69782
69783// SetFilters sets the Filters field's value.
69784func (s *DescribeImagesInput) SetFilters(v []*Filter) *DescribeImagesInput {
69785	s.Filters = v
69786	return s
69787}
69788
69789// SetImageIds sets the ImageIds field's value.
69790func (s *DescribeImagesInput) SetImageIds(v []*string) *DescribeImagesInput {
69791	s.ImageIds = v
69792	return s
69793}
69794
69795// SetIncludeDeprecated sets the IncludeDeprecated field's value.
69796func (s *DescribeImagesInput) SetIncludeDeprecated(v bool) *DescribeImagesInput {
69797	s.IncludeDeprecated = &v
69798	return s
69799}
69800
69801// SetOwners sets the Owners field's value.
69802func (s *DescribeImagesInput) SetOwners(v []*string) *DescribeImagesInput {
69803	s.Owners = v
69804	return s
69805}
69806
69807type DescribeImagesOutput struct {
69808	_ struct{} `type:"structure"`
69809
69810	// Information about the images.
69811	Images []*Image `locationName:"imagesSet" locationNameList:"item" type:"list"`
69812}
69813
69814// String returns the string representation
69815func (s DescribeImagesOutput) String() string {
69816	return awsutil.Prettify(s)
69817}
69818
69819// GoString returns the string representation
69820func (s DescribeImagesOutput) GoString() string {
69821	return s.String()
69822}
69823
69824// SetImages sets the Images field's value.
69825func (s *DescribeImagesOutput) SetImages(v []*Image) *DescribeImagesOutput {
69826	s.Images = v
69827	return s
69828}
69829
69830type DescribeImportImageTasksInput struct {
69831	_ struct{} `type:"structure"`
69832
69833	// Checks whether you have the required permissions for the action, without
69834	// actually making the request, and provides an error response. If you have
69835	// the required permissions, the error response is DryRunOperation. Otherwise,
69836	// it is UnauthorizedOperation.
69837	DryRun *bool `type:"boolean"`
69838
69839	// Filter tasks using the task-state filter and one of the following values:
69840	// active, completed, deleting, or deleted.
69841	Filters []*Filter `locationNameList:"Filter" type:"list"`
69842
69843	// The IDs of the import image tasks.
69844	ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
69845
69846	// The maximum number of results to return in a single call.
69847	MaxResults *int64 `type:"integer"`
69848
69849	// A token that indicates the next page of results.
69850	NextToken *string `type:"string"`
69851}
69852
69853// String returns the string representation
69854func (s DescribeImportImageTasksInput) String() string {
69855	return awsutil.Prettify(s)
69856}
69857
69858// GoString returns the string representation
69859func (s DescribeImportImageTasksInput) GoString() string {
69860	return s.String()
69861}
69862
69863// SetDryRun sets the DryRun field's value.
69864func (s *DescribeImportImageTasksInput) SetDryRun(v bool) *DescribeImportImageTasksInput {
69865	s.DryRun = &v
69866	return s
69867}
69868
69869// SetFilters sets the Filters field's value.
69870func (s *DescribeImportImageTasksInput) SetFilters(v []*Filter) *DescribeImportImageTasksInput {
69871	s.Filters = v
69872	return s
69873}
69874
69875// SetImportTaskIds sets the ImportTaskIds field's value.
69876func (s *DescribeImportImageTasksInput) SetImportTaskIds(v []*string) *DescribeImportImageTasksInput {
69877	s.ImportTaskIds = v
69878	return s
69879}
69880
69881// SetMaxResults sets the MaxResults field's value.
69882func (s *DescribeImportImageTasksInput) SetMaxResults(v int64) *DescribeImportImageTasksInput {
69883	s.MaxResults = &v
69884	return s
69885}
69886
69887// SetNextToken sets the NextToken field's value.
69888func (s *DescribeImportImageTasksInput) SetNextToken(v string) *DescribeImportImageTasksInput {
69889	s.NextToken = &v
69890	return s
69891}
69892
69893type DescribeImportImageTasksOutput struct {
69894	_ struct{} `type:"structure"`
69895
69896	// A list of zero or more import image tasks that are currently active or were
69897	// completed or canceled in the previous 7 days.
69898	ImportImageTasks []*ImportImageTask `locationName:"importImageTaskSet" locationNameList:"item" type:"list"`
69899
69900	// The token to use to get the next page of results. This value is null when
69901	// there are no more results to return.
69902	NextToken *string `locationName:"nextToken" type:"string"`
69903}
69904
69905// String returns the string representation
69906func (s DescribeImportImageTasksOutput) String() string {
69907	return awsutil.Prettify(s)
69908}
69909
69910// GoString returns the string representation
69911func (s DescribeImportImageTasksOutput) GoString() string {
69912	return s.String()
69913}
69914
69915// SetImportImageTasks sets the ImportImageTasks field's value.
69916func (s *DescribeImportImageTasksOutput) SetImportImageTasks(v []*ImportImageTask) *DescribeImportImageTasksOutput {
69917	s.ImportImageTasks = v
69918	return s
69919}
69920
69921// SetNextToken sets the NextToken field's value.
69922func (s *DescribeImportImageTasksOutput) SetNextToken(v string) *DescribeImportImageTasksOutput {
69923	s.NextToken = &v
69924	return s
69925}
69926
69927type DescribeImportSnapshotTasksInput struct {
69928	_ struct{} `type:"structure"`
69929
69930	// Checks whether you have the required permissions for the action, without
69931	// actually making the request, and provides an error response. If you have
69932	// the required permissions, the error response is DryRunOperation. Otherwise,
69933	// it is UnauthorizedOperation.
69934	DryRun *bool `type:"boolean"`
69935
69936	// The filters.
69937	Filters []*Filter `locationNameList:"Filter" type:"list"`
69938
69939	// A list of import snapshot task IDs.
69940	ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
69941
69942	// The maximum number of results to return in a single call. To retrieve the
69943	// remaining results, make another call with the returned NextToken value.
69944	MaxResults *int64 `type:"integer"`
69945
69946	// A token that indicates the next page of results.
69947	NextToken *string `type:"string"`
69948}
69949
69950// String returns the string representation
69951func (s DescribeImportSnapshotTasksInput) String() string {
69952	return awsutil.Prettify(s)
69953}
69954
69955// GoString returns the string representation
69956func (s DescribeImportSnapshotTasksInput) GoString() string {
69957	return s.String()
69958}
69959
69960// SetDryRun sets the DryRun field's value.
69961func (s *DescribeImportSnapshotTasksInput) SetDryRun(v bool) *DescribeImportSnapshotTasksInput {
69962	s.DryRun = &v
69963	return s
69964}
69965
69966// SetFilters sets the Filters field's value.
69967func (s *DescribeImportSnapshotTasksInput) SetFilters(v []*Filter) *DescribeImportSnapshotTasksInput {
69968	s.Filters = v
69969	return s
69970}
69971
69972// SetImportTaskIds sets the ImportTaskIds field's value.
69973func (s *DescribeImportSnapshotTasksInput) SetImportTaskIds(v []*string) *DescribeImportSnapshotTasksInput {
69974	s.ImportTaskIds = v
69975	return s
69976}
69977
69978// SetMaxResults sets the MaxResults field's value.
69979func (s *DescribeImportSnapshotTasksInput) SetMaxResults(v int64) *DescribeImportSnapshotTasksInput {
69980	s.MaxResults = &v
69981	return s
69982}
69983
69984// SetNextToken sets the NextToken field's value.
69985func (s *DescribeImportSnapshotTasksInput) SetNextToken(v string) *DescribeImportSnapshotTasksInput {
69986	s.NextToken = &v
69987	return s
69988}
69989
69990type DescribeImportSnapshotTasksOutput struct {
69991	_ struct{} `type:"structure"`
69992
69993	// A list of zero or more import snapshot tasks that are currently active or
69994	// were completed or canceled in the previous 7 days.
69995	ImportSnapshotTasks []*ImportSnapshotTask `locationName:"importSnapshotTaskSet" locationNameList:"item" type:"list"`
69996
69997	// The token to use to get the next page of results. This value is null when
69998	// there are no more results to return.
69999	NextToken *string `locationName:"nextToken" type:"string"`
70000}
70001
70002// String returns the string representation
70003func (s DescribeImportSnapshotTasksOutput) String() string {
70004	return awsutil.Prettify(s)
70005}
70006
70007// GoString returns the string representation
70008func (s DescribeImportSnapshotTasksOutput) GoString() string {
70009	return s.String()
70010}
70011
70012// SetImportSnapshotTasks sets the ImportSnapshotTasks field's value.
70013func (s *DescribeImportSnapshotTasksOutput) SetImportSnapshotTasks(v []*ImportSnapshotTask) *DescribeImportSnapshotTasksOutput {
70014	s.ImportSnapshotTasks = v
70015	return s
70016}
70017
70018// SetNextToken sets the NextToken field's value.
70019func (s *DescribeImportSnapshotTasksOutput) SetNextToken(v string) *DescribeImportSnapshotTasksOutput {
70020	s.NextToken = &v
70021	return s
70022}
70023
70024type DescribeInstanceAttributeInput struct {
70025	_ struct{} `type:"structure"`
70026
70027	// The instance attribute.
70028	//
70029	// Note: The enaSupport attribute is not supported at this time.
70030	//
70031	// Attribute is a required field
70032	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
70033
70034	// Checks whether you have the required permissions for the action, without
70035	// actually making the request, and provides an error response. If you have
70036	// the required permissions, the error response is DryRunOperation. Otherwise,
70037	// it is UnauthorizedOperation.
70038	DryRun *bool `locationName:"dryRun" type:"boolean"`
70039
70040	// The ID of the instance.
70041	//
70042	// InstanceId is a required field
70043	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
70044}
70045
70046// String returns the string representation
70047func (s DescribeInstanceAttributeInput) String() string {
70048	return awsutil.Prettify(s)
70049}
70050
70051// GoString returns the string representation
70052func (s DescribeInstanceAttributeInput) GoString() string {
70053	return s.String()
70054}
70055
70056// Validate inspects the fields of the type to determine if they are valid.
70057func (s *DescribeInstanceAttributeInput) Validate() error {
70058	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAttributeInput"}
70059	if s.Attribute == nil {
70060		invalidParams.Add(request.NewErrParamRequired("Attribute"))
70061	}
70062	if s.InstanceId == nil {
70063		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
70064	}
70065
70066	if invalidParams.Len() > 0 {
70067		return invalidParams
70068	}
70069	return nil
70070}
70071
70072// SetAttribute sets the Attribute field's value.
70073func (s *DescribeInstanceAttributeInput) SetAttribute(v string) *DescribeInstanceAttributeInput {
70074	s.Attribute = &v
70075	return s
70076}
70077
70078// SetDryRun sets the DryRun field's value.
70079func (s *DescribeInstanceAttributeInput) SetDryRun(v bool) *DescribeInstanceAttributeInput {
70080	s.DryRun = &v
70081	return s
70082}
70083
70084// SetInstanceId sets the InstanceId field's value.
70085func (s *DescribeInstanceAttributeInput) SetInstanceId(v string) *DescribeInstanceAttributeInput {
70086	s.InstanceId = &v
70087	return s
70088}
70089
70090// Describes an instance attribute.
70091type DescribeInstanceAttributeOutput struct {
70092	_ struct{} `type:"structure"`
70093
70094	// The block device mapping of the instance.
70095	BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
70096
70097	// If the value is true, you can't terminate the instance through the Amazon
70098	// EC2 console, CLI, or API; otherwise, you can.
70099	DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
70100
70101	// Indicates whether the instance is optimized for Amazon EBS I/O.
70102	EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
70103
70104	// Indicates whether enhanced networking with ENA is enabled.
70105	EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
70106
70107	// To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter
70108	// to true; otherwise, set it to false.
70109	EnclaveOptions *EnclaveOptions `locationName:"enclaveOptions" type:"structure"`
70110
70111	// The security groups associated with the instance.
70112	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
70113
70114	// The ID of the instance.
70115	InstanceId *string `locationName:"instanceId" type:"string"`
70116
70117	// Indicates whether an instance stops or terminates when you initiate shutdown
70118	// from the instance (using the operating system command for system shutdown).
70119	InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
70120
70121	// The instance type.
70122	InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
70123
70124	// The kernel ID.
70125	KernelId *AttributeValue `locationName:"kernel" type:"structure"`
70126
70127	// A list of product codes.
70128	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
70129
70130	// The RAM disk ID.
70131	RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
70132
70133	// The device name of the root device volume (for example, /dev/sda1).
70134	RootDeviceName *AttributeValue `locationName:"rootDeviceName" type:"structure"`
70135
70136	// Enable or disable source/destination checks, which ensure that the instance
70137	// is either the source or the destination of any traffic that it receives.
70138	// If the value is true, source/destination checks are enabled; otherwise, they
70139	// are disabled. The default value is true. You must disable source/destination
70140	// checks if the instance runs services such as network address translation,
70141	// routing, or firewalls.
70142	SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
70143
70144	// Indicates whether enhanced networking with the Intel 82599 Virtual Function
70145	// interface is enabled.
70146	SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
70147
70148	// The user data.
70149	UserData *AttributeValue `locationName:"userData" type:"structure"`
70150}
70151
70152// String returns the string representation
70153func (s DescribeInstanceAttributeOutput) String() string {
70154	return awsutil.Prettify(s)
70155}
70156
70157// GoString returns the string representation
70158func (s DescribeInstanceAttributeOutput) GoString() string {
70159	return s.String()
70160}
70161
70162// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
70163func (s *DescribeInstanceAttributeOutput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *DescribeInstanceAttributeOutput {
70164	s.BlockDeviceMappings = v
70165	return s
70166}
70167
70168// SetDisableApiTermination sets the DisableApiTermination field's value.
70169func (s *DescribeInstanceAttributeOutput) SetDisableApiTermination(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
70170	s.DisableApiTermination = v
70171	return s
70172}
70173
70174// SetEbsOptimized sets the EbsOptimized field's value.
70175func (s *DescribeInstanceAttributeOutput) SetEbsOptimized(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
70176	s.EbsOptimized = v
70177	return s
70178}
70179
70180// SetEnaSupport sets the EnaSupport field's value.
70181func (s *DescribeInstanceAttributeOutput) SetEnaSupport(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
70182	s.EnaSupport = v
70183	return s
70184}
70185
70186// SetEnclaveOptions sets the EnclaveOptions field's value.
70187func (s *DescribeInstanceAttributeOutput) SetEnclaveOptions(v *EnclaveOptions) *DescribeInstanceAttributeOutput {
70188	s.EnclaveOptions = v
70189	return s
70190}
70191
70192// SetGroups sets the Groups field's value.
70193func (s *DescribeInstanceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeInstanceAttributeOutput {
70194	s.Groups = v
70195	return s
70196}
70197
70198// SetInstanceId sets the InstanceId field's value.
70199func (s *DescribeInstanceAttributeOutput) SetInstanceId(v string) *DescribeInstanceAttributeOutput {
70200	s.InstanceId = &v
70201	return s
70202}
70203
70204// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
70205func (s *DescribeInstanceAttributeOutput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *DescribeInstanceAttributeOutput {
70206	s.InstanceInitiatedShutdownBehavior = v
70207	return s
70208}
70209
70210// SetInstanceType sets the InstanceType field's value.
70211func (s *DescribeInstanceAttributeOutput) SetInstanceType(v *AttributeValue) *DescribeInstanceAttributeOutput {
70212	s.InstanceType = v
70213	return s
70214}
70215
70216// SetKernelId sets the KernelId field's value.
70217func (s *DescribeInstanceAttributeOutput) SetKernelId(v *AttributeValue) *DescribeInstanceAttributeOutput {
70218	s.KernelId = v
70219	return s
70220}
70221
70222// SetProductCodes sets the ProductCodes field's value.
70223func (s *DescribeInstanceAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeInstanceAttributeOutput {
70224	s.ProductCodes = v
70225	return s
70226}
70227
70228// SetRamdiskId sets the RamdiskId field's value.
70229func (s *DescribeInstanceAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeInstanceAttributeOutput {
70230	s.RamdiskId = v
70231	return s
70232}
70233
70234// SetRootDeviceName sets the RootDeviceName field's value.
70235func (s *DescribeInstanceAttributeOutput) SetRootDeviceName(v *AttributeValue) *DescribeInstanceAttributeOutput {
70236	s.RootDeviceName = v
70237	return s
70238}
70239
70240// SetSourceDestCheck sets the SourceDestCheck field's value.
70241func (s *DescribeInstanceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
70242	s.SourceDestCheck = v
70243	return s
70244}
70245
70246// SetSriovNetSupport sets the SriovNetSupport field's value.
70247func (s *DescribeInstanceAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeInstanceAttributeOutput {
70248	s.SriovNetSupport = v
70249	return s
70250}
70251
70252// SetUserData sets the UserData field's value.
70253func (s *DescribeInstanceAttributeOutput) SetUserData(v *AttributeValue) *DescribeInstanceAttributeOutput {
70254	s.UserData = v
70255	return s
70256}
70257
70258type DescribeInstanceCreditSpecificationsInput struct {
70259	_ struct{} `type:"structure"`
70260
70261	// Checks whether you have the required permissions for the action, without
70262	// actually making the request, and provides an error response. If you have
70263	// the required permissions, the error response is DryRunOperation. Otherwise,
70264	// it is UnauthorizedOperation.
70265	DryRun *bool `type:"boolean"`
70266
70267	// The filters.
70268	//
70269	//    * instance-id - The ID of the instance.
70270	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
70271
70272	// The instance IDs.
70273	//
70274	// Default: Describes all your instances.
70275	//
70276	// Constraints: Maximum 1000 explicitly specified instance IDs.
70277	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
70278
70279	// The maximum number of results to return in a single call. To retrieve the
70280	// remaining results, make another call with the returned NextToken value. This
70281	// value can be between 5 and 1000. You cannot specify this parameter and the
70282	// instance IDs parameter in the same call.
70283	MaxResults *int64 `min:"5" type:"integer"`
70284
70285	// The token to retrieve the next page of results.
70286	NextToken *string `type:"string"`
70287}
70288
70289// String returns the string representation
70290func (s DescribeInstanceCreditSpecificationsInput) String() string {
70291	return awsutil.Prettify(s)
70292}
70293
70294// GoString returns the string representation
70295func (s DescribeInstanceCreditSpecificationsInput) GoString() string {
70296	return s.String()
70297}
70298
70299// Validate inspects the fields of the type to determine if they are valid.
70300func (s *DescribeInstanceCreditSpecificationsInput) Validate() error {
70301	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceCreditSpecificationsInput"}
70302	if s.MaxResults != nil && *s.MaxResults < 5 {
70303		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
70304	}
70305
70306	if invalidParams.Len() > 0 {
70307		return invalidParams
70308	}
70309	return nil
70310}
70311
70312// SetDryRun sets the DryRun field's value.
70313func (s *DescribeInstanceCreditSpecificationsInput) SetDryRun(v bool) *DescribeInstanceCreditSpecificationsInput {
70314	s.DryRun = &v
70315	return s
70316}
70317
70318// SetFilters sets the Filters field's value.
70319func (s *DescribeInstanceCreditSpecificationsInput) SetFilters(v []*Filter) *DescribeInstanceCreditSpecificationsInput {
70320	s.Filters = v
70321	return s
70322}
70323
70324// SetInstanceIds sets the InstanceIds field's value.
70325func (s *DescribeInstanceCreditSpecificationsInput) SetInstanceIds(v []*string) *DescribeInstanceCreditSpecificationsInput {
70326	s.InstanceIds = v
70327	return s
70328}
70329
70330// SetMaxResults sets the MaxResults field's value.
70331func (s *DescribeInstanceCreditSpecificationsInput) SetMaxResults(v int64) *DescribeInstanceCreditSpecificationsInput {
70332	s.MaxResults = &v
70333	return s
70334}
70335
70336// SetNextToken sets the NextToken field's value.
70337func (s *DescribeInstanceCreditSpecificationsInput) SetNextToken(v string) *DescribeInstanceCreditSpecificationsInput {
70338	s.NextToken = &v
70339	return s
70340}
70341
70342type DescribeInstanceCreditSpecificationsOutput struct {
70343	_ struct{} `type:"structure"`
70344
70345	// Information about the credit option for CPU usage of an instance.
70346	InstanceCreditSpecifications []*InstanceCreditSpecification `locationName:"instanceCreditSpecificationSet" locationNameList:"item" type:"list"`
70347
70348	// The token to use to retrieve the next page of results. This value is null
70349	// when there are no more results to return.
70350	NextToken *string `locationName:"nextToken" type:"string"`
70351}
70352
70353// String returns the string representation
70354func (s DescribeInstanceCreditSpecificationsOutput) String() string {
70355	return awsutil.Prettify(s)
70356}
70357
70358// GoString returns the string representation
70359func (s DescribeInstanceCreditSpecificationsOutput) GoString() string {
70360	return s.String()
70361}
70362
70363// SetInstanceCreditSpecifications sets the InstanceCreditSpecifications field's value.
70364func (s *DescribeInstanceCreditSpecificationsOutput) SetInstanceCreditSpecifications(v []*InstanceCreditSpecification) *DescribeInstanceCreditSpecificationsOutput {
70365	s.InstanceCreditSpecifications = v
70366	return s
70367}
70368
70369// SetNextToken sets the NextToken field's value.
70370func (s *DescribeInstanceCreditSpecificationsOutput) SetNextToken(v string) *DescribeInstanceCreditSpecificationsOutput {
70371	s.NextToken = &v
70372	return s
70373}
70374
70375type DescribeInstanceEventNotificationAttributesInput struct {
70376	_ struct{} `type:"structure"`
70377
70378	// Checks whether you have the required permissions for the action, without
70379	// actually making the request, and provides an error response. If you have
70380	// the required permissions, the error response is DryRunOperation. Otherwise,
70381	// it is UnauthorizedOperation.
70382	DryRun *bool `type:"boolean"`
70383}
70384
70385// String returns the string representation
70386func (s DescribeInstanceEventNotificationAttributesInput) String() string {
70387	return awsutil.Prettify(s)
70388}
70389
70390// GoString returns the string representation
70391func (s DescribeInstanceEventNotificationAttributesInput) GoString() string {
70392	return s.String()
70393}
70394
70395// SetDryRun sets the DryRun field's value.
70396func (s *DescribeInstanceEventNotificationAttributesInput) SetDryRun(v bool) *DescribeInstanceEventNotificationAttributesInput {
70397	s.DryRun = &v
70398	return s
70399}
70400
70401type DescribeInstanceEventNotificationAttributesOutput struct {
70402	_ struct{} `type:"structure"`
70403
70404	// Information about the registered tag keys.
70405	InstanceTagAttribute *InstanceTagNotificationAttribute `locationName:"instanceTagAttribute" type:"structure"`
70406}
70407
70408// String returns the string representation
70409func (s DescribeInstanceEventNotificationAttributesOutput) String() string {
70410	return awsutil.Prettify(s)
70411}
70412
70413// GoString returns the string representation
70414func (s DescribeInstanceEventNotificationAttributesOutput) GoString() string {
70415	return s.String()
70416}
70417
70418// SetInstanceTagAttribute sets the InstanceTagAttribute field's value.
70419func (s *DescribeInstanceEventNotificationAttributesOutput) SetInstanceTagAttribute(v *InstanceTagNotificationAttribute) *DescribeInstanceEventNotificationAttributesOutput {
70420	s.InstanceTagAttribute = v
70421	return s
70422}
70423
70424// Describe instance event windows by InstanceEventWindow.
70425type DescribeInstanceEventWindowsInput struct {
70426	_ struct{} `type:"structure"`
70427
70428	// Checks whether you have the required permissions for the action, without
70429	// actually making the request, and provides an error response. If you have
70430	// the required permissions, the error response is DryRunOperation. Otherwise,
70431	// it is UnauthorizedOperation.
70432	DryRun *bool `type:"boolean"`
70433
70434	// One or more filters.
70435	//
70436	//    * dedicated-host-id - The event windows associated with the specified
70437	//    Dedicated Host ID.
70438	//
70439	//    * event-window-name - The event windows associated with the specified
70440	//    names.
70441	//
70442	//    * instance-id - The event windows associated with the specified instance
70443	//    ID.
70444	//
70445	//    * instance-tag - The event windows associated with the specified tag and
70446	//    value.
70447	//
70448	//    * instance-tag-key - The event windows associated with the specified tag
70449	//    key, regardless of the value.
70450	//
70451	//    * instance-tag-value - The event windows associated with the specified
70452	//    tag value, regardless of the key.
70453	//
70454	//    * tag:<key> - The key/value combination of a tag assigned to the event
70455	//    window. Use the tag key in the filter name and the tag value as the filter
70456	//    value. For example, to find all resources that have a tag with the key
70457	//    Owner and the value CMX, specify tag:Owner for the filter name and CMX
70458	//    for the filter value.
70459	//
70460	//    * tag-key - The key of a tag assigned to the event window. Use this filter
70461	//    to find all event windows that have a tag with a specific key, regardless
70462	//    of the tag value.
70463	//
70464	//    * tag-value - The value of a tag assigned to the event window. Use this
70465	//    filter to find all event windows that have a tag with a specific value,
70466	//    regardless of the tag key.
70467	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
70468
70469	// The IDs of the event windows.
70470	InstanceEventWindowIds []*string `locationName:"InstanceEventWindowId" locationNameList:"InstanceEventWindowId" type:"list"`
70471
70472	// The maximum number of results to return in a single call. To retrieve the
70473	// remaining results, make another call with the returned NextToken value. This
70474	// value can be between 20 and 500. You cannot specify this parameter and the
70475	// event window IDs parameter in the same call.
70476	MaxResults *int64 `min:"20" type:"integer"`
70477
70478	// The token to request the next page of results.
70479	NextToken *string `type:"string"`
70480}
70481
70482// String returns the string representation
70483func (s DescribeInstanceEventWindowsInput) String() string {
70484	return awsutil.Prettify(s)
70485}
70486
70487// GoString returns the string representation
70488func (s DescribeInstanceEventWindowsInput) GoString() string {
70489	return s.String()
70490}
70491
70492// Validate inspects the fields of the type to determine if they are valid.
70493func (s *DescribeInstanceEventWindowsInput) Validate() error {
70494	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceEventWindowsInput"}
70495	if s.MaxResults != nil && *s.MaxResults < 20 {
70496		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 20))
70497	}
70498
70499	if invalidParams.Len() > 0 {
70500		return invalidParams
70501	}
70502	return nil
70503}
70504
70505// SetDryRun sets the DryRun field's value.
70506func (s *DescribeInstanceEventWindowsInput) SetDryRun(v bool) *DescribeInstanceEventWindowsInput {
70507	s.DryRun = &v
70508	return s
70509}
70510
70511// SetFilters sets the Filters field's value.
70512func (s *DescribeInstanceEventWindowsInput) SetFilters(v []*Filter) *DescribeInstanceEventWindowsInput {
70513	s.Filters = v
70514	return s
70515}
70516
70517// SetInstanceEventWindowIds sets the InstanceEventWindowIds field's value.
70518func (s *DescribeInstanceEventWindowsInput) SetInstanceEventWindowIds(v []*string) *DescribeInstanceEventWindowsInput {
70519	s.InstanceEventWindowIds = v
70520	return s
70521}
70522
70523// SetMaxResults sets the MaxResults field's value.
70524func (s *DescribeInstanceEventWindowsInput) SetMaxResults(v int64) *DescribeInstanceEventWindowsInput {
70525	s.MaxResults = &v
70526	return s
70527}
70528
70529// SetNextToken sets the NextToken field's value.
70530func (s *DescribeInstanceEventWindowsInput) SetNextToken(v string) *DescribeInstanceEventWindowsInput {
70531	s.NextToken = &v
70532	return s
70533}
70534
70535type DescribeInstanceEventWindowsOutput struct {
70536	_ struct{} `type:"structure"`
70537
70538	// Information about the event windows.
70539	InstanceEventWindows []*InstanceEventWindow `locationName:"instanceEventWindowSet" locationNameList:"item" type:"list"`
70540
70541	// The token to use to retrieve the next page of results. This value is null
70542	// when there are no more results to return.
70543	NextToken *string `locationName:"nextToken" type:"string"`
70544}
70545
70546// String returns the string representation
70547func (s DescribeInstanceEventWindowsOutput) String() string {
70548	return awsutil.Prettify(s)
70549}
70550
70551// GoString returns the string representation
70552func (s DescribeInstanceEventWindowsOutput) GoString() string {
70553	return s.String()
70554}
70555
70556// SetInstanceEventWindows sets the InstanceEventWindows field's value.
70557func (s *DescribeInstanceEventWindowsOutput) SetInstanceEventWindows(v []*InstanceEventWindow) *DescribeInstanceEventWindowsOutput {
70558	s.InstanceEventWindows = v
70559	return s
70560}
70561
70562// SetNextToken sets the NextToken field's value.
70563func (s *DescribeInstanceEventWindowsOutput) SetNextToken(v string) *DescribeInstanceEventWindowsOutput {
70564	s.NextToken = &v
70565	return s
70566}
70567
70568type DescribeInstanceStatusInput struct {
70569	_ struct{} `type:"structure"`
70570
70571	// Checks whether you have the required permissions for the action, without
70572	// actually making the request, and provides an error response. If you have
70573	// the required permissions, the error response is DryRunOperation. Otherwise,
70574	// it is UnauthorizedOperation.
70575	DryRun *bool `locationName:"dryRun" type:"boolean"`
70576
70577	// The filters.
70578	//
70579	//    * availability-zone - The Availability Zone of the instance.
70580	//
70581	//    * event.code - The code for the scheduled event (instance-reboot | system-reboot
70582	//    | system-maintenance | instance-retirement | instance-stop).
70583	//
70584	//    * event.description - A description of the event.
70585	//
70586	//    * event.instance-event-id - The ID of the event whose date and time you
70587	//    are modifying.
70588	//
70589	//    * event.not-after - The latest end time for the scheduled event (for example,
70590	//    2014-09-15T17:15:20.000Z).
70591	//
70592	//    * event.not-before - The earliest start time for the scheduled event (for
70593	//    example, 2014-09-15T17:15:20.000Z).
70594	//
70595	//    * event.not-before-deadline - The deadline for starting the event (for
70596	//    example, 2014-09-15T17:15:20.000Z).
70597	//
70598	//    * instance-state-code - The code for the instance state, as a 16-bit unsigned
70599	//    integer. The high byte is used for internal purposes and should be ignored.
70600	//    The low byte is set based on the state represented. The valid values are
70601	//    0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
70602	//    and 80 (stopped).
70603	//
70604	//    * instance-state-name - The state of the instance (pending | running |
70605	//    shutting-down | terminated | stopping | stopped).
70606	//
70607	//    * instance-status.reachability - Filters on instance status where the
70608	//    name is reachability (passed | failed | initializing | insufficient-data).
70609	//
70610	//    * instance-status.status - The status of the instance (ok | impaired |
70611	//    initializing | insufficient-data | not-applicable).
70612	//
70613	//    * system-status.reachability - Filters on system status where the name
70614	//    is reachability (passed | failed | initializing | insufficient-data).
70615	//
70616	//    * system-status.status - The system status of the instance (ok | impaired
70617	//    | initializing | insufficient-data | not-applicable).
70618	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
70619
70620	// When true, includes the health status for all instances. When false, includes
70621	// the health status for running instances only.
70622	//
70623	// Default: false
70624	IncludeAllInstances *bool `locationName:"includeAllInstances" type:"boolean"`
70625
70626	// The instance IDs.
70627	//
70628	// Default: Describes all your instances.
70629	//
70630	// Constraints: Maximum 100 explicitly specified instance IDs.
70631	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
70632
70633	// The maximum number of results to return in a single call. To retrieve the
70634	// remaining results, make another call with the returned NextToken value. This
70635	// value can be between 5 and 1000. You cannot specify this parameter and the
70636	// instance IDs parameter in the same call.
70637	MaxResults *int64 `type:"integer"`
70638
70639	// The token to retrieve the next page of results.
70640	NextToken *string `type:"string"`
70641}
70642
70643// String returns the string representation
70644func (s DescribeInstanceStatusInput) String() string {
70645	return awsutil.Prettify(s)
70646}
70647
70648// GoString returns the string representation
70649func (s DescribeInstanceStatusInput) GoString() string {
70650	return s.String()
70651}
70652
70653// SetDryRun sets the DryRun field's value.
70654func (s *DescribeInstanceStatusInput) SetDryRun(v bool) *DescribeInstanceStatusInput {
70655	s.DryRun = &v
70656	return s
70657}
70658
70659// SetFilters sets the Filters field's value.
70660func (s *DescribeInstanceStatusInput) SetFilters(v []*Filter) *DescribeInstanceStatusInput {
70661	s.Filters = v
70662	return s
70663}
70664
70665// SetIncludeAllInstances sets the IncludeAllInstances field's value.
70666func (s *DescribeInstanceStatusInput) SetIncludeAllInstances(v bool) *DescribeInstanceStatusInput {
70667	s.IncludeAllInstances = &v
70668	return s
70669}
70670
70671// SetInstanceIds sets the InstanceIds field's value.
70672func (s *DescribeInstanceStatusInput) SetInstanceIds(v []*string) *DescribeInstanceStatusInput {
70673	s.InstanceIds = v
70674	return s
70675}
70676
70677// SetMaxResults sets the MaxResults field's value.
70678func (s *DescribeInstanceStatusInput) SetMaxResults(v int64) *DescribeInstanceStatusInput {
70679	s.MaxResults = &v
70680	return s
70681}
70682
70683// SetNextToken sets the NextToken field's value.
70684func (s *DescribeInstanceStatusInput) SetNextToken(v string) *DescribeInstanceStatusInput {
70685	s.NextToken = &v
70686	return s
70687}
70688
70689type DescribeInstanceStatusOutput struct {
70690	_ struct{} `type:"structure"`
70691
70692	// Information about the status of the instances.
70693	InstanceStatuses []*InstanceStatus `locationName:"instanceStatusSet" locationNameList:"item" type:"list"`
70694
70695	// The token to use to retrieve the next page of results. This value is null
70696	// when there are no more results to return.
70697	NextToken *string `locationName:"nextToken" type:"string"`
70698}
70699
70700// String returns the string representation
70701func (s DescribeInstanceStatusOutput) String() string {
70702	return awsutil.Prettify(s)
70703}
70704
70705// GoString returns the string representation
70706func (s DescribeInstanceStatusOutput) GoString() string {
70707	return s.String()
70708}
70709
70710// SetInstanceStatuses sets the InstanceStatuses field's value.
70711func (s *DescribeInstanceStatusOutput) SetInstanceStatuses(v []*InstanceStatus) *DescribeInstanceStatusOutput {
70712	s.InstanceStatuses = v
70713	return s
70714}
70715
70716// SetNextToken sets the NextToken field's value.
70717func (s *DescribeInstanceStatusOutput) SetNextToken(v string) *DescribeInstanceStatusOutput {
70718	s.NextToken = &v
70719	return s
70720}
70721
70722type DescribeInstanceTypeOfferingsInput struct {
70723	_ struct{} `type:"structure"`
70724
70725	// Checks whether you have the required permissions for the action, without
70726	// actually making the request, and provides an error response. If you have
70727	// the required permissions, the error response is DryRunOperation. Otherwise,
70728	// it is UnauthorizedOperation.
70729	DryRun *bool `type:"boolean"`
70730
70731	// One or more filters. Filter names and values are case-sensitive.
70732	//
70733	//    * location - This depends on the location type. For example, if the location
70734	//    type is region (default), the location is the Region code (for example,
70735	//    us-east-2.)
70736	//
70737	//    * instance-type - The instance type. For example, c5.2xlarge.
70738	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
70739
70740	// The location type.
70741	LocationType *string `type:"string" enum:"LocationType"`
70742
70743	// The maximum number of results to return for the request in a single page.
70744	// The remaining results can be seen by sending another request with the next
70745	// token value.
70746	MaxResults *int64 `min:"5" type:"integer"`
70747
70748	// The token to retrieve the next page of results.
70749	NextToken *string `type:"string"`
70750}
70751
70752// String returns the string representation
70753func (s DescribeInstanceTypeOfferingsInput) String() string {
70754	return awsutil.Prettify(s)
70755}
70756
70757// GoString returns the string representation
70758func (s DescribeInstanceTypeOfferingsInput) GoString() string {
70759	return s.String()
70760}
70761
70762// Validate inspects the fields of the type to determine if they are valid.
70763func (s *DescribeInstanceTypeOfferingsInput) Validate() error {
70764	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceTypeOfferingsInput"}
70765	if s.MaxResults != nil && *s.MaxResults < 5 {
70766		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
70767	}
70768
70769	if invalidParams.Len() > 0 {
70770		return invalidParams
70771	}
70772	return nil
70773}
70774
70775// SetDryRun sets the DryRun field's value.
70776func (s *DescribeInstanceTypeOfferingsInput) SetDryRun(v bool) *DescribeInstanceTypeOfferingsInput {
70777	s.DryRun = &v
70778	return s
70779}
70780
70781// SetFilters sets the Filters field's value.
70782func (s *DescribeInstanceTypeOfferingsInput) SetFilters(v []*Filter) *DescribeInstanceTypeOfferingsInput {
70783	s.Filters = v
70784	return s
70785}
70786
70787// SetLocationType sets the LocationType field's value.
70788func (s *DescribeInstanceTypeOfferingsInput) SetLocationType(v string) *DescribeInstanceTypeOfferingsInput {
70789	s.LocationType = &v
70790	return s
70791}
70792
70793// SetMaxResults sets the MaxResults field's value.
70794func (s *DescribeInstanceTypeOfferingsInput) SetMaxResults(v int64) *DescribeInstanceTypeOfferingsInput {
70795	s.MaxResults = &v
70796	return s
70797}
70798
70799// SetNextToken sets the NextToken field's value.
70800func (s *DescribeInstanceTypeOfferingsInput) SetNextToken(v string) *DescribeInstanceTypeOfferingsInput {
70801	s.NextToken = &v
70802	return s
70803}
70804
70805type DescribeInstanceTypeOfferingsOutput struct {
70806	_ struct{} `type:"structure"`
70807
70808	// The instance types offered.
70809	InstanceTypeOfferings []*InstanceTypeOffering `locationName:"instanceTypeOfferingSet" locationNameList:"item" type:"list"`
70810
70811	// The token to use to retrieve the next page of results. This value is null
70812	// when there are no more results to return.
70813	NextToken *string `locationName:"nextToken" type:"string"`
70814}
70815
70816// String returns the string representation
70817func (s DescribeInstanceTypeOfferingsOutput) String() string {
70818	return awsutil.Prettify(s)
70819}
70820
70821// GoString returns the string representation
70822func (s DescribeInstanceTypeOfferingsOutput) GoString() string {
70823	return s.String()
70824}
70825
70826// SetInstanceTypeOfferings sets the InstanceTypeOfferings field's value.
70827func (s *DescribeInstanceTypeOfferingsOutput) SetInstanceTypeOfferings(v []*InstanceTypeOffering) *DescribeInstanceTypeOfferingsOutput {
70828	s.InstanceTypeOfferings = v
70829	return s
70830}
70831
70832// SetNextToken sets the NextToken field's value.
70833func (s *DescribeInstanceTypeOfferingsOutput) SetNextToken(v string) *DescribeInstanceTypeOfferingsOutput {
70834	s.NextToken = &v
70835	return s
70836}
70837
70838type DescribeInstanceTypesInput struct {
70839	_ struct{} `type:"structure"`
70840
70841	// Checks whether you have the required permissions for the action, without
70842	// actually making the request, and provides an error response. If you have
70843	// the required permissions, the error response is DryRunOperation. Otherwise,
70844	// it is UnauthorizedOperation.
70845	DryRun *bool `type:"boolean"`
70846
70847	// One or more filters. Filter names and values are case-sensitive.
70848	//
70849	//    * auto-recovery-supported - Indicates whether auto recovery is supported
70850	//    (true | false).
70851	//
70852	//    * bare-metal - Indicates whether it is a bare metal instance type (true
70853	//    | false).
70854	//
70855	//    * burstable-performance-supported - Indicates whether it is a burstable
70856	//    performance instance type (true | false).
70857	//
70858	//    * current-generation - Indicates whether this instance type is the latest
70859	//    generation instance type of an instance family (true | false).
70860	//
70861	//    * ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps - The baseline
70862	//    bandwidth performance for an EBS-optimized instance type, in Mbps.
70863	//
70864	//    * ebs-info.ebs-optimized-info.baseline-iops - The baseline input/output
70865	//    storage operations per second for an EBS-optimized instance type.
70866	//
70867	//    * ebs-info.ebs-optimized-info.baseline-throughput-in-mbps - The baseline
70868	//    throughput performance for an EBS-optimized instance type, in MB/s.
70869	//
70870	//    * ebs-info.ebs-optimized-info.maximum-bandwidth-in-mbps - The maximum
70871	//    bandwidth performance for an EBS-optimized instance type, in Mbps.
70872	//
70873	//    * ebs-info.ebs-optimized-info.maximum-iops - The maximum input/output
70874	//    storage operations per second for an EBS-optimized instance type.
70875	//
70876	//    * ebs-info.ebs-optimized-info.maximum-throughput-in-mbps - The maximum
70877	//    throughput performance for an EBS-optimized instance type, in MB/s.
70878	//
70879	//    * ebs-info.ebs-optimized-support - Indicates whether the instance type
70880	//    is EBS-optimized (supported | unsupported | default).
70881	//
70882	//    * ebs-info.encryption-support - Indicates whether EBS encryption is supported
70883	//    (supported | unsupported).
70884	//
70885	//    * ebs-info.nvme-support - Indicates whether non-volatile memory express
70886	//    (NVMe) is supported for EBS volumes (required | supported | unsupported).
70887	//
70888	//    * free-tier-eligible - Indicates whether the instance type is eligible
70889	//    to use in the free tier (true | false).
70890	//
70891	//    * hibernation-supported - Indicates whether On-Demand hibernation is supported
70892	//    (true | false).
70893	//
70894	//    * hypervisor - The hypervisor (nitro | xen).
70895	//
70896	//    * instance-storage-info.disk.count - The number of local disks.
70897	//
70898	//    * instance-storage-info.disk.size-in-gb - The storage size of each instance
70899	//    storage disk, in GB.
70900	//
70901	//    * instance-storage-info.disk.type - The storage technology for the local
70902	//    instance storage disks (hdd | ssd).
70903	//
70904	//    * instance-storage-info.nvme-support - Indicates whether non-volatile
70905	//    memory express (NVMe) is supported for instance store (required | supported)
70906	//    | unsupported).
70907	//
70908	//    * instance-storage-info.total-size-in-gb - The total amount of storage
70909	//    available from all local instance storage, in GB.
70910	//
70911	//    * instance-storage-supported - Indicates whether the instance type has
70912	//    local instance storage (true | false).
70913	//
70914	//    * instance-type - The instance type (for example c5.2xlarge or c5*).
70915	//
70916	//    * memory-info.size-in-mib - The memory size.
70917	//
70918	//    * network-info.efa-info.maximum-efa-interfaces - The maximum number of
70919	//    Elastic Fabric Adapters (EFAs) per instance.
70920	//
70921	//    * network-info.efa-supported - Indicates whether the instance type supports
70922	//    Elastic Fabric Adapter (EFA) (true | false).
70923	//
70924	//    * network-info.ena-support - Indicates whether Elastic Network Adapter
70925	//    (ENA) is supported or required (required | supported | unsupported).
70926	//
70927	//    * network-info.encryption-in-transit-supported - Indicates whether the
70928	//    instance type automatically encrypts in-transit traffic between instances.
70929	//
70930	//    * network-info.ipv4-addresses-per-interface - The maximum number of private
70931	//    IPv4 addresses per network interface.
70932	//
70933	//    * network-info.ipv6-addresses-per-interface - The maximum number of private
70934	//    IPv6 addresses per network interface.
70935	//
70936	//    * network-info.ipv6-supported - Indicates whether the instance type supports
70937	//    IPv6 (true | false).
70938	//
70939	//    * network-info.maximum-network-interfaces - The maximum number of network
70940	//    interfaces per instance.
70941	//
70942	//    * network-info.network-performance - The network performance (for example,
70943	//    "25 Gigabit").
70944	//
70945	//    * processor-info.supported-architecture - The CPU architecture (arm64
70946	//    | i386 | x86_64).
70947	//
70948	//    * processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in
70949	//    GHz.
70950	//
70951	//    * supported-boot-mode - The boot mode (legacy-bios | uefi).
70952	//
70953	//    * supported-root-device-type - The root device type (ebs | instance-store).
70954	//
70955	//    * supported-usage-class - The usage class (on-demand | spot).
70956	//
70957	//    * supported-virtualization-type - The virtualization type (hvm | paravirtual).
70958	//
70959	//    * vcpu-info.default-cores - The default number of cores for the instance
70960	//    type.
70961	//
70962	//    * vcpu-info.default-threads-per-core - The default number of threads per
70963	//    core for the instance type.
70964	//
70965	//    * vcpu-info.default-vcpus - The default number of vCPUs for the instance
70966	//    type.
70967	//
70968	//    * vcpu-info.valid-cores - The number of cores that can be configured for
70969	//    the instance type.
70970	//
70971	//    * vcpu-info.valid-threads-per-core - The number of threads per core that
70972	//    can be configured for the instance type. For example, "1" or "1,2".
70973	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
70974
70975	// The instance types. For more information, see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
70976	// in the Amazon EC2 User Guide.
70977	InstanceTypes []*string `locationName:"InstanceType" type:"list"`
70978
70979	// The maximum number of results to return for the request in a single page.
70980	// The remaining results can be seen by sending another request with the next
70981	// token value.
70982	MaxResults *int64 `min:"5" type:"integer"`
70983
70984	// The token to retrieve the next page of results.
70985	NextToken *string `type:"string"`
70986}
70987
70988// String returns the string representation
70989func (s DescribeInstanceTypesInput) String() string {
70990	return awsutil.Prettify(s)
70991}
70992
70993// GoString returns the string representation
70994func (s DescribeInstanceTypesInput) GoString() string {
70995	return s.String()
70996}
70997
70998// Validate inspects the fields of the type to determine if they are valid.
70999func (s *DescribeInstanceTypesInput) Validate() error {
71000	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceTypesInput"}
71001	if s.MaxResults != nil && *s.MaxResults < 5 {
71002		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
71003	}
71004
71005	if invalidParams.Len() > 0 {
71006		return invalidParams
71007	}
71008	return nil
71009}
71010
71011// SetDryRun sets the DryRun field's value.
71012func (s *DescribeInstanceTypesInput) SetDryRun(v bool) *DescribeInstanceTypesInput {
71013	s.DryRun = &v
71014	return s
71015}
71016
71017// SetFilters sets the Filters field's value.
71018func (s *DescribeInstanceTypesInput) SetFilters(v []*Filter) *DescribeInstanceTypesInput {
71019	s.Filters = v
71020	return s
71021}
71022
71023// SetInstanceTypes sets the InstanceTypes field's value.
71024func (s *DescribeInstanceTypesInput) SetInstanceTypes(v []*string) *DescribeInstanceTypesInput {
71025	s.InstanceTypes = v
71026	return s
71027}
71028
71029// SetMaxResults sets the MaxResults field's value.
71030func (s *DescribeInstanceTypesInput) SetMaxResults(v int64) *DescribeInstanceTypesInput {
71031	s.MaxResults = &v
71032	return s
71033}
71034
71035// SetNextToken sets the NextToken field's value.
71036func (s *DescribeInstanceTypesInput) SetNextToken(v string) *DescribeInstanceTypesInput {
71037	s.NextToken = &v
71038	return s
71039}
71040
71041type DescribeInstanceTypesOutput struct {
71042	_ struct{} `type:"structure"`
71043
71044	// The instance type. For more information, see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
71045	// in the Amazon EC2 User Guide.
71046	InstanceTypes []*InstanceTypeInfo `locationName:"instanceTypeSet" locationNameList:"item" type:"list"`
71047
71048	// The token to use to retrieve the next page of results. This value is null
71049	// when there are no more results to return.
71050	NextToken *string `locationName:"nextToken" type:"string"`
71051}
71052
71053// String returns the string representation
71054func (s DescribeInstanceTypesOutput) String() string {
71055	return awsutil.Prettify(s)
71056}
71057
71058// GoString returns the string representation
71059func (s DescribeInstanceTypesOutput) GoString() string {
71060	return s.String()
71061}
71062
71063// SetInstanceTypes sets the InstanceTypes field's value.
71064func (s *DescribeInstanceTypesOutput) SetInstanceTypes(v []*InstanceTypeInfo) *DescribeInstanceTypesOutput {
71065	s.InstanceTypes = v
71066	return s
71067}
71068
71069// SetNextToken sets the NextToken field's value.
71070func (s *DescribeInstanceTypesOutput) SetNextToken(v string) *DescribeInstanceTypesOutput {
71071	s.NextToken = &v
71072	return s
71073}
71074
71075type DescribeInstancesInput struct {
71076	_ struct{} `type:"structure"`
71077
71078	// Checks whether you have the required permissions for the action, without
71079	// actually making the request, and provides an error response. If you have
71080	// the required permissions, the error response is DryRunOperation. Otherwise,
71081	// it is UnauthorizedOperation.
71082	DryRun *bool `locationName:"dryRun" type:"boolean"`
71083
71084	// The filters.
71085	//
71086	//    * affinity - The affinity setting for an instance running on a Dedicated
71087	//    Host (default | host).
71088	//
71089	//    * architecture - The instance architecture (i386 | x86_64 | arm64).
71090	//
71091	//    * availability-zone - The Availability Zone of the instance.
71092	//
71093	//    * block-device-mapping.attach-time - The attach time for an EBS volume
71094	//    mapped to the instance, for example, 2010-09-15T17:15:20.000Z.
71095	//
71096	//    * block-device-mapping.delete-on-termination - A Boolean that indicates
71097	//    whether the EBS volume is deleted on instance termination.
71098	//
71099	//    * block-device-mapping.device-name - The device name specified in the
71100	//    block device mapping (for example, /dev/sdh or xvdh).
71101	//
71102	//    * block-device-mapping.status - The status for the EBS volume (attaching
71103	//    | attached | detaching | detached).
71104	//
71105	//    * block-device-mapping.volume-id - The volume ID of the EBS volume.
71106	//
71107	//    * client-token - The idempotency token you provided when you launched
71108	//    the instance.
71109	//
71110	//    * dns-name - The public DNS name of the instance.
71111	//
71112	//    * group-id - The ID of the security group for the instance. EC2-Classic
71113	//    only.
71114	//
71115	//    * group-name - The name of the security group for the instance. EC2-Classic
71116	//    only.
71117	//
71118	//    * hibernation-options.configured - A Boolean that indicates whether the
71119	//    instance is enabled for hibernation. A value of true means that the instance
71120	//    is enabled for hibernation.
71121	//
71122	//    * host-id - The ID of the Dedicated Host on which the instance is running,
71123	//    if applicable.
71124	//
71125	//    * hypervisor - The hypervisor type of the instance (ovm | xen). The value
71126	//    xen is used for both Xen and Nitro hypervisors.
71127	//
71128	//    * iam-instance-profile.arn - The instance profile associated with the
71129	//    instance. Specified as an ARN.
71130	//
71131	//    * image-id - The ID of the image used to launch the instance.
71132	//
71133	//    * instance-id - The ID of the instance.
71134	//
71135	//    * instance-lifecycle - Indicates whether this is a Spot Instance or a
71136	//    Scheduled Instance (spot | scheduled).
71137	//
71138	//    * instance-state-code - The state of the instance, as a 16-bit unsigned
71139	//    integer. The high byte is used for internal purposes and should be ignored.
71140	//    The low byte is set based on the state represented. The valid values are:
71141	//    0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
71142	//    and 80 (stopped).
71143	//
71144	//    * instance-state-name - The state of the instance (pending | running |
71145	//    shutting-down | terminated | stopping | stopped).
71146	//
71147	//    * instance-type - The type of instance (for example, t2.micro).
71148	//
71149	//    * instance.group-id - The ID of the security group for the instance.
71150	//
71151	//    * instance.group-name - The name of the security group for the instance.
71152	//
71153	//    * ip-address - The public IPv4 address of the instance.
71154	//
71155	//    * kernel-id - The kernel ID.
71156	//
71157	//    * key-name - The name of the key pair used when the instance was launched.
71158	//
71159	//    * launch-index - When launching multiple instances, this is the index
71160	//    for the instance in the launch group (for example, 0, 1, 2, and so on).
71161	//
71162	//    * launch-time - The time when the instance was launched.
71163	//
71164	//    * metadata-options.http-tokens - The metadata request authorization state
71165	//    (optional | required)
71166	//
71167	//    * metadata-options.http-put-response-hop-limit - The http metadata request
71168	//    put response hop limit (integer, possible values 1 to 64)
71169	//
71170	//    * metadata-options.http-endpoint - Enable or disable metadata access on
71171	//    http endpoint (enabled | disabled)
71172	//
71173	//    * monitoring-state - Indicates whether detailed monitoring is enabled
71174	//    (disabled | enabled).
71175	//
71176	//    * network-interface.addresses.private-ip-address - The private IPv4 address
71177	//    associated with the network interface.
71178	//
71179	//    * network-interface.addresses.primary - Specifies whether the IPv4 address
71180	//    of the network interface is the primary private IPv4 address.
71181	//
71182	//    * network-interface.addresses.association.public-ip - The ID of the association
71183	//    of an Elastic IP address (IPv4) with a network interface.
71184	//
71185	//    * network-interface.addresses.association.ip-owner-id - The owner ID of
71186	//    the private IPv4 address associated with the network interface.
71187	//
71188	//    * network-interface.association.public-ip - The address of the Elastic
71189	//    IP address (IPv4) bound to the network interface.
71190	//
71191	//    * network-interface.association.ip-owner-id - The owner of the Elastic
71192	//    IP address (IPv4) associated with the network interface.
71193	//
71194	//    * network-interface.association.allocation-id - The allocation ID returned
71195	//    when you allocated the Elastic IP address (IPv4) for your network interface.
71196	//
71197	//    * network-interface.association.association-id - The association ID returned
71198	//    when the network interface was associated with an IPv4 address.
71199	//
71200	//    * network-interface.attachment.attachment-id - The ID of the interface
71201	//    attachment.
71202	//
71203	//    * network-interface.attachment.instance-id - The ID of the instance to
71204	//    which the network interface is attached.
71205	//
71206	//    * network-interface.attachment.instance-owner-id - The owner ID of the
71207	//    instance to which the network interface is attached.
71208	//
71209	//    * network-interface.attachment.device-index - The device index to which
71210	//    the network interface is attached.
71211	//
71212	//    * network-interface.attachment.status - The status of the attachment (attaching
71213	//    | attached | detaching | detached).
71214	//
71215	//    * network-interface.attachment.attach-time - The time that the network
71216	//    interface was attached to an instance.
71217	//
71218	//    * network-interface.attachment.delete-on-termination - Specifies whether
71219	//    the attachment is deleted when an instance is terminated.
71220	//
71221	//    * network-interface.availability-zone - The Availability Zone for the
71222	//    network interface.
71223	//
71224	//    * network-interface.description - The description of the network interface.
71225	//
71226	//    * network-interface.group-id - The ID of a security group associated with
71227	//    the network interface.
71228	//
71229	//    * network-interface.group-name - The name of a security group associated
71230	//    with the network interface.
71231	//
71232	//    * network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated
71233	//    with the network interface.
71234	//
71235	//    * network-interface.mac-address - The MAC address of the network interface.
71236	//
71237	//    * network-interface.network-interface-id - The ID of the network interface.
71238	//
71239	//    * network-interface.owner-id - The ID of the owner of the network interface.
71240	//
71241	//    * network-interface.private-dns-name - The private DNS name of the network
71242	//    interface.
71243	//
71244	//    * network-interface.requester-id - The requester ID for the network interface.
71245	//
71246	//    * network-interface.requester-managed - Indicates whether the network
71247	//    interface is being managed by Amazon Web Services.
71248	//
71249	//    * network-interface.status - The status of the network interface (available)
71250	//    | in-use).
71251	//
71252	//    * network-interface.source-dest-check - Whether the network interface
71253	//    performs source/destination checking. A value of true means that checking
71254	//    is enabled, and false means that checking is disabled. The value must
71255	//    be false for the network interface to perform network address translation
71256	//    (NAT) in your VPC.
71257	//
71258	//    * network-interface.subnet-id - The ID of the subnet for the network interface.
71259	//
71260	//    * network-interface.vpc-id - The ID of the VPC for the network interface.
71261	//
71262	//    * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.
71263	//
71264	//    * owner-id - The Amazon Web Services account ID of the instance owner.
71265	//
71266	//    * placement-group-name - The name of the placement group for the instance.
71267	//
71268	//    * placement-partition-number - The partition in which the instance is
71269	//    located.
71270	//
71271	//    * platform - The platform. To list only Windows instances, use windows.
71272	//
71273	//    * private-dns-name - The private IPv4 DNS name of the instance.
71274	//
71275	//    * private-ip-address - The private IPv4 address of the instance.
71276	//
71277	//    * product-code - The product code associated with the AMI used to launch
71278	//    the instance.
71279	//
71280	//    * product-code.type - The type of product code (devpay | marketplace).
71281	//
71282	//    * ramdisk-id - The RAM disk ID.
71283	//
71284	//    * reason - The reason for the current state of the instance (for example,
71285	//    shows "User Initiated [date]" when you stop or terminate the instance).
71286	//    Similar to the state-reason-code filter.
71287	//
71288	//    * requester-id - The ID of the entity that launched the instance on your
71289	//    behalf (for example, Amazon Web Services Management Console, Auto Scaling,
71290	//    and so on).
71291	//
71292	//    * reservation-id - The ID of the instance's reservation. A reservation
71293	//    ID is created any time you launch an instance. A reservation ID has a
71294	//    one-to-one relationship with an instance launch request, but can be associated
71295	//    with more than one instance if you launch multiple instances using the
71296	//    same launch request. For example, if you launch one instance, you get
71297	//    one reservation ID. If you launch ten instances using the same launch
71298	//    request, you also get one reservation ID.
71299	//
71300	//    * root-device-name - The device name of the root device volume (for example,
71301	//    /dev/sda1).
71302	//
71303	//    * root-device-type - The type of the root device volume (ebs | instance-store).
71304	//
71305	//    * source-dest-check - Indicates whether the instance performs source/destination
71306	//    checking. A value of true means that checking is enabled, and false means
71307	//    that checking is disabled. The value must be false for the instance to
71308	//    perform network address translation (NAT) in your VPC.
71309	//
71310	//    * spot-instance-request-id - The ID of the Spot Instance request.
71311	//
71312	//    * state-reason-code - The reason code for the state change.
71313	//
71314	//    * state-reason-message - A message that describes the state change.
71315	//
71316	//    * subnet-id - The ID of the subnet for the instance.
71317	//
71318	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
71319	//    Use the tag key in the filter name and the tag value as the filter value.
71320	//    For example, to find all resources that have a tag with the key Owner
71321	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
71322	//    the filter value.
71323	//
71324	//    * tag-key - The key of a tag assigned to the resource. Use this filter
71325	//    to find all resources that have a tag with a specific key, regardless
71326	//    of the tag value.
71327	//
71328	//    * tenancy - The tenancy of an instance (dedicated | default | host).
71329	//
71330	//    * virtualization-type - The virtualization type of the instance (paravirtual
71331	//    | hvm).
71332	//
71333	//    * vpc-id - The ID of the VPC that the instance is running in.
71334	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
71335
71336	// The instance IDs.
71337	//
71338	// Default: Describes all your instances.
71339	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
71340
71341	// The maximum number of results to return in a single call. To retrieve the
71342	// remaining results, make another call with the returned NextToken value. This
71343	// value can be between 5 and 1000. You cannot specify this parameter and the
71344	// instance IDs parameter in the same call.
71345	MaxResults *int64 `locationName:"maxResults" type:"integer"`
71346
71347	// The token to request the next page of results.
71348	NextToken *string `locationName:"nextToken" type:"string"`
71349}
71350
71351// String returns the string representation
71352func (s DescribeInstancesInput) String() string {
71353	return awsutil.Prettify(s)
71354}
71355
71356// GoString returns the string representation
71357func (s DescribeInstancesInput) GoString() string {
71358	return s.String()
71359}
71360
71361// SetDryRun sets the DryRun field's value.
71362func (s *DescribeInstancesInput) SetDryRun(v bool) *DescribeInstancesInput {
71363	s.DryRun = &v
71364	return s
71365}
71366
71367// SetFilters sets the Filters field's value.
71368func (s *DescribeInstancesInput) SetFilters(v []*Filter) *DescribeInstancesInput {
71369	s.Filters = v
71370	return s
71371}
71372
71373// SetInstanceIds sets the InstanceIds field's value.
71374func (s *DescribeInstancesInput) SetInstanceIds(v []*string) *DescribeInstancesInput {
71375	s.InstanceIds = v
71376	return s
71377}
71378
71379// SetMaxResults sets the MaxResults field's value.
71380func (s *DescribeInstancesInput) SetMaxResults(v int64) *DescribeInstancesInput {
71381	s.MaxResults = &v
71382	return s
71383}
71384
71385// SetNextToken sets the NextToken field's value.
71386func (s *DescribeInstancesInput) SetNextToken(v string) *DescribeInstancesInput {
71387	s.NextToken = &v
71388	return s
71389}
71390
71391type DescribeInstancesOutput struct {
71392	_ struct{} `type:"structure"`
71393
71394	// The token to use to retrieve the next page of results. This value is null
71395	// when there are no more results to return.
71396	NextToken *string `locationName:"nextToken" type:"string"`
71397
71398	// Information about the reservations.
71399	Reservations []*Reservation `locationName:"reservationSet" locationNameList:"item" type:"list"`
71400}
71401
71402// String returns the string representation
71403func (s DescribeInstancesOutput) String() string {
71404	return awsutil.Prettify(s)
71405}
71406
71407// GoString returns the string representation
71408func (s DescribeInstancesOutput) GoString() string {
71409	return s.String()
71410}
71411
71412// SetNextToken sets the NextToken field's value.
71413func (s *DescribeInstancesOutput) SetNextToken(v string) *DescribeInstancesOutput {
71414	s.NextToken = &v
71415	return s
71416}
71417
71418// SetReservations sets the Reservations field's value.
71419func (s *DescribeInstancesOutput) SetReservations(v []*Reservation) *DescribeInstancesOutput {
71420	s.Reservations = v
71421	return s
71422}
71423
71424type DescribeInternetGatewaysInput struct {
71425	_ struct{} `type:"structure"`
71426
71427	// Checks whether you have the required permissions for the action, without
71428	// actually making the request, and provides an error response. If you have
71429	// the required permissions, the error response is DryRunOperation. Otherwise,
71430	// it is UnauthorizedOperation.
71431	DryRun *bool `locationName:"dryRun" type:"boolean"`
71432
71433	// One or more filters.
71434	//
71435	//    * attachment.state - The current state of the attachment between the gateway
71436	//    and the VPC (available). Present only if a VPC is attached.
71437	//
71438	//    * attachment.vpc-id - The ID of an attached VPC.
71439	//
71440	//    * internet-gateway-id - The ID of the Internet gateway.
71441	//
71442	//    * owner-id - The ID of the Amazon Web Services account that owns the internet
71443	//    gateway.
71444	//
71445	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
71446	//    Use the tag key in the filter name and the tag value as the filter value.
71447	//    For example, to find all resources that have a tag with the key Owner
71448	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
71449	//    the filter value.
71450	//
71451	//    * tag-key - The key of a tag assigned to the resource. Use this filter
71452	//    to find all resources assigned a tag with a specific key, regardless of
71453	//    the tag value.
71454	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
71455
71456	// One or more internet gateway IDs.
71457	//
71458	// Default: Describes all your internet gateways.
71459	InternetGatewayIds []*string `locationName:"internetGatewayId" locationNameList:"item" type:"list"`
71460
71461	// The maximum number of results to return with a single call. To retrieve the
71462	// remaining results, make another call with the returned nextToken value.
71463	MaxResults *int64 `min:"5" type:"integer"`
71464
71465	// The token for the next page of results.
71466	NextToken *string `type:"string"`
71467}
71468
71469// String returns the string representation
71470func (s DescribeInternetGatewaysInput) String() string {
71471	return awsutil.Prettify(s)
71472}
71473
71474// GoString returns the string representation
71475func (s DescribeInternetGatewaysInput) GoString() string {
71476	return s.String()
71477}
71478
71479// Validate inspects the fields of the type to determine if they are valid.
71480func (s *DescribeInternetGatewaysInput) Validate() error {
71481	invalidParams := request.ErrInvalidParams{Context: "DescribeInternetGatewaysInput"}
71482	if s.MaxResults != nil && *s.MaxResults < 5 {
71483		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
71484	}
71485
71486	if invalidParams.Len() > 0 {
71487		return invalidParams
71488	}
71489	return nil
71490}
71491
71492// SetDryRun sets the DryRun field's value.
71493func (s *DescribeInternetGatewaysInput) SetDryRun(v bool) *DescribeInternetGatewaysInput {
71494	s.DryRun = &v
71495	return s
71496}
71497
71498// SetFilters sets the Filters field's value.
71499func (s *DescribeInternetGatewaysInput) SetFilters(v []*Filter) *DescribeInternetGatewaysInput {
71500	s.Filters = v
71501	return s
71502}
71503
71504// SetInternetGatewayIds sets the InternetGatewayIds field's value.
71505func (s *DescribeInternetGatewaysInput) SetInternetGatewayIds(v []*string) *DescribeInternetGatewaysInput {
71506	s.InternetGatewayIds = v
71507	return s
71508}
71509
71510// SetMaxResults sets the MaxResults field's value.
71511func (s *DescribeInternetGatewaysInput) SetMaxResults(v int64) *DescribeInternetGatewaysInput {
71512	s.MaxResults = &v
71513	return s
71514}
71515
71516// SetNextToken sets the NextToken field's value.
71517func (s *DescribeInternetGatewaysInput) SetNextToken(v string) *DescribeInternetGatewaysInput {
71518	s.NextToken = &v
71519	return s
71520}
71521
71522type DescribeInternetGatewaysOutput struct {
71523	_ struct{} `type:"structure"`
71524
71525	// Information about one or more internet gateways.
71526	InternetGateways []*InternetGateway `locationName:"internetGatewaySet" locationNameList:"item" type:"list"`
71527
71528	// The token to use to retrieve the next page of results. This value is null
71529	// when there are no more results to return.
71530	NextToken *string `locationName:"nextToken" type:"string"`
71531}
71532
71533// String returns the string representation
71534func (s DescribeInternetGatewaysOutput) String() string {
71535	return awsutil.Prettify(s)
71536}
71537
71538// GoString returns the string representation
71539func (s DescribeInternetGatewaysOutput) GoString() string {
71540	return s.String()
71541}
71542
71543// SetInternetGateways sets the InternetGateways field's value.
71544func (s *DescribeInternetGatewaysOutput) SetInternetGateways(v []*InternetGateway) *DescribeInternetGatewaysOutput {
71545	s.InternetGateways = v
71546	return s
71547}
71548
71549// SetNextToken sets the NextToken field's value.
71550func (s *DescribeInternetGatewaysOutput) SetNextToken(v string) *DescribeInternetGatewaysOutput {
71551	s.NextToken = &v
71552	return s
71553}
71554
71555type DescribeIpv6PoolsInput struct {
71556	_ struct{} `type:"structure"`
71557
71558	// Checks whether you have the required permissions for the action, without
71559	// actually making the request, and provides an error response. If you have
71560	// the required permissions, the error response is DryRunOperation. Otherwise,
71561	// it is UnauthorizedOperation.
71562	DryRun *bool `type:"boolean"`
71563
71564	// One or more filters.
71565	//
71566	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
71567	//    Use the tag key in the filter name and the tag value as the filter value.
71568	//    For example, to find all resources that have a tag with the key Owner
71569	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
71570	//    the filter value.
71571	//
71572	//    * tag-key - The key of a tag assigned to the resource. Use this filter
71573	//    to find all resources assigned a tag with a specific key, regardless of
71574	//    the tag value.
71575	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
71576
71577	// The maximum number of results to return with a single call. To retrieve the
71578	// remaining results, make another call with the returned nextToken value.
71579	MaxResults *int64 `min:"1" type:"integer"`
71580
71581	// The token for the next page of results.
71582	NextToken *string `type:"string"`
71583
71584	// The IDs of the IPv6 address pools.
71585	PoolIds []*string `locationName:"PoolId" locationNameList:"item" type:"list"`
71586}
71587
71588// String returns the string representation
71589func (s DescribeIpv6PoolsInput) String() string {
71590	return awsutil.Prettify(s)
71591}
71592
71593// GoString returns the string representation
71594func (s DescribeIpv6PoolsInput) GoString() string {
71595	return s.String()
71596}
71597
71598// Validate inspects the fields of the type to determine if they are valid.
71599func (s *DescribeIpv6PoolsInput) Validate() error {
71600	invalidParams := request.ErrInvalidParams{Context: "DescribeIpv6PoolsInput"}
71601	if s.MaxResults != nil && *s.MaxResults < 1 {
71602		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
71603	}
71604
71605	if invalidParams.Len() > 0 {
71606		return invalidParams
71607	}
71608	return nil
71609}
71610
71611// SetDryRun sets the DryRun field's value.
71612func (s *DescribeIpv6PoolsInput) SetDryRun(v bool) *DescribeIpv6PoolsInput {
71613	s.DryRun = &v
71614	return s
71615}
71616
71617// SetFilters sets the Filters field's value.
71618func (s *DescribeIpv6PoolsInput) SetFilters(v []*Filter) *DescribeIpv6PoolsInput {
71619	s.Filters = v
71620	return s
71621}
71622
71623// SetMaxResults sets the MaxResults field's value.
71624func (s *DescribeIpv6PoolsInput) SetMaxResults(v int64) *DescribeIpv6PoolsInput {
71625	s.MaxResults = &v
71626	return s
71627}
71628
71629// SetNextToken sets the NextToken field's value.
71630func (s *DescribeIpv6PoolsInput) SetNextToken(v string) *DescribeIpv6PoolsInput {
71631	s.NextToken = &v
71632	return s
71633}
71634
71635// SetPoolIds sets the PoolIds field's value.
71636func (s *DescribeIpv6PoolsInput) SetPoolIds(v []*string) *DescribeIpv6PoolsInput {
71637	s.PoolIds = v
71638	return s
71639}
71640
71641type DescribeIpv6PoolsOutput struct {
71642	_ struct{} `type:"structure"`
71643
71644	// Information about the IPv6 address pools.
71645	Ipv6Pools []*Ipv6Pool `locationName:"ipv6PoolSet" locationNameList:"item" type:"list"`
71646
71647	// The token to use to retrieve the next page of results. This value is null
71648	// when there are no more results to return.
71649	NextToken *string `locationName:"nextToken" type:"string"`
71650}
71651
71652// String returns the string representation
71653func (s DescribeIpv6PoolsOutput) String() string {
71654	return awsutil.Prettify(s)
71655}
71656
71657// GoString returns the string representation
71658func (s DescribeIpv6PoolsOutput) GoString() string {
71659	return s.String()
71660}
71661
71662// SetIpv6Pools sets the Ipv6Pools field's value.
71663func (s *DescribeIpv6PoolsOutput) SetIpv6Pools(v []*Ipv6Pool) *DescribeIpv6PoolsOutput {
71664	s.Ipv6Pools = v
71665	return s
71666}
71667
71668// SetNextToken sets the NextToken field's value.
71669func (s *DescribeIpv6PoolsOutput) SetNextToken(v string) *DescribeIpv6PoolsOutput {
71670	s.NextToken = &v
71671	return s
71672}
71673
71674type DescribeKeyPairsInput struct {
71675	_ struct{} `type:"structure"`
71676
71677	// Checks whether you have the required permissions for the action, without
71678	// actually making the request, and provides an error response. If you have
71679	// the required permissions, the error response is DryRunOperation. Otherwise,
71680	// it is UnauthorizedOperation.
71681	DryRun *bool `locationName:"dryRun" type:"boolean"`
71682
71683	// The filters.
71684	//
71685	//    * key-pair-id - The ID of the key pair.
71686	//
71687	//    * fingerprint - The fingerprint of the key pair.
71688	//
71689	//    * key-name - The name of the key pair.
71690	//
71691	//    * tag-key - The key of a tag assigned to the resource. Use this filter
71692	//    to find all resources assigned a tag with a specific key, regardless of
71693	//    the tag value.
71694	//
71695	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
71696	//    Use the tag key in the filter name and the tag value as the filter value.
71697	//    For example, to find all resources that have a tag with the key Owner
71698	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
71699	//    the filter value.
71700	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
71701
71702	// The key pair names.
71703	//
71704	// Default: Describes all of your key pairs.
71705	KeyNames []*string `locationName:"KeyName" locationNameList:"KeyName" type:"list"`
71706
71707	// The IDs of the key pairs.
71708	KeyPairIds []*string `locationName:"KeyPairId" locationNameList:"KeyPairId" type:"list"`
71709}
71710
71711// String returns the string representation
71712func (s DescribeKeyPairsInput) String() string {
71713	return awsutil.Prettify(s)
71714}
71715
71716// GoString returns the string representation
71717func (s DescribeKeyPairsInput) GoString() string {
71718	return s.String()
71719}
71720
71721// SetDryRun sets the DryRun field's value.
71722func (s *DescribeKeyPairsInput) SetDryRun(v bool) *DescribeKeyPairsInput {
71723	s.DryRun = &v
71724	return s
71725}
71726
71727// SetFilters sets the Filters field's value.
71728func (s *DescribeKeyPairsInput) SetFilters(v []*Filter) *DescribeKeyPairsInput {
71729	s.Filters = v
71730	return s
71731}
71732
71733// SetKeyNames sets the KeyNames field's value.
71734func (s *DescribeKeyPairsInput) SetKeyNames(v []*string) *DescribeKeyPairsInput {
71735	s.KeyNames = v
71736	return s
71737}
71738
71739// SetKeyPairIds sets the KeyPairIds field's value.
71740func (s *DescribeKeyPairsInput) SetKeyPairIds(v []*string) *DescribeKeyPairsInput {
71741	s.KeyPairIds = v
71742	return s
71743}
71744
71745type DescribeKeyPairsOutput struct {
71746	_ struct{} `type:"structure"`
71747
71748	// Information about the key pairs.
71749	KeyPairs []*KeyPairInfo `locationName:"keySet" locationNameList:"item" type:"list"`
71750}
71751
71752// String returns the string representation
71753func (s DescribeKeyPairsOutput) String() string {
71754	return awsutil.Prettify(s)
71755}
71756
71757// GoString returns the string representation
71758func (s DescribeKeyPairsOutput) GoString() string {
71759	return s.String()
71760}
71761
71762// SetKeyPairs sets the KeyPairs field's value.
71763func (s *DescribeKeyPairsOutput) SetKeyPairs(v []*KeyPairInfo) *DescribeKeyPairsOutput {
71764	s.KeyPairs = v
71765	return s
71766}
71767
71768type DescribeLaunchTemplateVersionsInput struct {
71769	_ struct{} `type:"structure"`
71770
71771	// Checks whether you have the required permissions for the action, without
71772	// actually making the request, and provides an error response. If you have
71773	// the required permissions, the error response is DryRunOperation. Otherwise,
71774	// it is UnauthorizedOperation.
71775	DryRun *bool `type:"boolean"`
71776
71777	// One or more filters.
71778	//
71779	//    * create-time - The time the launch template version was created.
71780	//
71781	//    * ebs-optimized - A boolean that indicates whether the instance is optimized
71782	//    for Amazon EBS I/O.
71783	//
71784	//    * iam-instance-profile - The ARN of the IAM instance profile.
71785	//
71786	//    * image-id - The ID of the AMI.
71787	//
71788	//    * instance-type - The instance type.
71789	//
71790	//    * is-default-version - A boolean that indicates whether the launch template
71791	//    version is the default version.
71792	//
71793	//    * kernel-id - The kernel ID.
71794	//
71795	//    * ram-disk-id - The RAM disk ID.
71796	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
71797
71798	// The ID of the launch template. To describe one or more versions of a specified
71799	// launch template, you must specify either the launch template ID or the launch
71800	// template name in the request. To describe all the latest or default launch
71801	// template versions in your account, you must omit this parameter.
71802	LaunchTemplateId *string `type:"string"`
71803
71804	// The name of the launch template. To describe one or more versions of a specified
71805	// launch template, you must specify either the launch template ID or the launch
71806	// template name in the request. To describe all the latest or default launch
71807	// template versions in your account, you must omit this parameter.
71808	LaunchTemplateName *string `min:"3" type:"string"`
71809
71810	// The maximum number of results to return in a single call. To retrieve the
71811	// remaining results, make another call with the returned NextToken value. This
71812	// value can be between 1 and 200.
71813	MaxResults *int64 `type:"integer"`
71814
71815	// The version number up to which to describe launch template versions.
71816	MaxVersion *string `type:"string"`
71817
71818	// The version number after which to describe launch template versions.
71819	MinVersion *string `type:"string"`
71820
71821	// The token to request the next page of results.
71822	NextToken *string `type:"string"`
71823
71824	// One or more versions of the launch template. Valid values depend on whether
71825	// you are describing a specified launch template (by ID or name) or all launch
71826	// templates in your account.
71827	//
71828	// To describe one or more versions of a specified launch template, valid values
71829	// are $Latest, $Default, and numbers.
71830	//
71831	// To describe all launch templates in your account that are defined as the
71832	// latest version, the valid value is $Latest. To describe all launch templates
71833	// in your account that are defined as the default version, the valid value
71834	// is $Default. You can specify $Latest and $Default in the same call. You cannot
71835	// specify numbers.
71836	Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list"`
71837}
71838
71839// String returns the string representation
71840func (s DescribeLaunchTemplateVersionsInput) String() string {
71841	return awsutil.Prettify(s)
71842}
71843
71844// GoString returns the string representation
71845func (s DescribeLaunchTemplateVersionsInput) GoString() string {
71846	return s.String()
71847}
71848
71849// Validate inspects the fields of the type to determine if they are valid.
71850func (s *DescribeLaunchTemplateVersionsInput) Validate() error {
71851	invalidParams := request.ErrInvalidParams{Context: "DescribeLaunchTemplateVersionsInput"}
71852	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
71853		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
71854	}
71855
71856	if invalidParams.Len() > 0 {
71857		return invalidParams
71858	}
71859	return nil
71860}
71861
71862// SetDryRun sets the DryRun field's value.
71863func (s *DescribeLaunchTemplateVersionsInput) SetDryRun(v bool) *DescribeLaunchTemplateVersionsInput {
71864	s.DryRun = &v
71865	return s
71866}
71867
71868// SetFilters sets the Filters field's value.
71869func (s *DescribeLaunchTemplateVersionsInput) SetFilters(v []*Filter) *DescribeLaunchTemplateVersionsInput {
71870	s.Filters = v
71871	return s
71872}
71873
71874// SetLaunchTemplateId sets the LaunchTemplateId field's value.
71875func (s *DescribeLaunchTemplateVersionsInput) SetLaunchTemplateId(v string) *DescribeLaunchTemplateVersionsInput {
71876	s.LaunchTemplateId = &v
71877	return s
71878}
71879
71880// SetLaunchTemplateName sets the LaunchTemplateName field's value.
71881func (s *DescribeLaunchTemplateVersionsInput) SetLaunchTemplateName(v string) *DescribeLaunchTemplateVersionsInput {
71882	s.LaunchTemplateName = &v
71883	return s
71884}
71885
71886// SetMaxResults sets the MaxResults field's value.
71887func (s *DescribeLaunchTemplateVersionsInput) SetMaxResults(v int64) *DescribeLaunchTemplateVersionsInput {
71888	s.MaxResults = &v
71889	return s
71890}
71891
71892// SetMaxVersion sets the MaxVersion field's value.
71893func (s *DescribeLaunchTemplateVersionsInput) SetMaxVersion(v string) *DescribeLaunchTemplateVersionsInput {
71894	s.MaxVersion = &v
71895	return s
71896}
71897
71898// SetMinVersion sets the MinVersion field's value.
71899func (s *DescribeLaunchTemplateVersionsInput) SetMinVersion(v string) *DescribeLaunchTemplateVersionsInput {
71900	s.MinVersion = &v
71901	return s
71902}
71903
71904// SetNextToken sets the NextToken field's value.
71905func (s *DescribeLaunchTemplateVersionsInput) SetNextToken(v string) *DescribeLaunchTemplateVersionsInput {
71906	s.NextToken = &v
71907	return s
71908}
71909
71910// SetVersions sets the Versions field's value.
71911func (s *DescribeLaunchTemplateVersionsInput) SetVersions(v []*string) *DescribeLaunchTemplateVersionsInput {
71912	s.Versions = v
71913	return s
71914}
71915
71916type DescribeLaunchTemplateVersionsOutput struct {
71917	_ struct{} `type:"structure"`
71918
71919	// Information about the launch template versions.
71920	LaunchTemplateVersions []*LaunchTemplateVersion `locationName:"launchTemplateVersionSet" locationNameList:"item" type:"list"`
71921
71922	// The token to use to retrieve the next page of results. This value is null
71923	// when there are no more results to return.
71924	NextToken *string `locationName:"nextToken" type:"string"`
71925}
71926
71927// String returns the string representation
71928func (s DescribeLaunchTemplateVersionsOutput) String() string {
71929	return awsutil.Prettify(s)
71930}
71931
71932// GoString returns the string representation
71933func (s DescribeLaunchTemplateVersionsOutput) GoString() string {
71934	return s.String()
71935}
71936
71937// SetLaunchTemplateVersions sets the LaunchTemplateVersions field's value.
71938func (s *DescribeLaunchTemplateVersionsOutput) SetLaunchTemplateVersions(v []*LaunchTemplateVersion) *DescribeLaunchTemplateVersionsOutput {
71939	s.LaunchTemplateVersions = v
71940	return s
71941}
71942
71943// SetNextToken sets the NextToken field's value.
71944func (s *DescribeLaunchTemplateVersionsOutput) SetNextToken(v string) *DescribeLaunchTemplateVersionsOutput {
71945	s.NextToken = &v
71946	return s
71947}
71948
71949type DescribeLaunchTemplatesInput struct {
71950	_ struct{} `type:"structure"`
71951
71952	// Checks whether you have the required permissions for the action, without
71953	// actually making the request, and provides an error response. If you have
71954	// the required permissions, the error response is DryRunOperation. Otherwise,
71955	// it is UnauthorizedOperation.
71956	DryRun *bool `type:"boolean"`
71957
71958	// One or more filters.
71959	//
71960	//    * create-time - The time the launch template was created.
71961	//
71962	//    * launch-template-name - The name of the launch template.
71963	//
71964	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
71965	//    Use the tag key in the filter name and the tag value as the filter value.
71966	//    For example, to find all resources that have a tag with the key Owner
71967	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
71968	//    the filter value.
71969	//
71970	//    * tag-key - The key of a tag assigned to the resource. Use this filter
71971	//    to find all resources assigned a tag with a specific key, regardless of
71972	//    the tag value.
71973	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
71974
71975	// One or more launch template IDs.
71976	LaunchTemplateIds []*string `locationName:"LaunchTemplateId" locationNameList:"item" type:"list"`
71977
71978	// One or more launch template names.
71979	LaunchTemplateNames []*string `locationName:"LaunchTemplateName" locationNameList:"item" type:"list"`
71980
71981	// The maximum number of results to return in a single call. To retrieve the
71982	// remaining results, make another call with the returned NextToken value. This
71983	// value can be between 1 and 200.
71984	MaxResults *int64 `min:"1" type:"integer"`
71985
71986	// The token to request the next page of results.
71987	NextToken *string `type:"string"`
71988}
71989
71990// String returns the string representation
71991func (s DescribeLaunchTemplatesInput) String() string {
71992	return awsutil.Prettify(s)
71993}
71994
71995// GoString returns the string representation
71996func (s DescribeLaunchTemplatesInput) GoString() string {
71997	return s.String()
71998}
71999
72000// Validate inspects the fields of the type to determine if they are valid.
72001func (s *DescribeLaunchTemplatesInput) Validate() error {
72002	invalidParams := request.ErrInvalidParams{Context: "DescribeLaunchTemplatesInput"}
72003	if s.MaxResults != nil && *s.MaxResults < 1 {
72004		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
72005	}
72006
72007	if invalidParams.Len() > 0 {
72008		return invalidParams
72009	}
72010	return nil
72011}
72012
72013// SetDryRun sets the DryRun field's value.
72014func (s *DescribeLaunchTemplatesInput) SetDryRun(v bool) *DescribeLaunchTemplatesInput {
72015	s.DryRun = &v
72016	return s
72017}
72018
72019// SetFilters sets the Filters field's value.
72020func (s *DescribeLaunchTemplatesInput) SetFilters(v []*Filter) *DescribeLaunchTemplatesInput {
72021	s.Filters = v
72022	return s
72023}
72024
72025// SetLaunchTemplateIds sets the LaunchTemplateIds field's value.
72026func (s *DescribeLaunchTemplatesInput) SetLaunchTemplateIds(v []*string) *DescribeLaunchTemplatesInput {
72027	s.LaunchTemplateIds = v
72028	return s
72029}
72030
72031// SetLaunchTemplateNames sets the LaunchTemplateNames field's value.
72032func (s *DescribeLaunchTemplatesInput) SetLaunchTemplateNames(v []*string) *DescribeLaunchTemplatesInput {
72033	s.LaunchTemplateNames = v
72034	return s
72035}
72036
72037// SetMaxResults sets the MaxResults field's value.
72038func (s *DescribeLaunchTemplatesInput) SetMaxResults(v int64) *DescribeLaunchTemplatesInput {
72039	s.MaxResults = &v
72040	return s
72041}
72042
72043// SetNextToken sets the NextToken field's value.
72044func (s *DescribeLaunchTemplatesInput) SetNextToken(v string) *DescribeLaunchTemplatesInput {
72045	s.NextToken = &v
72046	return s
72047}
72048
72049type DescribeLaunchTemplatesOutput struct {
72050	_ struct{} `type:"structure"`
72051
72052	// Information about the launch templates.
72053	LaunchTemplates []*LaunchTemplate `locationName:"launchTemplates" locationNameList:"item" type:"list"`
72054
72055	// The token to use to retrieve the next page of results. This value is null
72056	// when there are no more results to return.
72057	NextToken *string `locationName:"nextToken" type:"string"`
72058}
72059
72060// String returns the string representation
72061func (s DescribeLaunchTemplatesOutput) String() string {
72062	return awsutil.Prettify(s)
72063}
72064
72065// GoString returns the string representation
72066func (s DescribeLaunchTemplatesOutput) GoString() string {
72067	return s.String()
72068}
72069
72070// SetLaunchTemplates sets the LaunchTemplates field's value.
72071func (s *DescribeLaunchTemplatesOutput) SetLaunchTemplates(v []*LaunchTemplate) *DescribeLaunchTemplatesOutput {
72072	s.LaunchTemplates = v
72073	return s
72074}
72075
72076// SetNextToken sets the NextToken field's value.
72077func (s *DescribeLaunchTemplatesOutput) SetNextToken(v string) *DescribeLaunchTemplatesOutput {
72078	s.NextToken = &v
72079	return s
72080}
72081
72082type DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput struct {
72083	_ struct{} `type:"structure"`
72084
72085	// Checks whether you have the required permissions for the action, without
72086	// actually making the request, and provides an error response. If you have
72087	// the required permissions, the error response is DryRunOperation. Otherwise,
72088	// it is UnauthorizedOperation.
72089	DryRun *bool `type:"boolean"`
72090
72091	// One or more filters.
72092	//
72093	//    * local-gateway-id - The ID of a local gateway.
72094	//
72095	//    * local-gateway-route-table-id - The ID of the local gateway route table.
72096	//
72097	//    * local-gateway-route-table-virtual-interface-group-association-id - The
72098	//    ID of the association.
72099	//
72100	//    * local-gateway-route-table-virtual-interface-group-id - The ID of the
72101	//    virtual interface group.
72102	//
72103	//    * state - The state of the association.
72104	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
72105
72106	// The IDs of the associations.
72107	LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds []*string `locationName:"LocalGatewayRouteTableVirtualInterfaceGroupAssociationId" locationNameList:"item" type:"list"`
72108
72109	// The maximum number of results to return with a single call. To retrieve the
72110	// remaining results, make another call with the returned nextToken value.
72111	MaxResults *int64 `min:"5" type:"integer"`
72112
72113	// The token for the next page of results.
72114	NextToken *string `type:"string"`
72115}
72116
72117// String returns the string representation
72118func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) String() string {
72119	return awsutil.Prettify(s)
72120}
72121
72122// GoString returns the string representation
72123func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) GoString() string {
72124	return s.String()
72125}
72126
72127// Validate inspects the fields of the type to determine if they are valid.
72128func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) Validate() error {
72129	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput"}
72130	if s.MaxResults != nil && *s.MaxResults < 5 {
72131		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
72132	}
72133
72134	if invalidParams.Len() > 0 {
72135		return invalidParams
72136	}
72137	return nil
72138}
72139
72140// SetDryRun sets the DryRun field's value.
72141func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetDryRun(v bool) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
72142	s.DryRun = &v
72143	return s
72144}
72145
72146// SetFilters sets the Filters field's value.
72147func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetFilters(v []*Filter) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
72148	s.Filters = v
72149	return s
72150}
72151
72152// SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationIds sets the LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds field's value.
72153func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationIds(v []*string) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
72154	s.LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds = v
72155	return s
72156}
72157
72158// SetMaxResults sets the MaxResults field's value.
72159func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetMaxResults(v int64) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
72160	s.MaxResults = &v
72161	return s
72162}
72163
72164// SetNextToken sets the NextToken field's value.
72165func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
72166	s.NextToken = &v
72167	return s
72168}
72169
72170type DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput struct {
72171	_ struct{} `type:"structure"`
72172
72173	// Information about the associations.
72174	LocalGatewayRouteTableVirtualInterfaceGroupAssociations []*LocalGatewayRouteTableVirtualInterfaceGroupAssociation `locationName:"localGatewayRouteTableVirtualInterfaceGroupAssociationSet" locationNameList:"item" type:"list"`
72175
72176	// The token to use to retrieve the next page of results. This value is null
72177	// when there are no more results to return.
72178	NextToken *string `locationName:"nextToken" type:"string"`
72179}
72180
72181// String returns the string representation
72182func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) String() string {
72183	return awsutil.Prettify(s)
72184}
72185
72186// GoString returns the string representation
72187func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) GoString() string {
72188	return s.String()
72189}
72190
72191// SetLocalGatewayRouteTableVirtualInterfaceGroupAssociations sets the LocalGatewayRouteTableVirtualInterfaceGroupAssociations field's value.
72192func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) SetLocalGatewayRouteTableVirtualInterfaceGroupAssociations(v []*LocalGatewayRouteTableVirtualInterfaceGroupAssociation) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput {
72193	s.LocalGatewayRouteTableVirtualInterfaceGroupAssociations = v
72194	return s
72195}
72196
72197// SetNextToken sets the NextToken field's value.
72198func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput {
72199	s.NextToken = &v
72200	return s
72201}
72202
72203type DescribeLocalGatewayRouteTableVpcAssociationsInput struct {
72204	_ struct{} `type:"structure"`
72205
72206	// Checks whether you have the required permissions for the action, without
72207	// actually making the request, and provides an error response. If you have
72208	// the required permissions, the error response is DryRunOperation. Otherwise,
72209	// it is UnauthorizedOperation.
72210	DryRun *bool `type:"boolean"`
72211
72212	// One or more filters.
72213	//
72214	//    * local-gateway-id - The ID of a local gateway.
72215	//
72216	//    * local-gateway-route-table-id - The ID of the local gateway route table.
72217	//
72218	//    * local-gateway-route-table-vpc-association-id - The ID of the association.
72219	//
72220	//    * state - The state of the association.
72221	//
72222	//    * vpc-id - The ID of the VPC.
72223	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
72224
72225	// The IDs of the associations.
72226	LocalGatewayRouteTableVpcAssociationIds []*string `locationName:"LocalGatewayRouteTableVpcAssociationId" locationNameList:"item" type:"list"`
72227
72228	// The maximum number of results to return with a single call. To retrieve the
72229	// remaining results, make another call with the returned nextToken value.
72230	MaxResults *int64 `min:"5" type:"integer"`
72231
72232	// The token for the next page of results.
72233	NextToken *string `type:"string"`
72234}
72235
72236// String returns the string representation
72237func (s DescribeLocalGatewayRouteTableVpcAssociationsInput) String() string {
72238	return awsutil.Prettify(s)
72239}
72240
72241// GoString returns the string representation
72242func (s DescribeLocalGatewayRouteTableVpcAssociationsInput) GoString() string {
72243	return s.String()
72244}
72245
72246// Validate inspects the fields of the type to determine if they are valid.
72247func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) Validate() error {
72248	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayRouteTableVpcAssociationsInput"}
72249	if s.MaxResults != nil && *s.MaxResults < 5 {
72250		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
72251	}
72252
72253	if invalidParams.Len() > 0 {
72254		return invalidParams
72255	}
72256	return nil
72257}
72258
72259// SetDryRun sets the DryRun field's value.
72260func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetDryRun(v bool) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
72261	s.DryRun = &v
72262	return s
72263}
72264
72265// SetFilters sets the Filters field's value.
72266func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetFilters(v []*Filter) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
72267	s.Filters = v
72268	return s
72269}
72270
72271// SetLocalGatewayRouteTableVpcAssociationIds sets the LocalGatewayRouteTableVpcAssociationIds field's value.
72272func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetLocalGatewayRouteTableVpcAssociationIds(v []*string) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
72273	s.LocalGatewayRouteTableVpcAssociationIds = v
72274	return s
72275}
72276
72277// SetMaxResults sets the MaxResults field's value.
72278func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetMaxResults(v int64) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
72279	s.MaxResults = &v
72280	return s
72281}
72282
72283// SetNextToken sets the NextToken field's value.
72284func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
72285	s.NextToken = &v
72286	return s
72287}
72288
72289type DescribeLocalGatewayRouteTableVpcAssociationsOutput struct {
72290	_ struct{} `type:"structure"`
72291
72292	// Information about the associations.
72293	LocalGatewayRouteTableVpcAssociations []*LocalGatewayRouteTableVpcAssociation `locationName:"localGatewayRouteTableVpcAssociationSet" locationNameList:"item" type:"list"`
72294
72295	// The token to use to retrieve the next page of results. This value is null
72296	// when there are no more results to return.
72297	NextToken *string `locationName:"nextToken" type:"string"`
72298}
72299
72300// String returns the string representation
72301func (s DescribeLocalGatewayRouteTableVpcAssociationsOutput) String() string {
72302	return awsutil.Prettify(s)
72303}
72304
72305// GoString returns the string representation
72306func (s DescribeLocalGatewayRouteTableVpcAssociationsOutput) GoString() string {
72307	return s.String()
72308}
72309
72310// SetLocalGatewayRouteTableVpcAssociations sets the LocalGatewayRouteTableVpcAssociations field's value.
72311func (s *DescribeLocalGatewayRouteTableVpcAssociationsOutput) SetLocalGatewayRouteTableVpcAssociations(v []*LocalGatewayRouteTableVpcAssociation) *DescribeLocalGatewayRouteTableVpcAssociationsOutput {
72312	s.LocalGatewayRouteTableVpcAssociations = v
72313	return s
72314}
72315
72316// SetNextToken sets the NextToken field's value.
72317func (s *DescribeLocalGatewayRouteTableVpcAssociationsOutput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVpcAssociationsOutput {
72318	s.NextToken = &v
72319	return s
72320}
72321
72322type DescribeLocalGatewayRouteTablesInput struct {
72323	_ struct{} `type:"structure"`
72324
72325	// Checks whether you have the required permissions for the action, without
72326	// actually making the request, and provides an error response. If you have
72327	// the required permissions, the error response is DryRunOperation. Otherwise,
72328	// it is UnauthorizedOperation.
72329	DryRun *bool `type:"boolean"`
72330
72331	// One or more filters.
72332	//
72333	//    * local-gateway-id - The ID of a local gateway.
72334	//
72335	//    * local-gateway-route-table-id - The ID of a local gateway route table.
72336	//
72337	//    * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.
72338	//
72339	//    * state - The state of the local gateway route table.
72340	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
72341
72342	// The IDs of the local gateway route tables.
72343	LocalGatewayRouteTableIds []*string `locationName:"LocalGatewayRouteTableId" locationNameList:"item" type:"list"`
72344
72345	// The maximum number of results to return with a single call. To retrieve the
72346	// remaining results, make another call with the returned nextToken value.
72347	MaxResults *int64 `min:"5" type:"integer"`
72348
72349	// The token for the next page of results.
72350	NextToken *string `type:"string"`
72351}
72352
72353// String returns the string representation
72354func (s DescribeLocalGatewayRouteTablesInput) String() string {
72355	return awsutil.Prettify(s)
72356}
72357
72358// GoString returns the string representation
72359func (s DescribeLocalGatewayRouteTablesInput) GoString() string {
72360	return s.String()
72361}
72362
72363// Validate inspects the fields of the type to determine if they are valid.
72364func (s *DescribeLocalGatewayRouteTablesInput) Validate() error {
72365	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayRouteTablesInput"}
72366	if s.MaxResults != nil && *s.MaxResults < 5 {
72367		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
72368	}
72369
72370	if invalidParams.Len() > 0 {
72371		return invalidParams
72372	}
72373	return nil
72374}
72375
72376// SetDryRun sets the DryRun field's value.
72377func (s *DescribeLocalGatewayRouteTablesInput) SetDryRun(v bool) *DescribeLocalGatewayRouteTablesInput {
72378	s.DryRun = &v
72379	return s
72380}
72381
72382// SetFilters sets the Filters field's value.
72383func (s *DescribeLocalGatewayRouteTablesInput) SetFilters(v []*Filter) *DescribeLocalGatewayRouteTablesInput {
72384	s.Filters = v
72385	return s
72386}
72387
72388// SetLocalGatewayRouteTableIds sets the LocalGatewayRouteTableIds field's value.
72389func (s *DescribeLocalGatewayRouteTablesInput) SetLocalGatewayRouteTableIds(v []*string) *DescribeLocalGatewayRouteTablesInput {
72390	s.LocalGatewayRouteTableIds = v
72391	return s
72392}
72393
72394// SetMaxResults sets the MaxResults field's value.
72395func (s *DescribeLocalGatewayRouteTablesInput) SetMaxResults(v int64) *DescribeLocalGatewayRouteTablesInput {
72396	s.MaxResults = &v
72397	return s
72398}
72399
72400// SetNextToken sets the NextToken field's value.
72401func (s *DescribeLocalGatewayRouteTablesInput) SetNextToken(v string) *DescribeLocalGatewayRouteTablesInput {
72402	s.NextToken = &v
72403	return s
72404}
72405
72406type DescribeLocalGatewayRouteTablesOutput struct {
72407	_ struct{} `type:"structure"`
72408
72409	// Information about the local gateway route tables.
72410	LocalGatewayRouteTables []*LocalGatewayRouteTable `locationName:"localGatewayRouteTableSet" locationNameList:"item" type:"list"`
72411
72412	// The token to use to retrieve the next page of results. This value is null
72413	// when there are no more results to return.
72414	NextToken *string `locationName:"nextToken" type:"string"`
72415}
72416
72417// String returns the string representation
72418func (s DescribeLocalGatewayRouteTablesOutput) String() string {
72419	return awsutil.Prettify(s)
72420}
72421
72422// GoString returns the string representation
72423func (s DescribeLocalGatewayRouteTablesOutput) GoString() string {
72424	return s.String()
72425}
72426
72427// SetLocalGatewayRouteTables sets the LocalGatewayRouteTables field's value.
72428func (s *DescribeLocalGatewayRouteTablesOutput) SetLocalGatewayRouteTables(v []*LocalGatewayRouteTable) *DescribeLocalGatewayRouteTablesOutput {
72429	s.LocalGatewayRouteTables = v
72430	return s
72431}
72432
72433// SetNextToken sets the NextToken field's value.
72434func (s *DescribeLocalGatewayRouteTablesOutput) SetNextToken(v string) *DescribeLocalGatewayRouteTablesOutput {
72435	s.NextToken = &v
72436	return s
72437}
72438
72439type DescribeLocalGatewayVirtualInterfaceGroupsInput struct {
72440	_ struct{} `type:"structure"`
72441
72442	// Checks whether you have the required permissions for the action, without
72443	// actually making the request, and provides an error response. If you have
72444	// the required permissions, the error response is DryRunOperation. Otherwise,
72445	// it is UnauthorizedOperation.
72446	DryRun *bool `type:"boolean"`
72447
72448	// One or more filters.
72449	//
72450	//    * local-gateway-id - The ID of a local gateway.
72451	//
72452	//    * local-gateway-virtual-interface-id - The ID of the virtual interface.
72453	//
72454	//    * local-gateway-virtual-interface-group-id - The ID of the virtual interface
72455	//    group.
72456	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
72457
72458	// The IDs of the virtual interface groups.
72459	LocalGatewayVirtualInterfaceGroupIds []*string `locationName:"LocalGatewayVirtualInterfaceGroupId" locationNameList:"item" type:"list"`
72460
72461	// The maximum number of results to return with a single call. To retrieve the
72462	// remaining results, make another call with the returned nextToken value.
72463	MaxResults *int64 `min:"5" type:"integer"`
72464
72465	// The token for the next page of results.
72466	NextToken *string `type:"string"`
72467}
72468
72469// String returns the string representation
72470func (s DescribeLocalGatewayVirtualInterfaceGroupsInput) String() string {
72471	return awsutil.Prettify(s)
72472}
72473
72474// GoString returns the string representation
72475func (s DescribeLocalGatewayVirtualInterfaceGroupsInput) GoString() string {
72476	return s.String()
72477}
72478
72479// Validate inspects the fields of the type to determine if they are valid.
72480func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) Validate() error {
72481	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayVirtualInterfaceGroupsInput"}
72482	if s.MaxResults != nil && *s.MaxResults < 5 {
72483		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
72484	}
72485
72486	if invalidParams.Len() > 0 {
72487		return invalidParams
72488	}
72489	return nil
72490}
72491
72492// SetDryRun sets the DryRun field's value.
72493func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetDryRun(v bool) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
72494	s.DryRun = &v
72495	return s
72496}
72497
72498// SetFilters sets the Filters field's value.
72499func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetFilters(v []*Filter) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
72500	s.Filters = v
72501	return s
72502}
72503
72504// SetLocalGatewayVirtualInterfaceGroupIds sets the LocalGatewayVirtualInterfaceGroupIds field's value.
72505func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetLocalGatewayVirtualInterfaceGroupIds(v []*string) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
72506	s.LocalGatewayVirtualInterfaceGroupIds = v
72507	return s
72508}
72509
72510// SetMaxResults sets the MaxResults field's value.
72511func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetMaxResults(v int64) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
72512	s.MaxResults = &v
72513	return s
72514}
72515
72516// SetNextToken sets the NextToken field's value.
72517func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
72518	s.NextToken = &v
72519	return s
72520}
72521
72522type DescribeLocalGatewayVirtualInterfaceGroupsOutput struct {
72523	_ struct{} `type:"structure"`
72524
72525	// The virtual interface groups.
72526	LocalGatewayVirtualInterfaceGroups []*LocalGatewayVirtualInterfaceGroup `locationName:"localGatewayVirtualInterfaceGroupSet" locationNameList:"item" type:"list"`
72527
72528	// The token to use to retrieve the next page of results. This value is null
72529	// when there are no more results to return.
72530	NextToken *string `locationName:"nextToken" type:"string"`
72531}
72532
72533// String returns the string representation
72534func (s DescribeLocalGatewayVirtualInterfaceGroupsOutput) String() string {
72535	return awsutil.Prettify(s)
72536}
72537
72538// GoString returns the string representation
72539func (s DescribeLocalGatewayVirtualInterfaceGroupsOutput) GoString() string {
72540	return s.String()
72541}
72542
72543// SetLocalGatewayVirtualInterfaceGroups sets the LocalGatewayVirtualInterfaceGroups field's value.
72544func (s *DescribeLocalGatewayVirtualInterfaceGroupsOutput) SetLocalGatewayVirtualInterfaceGroups(v []*LocalGatewayVirtualInterfaceGroup) *DescribeLocalGatewayVirtualInterfaceGroupsOutput {
72545	s.LocalGatewayVirtualInterfaceGroups = v
72546	return s
72547}
72548
72549// SetNextToken sets the NextToken field's value.
72550func (s *DescribeLocalGatewayVirtualInterfaceGroupsOutput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfaceGroupsOutput {
72551	s.NextToken = &v
72552	return s
72553}
72554
72555type DescribeLocalGatewayVirtualInterfacesInput struct {
72556	_ struct{} `type:"structure"`
72557
72558	// Checks whether you have the required permissions for the action, without
72559	// actually making the request, and provides an error response. If you have
72560	// the required permissions, the error response is DryRunOperation. Otherwise,
72561	// it is UnauthorizedOperation.
72562	DryRun *bool `type:"boolean"`
72563
72564	// One or more filters.
72565	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
72566
72567	// The IDs of the virtual interfaces.
72568	LocalGatewayVirtualInterfaceIds []*string `locationName:"LocalGatewayVirtualInterfaceId" locationNameList:"item" type:"list"`
72569
72570	// The maximum number of results to return with a single call. To retrieve the
72571	// remaining results, make another call with the returned nextToken value.
72572	MaxResults *int64 `min:"5" type:"integer"`
72573
72574	// The token for the next page of results.
72575	NextToken *string `type:"string"`
72576}
72577
72578// String returns the string representation
72579func (s DescribeLocalGatewayVirtualInterfacesInput) String() string {
72580	return awsutil.Prettify(s)
72581}
72582
72583// GoString returns the string representation
72584func (s DescribeLocalGatewayVirtualInterfacesInput) GoString() string {
72585	return s.String()
72586}
72587
72588// Validate inspects the fields of the type to determine if they are valid.
72589func (s *DescribeLocalGatewayVirtualInterfacesInput) Validate() error {
72590	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayVirtualInterfacesInput"}
72591	if s.MaxResults != nil && *s.MaxResults < 5 {
72592		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
72593	}
72594
72595	if invalidParams.Len() > 0 {
72596		return invalidParams
72597	}
72598	return nil
72599}
72600
72601// SetDryRun sets the DryRun field's value.
72602func (s *DescribeLocalGatewayVirtualInterfacesInput) SetDryRun(v bool) *DescribeLocalGatewayVirtualInterfacesInput {
72603	s.DryRun = &v
72604	return s
72605}
72606
72607// SetFilters sets the Filters field's value.
72608func (s *DescribeLocalGatewayVirtualInterfacesInput) SetFilters(v []*Filter) *DescribeLocalGatewayVirtualInterfacesInput {
72609	s.Filters = v
72610	return s
72611}
72612
72613// SetLocalGatewayVirtualInterfaceIds sets the LocalGatewayVirtualInterfaceIds field's value.
72614func (s *DescribeLocalGatewayVirtualInterfacesInput) SetLocalGatewayVirtualInterfaceIds(v []*string) *DescribeLocalGatewayVirtualInterfacesInput {
72615	s.LocalGatewayVirtualInterfaceIds = v
72616	return s
72617}
72618
72619// SetMaxResults sets the MaxResults field's value.
72620func (s *DescribeLocalGatewayVirtualInterfacesInput) SetMaxResults(v int64) *DescribeLocalGatewayVirtualInterfacesInput {
72621	s.MaxResults = &v
72622	return s
72623}
72624
72625// SetNextToken sets the NextToken field's value.
72626func (s *DescribeLocalGatewayVirtualInterfacesInput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfacesInput {
72627	s.NextToken = &v
72628	return s
72629}
72630
72631type DescribeLocalGatewayVirtualInterfacesOutput struct {
72632	_ struct{} `type:"structure"`
72633
72634	// Information about the virtual interfaces.
72635	LocalGatewayVirtualInterfaces []*LocalGatewayVirtualInterface `locationName:"localGatewayVirtualInterfaceSet" locationNameList:"item" type:"list"`
72636
72637	// The token to use to retrieve the next page of results. This value is null
72638	// when there are no more results to return.
72639	NextToken *string `locationName:"nextToken" type:"string"`
72640}
72641
72642// String returns the string representation
72643func (s DescribeLocalGatewayVirtualInterfacesOutput) String() string {
72644	return awsutil.Prettify(s)
72645}
72646
72647// GoString returns the string representation
72648func (s DescribeLocalGatewayVirtualInterfacesOutput) GoString() string {
72649	return s.String()
72650}
72651
72652// SetLocalGatewayVirtualInterfaces sets the LocalGatewayVirtualInterfaces field's value.
72653func (s *DescribeLocalGatewayVirtualInterfacesOutput) SetLocalGatewayVirtualInterfaces(v []*LocalGatewayVirtualInterface) *DescribeLocalGatewayVirtualInterfacesOutput {
72654	s.LocalGatewayVirtualInterfaces = v
72655	return s
72656}
72657
72658// SetNextToken sets the NextToken field's value.
72659func (s *DescribeLocalGatewayVirtualInterfacesOutput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfacesOutput {
72660	s.NextToken = &v
72661	return s
72662}
72663
72664type DescribeLocalGatewaysInput struct {
72665	_ struct{} `type:"structure"`
72666
72667	// Checks whether you have the required permissions for the action, without
72668	// actually making the request, and provides an error response. If you have
72669	// the required permissions, the error response is DryRunOperation. Otherwise,
72670	// it is UnauthorizedOperation.
72671	DryRun *bool `type:"boolean"`
72672
72673	// One or more filters.
72674	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
72675
72676	// One or more filters.
72677	//
72678	//    * local-gateway-id - The ID of a local gateway.
72679	//
72680	//    * local-gateway-route-table-id - The ID of the local gateway route table.
72681	//
72682	//    * local-gateway-route-table-virtual-interface-group-association-id - The
72683	//    ID of the association.
72684	//
72685	//    * local-gateway-route-table-virtual-interface-group-id - The ID of the
72686	//    virtual interface group.
72687	//
72688	//    * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.
72689	//
72690	//    * state - The state of the association.
72691	LocalGatewayIds []*string `locationName:"LocalGatewayId" locationNameList:"item" type:"list"`
72692
72693	// The maximum number of results to return with a single call. To retrieve the
72694	// remaining results, make another call with the returned nextToken value.
72695	MaxResults *int64 `min:"5" type:"integer"`
72696
72697	// The token for the next page of results.
72698	NextToken *string `type:"string"`
72699}
72700
72701// String returns the string representation
72702func (s DescribeLocalGatewaysInput) String() string {
72703	return awsutil.Prettify(s)
72704}
72705
72706// GoString returns the string representation
72707func (s DescribeLocalGatewaysInput) GoString() string {
72708	return s.String()
72709}
72710
72711// Validate inspects the fields of the type to determine if they are valid.
72712func (s *DescribeLocalGatewaysInput) Validate() error {
72713	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewaysInput"}
72714	if s.MaxResults != nil && *s.MaxResults < 5 {
72715		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
72716	}
72717
72718	if invalidParams.Len() > 0 {
72719		return invalidParams
72720	}
72721	return nil
72722}
72723
72724// SetDryRun sets the DryRun field's value.
72725func (s *DescribeLocalGatewaysInput) SetDryRun(v bool) *DescribeLocalGatewaysInput {
72726	s.DryRun = &v
72727	return s
72728}
72729
72730// SetFilters sets the Filters field's value.
72731func (s *DescribeLocalGatewaysInput) SetFilters(v []*Filter) *DescribeLocalGatewaysInput {
72732	s.Filters = v
72733	return s
72734}
72735
72736// SetLocalGatewayIds sets the LocalGatewayIds field's value.
72737func (s *DescribeLocalGatewaysInput) SetLocalGatewayIds(v []*string) *DescribeLocalGatewaysInput {
72738	s.LocalGatewayIds = v
72739	return s
72740}
72741
72742// SetMaxResults sets the MaxResults field's value.
72743func (s *DescribeLocalGatewaysInput) SetMaxResults(v int64) *DescribeLocalGatewaysInput {
72744	s.MaxResults = &v
72745	return s
72746}
72747
72748// SetNextToken sets the NextToken field's value.
72749func (s *DescribeLocalGatewaysInput) SetNextToken(v string) *DescribeLocalGatewaysInput {
72750	s.NextToken = &v
72751	return s
72752}
72753
72754type DescribeLocalGatewaysOutput struct {
72755	_ struct{} `type:"structure"`
72756
72757	// Information about the local gateways.
72758	LocalGateways []*LocalGateway `locationName:"localGatewaySet" locationNameList:"item" type:"list"`
72759
72760	// The token to use to retrieve the next page of results. This value is null
72761	// when there are no more results to return.
72762	NextToken *string `locationName:"nextToken" type:"string"`
72763}
72764
72765// String returns the string representation
72766func (s DescribeLocalGatewaysOutput) String() string {
72767	return awsutil.Prettify(s)
72768}
72769
72770// GoString returns the string representation
72771func (s DescribeLocalGatewaysOutput) GoString() string {
72772	return s.String()
72773}
72774
72775// SetLocalGateways sets the LocalGateways field's value.
72776func (s *DescribeLocalGatewaysOutput) SetLocalGateways(v []*LocalGateway) *DescribeLocalGatewaysOutput {
72777	s.LocalGateways = v
72778	return s
72779}
72780
72781// SetNextToken sets the NextToken field's value.
72782func (s *DescribeLocalGatewaysOutput) SetNextToken(v string) *DescribeLocalGatewaysOutput {
72783	s.NextToken = &v
72784	return s
72785}
72786
72787type DescribeManagedPrefixListsInput struct {
72788	_ struct{} `type:"structure"`
72789
72790	// Checks whether you have the required permissions for the action, without
72791	// actually making the request, and provides an error response. If you have
72792	// the required permissions, the error response is DryRunOperation. Otherwise,
72793	// it is UnauthorizedOperation.
72794	DryRun *bool `type:"boolean"`
72795
72796	// One or more filters.
72797	//
72798	//    * owner-id - The ID of the prefix list owner.
72799	//
72800	//    * prefix-list-id - The ID of the prefix list.
72801	//
72802	//    * prefix-list-name - The name of the prefix list.
72803	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
72804
72805	// The maximum number of results to return with a single call. To retrieve the
72806	// remaining results, make another call with the returned nextToken value.
72807	MaxResults *int64 `min:"1" type:"integer"`
72808
72809	// The token for the next page of results.
72810	NextToken *string `type:"string"`
72811
72812	// One or more prefix list IDs.
72813	PrefixListIds []*string `locationName:"PrefixListId" locationNameList:"item" type:"list"`
72814}
72815
72816// String returns the string representation
72817func (s DescribeManagedPrefixListsInput) String() string {
72818	return awsutil.Prettify(s)
72819}
72820
72821// GoString returns the string representation
72822func (s DescribeManagedPrefixListsInput) GoString() string {
72823	return s.String()
72824}
72825
72826// Validate inspects the fields of the type to determine if they are valid.
72827func (s *DescribeManagedPrefixListsInput) Validate() error {
72828	invalidParams := request.ErrInvalidParams{Context: "DescribeManagedPrefixListsInput"}
72829	if s.MaxResults != nil && *s.MaxResults < 1 {
72830		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
72831	}
72832
72833	if invalidParams.Len() > 0 {
72834		return invalidParams
72835	}
72836	return nil
72837}
72838
72839// SetDryRun sets the DryRun field's value.
72840func (s *DescribeManagedPrefixListsInput) SetDryRun(v bool) *DescribeManagedPrefixListsInput {
72841	s.DryRun = &v
72842	return s
72843}
72844
72845// SetFilters sets the Filters field's value.
72846func (s *DescribeManagedPrefixListsInput) SetFilters(v []*Filter) *DescribeManagedPrefixListsInput {
72847	s.Filters = v
72848	return s
72849}
72850
72851// SetMaxResults sets the MaxResults field's value.
72852func (s *DescribeManagedPrefixListsInput) SetMaxResults(v int64) *DescribeManagedPrefixListsInput {
72853	s.MaxResults = &v
72854	return s
72855}
72856
72857// SetNextToken sets the NextToken field's value.
72858func (s *DescribeManagedPrefixListsInput) SetNextToken(v string) *DescribeManagedPrefixListsInput {
72859	s.NextToken = &v
72860	return s
72861}
72862
72863// SetPrefixListIds sets the PrefixListIds field's value.
72864func (s *DescribeManagedPrefixListsInput) SetPrefixListIds(v []*string) *DescribeManagedPrefixListsInput {
72865	s.PrefixListIds = v
72866	return s
72867}
72868
72869type DescribeManagedPrefixListsOutput struct {
72870	_ struct{} `type:"structure"`
72871
72872	// The token to use to retrieve the next page of results. This value is null
72873	// when there are no more results to return.
72874	NextToken *string `locationName:"nextToken" type:"string"`
72875
72876	// Information about the prefix lists.
72877	PrefixLists []*ManagedPrefixList `locationName:"prefixListSet" locationNameList:"item" type:"list"`
72878}
72879
72880// String returns the string representation
72881func (s DescribeManagedPrefixListsOutput) String() string {
72882	return awsutil.Prettify(s)
72883}
72884
72885// GoString returns the string representation
72886func (s DescribeManagedPrefixListsOutput) GoString() string {
72887	return s.String()
72888}
72889
72890// SetNextToken sets the NextToken field's value.
72891func (s *DescribeManagedPrefixListsOutput) SetNextToken(v string) *DescribeManagedPrefixListsOutput {
72892	s.NextToken = &v
72893	return s
72894}
72895
72896// SetPrefixLists sets the PrefixLists field's value.
72897func (s *DescribeManagedPrefixListsOutput) SetPrefixLists(v []*ManagedPrefixList) *DescribeManagedPrefixListsOutput {
72898	s.PrefixLists = v
72899	return s
72900}
72901
72902type DescribeMovingAddressesInput struct {
72903	_ struct{} `type:"structure"`
72904
72905	// Checks whether you have the required permissions for the action, without
72906	// actually making the request, and provides an error response. If you have
72907	// the required permissions, the error response is DryRunOperation. Otherwise,
72908	// it is UnauthorizedOperation.
72909	DryRun *bool `locationName:"dryRun" type:"boolean"`
72910
72911	// One or more filters.
72912	//
72913	//    * moving-status - The status of the Elastic IP address (MovingToVpc |
72914	//    RestoringToClassic).
72915	Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
72916
72917	// The maximum number of results to return for the request in a single page.
72918	// The remaining results of the initial request can be seen by sending another
72919	// request with the returned NextToken value. This value can be between 5 and
72920	// 1000; if MaxResults is given a value outside of this range, an error is returned.
72921	//
72922	// Default: If no value is provided, the default is 1000.
72923	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
72924
72925	// The token for the next page of results.
72926	NextToken *string `locationName:"nextToken" type:"string"`
72927
72928	// One or more Elastic IP addresses.
72929	PublicIps []*string `locationName:"publicIp" locationNameList:"item" type:"list"`
72930}
72931
72932// String returns the string representation
72933func (s DescribeMovingAddressesInput) String() string {
72934	return awsutil.Prettify(s)
72935}
72936
72937// GoString returns the string representation
72938func (s DescribeMovingAddressesInput) GoString() string {
72939	return s.String()
72940}
72941
72942// Validate inspects the fields of the type to determine if they are valid.
72943func (s *DescribeMovingAddressesInput) Validate() error {
72944	invalidParams := request.ErrInvalidParams{Context: "DescribeMovingAddressesInput"}
72945	if s.MaxResults != nil && *s.MaxResults < 5 {
72946		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
72947	}
72948
72949	if invalidParams.Len() > 0 {
72950		return invalidParams
72951	}
72952	return nil
72953}
72954
72955// SetDryRun sets the DryRun field's value.
72956func (s *DescribeMovingAddressesInput) SetDryRun(v bool) *DescribeMovingAddressesInput {
72957	s.DryRun = &v
72958	return s
72959}
72960
72961// SetFilters sets the Filters field's value.
72962func (s *DescribeMovingAddressesInput) SetFilters(v []*Filter) *DescribeMovingAddressesInput {
72963	s.Filters = v
72964	return s
72965}
72966
72967// SetMaxResults sets the MaxResults field's value.
72968func (s *DescribeMovingAddressesInput) SetMaxResults(v int64) *DescribeMovingAddressesInput {
72969	s.MaxResults = &v
72970	return s
72971}
72972
72973// SetNextToken sets the NextToken field's value.
72974func (s *DescribeMovingAddressesInput) SetNextToken(v string) *DescribeMovingAddressesInput {
72975	s.NextToken = &v
72976	return s
72977}
72978
72979// SetPublicIps sets the PublicIps field's value.
72980func (s *DescribeMovingAddressesInput) SetPublicIps(v []*string) *DescribeMovingAddressesInput {
72981	s.PublicIps = v
72982	return s
72983}
72984
72985type DescribeMovingAddressesOutput struct {
72986	_ struct{} `type:"structure"`
72987
72988	// The status for each Elastic IP address.
72989	MovingAddressStatuses []*MovingAddressStatus `locationName:"movingAddressStatusSet" locationNameList:"item" type:"list"`
72990
72991	// The token to use to retrieve the next page of results. This value is null
72992	// when there are no more results to return.
72993	NextToken *string `locationName:"nextToken" type:"string"`
72994}
72995
72996// String returns the string representation
72997func (s DescribeMovingAddressesOutput) String() string {
72998	return awsutil.Prettify(s)
72999}
73000
73001// GoString returns the string representation
73002func (s DescribeMovingAddressesOutput) GoString() string {
73003	return s.String()
73004}
73005
73006// SetMovingAddressStatuses sets the MovingAddressStatuses field's value.
73007func (s *DescribeMovingAddressesOutput) SetMovingAddressStatuses(v []*MovingAddressStatus) *DescribeMovingAddressesOutput {
73008	s.MovingAddressStatuses = v
73009	return s
73010}
73011
73012// SetNextToken sets the NextToken field's value.
73013func (s *DescribeMovingAddressesOutput) SetNextToken(v string) *DescribeMovingAddressesOutput {
73014	s.NextToken = &v
73015	return s
73016}
73017
73018type DescribeNatGatewaysInput struct {
73019	_ struct{} `type:"structure"`
73020
73021	// Checks whether you have the required permissions for the action, without
73022	// actually making the request, and provides an error response. If you have
73023	// the required permissions, the error response is DryRunOperation. Otherwise,
73024	// it is UnauthorizedOperation.
73025	DryRun *bool `type:"boolean"`
73026
73027	// One or more filters.
73028	//
73029	//    * nat-gateway-id - The ID of the NAT gateway.
73030	//
73031	//    * state - The state of the NAT gateway (pending | failed | available |
73032	//    deleting | deleted).
73033	//
73034	//    * subnet-id - The ID of the subnet in which the NAT gateway resides.
73035	//
73036	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
73037	//    Use the tag key in the filter name and the tag value as the filter value.
73038	//    For example, to find all resources that have a tag with the key Owner
73039	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
73040	//    the filter value.
73041	//
73042	//    * tag-key - The key of a tag assigned to the resource. Use this filter
73043	//    to find all resources assigned a tag with a specific key, regardless of
73044	//    the tag value.
73045	//
73046	//    * vpc-id - The ID of the VPC in which the NAT gateway resides.
73047	Filter []*Filter `locationNameList:"Filter" type:"list"`
73048
73049	// The maximum number of results to return with a single call. To retrieve the
73050	// remaining results, make another call with the returned nextToken value.
73051	MaxResults *int64 `min:"5" type:"integer"`
73052
73053	// One or more NAT gateway IDs.
73054	NatGatewayIds []*string `locationName:"NatGatewayId" locationNameList:"item" type:"list"`
73055
73056	// The token for the next page of results.
73057	NextToken *string `type:"string"`
73058}
73059
73060// String returns the string representation
73061func (s DescribeNatGatewaysInput) String() string {
73062	return awsutil.Prettify(s)
73063}
73064
73065// GoString returns the string representation
73066func (s DescribeNatGatewaysInput) GoString() string {
73067	return s.String()
73068}
73069
73070// Validate inspects the fields of the type to determine if they are valid.
73071func (s *DescribeNatGatewaysInput) Validate() error {
73072	invalidParams := request.ErrInvalidParams{Context: "DescribeNatGatewaysInput"}
73073	if s.MaxResults != nil && *s.MaxResults < 5 {
73074		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
73075	}
73076
73077	if invalidParams.Len() > 0 {
73078		return invalidParams
73079	}
73080	return nil
73081}
73082
73083// SetDryRun sets the DryRun field's value.
73084func (s *DescribeNatGatewaysInput) SetDryRun(v bool) *DescribeNatGatewaysInput {
73085	s.DryRun = &v
73086	return s
73087}
73088
73089// SetFilter sets the Filter field's value.
73090func (s *DescribeNatGatewaysInput) SetFilter(v []*Filter) *DescribeNatGatewaysInput {
73091	s.Filter = v
73092	return s
73093}
73094
73095// SetMaxResults sets the MaxResults field's value.
73096func (s *DescribeNatGatewaysInput) SetMaxResults(v int64) *DescribeNatGatewaysInput {
73097	s.MaxResults = &v
73098	return s
73099}
73100
73101// SetNatGatewayIds sets the NatGatewayIds field's value.
73102func (s *DescribeNatGatewaysInput) SetNatGatewayIds(v []*string) *DescribeNatGatewaysInput {
73103	s.NatGatewayIds = v
73104	return s
73105}
73106
73107// SetNextToken sets the NextToken field's value.
73108func (s *DescribeNatGatewaysInput) SetNextToken(v string) *DescribeNatGatewaysInput {
73109	s.NextToken = &v
73110	return s
73111}
73112
73113type DescribeNatGatewaysOutput struct {
73114	_ struct{} `type:"structure"`
73115
73116	// Information about the NAT gateways.
73117	NatGateways []*NatGateway `locationName:"natGatewaySet" locationNameList:"item" type:"list"`
73118
73119	// The token to use to retrieve the next page of results. This value is null
73120	// when there are no more results to return.
73121	NextToken *string `locationName:"nextToken" type:"string"`
73122}
73123
73124// String returns the string representation
73125func (s DescribeNatGatewaysOutput) String() string {
73126	return awsutil.Prettify(s)
73127}
73128
73129// GoString returns the string representation
73130func (s DescribeNatGatewaysOutput) GoString() string {
73131	return s.String()
73132}
73133
73134// SetNatGateways sets the NatGateways field's value.
73135func (s *DescribeNatGatewaysOutput) SetNatGateways(v []*NatGateway) *DescribeNatGatewaysOutput {
73136	s.NatGateways = v
73137	return s
73138}
73139
73140// SetNextToken sets the NextToken field's value.
73141func (s *DescribeNatGatewaysOutput) SetNextToken(v string) *DescribeNatGatewaysOutput {
73142	s.NextToken = &v
73143	return s
73144}
73145
73146type DescribeNetworkAclsInput struct {
73147	_ struct{} `type:"structure"`
73148
73149	// Checks whether you have the required permissions for the action, without
73150	// actually making the request, and provides an error response. If you have
73151	// the required permissions, the error response is DryRunOperation. Otherwise,
73152	// it is UnauthorizedOperation.
73153	DryRun *bool `locationName:"dryRun" type:"boolean"`
73154
73155	// One or more filters.
73156	//
73157	//    * association.association-id - The ID of an association ID for the ACL.
73158	//
73159	//    * association.network-acl-id - The ID of the network ACL involved in the
73160	//    association.
73161	//
73162	//    * association.subnet-id - The ID of the subnet involved in the association.
73163	//
73164	//    * default - Indicates whether the ACL is the default network ACL for the
73165	//    VPC.
73166	//
73167	//    * entry.cidr - The IPv4 CIDR range specified in the entry.
73168	//
73169	//    * entry.icmp.code - The ICMP code specified in the entry, if any.
73170	//
73171	//    * entry.icmp.type - The ICMP type specified in the entry, if any.
73172	//
73173	//    * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.
73174	//
73175	//    * entry.port-range.from - The start of the port range specified in the
73176	//    entry.
73177	//
73178	//    * entry.port-range.to - The end of the port range specified in the entry.
73179	//
73180	//    * entry.protocol - The protocol specified in the entry (tcp | udp | icmp
73181	//    or a protocol number).
73182	//
73183	//    * entry.rule-action - Allows or denies the matching traffic (allow | deny).
73184	//
73185	//    * entry.rule-number - The number of an entry (in other words, rule) in
73186	//    the set of ACL entries.
73187	//
73188	//    * network-acl-id - The ID of the network ACL.
73189	//
73190	//    * owner-id - The ID of the Amazon Web Services account that owns the network
73191	//    ACL.
73192	//
73193	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
73194	//    Use the tag key in the filter name and the tag value as the filter value.
73195	//    For example, to find all resources that have a tag with the key Owner
73196	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
73197	//    the filter value.
73198	//
73199	//    * tag-key - The key of a tag assigned to the resource. Use this filter
73200	//    to find all resources assigned a tag with a specific key, regardless of
73201	//    the tag value.
73202	//
73203	//    * vpc-id - The ID of the VPC for the network ACL.
73204	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
73205
73206	// The maximum number of results to return with a single call. To retrieve the
73207	// remaining results, make another call with the returned nextToken value.
73208	MaxResults *int64 `min:"5" type:"integer"`
73209
73210	// One or more network ACL IDs.
73211	//
73212	// Default: Describes all your network ACLs.
73213	NetworkAclIds []*string `locationName:"NetworkAclId" locationNameList:"item" type:"list"`
73214
73215	// The token for the next page of results.
73216	NextToken *string `type:"string"`
73217}
73218
73219// String returns the string representation
73220func (s DescribeNetworkAclsInput) String() string {
73221	return awsutil.Prettify(s)
73222}
73223
73224// GoString returns the string representation
73225func (s DescribeNetworkAclsInput) GoString() string {
73226	return s.String()
73227}
73228
73229// Validate inspects the fields of the type to determine if they are valid.
73230func (s *DescribeNetworkAclsInput) Validate() error {
73231	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkAclsInput"}
73232	if s.MaxResults != nil && *s.MaxResults < 5 {
73233		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
73234	}
73235
73236	if invalidParams.Len() > 0 {
73237		return invalidParams
73238	}
73239	return nil
73240}
73241
73242// SetDryRun sets the DryRun field's value.
73243func (s *DescribeNetworkAclsInput) SetDryRun(v bool) *DescribeNetworkAclsInput {
73244	s.DryRun = &v
73245	return s
73246}
73247
73248// SetFilters sets the Filters field's value.
73249func (s *DescribeNetworkAclsInput) SetFilters(v []*Filter) *DescribeNetworkAclsInput {
73250	s.Filters = v
73251	return s
73252}
73253
73254// SetMaxResults sets the MaxResults field's value.
73255func (s *DescribeNetworkAclsInput) SetMaxResults(v int64) *DescribeNetworkAclsInput {
73256	s.MaxResults = &v
73257	return s
73258}
73259
73260// SetNetworkAclIds sets the NetworkAclIds field's value.
73261func (s *DescribeNetworkAclsInput) SetNetworkAclIds(v []*string) *DescribeNetworkAclsInput {
73262	s.NetworkAclIds = v
73263	return s
73264}
73265
73266// SetNextToken sets the NextToken field's value.
73267func (s *DescribeNetworkAclsInput) SetNextToken(v string) *DescribeNetworkAclsInput {
73268	s.NextToken = &v
73269	return s
73270}
73271
73272type DescribeNetworkAclsOutput struct {
73273	_ struct{} `type:"structure"`
73274
73275	// Information about one or more network ACLs.
73276	NetworkAcls []*NetworkAcl `locationName:"networkAclSet" locationNameList:"item" type:"list"`
73277
73278	// The token to use to retrieve the next page of results. This value is null
73279	// when there are no more results to return.
73280	NextToken *string `locationName:"nextToken" type:"string"`
73281}
73282
73283// String returns the string representation
73284func (s DescribeNetworkAclsOutput) String() string {
73285	return awsutil.Prettify(s)
73286}
73287
73288// GoString returns the string representation
73289func (s DescribeNetworkAclsOutput) GoString() string {
73290	return s.String()
73291}
73292
73293// SetNetworkAcls sets the NetworkAcls field's value.
73294func (s *DescribeNetworkAclsOutput) SetNetworkAcls(v []*NetworkAcl) *DescribeNetworkAclsOutput {
73295	s.NetworkAcls = v
73296	return s
73297}
73298
73299// SetNextToken sets the NextToken field's value.
73300func (s *DescribeNetworkAclsOutput) SetNextToken(v string) *DescribeNetworkAclsOutput {
73301	s.NextToken = &v
73302	return s
73303}
73304
73305type DescribeNetworkInsightsAnalysesInput struct {
73306	_ struct{} `type:"structure"`
73307
73308	// The time when the network insights analyses ended.
73309	AnalysisEndTime *time.Time `type:"timestamp"`
73310
73311	// The time when the network insights analyses started.
73312	AnalysisStartTime *time.Time `type:"timestamp"`
73313
73314	// Checks whether you have the required permissions for the action, without
73315	// actually making the request, and provides an error response. If you have
73316	// the required permissions, the error response is DryRunOperation. Otherwise,
73317	// it is UnauthorizedOperation.
73318	DryRun *bool `type:"boolean"`
73319
73320	// The filters. The following are possible values:
73321	//
73322	//    * PathFound - A Boolean value that indicates whether a feasible path is
73323	//    found.
73324	//
73325	//    * Status - The status of the analysis (running | succeeded | failed).
73326	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
73327
73328	// The maximum number of results to return with a single call. To retrieve the
73329	// remaining results, make another call with the returned nextToken value.
73330	MaxResults *int64 `min:"1" type:"integer"`
73331
73332	// The ID of the network insights analyses. You must specify either analysis
73333	// IDs or a path ID.
73334	NetworkInsightsAnalysisIds []*string `locationName:"NetworkInsightsAnalysisId" locationNameList:"item" type:"list"`
73335
73336	// The ID of the path. You must specify either a path ID or analysis IDs.
73337	NetworkInsightsPathId *string `type:"string"`
73338
73339	// The token for the next page of results.
73340	NextToken *string `type:"string"`
73341}
73342
73343// String returns the string representation
73344func (s DescribeNetworkInsightsAnalysesInput) String() string {
73345	return awsutil.Prettify(s)
73346}
73347
73348// GoString returns the string representation
73349func (s DescribeNetworkInsightsAnalysesInput) GoString() string {
73350	return s.String()
73351}
73352
73353// Validate inspects the fields of the type to determine if they are valid.
73354func (s *DescribeNetworkInsightsAnalysesInput) Validate() error {
73355	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInsightsAnalysesInput"}
73356	if s.MaxResults != nil && *s.MaxResults < 1 {
73357		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
73358	}
73359
73360	if invalidParams.Len() > 0 {
73361		return invalidParams
73362	}
73363	return nil
73364}
73365
73366// SetAnalysisEndTime sets the AnalysisEndTime field's value.
73367func (s *DescribeNetworkInsightsAnalysesInput) SetAnalysisEndTime(v time.Time) *DescribeNetworkInsightsAnalysesInput {
73368	s.AnalysisEndTime = &v
73369	return s
73370}
73371
73372// SetAnalysisStartTime sets the AnalysisStartTime field's value.
73373func (s *DescribeNetworkInsightsAnalysesInput) SetAnalysisStartTime(v time.Time) *DescribeNetworkInsightsAnalysesInput {
73374	s.AnalysisStartTime = &v
73375	return s
73376}
73377
73378// SetDryRun sets the DryRun field's value.
73379func (s *DescribeNetworkInsightsAnalysesInput) SetDryRun(v bool) *DescribeNetworkInsightsAnalysesInput {
73380	s.DryRun = &v
73381	return s
73382}
73383
73384// SetFilters sets the Filters field's value.
73385func (s *DescribeNetworkInsightsAnalysesInput) SetFilters(v []*Filter) *DescribeNetworkInsightsAnalysesInput {
73386	s.Filters = v
73387	return s
73388}
73389
73390// SetMaxResults sets the MaxResults field's value.
73391func (s *DescribeNetworkInsightsAnalysesInput) SetMaxResults(v int64) *DescribeNetworkInsightsAnalysesInput {
73392	s.MaxResults = &v
73393	return s
73394}
73395
73396// SetNetworkInsightsAnalysisIds sets the NetworkInsightsAnalysisIds field's value.
73397func (s *DescribeNetworkInsightsAnalysesInput) SetNetworkInsightsAnalysisIds(v []*string) *DescribeNetworkInsightsAnalysesInput {
73398	s.NetworkInsightsAnalysisIds = v
73399	return s
73400}
73401
73402// SetNetworkInsightsPathId sets the NetworkInsightsPathId field's value.
73403func (s *DescribeNetworkInsightsAnalysesInput) SetNetworkInsightsPathId(v string) *DescribeNetworkInsightsAnalysesInput {
73404	s.NetworkInsightsPathId = &v
73405	return s
73406}
73407
73408// SetNextToken sets the NextToken field's value.
73409func (s *DescribeNetworkInsightsAnalysesInput) SetNextToken(v string) *DescribeNetworkInsightsAnalysesInput {
73410	s.NextToken = &v
73411	return s
73412}
73413
73414type DescribeNetworkInsightsAnalysesOutput struct {
73415	_ struct{} `type:"structure"`
73416
73417	// Information about the network insights analyses.
73418	NetworkInsightsAnalyses []*NetworkInsightsAnalysis `locationName:"networkInsightsAnalysisSet" locationNameList:"item" type:"list"`
73419
73420	// The token to use to retrieve the next page of results. This value is null
73421	// when there are no more results to return.
73422	NextToken *string `locationName:"nextToken" type:"string"`
73423}
73424
73425// String returns the string representation
73426func (s DescribeNetworkInsightsAnalysesOutput) String() string {
73427	return awsutil.Prettify(s)
73428}
73429
73430// GoString returns the string representation
73431func (s DescribeNetworkInsightsAnalysesOutput) GoString() string {
73432	return s.String()
73433}
73434
73435// SetNetworkInsightsAnalyses sets the NetworkInsightsAnalyses field's value.
73436func (s *DescribeNetworkInsightsAnalysesOutput) SetNetworkInsightsAnalyses(v []*NetworkInsightsAnalysis) *DescribeNetworkInsightsAnalysesOutput {
73437	s.NetworkInsightsAnalyses = v
73438	return s
73439}
73440
73441// SetNextToken sets the NextToken field's value.
73442func (s *DescribeNetworkInsightsAnalysesOutput) SetNextToken(v string) *DescribeNetworkInsightsAnalysesOutput {
73443	s.NextToken = &v
73444	return s
73445}
73446
73447type DescribeNetworkInsightsPathsInput struct {
73448	_ struct{} `type:"structure"`
73449
73450	// Checks whether you have the required permissions for the action, without
73451	// actually making the request, and provides an error response. If you have
73452	// the required permissions, the error response is DryRunOperation. Otherwise,
73453	// it is UnauthorizedOperation.
73454	DryRun *bool `type:"boolean"`
73455
73456	// The filters. The following are possible values:
73457	//
73458	//    * Destination - The ID of the resource.
73459	//
73460	//    * DestinationPort - The destination port.
73461	//
73462	//    * Name - The path name.
73463	//
73464	//    * Protocol - The protocol.
73465	//
73466	//    * Source - The ID of the resource.
73467	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
73468
73469	// The maximum number of results to return with a single call. To retrieve the
73470	// remaining results, make another call with the returned nextToken value.
73471	MaxResults *int64 `min:"1" type:"integer"`
73472
73473	// The IDs of the paths.
73474	NetworkInsightsPathIds []*string `locationName:"NetworkInsightsPathId" locationNameList:"item" type:"list"`
73475
73476	// The token for the next page of results.
73477	NextToken *string `type:"string"`
73478}
73479
73480// String returns the string representation
73481func (s DescribeNetworkInsightsPathsInput) String() string {
73482	return awsutil.Prettify(s)
73483}
73484
73485// GoString returns the string representation
73486func (s DescribeNetworkInsightsPathsInput) GoString() string {
73487	return s.String()
73488}
73489
73490// Validate inspects the fields of the type to determine if they are valid.
73491func (s *DescribeNetworkInsightsPathsInput) Validate() error {
73492	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInsightsPathsInput"}
73493	if s.MaxResults != nil && *s.MaxResults < 1 {
73494		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
73495	}
73496
73497	if invalidParams.Len() > 0 {
73498		return invalidParams
73499	}
73500	return nil
73501}
73502
73503// SetDryRun sets the DryRun field's value.
73504func (s *DescribeNetworkInsightsPathsInput) SetDryRun(v bool) *DescribeNetworkInsightsPathsInput {
73505	s.DryRun = &v
73506	return s
73507}
73508
73509// SetFilters sets the Filters field's value.
73510func (s *DescribeNetworkInsightsPathsInput) SetFilters(v []*Filter) *DescribeNetworkInsightsPathsInput {
73511	s.Filters = v
73512	return s
73513}
73514
73515// SetMaxResults sets the MaxResults field's value.
73516func (s *DescribeNetworkInsightsPathsInput) SetMaxResults(v int64) *DescribeNetworkInsightsPathsInput {
73517	s.MaxResults = &v
73518	return s
73519}
73520
73521// SetNetworkInsightsPathIds sets the NetworkInsightsPathIds field's value.
73522func (s *DescribeNetworkInsightsPathsInput) SetNetworkInsightsPathIds(v []*string) *DescribeNetworkInsightsPathsInput {
73523	s.NetworkInsightsPathIds = v
73524	return s
73525}
73526
73527// SetNextToken sets the NextToken field's value.
73528func (s *DescribeNetworkInsightsPathsInput) SetNextToken(v string) *DescribeNetworkInsightsPathsInput {
73529	s.NextToken = &v
73530	return s
73531}
73532
73533type DescribeNetworkInsightsPathsOutput struct {
73534	_ struct{} `type:"structure"`
73535
73536	// Information about the paths.
73537	NetworkInsightsPaths []*NetworkInsightsPath `locationName:"networkInsightsPathSet" locationNameList:"item" type:"list"`
73538
73539	// The token to use to retrieve the next page of results. This value is null
73540	// when there are no more results to return.
73541	NextToken *string `locationName:"nextToken" type:"string"`
73542}
73543
73544// String returns the string representation
73545func (s DescribeNetworkInsightsPathsOutput) String() string {
73546	return awsutil.Prettify(s)
73547}
73548
73549// GoString returns the string representation
73550func (s DescribeNetworkInsightsPathsOutput) GoString() string {
73551	return s.String()
73552}
73553
73554// SetNetworkInsightsPaths sets the NetworkInsightsPaths field's value.
73555func (s *DescribeNetworkInsightsPathsOutput) SetNetworkInsightsPaths(v []*NetworkInsightsPath) *DescribeNetworkInsightsPathsOutput {
73556	s.NetworkInsightsPaths = v
73557	return s
73558}
73559
73560// SetNextToken sets the NextToken field's value.
73561func (s *DescribeNetworkInsightsPathsOutput) SetNextToken(v string) *DescribeNetworkInsightsPathsOutput {
73562	s.NextToken = &v
73563	return s
73564}
73565
73566// Contains the parameters for DescribeNetworkInterfaceAttribute.
73567type DescribeNetworkInterfaceAttributeInput struct {
73568	_ struct{} `type:"structure"`
73569
73570	// The attribute of the network interface. This parameter is required.
73571	Attribute *string `locationName:"attribute" type:"string" enum:"NetworkInterfaceAttribute"`
73572
73573	// Checks whether you have the required permissions for the action, without
73574	// actually making the request, and provides an error response. If you have
73575	// the required permissions, the error response is DryRunOperation. Otherwise,
73576	// it is UnauthorizedOperation.
73577	DryRun *bool `locationName:"dryRun" type:"boolean"`
73578
73579	// The ID of the network interface.
73580	//
73581	// NetworkInterfaceId is a required field
73582	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
73583}
73584
73585// String returns the string representation
73586func (s DescribeNetworkInterfaceAttributeInput) String() string {
73587	return awsutil.Prettify(s)
73588}
73589
73590// GoString returns the string representation
73591func (s DescribeNetworkInterfaceAttributeInput) GoString() string {
73592	return s.String()
73593}
73594
73595// Validate inspects the fields of the type to determine if they are valid.
73596func (s *DescribeNetworkInterfaceAttributeInput) Validate() error {
73597	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfaceAttributeInput"}
73598	if s.NetworkInterfaceId == nil {
73599		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
73600	}
73601
73602	if invalidParams.Len() > 0 {
73603		return invalidParams
73604	}
73605	return nil
73606}
73607
73608// SetAttribute sets the Attribute field's value.
73609func (s *DescribeNetworkInterfaceAttributeInput) SetAttribute(v string) *DescribeNetworkInterfaceAttributeInput {
73610	s.Attribute = &v
73611	return s
73612}
73613
73614// SetDryRun sets the DryRun field's value.
73615func (s *DescribeNetworkInterfaceAttributeInput) SetDryRun(v bool) *DescribeNetworkInterfaceAttributeInput {
73616	s.DryRun = &v
73617	return s
73618}
73619
73620// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
73621func (s *DescribeNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeInput {
73622	s.NetworkInterfaceId = &v
73623	return s
73624}
73625
73626// Contains the output of DescribeNetworkInterfaceAttribute.
73627type DescribeNetworkInterfaceAttributeOutput struct {
73628	_ struct{} `type:"structure"`
73629
73630	// The attachment (if any) of the network interface.
73631	Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
73632
73633	// The description of the network interface.
73634	Description *AttributeValue `locationName:"description" type:"structure"`
73635
73636	// The security groups associated with the network interface.
73637	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
73638
73639	// The ID of the network interface.
73640	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
73641
73642	// Indicates whether source/destination checking is enabled.
73643	SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
73644}
73645
73646// String returns the string representation
73647func (s DescribeNetworkInterfaceAttributeOutput) String() string {
73648	return awsutil.Prettify(s)
73649}
73650
73651// GoString returns the string representation
73652func (s DescribeNetworkInterfaceAttributeOutput) GoString() string {
73653	return s.String()
73654}
73655
73656// SetAttachment sets the Attachment field's value.
73657func (s *DescribeNetworkInterfaceAttributeOutput) SetAttachment(v *NetworkInterfaceAttachment) *DescribeNetworkInterfaceAttributeOutput {
73658	s.Attachment = v
73659	return s
73660}
73661
73662// SetDescription sets the Description field's value.
73663func (s *DescribeNetworkInterfaceAttributeOutput) SetDescription(v *AttributeValue) *DescribeNetworkInterfaceAttributeOutput {
73664	s.Description = v
73665	return s
73666}
73667
73668// SetGroups sets the Groups field's value.
73669func (s *DescribeNetworkInterfaceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeNetworkInterfaceAttributeOutput {
73670	s.Groups = v
73671	return s
73672}
73673
73674// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
73675func (s *DescribeNetworkInterfaceAttributeOutput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeOutput {
73676	s.NetworkInterfaceId = &v
73677	return s
73678}
73679
73680// SetSourceDestCheck sets the SourceDestCheck field's value.
73681func (s *DescribeNetworkInterfaceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeNetworkInterfaceAttributeOutput {
73682	s.SourceDestCheck = v
73683	return s
73684}
73685
73686// Contains the parameters for DescribeNetworkInterfacePermissions.
73687type DescribeNetworkInterfacePermissionsInput struct {
73688	_ struct{} `type:"structure"`
73689
73690	// One or more filters.
73691	//
73692	//    * network-interface-permission.network-interface-permission-id - The ID
73693	//    of the permission.
73694	//
73695	//    * network-interface-permission.network-interface-id - The ID of the network
73696	//    interface.
73697	//
73698	//    * network-interface-permission.aws-account-id - The Amazon Web Services
73699	//    account ID.
73700	//
73701	//    * network-interface-permission.aws-service - The Amazon Web Service.
73702	//
73703	//    * network-interface-permission.permission - The type of permission (INSTANCE-ATTACH
73704	//    | EIP-ASSOCIATE).
73705	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
73706
73707	// The maximum number of results to return in a single call. To retrieve the
73708	// remaining results, make another call with the returned NextToken value. If
73709	// this parameter is not specified, up to 50 results are returned by default.
73710	MaxResults *int64 `min:"5" type:"integer"`
73711
73712	// One or more network interface permission IDs.
73713	NetworkInterfacePermissionIds []*string `locationName:"NetworkInterfacePermissionId" type:"list"`
73714
73715	// The token to request the next page of results.
73716	NextToken *string `type:"string"`
73717}
73718
73719// String returns the string representation
73720func (s DescribeNetworkInterfacePermissionsInput) String() string {
73721	return awsutil.Prettify(s)
73722}
73723
73724// GoString returns the string representation
73725func (s DescribeNetworkInterfacePermissionsInput) GoString() string {
73726	return s.String()
73727}
73728
73729// Validate inspects the fields of the type to determine if they are valid.
73730func (s *DescribeNetworkInterfacePermissionsInput) Validate() error {
73731	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfacePermissionsInput"}
73732	if s.MaxResults != nil && *s.MaxResults < 5 {
73733		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
73734	}
73735
73736	if invalidParams.Len() > 0 {
73737		return invalidParams
73738	}
73739	return nil
73740}
73741
73742// SetFilters sets the Filters field's value.
73743func (s *DescribeNetworkInterfacePermissionsInput) SetFilters(v []*Filter) *DescribeNetworkInterfacePermissionsInput {
73744	s.Filters = v
73745	return s
73746}
73747
73748// SetMaxResults sets the MaxResults field's value.
73749func (s *DescribeNetworkInterfacePermissionsInput) SetMaxResults(v int64) *DescribeNetworkInterfacePermissionsInput {
73750	s.MaxResults = &v
73751	return s
73752}
73753
73754// SetNetworkInterfacePermissionIds sets the NetworkInterfacePermissionIds field's value.
73755func (s *DescribeNetworkInterfacePermissionsInput) SetNetworkInterfacePermissionIds(v []*string) *DescribeNetworkInterfacePermissionsInput {
73756	s.NetworkInterfacePermissionIds = v
73757	return s
73758}
73759
73760// SetNextToken sets the NextToken field's value.
73761func (s *DescribeNetworkInterfacePermissionsInput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsInput {
73762	s.NextToken = &v
73763	return s
73764}
73765
73766// Contains the output for DescribeNetworkInterfacePermissions.
73767type DescribeNetworkInterfacePermissionsOutput struct {
73768	_ struct{} `type:"structure"`
73769
73770	// The network interface permissions.
73771	NetworkInterfacePermissions []*NetworkInterfacePermission `locationName:"networkInterfacePermissions" locationNameList:"item" type:"list"`
73772
73773	// The token to use to retrieve the next page of results.
73774	NextToken *string `locationName:"nextToken" type:"string"`
73775}
73776
73777// String returns the string representation
73778func (s DescribeNetworkInterfacePermissionsOutput) String() string {
73779	return awsutil.Prettify(s)
73780}
73781
73782// GoString returns the string representation
73783func (s DescribeNetworkInterfacePermissionsOutput) GoString() string {
73784	return s.String()
73785}
73786
73787// SetNetworkInterfacePermissions sets the NetworkInterfacePermissions field's value.
73788func (s *DescribeNetworkInterfacePermissionsOutput) SetNetworkInterfacePermissions(v []*NetworkInterfacePermission) *DescribeNetworkInterfacePermissionsOutput {
73789	s.NetworkInterfacePermissions = v
73790	return s
73791}
73792
73793// SetNextToken sets the NextToken field's value.
73794func (s *DescribeNetworkInterfacePermissionsOutput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsOutput {
73795	s.NextToken = &v
73796	return s
73797}
73798
73799// Contains the parameters for DescribeNetworkInterfaces.
73800type DescribeNetworkInterfacesInput struct {
73801	_ struct{} `type:"structure"`
73802
73803	// Checks whether you have the required permissions for the action, without
73804	// actually making the request, and provides an error response. If you have
73805	// the required permissions, the error response is DryRunOperation. Otherwise,
73806	// it is UnauthorizedOperation.
73807	DryRun *bool `locationName:"dryRun" type:"boolean"`
73808
73809	// One or more filters.
73810	//
73811	//    * addresses.private-ip-address - The private IPv4 addresses associated
73812	//    with the network interface.
73813	//
73814	//    * addresses.primary - Whether the private IPv4 address is the primary
73815	//    IP address associated with the network interface.
73816	//
73817	//    * addresses.association.public-ip - The association ID returned when the
73818	//    network interface was associated with the Elastic IP address (IPv4).
73819	//
73820	//    * addresses.association.owner-id - The owner ID of the addresses associated
73821	//    with the network interface.
73822	//
73823	//    * association.association-id - The association ID returned when the network
73824	//    interface was associated with an IPv4 address.
73825	//
73826	//    * association.allocation-id - The allocation ID returned when you allocated
73827	//    the Elastic IP address (IPv4) for your network interface.
73828	//
73829	//    * association.ip-owner-id - The owner of the Elastic IP address (IPv4)
73830	//    associated with the network interface.
73831	//
73832	//    * association.public-ip - The address of the Elastic IP address (IPv4)
73833	//    bound to the network interface.
73834	//
73835	//    * association.public-dns-name - The public DNS name for the network interface
73836	//    (IPv4).
73837	//
73838	//    * attachment.attachment-id - The ID of the interface attachment.
73839	//
73840	//    * attachment.attach-time - The time that the network interface was attached
73841	//    to an instance.
73842	//
73843	//    * attachment.delete-on-termination - Indicates whether the attachment
73844	//    is deleted when an instance is terminated.
73845	//
73846	//    * attachment.device-index - The device index to which the network interface
73847	//    is attached.
73848	//
73849	//    * attachment.instance-id - The ID of the instance to which the network
73850	//    interface is attached.
73851	//
73852	//    * attachment.instance-owner-id - The owner ID of the instance to which
73853	//    the network interface is attached.
73854	//
73855	//    * attachment.status - The status of the attachment (attaching | attached
73856	//    | detaching | detached).
73857	//
73858	//    * availability-zone - The Availability Zone of the network interface.
73859	//
73860	//    * description - The description of the network interface.
73861	//
73862	//    * group-id - The ID of a security group associated with the network interface.
73863	//
73864	//    * group-name - The name of a security group associated with the network
73865	//    interface.
73866	//
73867	//    * ipv6-addresses.ipv6-address - An IPv6 address associated with the network
73868	//    interface.
73869	//
73870	//    * mac-address - The MAC address of the network interface.
73871	//
73872	//    * network-interface-id - The ID of the network interface.
73873	//
73874	//    * owner-id - The Amazon Web Services account ID of the network interface
73875	//    owner.
73876	//
73877	//    * private-ip-address - The private IPv4 address or addresses of the network
73878	//    interface.
73879	//
73880	//    * private-dns-name - The private DNS name of the network interface (IPv4).
73881	//
73882	//    * requester-id - The alias or Amazon Web Services account ID of the principal
73883	//    or service that created the network interface.
73884	//
73885	//    * requester-managed - Indicates whether the network interface is being
73886	//    managed by an Amazon Web Service (for example, Amazon Web Services Management
73887	//    Console, Auto Scaling, and so on).
73888	//
73889	//    * source-dest-check - Indicates whether the network interface performs
73890	//    source/destination checking. A value of true means checking is enabled,
73891	//    and false means checking is disabled. The value must be false for the
73892	//    network interface to perform network address translation (NAT) in your
73893	//    VPC.
73894	//
73895	//    * status - The status of the network interface. If the network interface
73896	//    is not attached to an instance, the status is available; if a network
73897	//    interface is attached to an instance the status is in-use.
73898	//
73899	//    * subnet-id - The ID of the subnet for the network interface.
73900	//
73901	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
73902	//    Use the tag key in the filter name and the tag value as the filter value.
73903	//    For example, to find all resources that have a tag with the key Owner
73904	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
73905	//    the filter value.
73906	//
73907	//    * tag-key - The key of a tag assigned to the resource. Use this filter
73908	//    to find all resources assigned a tag with a specific key, regardless of
73909	//    the tag value.
73910	//
73911	//    * vpc-id - The ID of the VPC for the network interface.
73912	Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
73913
73914	// The maximum number of items to return for this request. The request returns
73915	// a token that you can specify in a subsequent call to get the next set of
73916	// results. You cannot specify this parameter and the network interface IDs
73917	// parameter in the same request.
73918	MaxResults *int64 `min:"5" type:"integer"`
73919
73920	// One or more network interface IDs.
73921	//
73922	// Default: Describes all your network interfaces.
73923	NetworkInterfaceIds []*string `locationName:"NetworkInterfaceId" locationNameList:"item" type:"list"`
73924
73925	// The token to retrieve the next page of results.
73926	NextToken *string `type:"string"`
73927}
73928
73929// String returns the string representation
73930func (s DescribeNetworkInterfacesInput) String() string {
73931	return awsutil.Prettify(s)
73932}
73933
73934// GoString returns the string representation
73935func (s DescribeNetworkInterfacesInput) GoString() string {
73936	return s.String()
73937}
73938
73939// Validate inspects the fields of the type to determine if they are valid.
73940func (s *DescribeNetworkInterfacesInput) Validate() error {
73941	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfacesInput"}
73942	if s.MaxResults != nil && *s.MaxResults < 5 {
73943		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
73944	}
73945
73946	if invalidParams.Len() > 0 {
73947		return invalidParams
73948	}
73949	return nil
73950}
73951
73952// SetDryRun sets the DryRun field's value.
73953func (s *DescribeNetworkInterfacesInput) SetDryRun(v bool) *DescribeNetworkInterfacesInput {
73954	s.DryRun = &v
73955	return s
73956}
73957
73958// SetFilters sets the Filters field's value.
73959func (s *DescribeNetworkInterfacesInput) SetFilters(v []*Filter) *DescribeNetworkInterfacesInput {
73960	s.Filters = v
73961	return s
73962}
73963
73964// SetMaxResults sets the MaxResults field's value.
73965func (s *DescribeNetworkInterfacesInput) SetMaxResults(v int64) *DescribeNetworkInterfacesInput {
73966	s.MaxResults = &v
73967	return s
73968}
73969
73970// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
73971func (s *DescribeNetworkInterfacesInput) SetNetworkInterfaceIds(v []*string) *DescribeNetworkInterfacesInput {
73972	s.NetworkInterfaceIds = v
73973	return s
73974}
73975
73976// SetNextToken sets the NextToken field's value.
73977func (s *DescribeNetworkInterfacesInput) SetNextToken(v string) *DescribeNetworkInterfacesInput {
73978	s.NextToken = &v
73979	return s
73980}
73981
73982// Contains the output of DescribeNetworkInterfaces.
73983type DescribeNetworkInterfacesOutput struct {
73984	_ struct{} `type:"structure"`
73985
73986	// Information about one or more network interfaces.
73987	NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
73988
73989	// The token to use to retrieve the next page of results. This value is null
73990	// when there are no more results to return.
73991	NextToken *string `locationName:"nextToken" type:"string"`
73992}
73993
73994// String returns the string representation
73995func (s DescribeNetworkInterfacesOutput) String() string {
73996	return awsutil.Prettify(s)
73997}
73998
73999// GoString returns the string representation
74000func (s DescribeNetworkInterfacesOutput) GoString() string {
74001	return s.String()
74002}
74003
74004// SetNetworkInterfaces sets the NetworkInterfaces field's value.
74005func (s *DescribeNetworkInterfacesOutput) SetNetworkInterfaces(v []*NetworkInterface) *DescribeNetworkInterfacesOutput {
74006	s.NetworkInterfaces = v
74007	return s
74008}
74009
74010// SetNextToken sets the NextToken field's value.
74011func (s *DescribeNetworkInterfacesOutput) SetNextToken(v string) *DescribeNetworkInterfacesOutput {
74012	s.NextToken = &v
74013	return s
74014}
74015
74016type DescribePlacementGroupsInput struct {
74017	_ struct{} `type:"structure"`
74018
74019	// Checks whether you have the required permissions for the action, without
74020	// actually making the request, and provides an error response. If you have
74021	// the required permissions, the error response is DryRunOperation. Otherwise,
74022	// it is UnauthorizedOperation.
74023	DryRun *bool `locationName:"dryRun" type:"boolean"`
74024
74025	// The filters.
74026	//
74027	//    * group-name - The name of the placement group.
74028	//
74029	//    * state - The state of the placement group (pending | available | deleting
74030	//    | deleted).
74031	//
74032	//    * strategy - The strategy of the placement group (cluster | spread | partition).
74033	//
74034	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
74035	//    Use the tag key in the filter name and the tag value as the filter value.
74036	//    For example, to find all resources that have a tag with the key Owner
74037	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
74038	//    the filter value.
74039	//
74040	//    * tag-key - The key of a tag assigned to the resource. Use this filter
74041	//    to find all resources that have a tag with a specific key, regardless
74042	//    of the tag value.
74043	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
74044
74045	// The IDs of the placement groups.
74046	GroupIds []*string `locationName:"GroupId" locationNameList:"GroupId" type:"list"`
74047
74048	// The names of the placement groups.
74049	//
74050	// Default: Describes all your placement groups, or only those otherwise specified.
74051	GroupNames []*string `locationName:"groupName" type:"list"`
74052}
74053
74054// String returns the string representation
74055func (s DescribePlacementGroupsInput) String() string {
74056	return awsutil.Prettify(s)
74057}
74058
74059// GoString returns the string representation
74060func (s DescribePlacementGroupsInput) GoString() string {
74061	return s.String()
74062}
74063
74064// SetDryRun sets the DryRun field's value.
74065func (s *DescribePlacementGroupsInput) SetDryRun(v bool) *DescribePlacementGroupsInput {
74066	s.DryRun = &v
74067	return s
74068}
74069
74070// SetFilters sets the Filters field's value.
74071func (s *DescribePlacementGroupsInput) SetFilters(v []*Filter) *DescribePlacementGroupsInput {
74072	s.Filters = v
74073	return s
74074}
74075
74076// SetGroupIds sets the GroupIds field's value.
74077func (s *DescribePlacementGroupsInput) SetGroupIds(v []*string) *DescribePlacementGroupsInput {
74078	s.GroupIds = v
74079	return s
74080}
74081
74082// SetGroupNames sets the GroupNames field's value.
74083func (s *DescribePlacementGroupsInput) SetGroupNames(v []*string) *DescribePlacementGroupsInput {
74084	s.GroupNames = v
74085	return s
74086}
74087
74088type DescribePlacementGroupsOutput struct {
74089	_ struct{} `type:"structure"`
74090
74091	// Information about the placement groups.
74092	PlacementGroups []*PlacementGroup `locationName:"placementGroupSet" locationNameList:"item" type:"list"`
74093}
74094
74095// String returns the string representation
74096func (s DescribePlacementGroupsOutput) String() string {
74097	return awsutil.Prettify(s)
74098}
74099
74100// GoString returns the string representation
74101func (s DescribePlacementGroupsOutput) GoString() string {
74102	return s.String()
74103}
74104
74105// SetPlacementGroups sets the PlacementGroups field's value.
74106func (s *DescribePlacementGroupsOutput) SetPlacementGroups(v []*PlacementGroup) *DescribePlacementGroupsOutput {
74107	s.PlacementGroups = v
74108	return s
74109}
74110
74111type DescribePrefixListsInput struct {
74112	_ struct{} `type:"structure"`
74113
74114	// Checks whether you have the required permissions for the action, without
74115	// actually making the request, and provides an error response. If you have
74116	// the required permissions, the error response is DryRunOperation. Otherwise,
74117	// it is UnauthorizedOperation.
74118	DryRun *bool `type:"boolean"`
74119
74120	// One or more filters.
74121	//
74122	//    * prefix-list-id: The ID of a prefix list.
74123	//
74124	//    * prefix-list-name: The name of a prefix list.
74125	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
74126
74127	// The maximum number of results to return with a single call. To retrieve the
74128	// remaining results, make another call with the returned nextToken value.
74129	MaxResults *int64 `type:"integer"`
74130
74131	// The token for the next page of results.
74132	NextToken *string `type:"string"`
74133
74134	// One or more prefix list IDs.
74135	PrefixListIds []*string `locationName:"PrefixListId" locationNameList:"item" type:"list"`
74136}
74137
74138// String returns the string representation
74139func (s DescribePrefixListsInput) String() string {
74140	return awsutil.Prettify(s)
74141}
74142
74143// GoString returns the string representation
74144func (s DescribePrefixListsInput) GoString() string {
74145	return s.String()
74146}
74147
74148// SetDryRun sets the DryRun field's value.
74149func (s *DescribePrefixListsInput) SetDryRun(v bool) *DescribePrefixListsInput {
74150	s.DryRun = &v
74151	return s
74152}
74153
74154// SetFilters sets the Filters field's value.
74155func (s *DescribePrefixListsInput) SetFilters(v []*Filter) *DescribePrefixListsInput {
74156	s.Filters = v
74157	return s
74158}
74159
74160// SetMaxResults sets the MaxResults field's value.
74161func (s *DescribePrefixListsInput) SetMaxResults(v int64) *DescribePrefixListsInput {
74162	s.MaxResults = &v
74163	return s
74164}
74165
74166// SetNextToken sets the NextToken field's value.
74167func (s *DescribePrefixListsInput) SetNextToken(v string) *DescribePrefixListsInput {
74168	s.NextToken = &v
74169	return s
74170}
74171
74172// SetPrefixListIds sets the PrefixListIds field's value.
74173func (s *DescribePrefixListsInput) SetPrefixListIds(v []*string) *DescribePrefixListsInput {
74174	s.PrefixListIds = v
74175	return s
74176}
74177
74178type DescribePrefixListsOutput struct {
74179	_ struct{} `type:"structure"`
74180
74181	// The token to use to retrieve the next page of results. This value is null
74182	// when there are no more results to return.
74183	NextToken *string `locationName:"nextToken" type:"string"`
74184
74185	// All available prefix lists.
74186	PrefixLists []*PrefixList `locationName:"prefixListSet" locationNameList:"item" type:"list"`
74187}
74188
74189// String returns the string representation
74190func (s DescribePrefixListsOutput) String() string {
74191	return awsutil.Prettify(s)
74192}
74193
74194// GoString returns the string representation
74195func (s DescribePrefixListsOutput) GoString() string {
74196	return s.String()
74197}
74198
74199// SetNextToken sets the NextToken field's value.
74200func (s *DescribePrefixListsOutput) SetNextToken(v string) *DescribePrefixListsOutput {
74201	s.NextToken = &v
74202	return s
74203}
74204
74205// SetPrefixLists sets the PrefixLists field's value.
74206func (s *DescribePrefixListsOutput) SetPrefixLists(v []*PrefixList) *DescribePrefixListsOutput {
74207	s.PrefixLists = v
74208	return s
74209}
74210
74211type DescribePrincipalIdFormatInput struct {
74212	_ struct{} `type:"structure"`
74213
74214	// Checks whether you have the required permissions for the action, without
74215	// actually making the request, and provides an error response. If you have
74216	// the required permissions, the error response is DryRunOperation. Otherwise,
74217	// it is UnauthorizedOperation.
74218	DryRun *bool `type:"boolean"`
74219
74220	// The maximum number of results to return in a single call. To retrieve the
74221	// remaining results, make another call with the returned NextToken value.
74222	MaxResults *int64 `min:"1" type:"integer"`
74223
74224	// The token to request the next page of results.
74225	NextToken *string `type:"string"`
74226
74227	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
74228	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
74229	// | image | import-task | instance | internet-gateway | network-acl | network-acl-association
74230	// | network-interface | network-interface-attachment | prefix-list | reservation
74231	// | route-table | route-table-association | security-group | snapshot | subnet
74232	// | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
74233	// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
74234	Resources []*string `locationName:"Resource" locationNameList:"item" type:"list"`
74235}
74236
74237// String returns the string representation
74238func (s DescribePrincipalIdFormatInput) String() string {
74239	return awsutil.Prettify(s)
74240}
74241
74242// GoString returns the string representation
74243func (s DescribePrincipalIdFormatInput) GoString() string {
74244	return s.String()
74245}
74246
74247// Validate inspects the fields of the type to determine if they are valid.
74248func (s *DescribePrincipalIdFormatInput) Validate() error {
74249	invalidParams := request.ErrInvalidParams{Context: "DescribePrincipalIdFormatInput"}
74250	if s.MaxResults != nil && *s.MaxResults < 1 {
74251		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
74252	}
74253
74254	if invalidParams.Len() > 0 {
74255		return invalidParams
74256	}
74257	return nil
74258}
74259
74260// SetDryRun sets the DryRun field's value.
74261func (s *DescribePrincipalIdFormatInput) SetDryRun(v bool) *DescribePrincipalIdFormatInput {
74262	s.DryRun = &v
74263	return s
74264}
74265
74266// SetMaxResults sets the MaxResults field's value.
74267func (s *DescribePrincipalIdFormatInput) SetMaxResults(v int64) *DescribePrincipalIdFormatInput {
74268	s.MaxResults = &v
74269	return s
74270}
74271
74272// SetNextToken sets the NextToken field's value.
74273func (s *DescribePrincipalIdFormatInput) SetNextToken(v string) *DescribePrincipalIdFormatInput {
74274	s.NextToken = &v
74275	return s
74276}
74277
74278// SetResources sets the Resources field's value.
74279func (s *DescribePrincipalIdFormatInput) SetResources(v []*string) *DescribePrincipalIdFormatInput {
74280	s.Resources = v
74281	return s
74282}
74283
74284type DescribePrincipalIdFormatOutput struct {
74285	_ struct{} `type:"structure"`
74286
74287	// The token to use to retrieve the next page of results. This value is null
74288	// when there are no more results to return.
74289	NextToken *string `locationName:"nextToken" type:"string"`
74290
74291	// Information about the ID format settings for the ARN.
74292	Principals []*PrincipalIdFormat `locationName:"principalSet" locationNameList:"item" type:"list"`
74293}
74294
74295// String returns the string representation
74296func (s DescribePrincipalIdFormatOutput) String() string {
74297	return awsutil.Prettify(s)
74298}
74299
74300// GoString returns the string representation
74301func (s DescribePrincipalIdFormatOutput) GoString() string {
74302	return s.String()
74303}
74304
74305// SetNextToken sets the NextToken field's value.
74306func (s *DescribePrincipalIdFormatOutput) SetNextToken(v string) *DescribePrincipalIdFormatOutput {
74307	s.NextToken = &v
74308	return s
74309}
74310
74311// SetPrincipals sets the Principals field's value.
74312func (s *DescribePrincipalIdFormatOutput) SetPrincipals(v []*PrincipalIdFormat) *DescribePrincipalIdFormatOutput {
74313	s.Principals = v
74314	return s
74315}
74316
74317type DescribePublicIpv4PoolsInput struct {
74318	_ struct{} `type:"structure"`
74319
74320	// One or more filters.
74321	//
74322	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
74323	//    Use the tag key in the filter name and the tag value as the filter value.
74324	//    For example, to find all resources that have a tag with the key Owner
74325	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
74326	//    the filter value.
74327	//
74328	//    * tag-key - The key of a tag assigned to the resource. Use this filter
74329	//    to find all resources assigned a tag with a specific key, regardless of
74330	//    the tag value.
74331	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
74332
74333	// The maximum number of results to return with a single call. To retrieve the
74334	// remaining results, make another call with the returned nextToken value.
74335	MaxResults *int64 `min:"1" type:"integer"`
74336
74337	// The token for the next page of results.
74338	NextToken *string `type:"string"`
74339
74340	// The IDs of the address pools.
74341	PoolIds []*string `locationName:"PoolId" locationNameList:"item" type:"list"`
74342}
74343
74344// String returns the string representation
74345func (s DescribePublicIpv4PoolsInput) String() string {
74346	return awsutil.Prettify(s)
74347}
74348
74349// GoString returns the string representation
74350func (s DescribePublicIpv4PoolsInput) GoString() string {
74351	return s.String()
74352}
74353
74354// Validate inspects the fields of the type to determine if they are valid.
74355func (s *DescribePublicIpv4PoolsInput) Validate() error {
74356	invalidParams := request.ErrInvalidParams{Context: "DescribePublicIpv4PoolsInput"}
74357	if s.MaxResults != nil && *s.MaxResults < 1 {
74358		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
74359	}
74360
74361	if invalidParams.Len() > 0 {
74362		return invalidParams
74363	}
74364	return nil
74365}
74366
74367// SetFilters sets the Filters field's value.
74368func (s *DescribePublicIpv4PoolsInput) SetFilters(v []*Filter) *DescribePublicIpv4PoolsInput {
74369	s.Filters = v
74370	return s
74371}
74372
74373// SetMaxResults sets the MaxResults field's value.
74374func (s *DescribePublicIpv4PoolsInput) SetMaxResults(v int64) *DescribePublicIpv4PoolsInput {
74375	s.MaxResults = &v
74376	return s
74377}
74378
74379// SetNextToken sets the NextToken field's value.
74380func (s *DescribePublicIpv4PoolsInput) SetNextToken(v string) *DescribePublicIpv4PoolsInput {
74381	s.NextToken = &v
74382	return s
74383}
74384
74385// SetPoolIds sets the PoolIds field's value.
74386func (s *DescribePublicIpv4PoolsInput) SetPoolIds(v []*string) *DescribePublicIpv4PoolsInput {
74387	s.PoolIds = v
74388	return s
74389}
74390
74391type DescribePublicIpv4PoolsOutput struct {
74392	_ struct{} `type:"structure"`
74393
74394	// The token to use to retrieve the next page of results. This value is null
74395	// when there are no more results to return.
74396	NextToken *string `locationName:"nextToken" type:"string"`
74397
74398	// Information about the address pools.
74399	PublicIpv4Pools []*PublicIpv4Pool `locationName:"publicIpv4PoolSet" locationNameList:"item" type:"list"`
74400}
74401
74402// String returns the string representation
74403func (s DescribePublicIpv4PoolsOutput) String() string {
74404	return awsutil.Prettify(s)
74405}
74406
74407// GoString returns the string representation
74408func (s DescribePublicIpv4PoolsOutput) GoString() string {
74409	return s.String()
74410}
74411
74412// SetNextToken sets the NextToken field's value.
74413func (s *DescribePublicIpv4PoolsOutput) SetNextToken(v string) *DescribePublicIpv4PoolsOutput {
74414	s.NextToken = &v
74415	return s
74416}
74417
74418// SetPublicIpv4Pools sets the PublicIpv4Pools field's value.
74419func (s *DescribePublicIpv4PoolsOutput) SetPublicIpv4Pools(v []*PublicIpv4Pool) *DescribePublicIpv4PoolsOutput {
74420	s.PublicIpv4Pools = v
74421	return s
74422}
74423
74424type DescribeRegionsInput struct {
74425	_ struct{} `type:"structure"`
74426
74427	// Indicates whether to display all Regions, including Regions that are disabled
74428	// for your account.
74429	AllRegions *bool `type:"boolean"`
74430
74431	// Checks whether you have the required permissions for the action, without
74432	// actually making the request, and provides an error response. If you have
74433	// the required permissions, the error response is DryRunOperation. Otherwise,
74434	// it is UnauthorizedOperation.
74435	DryRun *bool `locationName:"dryRun" type:"boolean"`
74436
74437	// The filters.
74438	//
74439	//    * endpoint - The endpoint of the Region (for example, ec2.us-east-1.amazonaws.com).
74440	//
74441	//    * opt-in-status - The opt-in status of the Region (opt-in-not-required
74442	//    | opted-in | not-opted-in).
74443	//
74444	//    * region-name - The name of the Region (for example, us-east-1).
74445	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
74446
74447	// The names of the Regions. You can specify any Regions, whether they are enabled
74448	// and disabled for your account.
74449	RegionNames []*string `locationName:"RegionName" locationNameList:"RegionName" type:"list"`
74450}
74451
74452// String returns the string representation
74453func (s DescribeRegionsInput) String() string {
74454	return awsutil.Prettify(s)
74455}
74456
74457// GoString returns the string representation
74458func (s DescribeRegionsInput) GoString() string {
74459	return s.String()
74460}
74461
74462// SetAllRegions sets the AllRegions field's value.
74463func (s *DescribeRegionsInput) SetAllRegions(v bool) *DescribeRegionsInput {
74464	s.AllRegions = &v
74465	return s
74466}
74467
74468// SetDryRun sets the DryRun field's value.
74469func (s *DescribeRegionsInput) SetDryRun(v bool) *DescribeRegionsInput {
74470	s.DryRun = &v
74471	return s
74472}
74473
74474// SetFilters sets the Filters field's value.
74475func (s *DescribeRegionsInput) SetFilters(v []*Filter) *DescribeRegionsInput {
74476	s.Filters = v
74477	return s
74478}
74479
74480// SetRegionNames sets the RegionNames field's value.
74481func (s *DescribeRegionsInput) SetRegionNames(v []*string) *DescribeRegionsInput {
74482	s.RegionNames = v
74483	return s
74484}
74485
74486type DescribeRegionsOutput struct {
74487	_ struct{} `type:"structure"`
74488
74489	// Information about the Regions.
74490	Regions []*Region `locationName:"regionInfo" locationNameList:"item" type:"list"`
74491}
74492
74493// String returns the string representation
74494func (s DescribeRegionsOutput) String() string {
74495	return awsutil.Prettify(s)
74496}
74497
74498// GoString returns the string representation
74499func (s DescribeRegionsOutput) GoString() string {
74500	return s.String()
74501}
74502
74503// SetRegions sets the Regions field's value.
74504func (s *DescribeRegionsOutput) SetRegions(v []*Region) *DescribeRegionsOutput {
74505	s.Regions = v
74506	return s
74507}
74508
74509type DescribeReplaceRootVolumeTasksInput struct {
74510	_ struct{} `type:"structure"`
74511
74512	// Checks whether you have the required permissions for the action, without
74513	// actually making the request, and provides an error response. If you have
74514	// the required permissions, the error response is DryRunOperation. Otherwise,
74515	// it is UnauthorizedOperation.
74516	DryRun *bool `type:"boolean"`
74517
74518	// Filter to use:
74519	//
74520	//    * instance-id - The ID of the instance for which the root volume replacement
74521	//    task was created.
74522	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
74523
74524	// The maximum number of results to return with a single call. To retrieve the
74525	// remaining results, make another call with the returned nextToken value.
74526	MaxResults *int64 `min:"1" type:"integer"`
74527
74528	// The token for the next page of results.
74529	NextToken *string `type:"string"`
74530
74531	// The ID of the root volume replacement task to view.
74532	ReplaceRootVolumeTaskIds []*string `locationName:"ReplaceRootVolumeTaskId" locationNameList:"ReplaceRootVolumeTaskId" type:"list"`
74533}
74534
74535// String returns the string representation
74536func (s DescribeReplaceRootVolumeTasksInput) String() string {
74537	return awsutil.Prettify(s)
74538}
74539
74540// GoString returns the string representation
74541func (s DescribeReplaceRootVolumeTasksInput) GoString() string {
74542	return s.String()
74543}
74544
74545// Validate inspects the fields of the type to determine if they are valid.
74546func (s *DescribeReplaceRootVolumeTasksInput) Validate() error {
74547	invalidParams := request.ErrInvalidParams{Context: "DescribeReplaceRootVolumeTasksInput"}
74548	if s.MaxResults != nil && *s.MaxResults < 1 {
74549		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
74550	}
74551
74552	if invalidParams.Len() > 0 {
74553		return invalidParams
74554	}
74555	return nil
74556}
74557
74558// SetDryRun sets the DryRun field's value.
74559func (s *DescribeReplaceRootVolumeTasksInput) SetDryRun(v bool) *DescribeReplaceRootVolumeTasksInput {
74560	s.DryRun = &v
74561	return s
74562}
74563
74564// SetFilters sets the Filters field's value.
74565func (s *DescribeReplaceRootVolumeTasksInput) SetFilters(v []*Filter) *DescribeReplaceRootVolumeTasksInput {
74566	s.Filters = v
74567	return s
74568}
74569
74570// SetMaxResults sets the MaxResults field's value.
74571func (s *DescribeReplaceRootVolumeTasksInput) SetMaxResults(v int64) *DescribeReplaceRootVolumeTasksInput {
74572	s.MaxResults = &v
74573	return s
74574}
74575
74576// SetNextToken sets the NextToken field's value.
74577func (s *DescribeReplaceRootVolumeTasksInput) SetNextToken(v string) *DescribeReplaceRootVolumeTasksInput {
74578	s.NextToken = &v
74579	return s
74580}
74581
74582// SetReplaceRootVolumeTaskIds sets the ReplaceRootVolumeTaskIds field's value.
74583func (s *DescribeReplaceRootVolumeTasksInput) SetReplaceRootVolumeTaskIds(v []*string) *DescribeReplaceRootVolumeTasksInput {
74584	s.ReplaceRootVolumeTaskIds = v
74585	return s
74586}
74587
74588type DescribeReplaceRootVolumeTasksOutput struct {
74589	_ struct{} `type:"structure"`
74590
74591	// The token to use to retrieve the next page of results. This value is null
74592	// when there are no more results to return.
74593	NextToken *string `locationName:"nextToken" type:"string"`
74594
74595	// Information about the root volume replacement task.
74596	ReplaceRootVolumeTasks []*ReplaceRootVolumeTask `locationName:"replaceRootVolumeTaskSet" locationNameList:"item" type:"list"`
74597}
74598
74599// String returns the string representation
74600func (s DescribeReplaceRootVolumeTasksOutput) String() string {
74601	return awsutil.Prettify(s)
74602}
74603
74604// GoString returns the string representation
74605func (s DescribeReplaceRootVolumeTasksOutput) GoString() string {
74606	return s.String()
74607}
74608
74609// SetNextToken sets the NextToken field's value.
74610func (s *DescribeReplaceRootVolumeTasksOutput) SetNextToken(v string) *DescribeReplaceRootVolumeTasksOutput {
74611	s.NextToken = &v
74612	return s
74613}
74614
74615// SetReplaceRootVolumeTasks sets the ReplaceRootVolumeTasks field's value.
74616func (s *DescribeReplaceRootVolumeTasksOutput) SetReplaceRootVolumeTasks(v []*ReplaceRootVolumeTask) *DescribeReplaceRootVolumeTasksOutput {
74617	s.ReplaceRootVolumeTasks = v
74618	return s
74619}
74620
74621// Contains the parameters for DescribeReservedInstances.
74622type DescribeReservedInstancesInput struct {
74623	_ struct{} `type:"structure"`
74624
74625	// Checks whether you have the required permissions for the action, without
74626	// actually making the request, and provides an error response. If you have
74627	// the required permissions, the error response is DryRunOperation. Otherwise,
74628	// it is UnauthorizedOperation.
74629	DryRun *bool `locationName:"dryRun" type:"boolean"`
74630
74631	// One or more filters.
74632	//
74633	//    * availability-zone - The Availability Zone where the Reserved Instance
74634	//    can be used.
74635	//
74636	//    * duration - The duration of the Reserved Instance (one year or three
74637	//    years), in seconds (31536000 | 94608000).
74638	//
74639	//    * end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).
74640	//
74641	//    * fixed-price - The purchase price of the Reserved Instance (for example,
74642	//    9800.0).
74643	//
74644	//    * instance-type - The instance type that is covered by the reservation.
74645	//
74646	//    * scope - The scope of the Reserved Instance (Region or Availability Zone).
74647	//
74648	//    * product-description - The Reserved Instance product platform description.
74649	//    Instances that include (Amazon VPC) in the product platform description
74650	//    will only be displayed to EC2-Classic account holders and are for use
74651	//    with Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE
74652	//    Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux
74653	//    (Amazon VPC) | Red Hat Enterprise Linux with HA (Amazon VPC) | Windows
74654	//    | Windows (Amazon VPC) | Windows with SQL Server Standard | Windows with
74655	//    SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | Windows
74656	//    with SQL Server Web (Amazon VPC) | Windows with SQL Server Enterprise
74657	//    | Windows with SQL Server Enterprise (Amazon VPC)).
74658	//
74659	//    * reserved-instances-id - The ID of the Reserved Instance.
74660	//
74661	//    * start - The time at which the Reserved Instance purchase request was
74662	//    placed (for example, 2014-08-07T11:54:42.000Z).
74663	//
74664	//    * state - The state of the Reserved Instance (payment-pending | active
74665	//    | payment-failed | retired).
74666	//
74667	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
74668	//    Use the tag key in the filter name and the tag value as the filter value.
74669	//    For example, to find all resources that have a tag with the key Owner
74670	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
74671	//    the filter value.
74672	//
74673	//    * tag-key - The key of a tag assigned to the resource. Use this filter
74674	//    to find all resources assigned a tag with a specific key, regardless of
74675	//    the tag value.
74676	//
74677	//    * usage-price - The usage price of the Reserved Instance, per hour (for
74678	//    example, 0.84).
74679	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
74680
74681	// Describes whether the Reserved Instance is Standard or Convertible.
74682	OfferingClass *string `type:"string" enum:"OfferingClassType"`
74683
74684	// The Reserved Instance offering type. If you are using tools that predate
74685	// the 2011-11-01 API version, you only have access to the Medium Utilization
74686	// Reserved Instance offering type.
74687	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
74688
74689	// One or more Reserved Instance IDs.
74690	//
74691	// Default: Describes all your Reserved Instances, or only those otherwise specified.
74692	ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list"`
74693}
74694
74695// String returns the string representation
74696func (s DescribeReservedInstancesInput) String() string {
74697	return awsutil.Prettify(s)
74698}
74699
74700// GoString returns the string representation
74701func (s DescribeReservedInstancesInput) GoString() string {
74702	return s.String()
74703}
74704
74705// SetDryRun sets the DryRun field's value.
74706func (s *DescribeReservedInstancesInput) SetDryRun(v bool) *DescribeReservedInstancesInput {
74707	s.DryRun = &v
74708	return s
74709}
74710
74711// SetFilters sets the Filters field's value.
74712func (s *DescribeReservedInstancesInput) SetFilters(v []*Filter) *DescribeReservedInstancesInput {
74713	s.Filters = v
74714	return s
74715}
74716
74717// SetOfferingClass sets the OfferingClass field's value.
74718func (s *DescribeReservedInstancesInput) SetOfferingClass(v string) *DescribeReservedInstancesInput {
74719	s.OfferingClass = &v
74720	return s
74721}
74722
74723// SetOfferingType sets the OfferingType field's value.
74724func (s *DescribeReservedInstancesInput) SetOfferingType(v string) *DescribeReservedInstancesInput {
74725	s.OfferingType = &v
74726	return s
74727}
74728
74729// SetReservedInstancesIds sets the ReservedInstancesIds field's value.
74730func (s *DescribeReservedInstancesInput) SetReservedInstancesIds(v []*string) *DescribeReservedInstancesInput {
74731	s.ReservedInstancesIds = v
74732	return s
74733}
74734
74735// Contains the parameters for DescribeReservedInstancesListings.
74736type DescribeReservedInstancesListingsInput struct {
74737	_ struct{} `type:"structure"`
74738
74739	// One or more filters.
74740	//
74741	//    * reserved-instances-id - The ID of the Reserved Instances.
74742	//
74743	//    * reserved-instances-listing-id - The ID of the Reserved Instances listing.
74744	//
74745	//    * status - The status of the Reserved Instance listing (pending | active
74746	//    | cancelled | closed).
74747	//
74748	//    * status-message - The reason for the status.
74749	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
74750
74751	// One or more Reserved Instance IDs.
74752	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
74753
74754	// One or more Reserved Instance listing IDs.
74755	ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
74756}
74757
74758// String returns the string representation
74759func (s DescribeReservedInstancesListingsInput) String() string {
74760	return awsutil.Prettify(s)
74761}
74762
74763// GoString returns the string representation
74764func (s DescribeReservedInstancesListingsInput) GoString() string {
74765	return s.String()
74766}
74767
74768// SetFilters sets the Filters field's value.
74769func (s *DescribeReservedInstancesListingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesListingsInput {
74770	s.Filters = v
74771	return s
74772}
74773
74774// SetReservedInstancesId sets the ReservedInstancesId field's value.
74775func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesId(v string) *DescribeReservedInstancesListingsInput {
74776	s.ReservedInstancesId = &v
74777	return s
74778}
74779
74780// SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
74781func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesListingId(v string) *DescribeReservedInstancesListingsInput {
74782	s.ReservedInstancesListingId = &v
74783	return s
74784}
74785
74786// Contains the output of DescribeReservedInstancesListings.
74787type DescribeReservedInstancesListingsOutput struct {
74788	_ struct{} `type:"structure"`
74789
74790	// Information about the Reserved Instance listing.
74791	ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
74792}
74793
74794// String returns the string representation
74795func (s DescribeReservedInstancesListingsOutput) String() string {
74796	return awsutil.Prettify(s)
74797}
74798
74799// GoString returns the string representation
74800func (s DescribeReservedInstancesListingsOutput) GoString() string {
74801	return s.String()
74802}
74803
74804// SetReservedInstancesListings sets the ReservedInstancesListings field's value.
74805func (s *DescribeReservedInstancesListingsOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *DescribeReservedInstancesListingsOutput {
74806	s.ReservedInstancesListings = v
74807	return s
74808}
74809
74810// Contains the parameters for DescribeReservedInstancesModifications.
74811type DescribeReservedInstancesModificationsInput struct {
74812	_ struct{} `type:"structure"`
74813
74814	// One or more filters.
74815	//
74816	//    * client-token - The idempotency token for the modification request.
74817	//
74818	//    * create-date - The time when the modification request was created.
74819	//
74820	//    * effective-date - The time when the modification becomes effective.
74821	//
74822	//    * modification-result.reserved-instances-id - The ID for the Reserved
74823	//    Instances created as part of the modification request. This ID is only
74824	//    available when the status of the modification is fulfilled.
74825	//
74826	//    * modification-result.target-configuration.availability-zone - The Availability
74827	//    Zone for the new Reserved Instances.
74828	//
74829	//    * modification-result.target-configuration.instance-count - The number
74830	//    of new Reserved Instances.
74831	//
74832	//    * modification-result.target-configuration.instance-type - The instance
74833	//    type of the new Reserved Instances.
74834	//
74835	//    * modification-result.target-configuration.platform - The network platform
74836	//    of the new Reserved Instances (EC2-Classic | EC2-VPC).
74837	//
74838	//    * reserved-instances-id - The ID of the Reserved Instances modified.
74839	//
74840	//    * reserved-instances-modification-id - The ID of the modification request.
74841	//
74842	//    * status - The status of the Reserved Instances modification request (processing
74843	//    | fulfilled | failed).
74844	//
74845	//    * status-message - The reason for the status.
74846	//
74847	//    * update-date - The time when the modification request was last updated.
74848	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
74849
74850	// The token to retrieve the next page of results.
74851	NextToken *string `locationName:"nextToken" type:"string"`
74852
74853	// IDs for the submitted modification request.
74854	ReservedInstancesModificationIds []*string `locationName:"ReservedInstancesModificationId" locationNameList:"ReservedInstancesModificationId" type:"list"`
74855}
74856
74857// String returns the string representation
74858func (s DescribeReservedInstancesModificationsInput) String() string {
74859	return awsutil.Prettify(s)
74860}
74861
74862// GoString returns the string representation
74863func (s DescribeReservedInstancesModificationsInput) GoString() string {
74864	return s.String()
74865}
74866
74867// SetFilters sets the Filters field's value.
74868func (s *DescribeReservedInstancesModificationsInput) SetFilters(v []*Filter) *DescribeReservedInstancesModificationsInput {
74869	s.Filters = v
74870	return s
74871}
74872
74873// SetNextToken sets the NextToken field's value.
74874func (s *DescribeReservedInstancesModificationsInput) SetNextToken(v string) *DescribeReservedInstancesModificationsInput {
74875	s.NextToken = &v
74876	return s
74877}
74878
74879// SetReservedInstancesModificationIds sets the ReservedInstancesModificationIds field's value.
74880func (s *DescribeReservedInstancesModificationsInput) SetReservedInstancesModificationIds(v []*string) *DescribeReservedInstancesModificationsInput {
74881	s.ReservedInstancesModificationIds = v
74882	return s
74883}
74884
74885// Contains the output of DescribeReservedInstancesModifications.
74886type DescribeReservedInstancesModificationsOutput struct {
74887	_ struct{} `type:"structure"`
74888
74889	// The token to use to retrieve the next page of results. This value is null
74890	// when there are no more results to return.
74891	NextToken *string `locationName:"nextToken" type:"string"`
74892
74893	// The Reserved Instance modification information.
74894	ReservedInstancesModifications []*ReservedInstancesModification `locationName:"reservedInstancesModificationsSet" locationNameList:"item" type:"list"`
74895}
74896
74897// String returns the string representation
74898func (s DescribeReservedInstancesModificationsOutput) String() string {
74899	return awsutil.Prettify(s)
74900}
74901
74902// GoString returns the string representation
74903func (s DescribeReservedInstancesModificationsOutput) GoString() string {
74904	return s.String()
74905}
74906
74907// SetNextToken sets the NextToken field's value.
74908func (s *DescribeReservedInstancesModificationsOutput) SetNextToken(v string) *DescribeReservedInstancesModificationsOutput {
74909	s.NextToken = &v
74910	return s
74911}
74912
74913// SetReservedInstancesModifications sets the ReservedInstancesModifications field's value.
74914func (s *DescribeReservedInstancesModificationsOutput) SetReservedInstancesModifications(v []*ReservedInstancesModification) *DescribeReservedInstancesModificationsOutput {
74915	s.ReservedInstancesModifications = v
74916	return s
74917}
74918
74919// Contains the parameters for DescribeReservedInstancesOfferings.
74920type DescribeReservedInstancesOfferingsInput struct {
74921	_ struct{} `type:"structure"`
74922
74923	// The Availability Zone in which the Reserved Instance can be used.
74924	AvailabilityZone *string `type:"string"`
74925
74926	// Checks whether you have the required permissions for the action, without
74927	// actually making the request, and provides an error response. If you have
74928	// the required permissions, the error response is DryRunOperation. Otherwise,
74929	// it is UnauthorizedOperation.
74930	DryRun *bool `locationName:"dryRun" type:"boolean"`
74931
74932	// One or more filters.
74933	//
74934	//    * availability-zone - The Availability Zone where the Reserved Instance
74935	//    can be used.
74936	//
74937	//    * duration - The duration of the Reserved Instance (for example, one year
74938	//    or three years), in seconds (31536000 | 94608000).
74939	//
74940	//    * fixed-price - The purchase price of the Reserved Instance (for example,
74941	//    9800.0).
74942	//
74943	//    * instance-type - The instance type that is covered by the reservation.
74944	//
74945	//    * marketplace - Set to true to show only Reserved Instance Marketplace
74946	//    offerings. When this filter is not used, which is the default behavior,
74947	//    all offerings from both Amazon Web Services and the Reserved Instance
74948	//    Marketplace are listed.
74949	//
74950	//    * product-description - The Reserved Instance product platform description.
74951	//    Instances that include (Amazon VPC) in the product platform description
74952	//    will only be displayed to EC2-Classic account holders and are for use
74953	//    with Amazon VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux |
74954	//    SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise
74955	//    Linux (Amazon VPC) | Red Hat Enterprise Linux with HA (Amazon VPC) | Windows
74956	//    | Windows (Amazon VPC) | Windows with SQL Server Standard | Windows with
74957	//    SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | Windows
74958	//    with SQL Server Web (Amazon VPC) | Windows with SQL Server Enterprise
74959	//    | Windows with SQL Server Enterprise (Amazon VPC))
74960	//
74961	//    * reserved-instances-offering-id - The Reserved Instances offering ID.
74962	//
74963	//    * scope - The scope of the Reserved Instance (Availability Zone or Region).
74964	//
74965	//    * usage-price - The usage price of the Reserved Instance, per hour (for
74966	//    example, 0.84).
74967	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
74968
74969	// Include Reserved Instance Marketplace offerings in the response.
74970	IncludeMarketplace *bool `type:"boolean"`
74971
74972	// The tenancy of the instances covered by the reservation. A Reserved Instance
74973	// with a tenancy of dedicated is applied to instances that run in a VPC on
74974	// single-tenant hardware (i.e., Dedicated Instances).
74975	//
74976	// Important: The host value cannot be used with this parameter. Use the default
74977	// or dedicated values only.
74978	//
74979	// Default: default
74980	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
74981
74982	// The instance type that the reservation will cover (for example, m1.small).
74983	// For more information, see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
74984	// in the Amazon EC2 User Guide.
74985	InstanceType *string `type:"string" enum:"InstanceType"`
74986
74987	// The maximum duration (in seconds) to filter when searching for offerings.
74988	//
74989	// Default: 94608000 (3 years)
74990	MaxDuration *int64 `type:"long"`
74991
74992	// The maximum number of instances to filter when searching for offerings.
74993	//
74994	// Default: 20
74995	MaxInstanceCount *int64 `type:"integer"`
74996
74997	// The maximum number of results to return for the request in a single page.
74998	// The remaining results of the initial request can be seen by sending another
74999	// request with the returned NextToken value. The maximum is 100.
75000	//
75001	// Default: 100
75002	MaxResults *int64 `locationName:"maxResults" type:"integer"`
75003
75004	// The minimum duration (in seconds) to filter when searching for offerings.
75005	//
75006	// Default: 2592000 (1 month)
75007	MinDuration *int64 `type:"long"`
75008
75009	// The token to retrieve the next page of results.
75010	NextToken *string `locationName:"nextToken" type:"string"`
75011
75012	// The offering class of the Reserved Instance. Can be standard or convertible.
75013	OfferingClass *string `type:"string" enum:"OfferingClassType"`
75014
75015	// The Reserved Instance offering type. If you are using tools that predate
75016	// the 2011-11-01 API version, you only have access to the Medium Utilization
75017	// Reserved Instance offering type.
75018	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
75019
75020	// The Reserved Instance product platform description. Instances that include
75021	// (Amazon VPC) in the description are for use with Amazon VPC.
75022	ProductDescription *string `type:"string" enum:"RIProductDescription"`
75023
75024	// One or more Reserved Instances offering IDs.
75025	ReservedInstancesOfferingIds []*string `locationName:"ReservedInstancesOfferingId" type:"list"`
75026}
75027
75028// String returns the string representation
75029func (s DescribeReservedInstancesOfferingsInput) String() string {
75030	return awsutil.Prettify(s)
75031}
75032
75033// GoString returns the string representation
75034func (s DescribeReservedInstancesOfferingsInput) GoString() string {
75035	return s.String()
75036}
75037
75038// SetAvailabilityZone sets the AvailabilityZone field's value.
75039func (s *DescribeReservedInstancesOfferingsInput) SetAvailabilityZone(v string) *DescribeReservedInstancesOfferingsInput {
75040	s.AvailabilityZone = &v
75041	return s
75042}
75043
75044// SetDryRun sets the DryRun field's value.
75045func (s *DescribeReservedInstancesOfferingsInput) SetDryRun(v bool) *DescribeReservedInstancesOfferingsInput {
75046	s.DryRun = &v
75047	return s
75048}
75049
75050// SetFilters sets the Filters field's value.
75051func (s *DescribeReservedInstancesOfferingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesOfferingsInput {
75052	s.Filters = v
75053	return s
75054}
75055
75056// SetIncludeMarketplace sets the IncludeMarketplace field's value.
75057func (s *DescribeReservedInstancesOfferingsInput) SetIncludeMarketplace(v bool) *DescribeReservedInstancesOfferingsInput {
75058	s.IncludeMarketplace = &v
75059	return s
75060}
75061
75062// SetInstanceTenancy sets the InstanceTenancy field's value.
75063func (s *DescribeReservedInstancesOfferingsInput) SetInstanceTenancy(v string) *DescribeReservedInstancesOfferingsInput {
75064	s.InstanceTenancy = &v
75065	return s
75066}
75067
75068// SetInstanceType sets the InstanceType field's value.
75069func (s *DescribeReservedInstancesOfferingsInput) SetInstanceType(v string) *DescribeReservedInstancesOfferingsInput {
75070	s.InstanceType = &v
75071	return s
75072}
75073
75074// SetMaxDuration sets the MaxDuration field's value.
75075func (s *DescribeReservedInstancesOfferingsInput) SetMaxDuration(v int64) *DescribeReservedInstancesOfferingsInput {
75076	s.MaxDuration = &v
75077	return s
75078}
75079
75080// SetMaxInstanceCount sets the MaxInstanceCount field's value.
75081func (s *DescribeReservedInstancesOfferingsInput) SetMaxInstanceCount(v int64) *DescribeReservedInstancesOfferingsInput {
75082	s.MaxInstanceCount = &v
75083	return s
75084}
75085
75086// SetMaxResults sets the MaxResults field's value.
75087func (s *DescribeReservedInstancesOfferingsInput) SetMaxResults(v int64) *DescribeReservedInstancesOfferingsInput {
75088	s.MaxResults = &v
75089	return s
75090}
75091
75092// SetMinDuration sets the MinDuration field's value.
75093func (s *DescribeReservedInstancesOfferingsInput) SetMinDuration(v int64) *DescribeReservedInstancesOfferingsInput {
75094	s.MinDuration = &v
75095	return s
75096}
75097
75098// SetNextToken sets the NextToken field's value.
75099func (s *DescribeReservedInstancesOfferingsInput) SetNextToken(v string) *DescribeReservedInstancesOfferingsInput {
75100	s.NextToken = &v
75101	return s
75102}
75103
75104// SetOfferingClass sets the OfferingClass field's value.
75105func (s *DescribeReservedInstancesOfferingsInput) SetOfferingClass(v string) *DescribeReservedInstancesOfferingsInput {
75106	s.OfferingClass = &v
75107	return s
75108}
75109
75110// SetOfferingType sets the OfferingType field's value.
75111func (s *DescribeReservedInstancesOfferingsInput) SetOfferingType(v string) *DescribeReservedInstancesOfferingsInput {
75112	s.OfferingType = &v
75113	return s
75114}
75115
75116// SetProductDescription sets the ProductDescription field's value.
75117func (s *DescribeReservedInstancesOfferingsInput) SetProductDescription(v string) *DescribeReservedInstancesOfferingsInput {
75118	s.ProductDescription = &v
75119	return s
75120}
75121
75122// SetReservedInstancesOfferingIds sets the ReservedInstancesOfferingIds field's value.
75123func (s *DescribeReservedInstancesOfferingsInput) SetReservedInstancesOfferingIds(v []*string) *DescribeReservedInstancesOfferingsInput {
75124	s.ReservedInstancesOfferingIds = v
75125	return s
75126}
75127
75128// Contains the output of DescribeReservedInstancesOfferings.
75129type DescribeReservedInstancesOfferingsOutput struct {
75130	_ struct{} `type:"structure"`
75131
75132	// The token to use to retrieve the next page of results. This value is null
75133	// when there are no more results to return.
75134	NextToken *string `locationName:"nextToken" type:"string"`
75135
75136	// A list of Reserved Instances offerings.
75137	ReservedInstancesOfferings []*ReservedInstancesOffering `locationName:"reservedInstancesOfferingsSet" locationNameList:"item" type:"list"`
75138}
75139
75140// String returns the string representation
75141func (s DescribeReservedInstancesOfferingsOutput) String() string {
75142	return awsutil.Prettify(s)
75143}
75144
75145// GoString returns the string representation
75146func (s DescribeReservedInstancesOfferingsOutput) GoString() string {
75147	return s.String()
75148}
75149
75150// SetNextToken sets the NextToken field's value.
75151func (s *DescribeReservedInstancesOfferingsOutput) SetNextToken(v string) *DescribeReservedInstancesOfferingsOutput {
75152	s.NextToken = &v
75153	return s
75154}
75155
75156// SetReservedInstancesOfferings sets the ReservedInstancesOfferings field's value.
75157func (s *DescribeReservedInstancesOfferingsOutput) SetReservedInstancesOfferings(v []*ReservedInstancesOffering) *DescribeReservedInstancesOfferingsOutput {
75158	s.ReservedInstancesOfferings = v
75159	return s
75160}
75161
75162// Contains the output for DescribeReservedInstances.
75163type DescribeReservedInstancesOutput struct {
75164	_ struct{} `type:"structure"`
75165
75166	// A list of Reserved Instances.
75167	ReservedInstances []*ReservedInstances `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
75168}
75169
75170// String returns the string representation
75171func (s DescribeReservedInstancesOutput) String() string {
75172	return awsutil.Prettify(s)
75173}
75174
75175// GoString returns the string representation
75176func (s DescribeReservedInstancesOutput) GoString() string {
75177	return s.String()
75178}
75179
75180// SetReservedInstances sets the ReservedInstances field's value.
75181func (s *DescribeReservedInstancesOutput) SetReservedInstances(v []*ReservedInstances) *DescribeReservedInstancesOutput {
75182	s.ReservedInstances = v
75183	return s
75184}
75185
75186type DescribeRouteTablesInput struct {
75187	_ struct{} `type:"structure"`
75188
75189	// Checks whether you have the required permissions for the action, without
75190	// actually making the request, and provides an error response. If you have
75191	// the required permissions, the error response is DryRunOperation. Otherwise,
75192	// it is UnauthorizedOperation.
75193	DryRun *bool `locationName:"dryRun" type:"boolean"`
75194
75195	// One or more filters.
75196	//
75197	//    * association.route-table-association-id - The ID of an association ID
75198	//    for the route table.
75199	//
75200	//    * association.route-table-id - The ID of the route table involved in the
75201	//    association.
75202	//
75203	//    * association.subnet-id - The ID of the subnet involved in the association.
75204	//
75205	//    * association.main - Indicates whether the route table is the main route
75206	//    table for the VPC (true | false). Route tables that do not have an association
75207	//    ID are not returned in the response.
75208	//
75209	//    * owner-id - The ID of the Amazon Web Services account that owns the route
75210	//    table.
75211	//
75212	//    * route-table-id - The ID of the route table.
75213	//
75214	//    * route.destination-cidr-block - The IPv4 CIDR range specified in a route
75215	//    in the table.
75216	//
75217	//    * route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in
75218	//    a route in the route table.
75219	//
75220	//    * route.destination-prefix-list-id - The ID (prefix) of the Amazon Web
75221	//    Service specified in a route in the table.
75222	//
75223	//    * route.egress-only-internet-gateway-id - The ID of an egress-only Internet
75224	//    gateway specified in a route in the route table.
75225	//
75226	//    * route.gateway-id - The ID of a gateway specified in a route in the table.
75227	//
75228	//    * route.instance-id - The ID of an instance specified in a route in the
75229	//    table.
75230	//
75231	//    * route.nat-gateway-id - The ID of a NAT gateway.
75232	//
75233	//    * route.transit-gateway-id - The ID of a transit gateway.
75234	//
75235	//    * route.origin - Describes how the route was created. CreateRouteTable
75236	//    indicates that the route was automatically created when the route table
75237	//    was created; CreateRoute indicates that the route was manually added to
75238	//    the route table; EnableVgwRoutePropagation indicates that the route was
75239	//    propagated by route propagation.
75240	//
75241	//    * route.state - The state of a route in the route table (active | blackhole).
75242	//    The blackhole state indicates that the route's target isn't available
75243	//    (for example, the specified gateway isn't attached to the VPC, the specified
75244	//    NAT instance has been terminated, and so on).
75245	//
75246	//    * route.vpc-peering-connection-id - The ID of a VPC peering connection
75247	//    specified in a route in the table.
75248	//
75249	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
75250	//    Use the tag key in the filter name and the tag value as the filter value.
75251	//    For example, to find all resources that have a tag with the key Owner
75252	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
75253	//    the filter value.
75254	//
75255	//    * tag-key - The key of a tag assigned to the resource. Use this filter
75256	//    to find all resources assigned a tag with a specific key, regardless of
75257	//    the tag value.
75258	//
75259	//    * vpc-id - The ID of the VPC for the route table.
75260	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
75261
75262	// The maximum number of results to return with a single call. To retrieve the
75263	// remaining results, make another call with the returned nextToken value.
75264	MaxResults *int64 `min:"5" type:"integer"`
75265
75266	// The token for the next page of results.
75267	NextToken *string `type:"string"`
75268
75269	// One or more route table IDs.
75270	//
75271	// Default: Describes all your route tables.
75272	RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
75273}
75274
75275// String returns the string representation
75276func (s DescribeRouteTablesInput) String() string {
75277	return awsutil.Prettify(s)
75278}
75279
75280// GoString returns the string representation
75281func (s DescribeRouteTablesInput) GoString() string {
75282	return s.String()
75283}
75284
75285// Validate inspects the fields of the type to determine if they are valid.
75286func (s *DescribeRouteTablesInput) Validate() error {
75287	invalidParams := request.ErrInvalidParams{Context: "DescribeRouteTablesInput"}
75288	if s.MaxResults != nil && *s.MaxResults < 5 {
75289		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
75290	}
75291
75292	if invalidParams.Len() > 0 {
75293		return invalidParams
75294	}
75295	return nil
75296}
75297
75298// SetDryRun sets the DryRun field's value.
75299func (s *DescribeRouteTablesInput) SetDryRun(v bool) *DescribeRouteTablesInput {
75300	s.DryRun = &v
75301	return s
75302}
75303
75304// SetFilters sets the Filters field's value.
75305func (s *DescribeRouteTablesInput) SetFilters(v []*Filter) *DescribeRouteTablesInput {
75306	s.Filters = v
75307	return s
75308}
75309
75310// SetMaxResults sets the MaxResults field's value.
75311func (s *DescribeRouteTablesInput) SetMaxResults(v int64) *DescribeRouteTablesInput {
75312	s.MaxResults = &v
75313	return s
75314}
75315
75316// SetNextToken sets the NextToken field's value.
75317func (s *DescribeRouteTablesInput) SetNextToken(v string) *DescribeRouteTablesInput {
75318	s.NextToken = &v
75319	return s
75320}
75321
75322// SetRouteTableIds sets the RouteTableIds field's value.
75323func (s *DescribeRouteTablesInput) SetRouteTableIds(v []*string) *DescribeRouteTablesInput {
75324	s.RouteTableIds = v
75325	return s
75326}
75327
75328// Contains the output of DescribeRouteTables.
75329type DescribeRouteTablesOutput struct {
75330	_ struct{} `type:"structure"`
75331
75332	// The token to use to retrieve the next page of results. This value is null
75333	// when there are no more results to return.
75334	NextToken *string `locationName:"nextToken" type:"string"`
75335
75336	// Information about one or more route tables.
75337	RouteTables []*RouteTable `locationName:"routeTableSet" locationNameList:"item" type:"list"`
75338}
75339
75340// String returns the string representation
75341func (s DescribeRouteTablesOutput) String() string {
75342	return awsutil.Prettify(s)
75343}
75344
75345// GoString returns the string representation
75346func (s DescribeRouteTablesOutput) GoString() string {
75347	return s.String()
75348}
75349
75350// SetNextToken sets the NextToken field's value.
75351func (s *DescribeRouteTablesOutput) SetNextToken(v string) *DescribeRouteTablesOutput {
75352	s.NextToken = &v
75353	return s
75354}
75355
75356// SetRouteTables sets the RouteTables field's value.
75357func (s *DescribeRouteTablesOutput) SetRouteTables(v []*RouteTable) *DescribeRouteTablesOutput {
75358	s.RouteTables = v
75359	return s
75360}
75361
75362// Contains the parameters for DescribeScheduledInstanceAvailability.
75363type DescribeScheduledInstanceAvailabilityInput struct {
75364	_ struct{} `type:"structure"`
75365
75366	// Checks whether you have the required permissions for the action, without
75367	// actually making the request, and provides an error response. If you have
75368	// the required permissions, the error response is DryRunOperation. Otherwise,
75369	// it is UnauthorizedOperation.
75370	DryRun *bool `type:"boolean"`
75371
75372	// The filters.
75373	//
75374	//    * availability-zone - The Availability Zone (for example, us-west-2a).
75375	//
75376	//    * instance-type - The instance type (for example, c4.large).
75377	//
75378	//    * network-platform - The network platform (EC2-Classic or EC2-VPC).
75379	//
75380	//    * platform - The platform (Linux/UNIX or Windows).
75381	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
75382
75383	// The time period for the first schedule to start.
75384	//
75385	// FirstSlotStartTimeRange is a required field
75386	FirstSlotStartTimeRange *SlotDateTimeRangeRequest `type:"structure" required:"true"`
75387
75388	// The maximum number of results to return in a single call. This value can
75389	// be between 5 and 300. The default value is 300. To retrieve the remaining
75390	// results, make another call with the returned NextToken value.
75391	MaxResults *int64 `min:"5" type:"integer"`
75392
75393	// The maximum available duration, in hours. This value must be greater than
75394	// MinSlotDurationInHours and less than 1,720.
75395	MaxSlotDurationInHours *int64 `type:"integer"`
75396
75397	// The minimum available duration, in hours. The minimum required duration is
75398	// 1,200 hours per year. For example, the minimum daily schedule is 4 hours,
75399	// the minimum weekly schedule is 24 hours, and the minimum monthly schedule
75400	// is 100 hours.
75401	MinSlotDurationInHours *int64 `type:"integer"`
75402
75403	// The token for the next set of results.
75404	NextToken *string `type:"string"`
75405
75406	// The schedule recurrence.
75407	//
75408	// Recurrence is a required field
75409	Recurrence *ScheduledInstanceRecurrenceRequest `type:"structure" required:"true"`
75410}
75411
75412// String returns the string representation
75413func (s DescribeScheduledInstanceAvailabilityInput) String() string {
75414	return awsutil.Prettify(s)
75415}
75416
75417// GoString returns the string representation
75418func (s DescribeScheduledInstanceAvailabilityInput) GoString() string {
75419	return s.String()
75420}
75421
75422// Validate inspects the fields of the type to determine if they are valid.
75423func (s *DescribeScheduledInstanceAvailabilityInput) Validate() error {
75424	invalidParams := request.ErrInvalidParams{Context: "DescribeScheduledInstanceAvailabilityInput"}
75425	if s.FirstSlotStartTimeRange == nil {
75426		invalidParams.Add(request.NewErrParamRequired("FirstSlotStartTimeRange"))
75427	}
75428	if s.MaxResults != nil && *s.MaxResults < 5 {
75429		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
75430	}
75431	if s.Recurrence == nil {
75432		invalidParams.Add(request.NewErrParamRequired("Recurrence"))
75433	}
75434	if s.FirstSlotStartTimeRange != nil {
75435		if err := s.FirstSlotStartTimeRange.Validate(); err != nil {
75436			invalidParams.AddNested("FirstSlotStartTimeRange", err.(request.ErrInvalidParams))
75437		}
75438	}
75439
75440	if invalidParams.Len() > 0 {
75441		return invalidParams
75442	}
75443	return nil
75444}
75445
75446// SetDryRun sets the DryRun field's value.
75447func (s *DescribeScheduledInstanceAvailabilityInput) SetDryRun(v bool) *DescribeScheduledInstanceAvailabilityInput {
75448	s.DryRun = &v
75449	return s
75450}
75451
75452// SetFilters sets the Filters field's value.
75453func (s *DescribeScheduledInstanceAvailabilityInput) SetFilters(v []*Filter) *DescribeScheduledInstanceAvailabilityInput {
75454	s.Filters = v
75455	return s
75456}
75457
75458// SetFirstSlotStartTimeRange sets the FirstSlotStartTimeRange field's value.
75459func (s *DescribeScheduledInstanceAvailabilityInput) SetFirstSlotStartTimeRange(v *SlotDateTimeRangeRequest) *DescribeScheduledInstanceAvailabilityInput {
75460	s.FirstSlotStartTimeRange = v
75461	return s
75462}
75463
75464// SetMaxResults sets the MaxResults field's value.
75465func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxResults(v int64) *DescribeScheduledInstanceAvailabilityInput {
75466	s.MaxResults = &v
75467	return s
75468}
75469
75470// SetMaxSlotDurationInHours sets the MaxSlotDurationInHours field's value.
75471func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
75472	s.MaxSlotDurationInHours = &v
75473	return s
75474}
75475
75476// SetMinSlotDurationInHours sets the MinSlotDurationInHours field's value.
75477func (s *DescribeScheduledInstanceAvailabilityInput) SetMinSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
75478	s.MinSlotDurationInHours = &v
75479	return s
75480}
75481
75482// SetNextToken sets the NextToken field's value.
75483func (s *DescribeScheduledInstanceAvailabilityInput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityInput {
75484	s.NextToken = &v
75485	return s
75486}
75487
75488// SetRecurrence sets the Recurrence field's value.
75489func (s *DescribeScheduledInstanceAvailabilityInput) SetRecurrence(v *ScheduledInstanceRecurrenceRequest) *DescribeScheduledInstanceAvailabilityInput {
75490	s.Recurrence = v
75491	return s
75492}
75493
75494// Contains the output of DescribeScheduledInstanceAvailability.
75495type DescribeScheduledInstanceAvailabilityOutput struct {
75496	_ struct{} `type:"structure"`
75497
75498	// The token required to retrieve the next set of results. This value is null
75499	// when there are no more results to return.
75500	NextToken *string `locationName:"nextToken" type:"string"`
75501
75502	// Information about the available Scheduled Instances.
75503	ScheduledInstanceAvailabilitySet []*ScheduledInstanceAvailability `locationName:"scheduledInstanceAvailabilitySet" locationNameList:"item" type:"list"`
75504}
75505
75506// String returns the string representation
75507func (s DescribeScheduledInstanceAvailabilityOutput) String() string {
75508	return awsutil.Prettify(s)
75509}
75510
75511// GoString returns the string representation
75512func (s DescribeScheduledInstanceAvailabilityOutput) GoString() string {
75513	return s.String()
75514}
75515
75516// SetNextToken sets the NextToken field's value.
75517func (s *DescribeScheduledInstanceAvailabilityOutput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityOutput {
75518	s.NextToken = &v
75519	return s
75520}
75521
75522// SetScheduledInstanceAvailabilitySet sets the ScheduledInstanceAvailabilitySet field's value.
75523func (s *DescribeScheduledInstanceAvailabilityOutput) SetScheduledInstanceAvailabilitySet(v []*ScheduledInstanceAvailability) *DescribeScheduledInstanceAvailabilityOutput {
75524	s.ScheduledInstanceAvailabilitySet = v
75525	return s
75526}
75527
75528// Contains the parameters for DescribeScheduledInstances.
75529type DescribeScheduledInstancesInput struct {
75530	_ struct{} `type:"structure"`
75531
75532	// Checks whether you have the required permissions for the action, without
75533	// actually making the request, and provides an error response. If you have
75534	// the required permissions, the error response is DryRunOperation. Otherwise,
75535	// it is UnauthorizedOperation.
75536	DryRun *bool `type:"boolean"`
75537
75538	// The filters.
75539	//
75540	//    * availability-zone - The Availability Zone (for example, us-west-2a).
75541	//
75542	//    * instance-type - The instance type (for example, c4.large).
75543	//
75544	//    * network-platform - The network platform (EC2-Classic or EC2-VPC).
75545	//
75546	//    * platform - The platform (Linux/UNIX or Windows).
75547	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
75548
75549	// The maximum number of results to return in a single call. This value can
75550	// be between 5 and 300. The default value is 100. To retrieve the remaining
75551	// results, make another call with the returned NextToken value.
75552	MaxResults *int64 `type:"integer"`
75553
75554	// The token for the next set of results.
75555	NextToken *string `type:"string"`
75556
75557	// The Scheduled Instance IDs.
75558	ScheduledInstanceIds []*string `locationName:"ScheduledInstanceId" locationNameList:"ScheduledInstanceId" type:"list"`
75559
75560	// The time period for the first schedule to start.
75561	SlotStartTimeRange *SlotStartTimeRangeRequest `type:"structure"`
75562}
75563
75564// String returns the string representation
75565func (s DescribeScheduledInstancesInput) String() string {
75566	return awsutil.Prettify(s)
75567}
75568
75569// GoString returns the string representation
75570func (s DescribeScheduledInstancesInput) GoString() string {
75571	return s.String()
75572}
75573
75574// SetDryRun sets the DryRun field's value.
75575func (s *DescribeScheduledInstancesInput) SetDryRun(v bool) *DescribeScheduledInstancesInput {
75576	s.DryRun = &v
75577	return s
75578}
75579
75580// SetFilters sets the Filters field's value.
75581func (s *DescribeScheduledInstancesInput) SetFilters(v []*Filter) *DescribeScheduledInstancesInput {
75582	s.Filters = v
75583	return s
75584}
75585
75586// SetMaxResults sets the MaxResults field's value.
75587func (s *DescribeScheduledInstancesInput) SetMaxResults(v int64) *DescribeScheduledInstancesInput {
75588	s.MaxResults = &v
75589	return s
75590}
75591
75592// SetNextToken sets the NextToken field's value.
75593func (s *DescribeScheduledInstancesInput) SetNextToken(v string) *DescribeScheduledInstancesInput {
75594	s.NextToken = &v
75595	return s
75596}
75597
75598// SetScheduledInstanceIds sets the ScheduledInstanceIds field's value.
75599func (s *DescribeScheduledInstancesInput) SetScheduledInstanceIds(v []*string) *DescribeScheduledInstancesInput {
75600	s.ScheduledInstanceIds = v
75601	return s
75602}
75603
75604// SetSlotStartTimeRange sets the SlotStartTimeRange field's value.
75605func (s *DescribeScheduledInstancesInput) SetSlotStartTimeRange(v *SlotStartTimeRangeRequest) *DescribeScheduledInstancesInput {
75606	s.SlotStartTimeRange = v
75607	return s
75608}
75609
75610// Contains the output of DescribeScheduledInstances.
75611type DescribeScheduledInstancesOutput struct {
75612	_ struct{} `type:"structure"`
75613
75614	// The token required to retrieve the next set of results. This value is null
75615	// when there are no more results to return.
75616	NextToken *string `locationName:"nextToken" type:"string"`
75617
75618	// Information about the Scheduled Instances.
75619	ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
75620}
75621
75622// String returns the string representation
75623func (s DescribeScheduledInstancesOutput) String() string {
75624	return awsutil.Prettify(s)
75625}
75626
75627// GoString returns the string representation
75628func (s DescribeScheduledInstancesOutput) GoString() string {
75629	return s.String()
75630}
75631
75632// SetNextToken sets the NextToken field's value.
75633func (s *DescribeScheduledInstancesOutput) SetNextToken(v string) *DescribeScheduledInstancesOutput {
75634	s.NextToken = &v
75635	return s
75636}
75637
75638// SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
75639func (s *DescribeScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *DescribeScheduledInstancesOutput {
75640	s.ScheduledInstanceSet = v
75641	return s
75642}
75643
75644type DescribeSecurityGroupReferencesInput struct {
75645	_ struct{} `type:"structure"`
75646
75647	// Checks whether you have the required permissions for the action, without
75648	// actually making the request, and provides an error response. If you have
75649	// the required permissions, the error response is DryRunOperation. Otherwise,
75650	// it is UnauthorizedOperation.
75651	DryRun *bool `type:"boolean"`
75652
75653	// The IDs of the security groups in your account.
75654	//
75655	// GroupId is a required field
75656	GroupId []*string `locationNameList:"item" type:"list" required:"true"`
75657}
75658
75659// String returns the string representation
75660func (s DescribeSecurityGroupReferencesInput) String() string {
75661	return awsutil.Prettify(s)
75662}
75663
75664// GoString returns the string representation
75665func (s DescribeSecurityGroupReferencesInput) GoString() string {
75666	return s.String()
75667}
75668
75669// Validate inspects the fields of the type to determine if they are valid.
75670func (s *DescribeSecurityGroupReferencesInput) Validate() error {
75671	invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupReferencesInput"}
75672	if s.GroupId == nil {
75673		invalidParams.Add(request.NewErrParamRequired("GroupId"))
75674	}
75675
75676	if invalidParams.Len() > 0 {
75677		return invalidParams
75678	}
75679	return nil
75680}
75681
75682// SetDryRun sets the DryRun field's value.
75683func (s *DescribeSecurityGroupReferencesInput) SetDryRun(v bool) *DescribeSecurityGroupReferencesInput {
75684	s.DryRun = &v
75685	return s
75686}
75687
75688// SetGroupId sets the GroupId field's value.
75689func (s *DescribeSecurityGroupReferencesInput) SetGroupId(v []*string) *DescribeSecurityGroupReferencesInput {
75690	s.GroupId = v
75691	return s
75692}
75693
75694type DescribeSecurityGroupReferencesOutput struct {
75695	_ struct{} `type:"structure"`
75696
75697	// Information about the VPCs with the referencing security groups.
75698	SecurityGroupReferenceSet []*SecurityGroupReference `locationName:"securityGroupReferenceSet" locationNameList:"item" type:"list"`
75699}
75700
75701// String returns the string representation
75702func (s DescribeSecurityGroupReferencesOutput) String() string {
75703	return awsutil.Prettify(s)
75704}
75705
75706// GoString returns the string representation
75707func (s DescribeSecurityGroupReferencesOutput) GoString() string {
75708	return s.String()
75709}
75710
75711// SetSecurityGroupReferenceSet sets the SecurityGroupReferenceSet field's value.
75712func (s *DescribeSecurityGroupReferencesOutput) SetSecurityGroupReferenceSet(v []*SecurityGroupReference) *DescribeSecurityGroupReferencesOutput {
75713	s.SecurityGroupReferenceSet = v
75714	return s
75715}
75716
75717type DescribeSecurityGroupRulesInput struct {
75718	_ struct{} `type:"structure"`
75719
75720	// Checks whether you have the required permissions for the action, without
75721	// actually making the request, and provides an error response. If you have
75722	// the required permissions, the error response is DryRunOperation. Otherwise,
75723	// it is UnauthorizedOperation.
75724	DryRun *bool `type:"boolean"`
75725
75726	// One or more filters.
75727	//
75728	//    * group-id - The ID of the security group.
75729	//
75730	//    * security-group-rule-id - The ID of the security group rule.
75731	//
75732	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
75733	//    Use the tag key in the filter name and the tag value as the filter value.
75734	//    For example, to find all resources that have a tag with the key Owner
75735	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
75736	//    the filter value.
75737	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
75738
75739	// The maximum number of results to return in a single call. To retrieve the
75740	// remaining results, make another request with the returned NextToken value.
75741	// This value can be between 5 and 1000. If this parameter is not specified,
75742	// then all results are returned.
75743	MaxResults *int64 `min:"5" type:"integer"`
75744
75745	// The token for the next page of results.
75746	NextToken *string `type:"string"`
75747
75748	// The IDs of the security group rules.
75749	SecurityGroupRuleIds []*string `locationName:"SecurityGroupRuleId" locationNameList:"item" type:"list"`
75750}
75751
75752// String returns the string representation
75753func (s DescribeSecurityGroupRulesInput) String() string {
75754	return awsutil.Prettify(s)
75755}
75756
75757// GoString returns the string representation
75758func (s DescribeSecurityGroupRulesInput) GoString() string {
75759	return s.String()
75760}
75761
75762// Validate inspects the fields of the type to determine if they are valid.
75763func (s *DescribeSecurityGroupRulesInput) Validate() error {
75764	invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupRulesInput"}
75765	if s.MaxResults != nil && *s.MaxResults < 5 {
75766		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
75767	}
75768
75769	if invalidParams.Len() > 0 {
75770		return invalidParams
75771	}
75772	return nil
75773}
75774
75775// SetDryRun sets the DryRun field's value.
75776func (s *DescribeSecurityGroupRulesInput) SetDryRun(v bool) *DescribeSecurityGroupRulesInput {
75777	s.DryRun = &v
75778	return s
75779}
75780
75781// SetFilters sets the Filters field's value.
75782func (s *DescribeSecurityGroupRulesInput) SetFilters(v []*Filter) *DescribeSecurityGroupRulesInput {
75783	s.Filters = v
75784	return s
75785}
75786
75787// SetMaxResults sets the MaxResults field's value.
75788func (s *DescribeSecurityGroupRulesInput) SetMaxResults(v int64) *DescribeSecurityGroupRulesInput {
75789	s.MaxResults = &v
75790	return s
75791}
75792
75793// SetNextToken sets the NextToken field's value.
75794func (s *DescribeSecurityGroupRulesInput) SetNextToken(v string) *DescribeSecurityGroupRulesInput {
75795	s.NextToken = &v
75796	return s
75797}
75798
75799// SetSecurityGroupRuleIds sets the SecurityGroupRuleIds field's value.
75800func (s *DescribeSecurityGroupRulesInput) SetSecurityGroupRuleIds(v []*string) *DescribeSecurityGroupRulesInput {
75801	s.SecurityGroupRuleIds = v
75802	return s
75803}
75804
75805type DescribeSecurityGroupRulesOutput struct {
75806	_ struct{} `type:"structure"`
75807
75808	// The token to use to retrieve the next page of results. This value is null
75809	// when there are no more results to return.
75810	NextToken *string `locationName:"nextToken" type:"string"`
75811
75812	// Information about security group rules.
75813	SecurityGroupRules []*SecurityGroupRule `locationName:"securityGroupRuleSet" locationNameList:"item" type:"list"`
75814}
75815
75816// String returns the string representation
75817func (s DescribeSecurityGroupRulesOutput) String() string {
75818	return awsutil.Prettify(s)
75819}
75820
75821// GoString returns the string representation
75822func (s DescribeSecurityGroupRulesOutput) GoString() string {
75823	return s.String()
75824}
75825
75826// SetNextToken sets the NextToken field's value.
75827func (s *DescribeSecurityGroupRulesOutput) SetNextToken(v string) *DescribeSecurityGroupRulesOutput {
75828	s.NextToken = &v
75829	return s
75830}
75831
75832// SetSecurityGroupRules sets the SecurityGroupRules field's value.
75833func (s *DescribeSecurityGroupRulesOutput) SetSecurityGroupRules(v []*SecurityGroupRule) *DescribeSecurityGroupRulesOutput {
75834	s.SecurityGroupRules = v
75835	return s
75836}
75837
75838type DescribeSecurityGroupsInput struct {
75839	_ struct{} `type:"structure"`
75840
75841	// Checks whether you have the required permissions for the action, without
75842	// actually making the request, and provides an error response. If you have
75843	// the required permissions, the error response is DryRunOperation. Otherwise,
75844	// it is UnauthorizedOperation.
75845	DryRun *bool `locationName:"dryRun" type:"boolean"`
75846
75847	// The filters. If using multiple filters for rules, the results include security
75848	// groups for which any combination of rules - not necessarily a single rule
75849	// - match all filters.
75850	//
75851	//    * description - The description of the security group.
75852	//
75853	//    * egress.ip-permission.cidr - An IPv4 CIDR block for an outbound security
75854	//    group rule.
75855	//
75856	//    * egress.ip-permission.from-port - For an outbound rule, the start of
75857	//    port range for the TCP and UDP protocols, or an ICMP type number.
75858	//
75859	//    * egress.ip-permission.group-id - The ID of a security group that has
75860	//    been referenced in an outbound security group rule.
75861	//
75862	//    * egress.ip-permission.group-name - The name of a security group that
75863	//    is referenced in an outbound security group rule.
75864	//
75865	//    * egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an outbound
75866	//    security group rule.
75867	//
75868	//    * egress.ip-permission.prefix-list-id - The ID of a prefix list to which
75869	//    a security group rule allows outbound access.
75870	//
75871	//    * egress.ip-permission.protocol - The IP protocol for an outbound security
75872	//    group rule (tcp | udp | icmp, a protocol number, or -1 for all protocols).
75873	//
75874	//    * egress.ip-permission.to-port - For an outbound rule, the end of port
75875	//    range for the TCP and UDP protocols, or an ICMP code.
75876	//
75877	//    * egress.ip-permission.user-id - The ID of an Amazon Web Services account
75878	//    that has been referenced in an outbound security group rule.
75879	//
75880	//    * group-id - The ID of the security group.
75881	//
75882	//    * group-name - The name of the security group.
75883	//
75884	//    * ip-permission.cidr - An IPv4 CIDR block for an inbound security group
75885	//    rule.
75886	//
75887	//    * ip-permission.from-port - For an inbound rule, the start of port range
75888	//    for the TCP and UDP protocols, or an ICMP type number.
75889	//
75890	//    * ip-permission.group-id - The ID of a security group that has been referenced
75891	//    in an inbound security group rule.
75892	//
75893	//    * ip-permission.group-name - The name of a security group that is referenced
75894	//    in an inbound security group rule.
75895	//
75896	//    * ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security
75897	//    group rule.
75898	//
75899	//    * ip-permission.prefix-list-id - The ID of a prefix list from which a
75900	//    security group rule allows inbound access.
75901	//
75902	//    * ip-permission.protocol - The IP protocol for an inbound security group
75903	//    rule (tcp | udp | icmp, a protocol number, or -1 for all protocols).
75904	//
75905	//    * ip-permission.to-port - For an inbound rule, the end of port range for
75906	//    the TCP and UDP protocols, or an ICMP code.
75907	//
75908	//    * ip-permission.user-id - The ID of an Amazon Web Services account that
75909	//    has been referenced in an inbound security group rule.
75910	//
75911	//    * owner-id - The Amazon Web Services account ID of the owner of the security
75912	//    group.
75913	//
75914	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
75915	//    Use the tag key in the filter name and the tag value as the filter value.
75916	//    For example, to find all resources that have a tag with the key Owner
75917	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
75918	//    the filter value.
75919	//
75920	//    * tag-key - The key of a tag assigned to the resource. Use this filter
75921	//    to find all resources assigned a tag with a specific key, regardless of
75922	//    the tag value.
75923	//
75924	//    * vpc-id - The ID of the VPC specified when the security group was created.
75925	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
75926
75927	// The IDs of the security groups. Required for security groups in a nondefault
75928	// VPC.
75929	//
75930	// Default: Describes all of your security groups.
75931	GroupIds []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
75932
75933	// [EC2-Classic and default VPC only] The names of the security groups. You
75934	// can specify either the security group name or the security group ID. For
75935	// security groups in a nondefault VPC, use the group-name filter to describe
75936	// security groups by name.
75937	//
75938	// Default: Describes all of your security groups.
75939	GroupNames []*string `locationName:"GroupName" locationNameList:"GroupName" type:"list"`
75940
75941	// The maximum number of results to return in a single call. To retrieve the
75942	// remaining results, make another request with the returned NextToken value.
75943	// This value can be between 5 and 1000. If this parameter is not specified,
75944	// then all results are returned.
75945	MaxResults *int64 `min:"5" type:"integer"`
75946
75947	// The token to request the next page of results.
75948	NextToken *string `type:"string"`
75949}
75950
75951// String returns the string representation
75952func (s DescribeSecurityGroupsInput) String() string {
75953	return awsutil.Prettify(s)
75954}
75955
75956// GoString returns the string representation
75957func (s DescribeSecurityGroupsInput) GoString() string {
75958	return s.String()
75959}
75960
75961// Validate inspects the fields of the type to determine if they are valid.
75962func (s *DescribeSecurityGroupsInput) Validate() error {
75963	invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupsInput"}
75964	if s.MaxResults != nil && *s.MaxResults < 5 {
75965		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
75966	}
75967
75968	if invalidParams.Len() > 0 {
75969		return invalidParams
75970	}
75971	return nil
75972}
75973
75974// SetDryRun sets the DryRun field's value.
75975func (s *DescribeSecurityGroupsInput) SetDryRun(v bool) *DescribeSecurityGroupsInput {
75976	s.DryRun = &v
75977	return s
75978}
75979
75980// SetFilters sets the Filters field's value.
75981func (s *DescribeSecurityGroupsInput) SetFilters(v []*Filter) *DescribeSecurityGroupsInput {
75982	s.Filters = v
75983	return s
75984}
75985
75986// SetGroupIds sets the GroupIds field's value.
75987func (s *DescribeSecurityGroupsInput) SetGroupIds(v []*string) *DescribeSecurityGroupsInput {
75988	s.GroupIds = v
75989	return s
75990}
75991
75992// SetGroupNames sets the GroupNames field's value.
75993func (s *DescribeSecurityGroupsInput) SetGroupNames(v []*string) *DescribeSecurityGroupsInput {
75994	s.GroupNames = v
75995	return s
75996}
75997
75998// SetMaxResults sets the MaxResults field's value.
75999func (s *DescribeSecurityGroupsInput) SetMaxResults(v int64) *DescribeSecurityGroupsInput {
76000	s.MaxResults = &v
76001	return s
76002}
76003
76004// SetNextToken sets the NextToken field's value.
76005func (s *DescribeSecurityGroupsInput) SetNextToken(v string) *DescribeSecurityGroupsInput {
76006	s.NextToken = &v
76007	return s
76008}
76009
76010type DescribeSecurityGroupsOutput struct {
76011	_ struct{} `type:"structure"`
76012
76013	// The token to use to retrieve the next page of results. This value is null
76014	// when there are no more results to return.
76015	NextToken *string `locationName:"nextToken" type:"string"`
76016
76017	// Information about the security groups.
76018	SecurityGroups []*SecurityGroup `locationName:"securityGroupInfo" locationNameList:"item" type:"list"`
76019}
76020
76021// String returns the string representation
76022func (s DescribeSecurityGroupsOutput) String() string {
76023	return awsutil.Prettify(s)
76024}
76025
76026// GoString returns the string representation
76027func (s DescribeSecurityGroupsOutput) GoString() string {
76028	return s.String()
76029}
76030
76031// SetNextToken sets the NextToken field's value.
76032func (s *DescribeSecurityGroupsOutput) SetNextToken(v string) *DescribeSecurityGroupsOutput {
76033	s.NextToken = &v
76034	return s
76035}
76036
76037// SetSecurityGroups sets the SecurityGroups field's value.
76038func (s *DescribeSecurityGroupsOutput) SetSecurityGroups(v []*SecurityGroup) *DescribeSecurityGroupsOutput {
76039	s.SecurityGroups = v
76040	return s
76041}
76042
76043type DescribeSnapshotAttributeInput struct {
76044	_ struct{} `type:"structure"`
76045
76046	// The snapshot attribute you would like to view.
76047	//
76048	// Attribute is a required field
76049	Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
76050
76051	// Checks whether you have the required permissions for the action, without
76052	// actually making the request, and provides an error response. If you have
76053	// the required permissions, the error response is DryRunOperation. Otherwise,
76054	// it is UnauthorizedOperation.
76055	DryRun *bool `locationName:"dryRun" type:"boolean"`
76056
76057	// The ID of the EBS snapshot.
76058	//
76059	// SnapshotId is a required field
76060	SnapshotId *string `type:"string" required:"true"`
76061}
76062
76063// String returns the string representation
76064func (s DescribeSnapshotAttributeInput) String() string {
76065	return awsutil.Prettify(s)
76066}
76067
76068// GoString returns the string representation
76069func (s DescribeSnapshotAttributeInput) GoString() string {
76070	return s.String()
76071}
76072
76073// Validate inspects the fields of the type to determine if they are valid.
76074func (s *DescribeSnapshotAttributeInput) Validate() error {
76075	invalidParams := request.ErrInvalidParams{Context: "DescribeSnapshotAttributeInput"}
76076	if s.Attribute == nil {
76077		invalidParams.Add(request.NewErrParamRequired("Attribute"))
76078	}
76079	if s.SnapshotId == nil {
76080		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
76081	}
76082
76083	if invalidParams.Len() > 0 {
76084		return invalidParams
76085	}
76086	return nil
76087}
76088
76089// SetAttribute sets the Attribute field's value.
76090func (s *DescribeSnapshotAttributeInput) SetAttribute(v string) *DescribeSnapshotAttributeInput {
76091	s.Attribute = &v
76092	return s
76093}
76094
76095// SetDryRun sets the DryRun field's value.
76096func (s *DescribeSnapshotAttributeInput) SetDryRun(v bool) *DescribeSnapshotAttributeInput {
76097	s.DryRun = &v
76098	return s
76099}
76100
76101// SetSnapshotId sets the SnapshotId field's value.
76102func (s *DescribeSnapshotAttributeInput) SetSnapshotId(v string) *DescribeSnapshotAttributeInput {
76103	s.SnapshotId = &v
76104	return s
76105}
76106
76107type DescribeSnapshotAttributeOutput struct {
76108	_ struct{} `type:"structure"`
76109
76110	// The users and groups that have the permissions for creating volumes from
76111	// the snapshot.
76112	CreateVolumePermissions []*CreateVolumePermission `locationName:"createVolumePermission" locationNameList:"item" type:"list"`
76113
76114	// The product codes.
76115	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
76116
76117	// The ID of the EBS snapshot.
76118	SnapshotId *string `locationName:"snapshotId" type:"string"`
76119}
76120
76121// String returns the string representation
76122func (s DescribeSnapshotAttributeOutput) String() string {
76123	return awsutil.Prettify(s)
76124}
76125
76126// GoString returns the string representation
76127func (s DescribeSnapshotAttributeOutput) GoString() string {
76128	return s.String()
76129}
76130
76131// SetCreateVolumePermissions sets the CreateVolumePermissions field's value.
76132func (s *DescribeSnapshotAttributeOutput) SetCreateVolumePermissions(v []*CreateVolumePermission) *DescribeSnapshotAttributeOutput {
76133	s.CreateVolumePermissions = v
76134	return s
76135}
76136
76137// SetProductCodes sets the ProductCodes field's value.
76138func (s *DescribeSnapshotAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeSnapshotAttributeOutput {
76139	s.ProductCodes = v
76140	return s
76141}
76142
76143// SetSnapshotId sets the SnapshotId field's value.
76144func (s *DescribeSnapshotAttributeOutput) SetSnapshotId(v string) *DescribeSnapshotAttributeOutput {
76145	s.SnapshotId = &v
76146	return s
76147}
76148
76149type DescribeSnapshotsInput struct {
76150	_ struct{} `type:"structure"`
76151
76152	// Checks whether you have the required permissions for the action, without
76153	// actually making the request, and provides an error response. If you have
76154	// the required permissions, the error response is DryRunOperation. Otherwise,
76155	// it is UnauthorizedOperation.
76156	DryRun *bool `locationName:"dryRun" type:"boolean"`
76157
76158	// The filters.
76159	//
76160	//    * description - A description of the snapshot.
76161	//
76162	//    * encrypted - Indicates whether the snapshot is encrypted (true | false)
76163	//
76164	//    * owner-alias - The owner alias, from an Amazon-maintained list (amazon).
76165	//    This is not the user-configured Amazon Web Services account alias set
76166	//    using the IAM console. We recommend that you use the related parameter
76167	//    instead of this filter.
76168	//
76169	//    * owner-id - The Amazon Web Services account ID of the owner. We recommend
76170	//    that you use the related parameter instead of this filter.
76171	//
76172	//    * progress - The progress of the snapshot, as a percentage (for example,
76173	//    80%).
76174	//
76175	//    * snapshot-id - The snapshot ID.
76176	//
76177	//    * start-time - The time stamp when the snapshot was initiated.
76178	//
76179	//    * status - The status of the snapshot (pending | completed | error).
76180	//
76181	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
76182	//    Use the tag key in the filter name and the tag value as the filter value.
76183	//    For example, to find all resources that have a tag with the key Owner
76184	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
76185	//    the filter value.
76186	//
76187	//    * tag-key - The key of a tag assigned to the resource. Use this filter
76188	//    to find all resources assigned a tag with a specific key, regardless of
76189	//    the tag value.
76190	//
76191	//    * volume-id - The ID of the volume the snapshot is for.
76192	//
76193	//    * volume-size - The size of the volume, in GiB.
76194	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
76195
76196	// The maximum number of snapshot results returned by DescribeSnapshots in paginated
76197	// output. When this parameter is used, DescribeSnapshots only returns MaxResults
76198	// results in a single page along with a NextToken response element. The remaining
76199	// results of the initial request can be seen by sending another DescribeSnapshots
76200	// request with the returned NextToken value. This value can be between 5 and
76201	// 1,000; if MaxResults is given a value larger than 1,000, only 1,000 results
76202	// are returned. If this parameter is not used, then DescribeSnapshots returns
76203	// all results. You cannot specify this parameter and the snapshot IDs parameter
76204	// in the same request.
76205	MaxResults *int64 `type:"integer"`
76206
76207	// The NextToken value returned from a previous paginated DescribeSnapshots
76208	// request where MaxResults was used and the results exceeded the value of that
76209	// parameter. Pagination continues from the end of the previous results that
76210	// returned the NextToken value. This value is null when there are no more results
76211	// to return.
76212	NextToken *string `type:"string"`
76213
76214	// Scopes the results to snapshots with the specified owners. You can specify
76215	// a combination of Amazon Web Services account IDs, self, and amazon.
76216	OwnerIds []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
76217
76218	// The IDs of the Amazon Web Services accounts that can create volumes from
76219	// the snapshot.
76220	RestorableByUserIds []*string `locationName:"RestorableBy" type:"list"`
76221
76222	// The snapshot IDs.
76223	//
76224	// Default: Describes the snapshots for which you have create volume permissions.
76225	SnapshotIds []*string `locationName:"SnapshotId" locationNameList:"SnapshotId" type:"list"`
76226}
76227
76228// String returns the string representation
76229func (s DescribeSnapshotsInput) String() string {
76230	return awsutil.Prettify(s)
76231}
76232
76233// GoString returns the string representation
76234func (s DescribeSnapshotsInput) GoString() string {
76235	return s.String()
76236}
76237
76238// SetDryRun sets the DryRun field's value.
76239func (s *DescribeSnapshotsInput) SetDryRun(v bool) *DescribeSnapshotsInput {
76240	s.DryRun = &v
76241	return s
76242}
76243
76244// SetFilters sets the Filters field's value.
76245func (s *DescribeSnapshotsInput) SetFilters(v []*Filter) *DescribeSnapshotsInput {
76246	s.Filters = v
76247	return s
76248}
76249
76250// SetMaxResults sets the MaxResults field's value.
76251func (s *DescribeSnapshotsInput) SetMaxResults(v int64) *DescribeSnapshotsInput {
76252	s.MaxResults = &v
76253	return s
76254}
76255
76256// SetNextToken sets the NextToken field's value.
76257func (s *DescribeSnapshotsInput) SetNextToken(v string) *DescribeSnapshotsInput {
76258	s.NextToken = &v
76259	return s
76260}
76261
76262// SetOwnerIds sets the OwnerIds field's value.
76263func (s *DescribeSnapshotsInput) SetOwnerIds(v []*string) *DescribeSnapshotsInput {
76264	s.OwnerIds = v
76265	return s
76266}
76267
76268// SetRestorableByUserIds sets the RestorableByUserIds field's value.
76269func (s *DescribeSnapshotsInput) SetRestorableByUserIds(v []*string) *DescribeSnapshotsInput {
76270	s.RestorableByUserIds = v
76271	return s
76272}
76273
76274// SetSnapshotIds sets the SnapshotIds field's value.
76275func (s *DescribeSnapshotsInput) SetSnapshotIds(v []*string) *DescribeSnapshotsInput {
76276	s.SnapshotIds = v
76277	return s
76278}
76279
76280type DescribeSnapshotsOutput struct {
76281	_ struct{} `type:"structure"`
76282
76283	// The NextToken value to include in a future DescribeSnapshots request. When
76284	// the results of a DescribeSnapshots request exceed MaxResults, this value
76285	// can be used to retrieve the next page of results. This value is null when
76286	// there are no more results to return.
76287	NextToken *string `locationName:"nextToken" type:"string"`
76288
76289	// Information about the snapshots.
76290	Snapshots []*Snapshot `locationName:"snapshotSet" locationNameList:"item" type:"list"`
76291}
76292
76293// String returns the string representation
76294func (s DescribeSnapshotsOutput) String() string {
76295	return awsutil.Prettify(s)
76296}
76297
76298// GoString returns the string representation
76299func (s DescribeSnapshotsOutput) GoString() string {
76300	return s.String()
76301}
76302
76303// SetNextToken sets the NextToken field's value.
76304func (s *DescribeSnapshotsOutput) SetNextToken(v string) *DescribeSnapshotsOutput {
76305	s.NextToken = &v
76306	return s
76307}
76308
76309// SetSnapshots sets the Snapshots field's value.
76310func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput {
76311	s.Snapshots = v
76312	return s
76313}
76314
76315// Contains the parameters for DescribeSpotDatafeedSubscription.
76316type DescribeSpotDatafeedSubscriptionInput struct {
76317	_ struct{} `type:"structure"`
76318
76319	// Checks whether you have the required permissions for the action, without
76320	// actually making the request, and provides an error response. If you have
76321	// the required permissions, the error response is DryRunOperation. Otherwise,
76322	// it is UnauthorizedOperation.
76323	DryRun *bool `locationName:"dryRun" type:"boolean"`
76324}
76325
76326// String returns the string representation
76327func (s DescribeSpotDatafeedSubscriptionInput) String() string {
76328	return awsutil.Prettify(s)
76329}
76330
76331// GoString returns the string representation
76332func (s DescribeSpotDatafeedSubscriptionInput) GoString() string {
76333	return s.String()
76334}
76335
76336// SetDryRun sets the DryRun field's value.
76337func (s *DescribeSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DescribeSpotDatafeedSubscriptionInput {
76338	s.DryRun = &v
76339	return s
76340}
76341
76342// Contains the output of DescribeSpotDatafeedSubscription.
76343type DescribeSpotDatafeedSubscriptionOutput struct {
76344	_ struct{} `type:"structure"`
76345
76346	// The Spot Instance data feed subscription.
76347	SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
76348}
76349
76350// String returns the string representation
76351func (s DescribeSpotDatafeedSubscriptionOutput) String() string {
76352	return awsutil.Prettify(s)
76353}
76354
76355// GoString returns the string representation
76356func (s DescribeSpotDatafeedSubscriptionOutput) GoString() string {
76357	return s.String()
76358}
76359
76360// SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
76361func (s *DescribeSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *DescribeSpotDatafeedSubscriptionOutput {
76362	s.SpotDatafeedSubscription = v
76363	return s
76364}
76365
76366// Contains the parameters for DescribeSpotFleetInstances.
76367type DescribeSpotFleetInstancesInput struct {
76368	_ struct{} `type:"structure"`
76369
76370	// Checks whether you have the required permissions for the action, without
76371	// actually making the request, and provides an error response. If you have
76372	// the required permissions, the error response is DryRunOperation. Otherwise,
76373	// it is UnauthorizedOperation.
76374	DryRun *bool `locationName:"dryRun" type:"boolean"`
76375
76376	// The maximum number of results to return in a single call. Specify a value
76377	// between 1 and 1000. The default value is 1000. To retrieve the remaining
76378	// results, make another call with the returned NextToken value.
76379	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
76380
76381	// The token for the next set of results.
76382	NextToken *string `locationName:"nextToken" type:"string"`
76383
76384	// The ID of the Spot Fleet request.
76385	//
76386	// SpotFleetRequestId is a required field
76387	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
76388}
76389
76390// String returns the string representation
76391func (s DescribeSpotFleetInstancesInput) String() string {
76392	return awsutil.Prettify(s)
76393}
76394
76395// GoString returns the string representation
76396func (s DescribeSpotFleetInstancesInput) GoString() string {
76397	return s.String()
76398}
76399
76400// Validate inspects the fields of the type to determine if they are valid.
76401func (s *DescribeSpotFleetInstancesInput) Validate() error {
76402	invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetInstancesInput"}
76403	if s.MaxResults != nil && *s.MaxResults < 1 {
76404		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
76405	}
76406	if s.SpotFleetRequestId == nil {
76407		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
76408	}
76409
76410	if invalidParams.Len() > 0 {
76411		return invalidParams
76412	}
76413	return nil
76414}
76415
76416// SetDryRun sets the DryRun field's value.
76417func (s *DescribeSpotFleetInstancesInput) SetDryRun(v bool) *DescribeSpotFleetInstancesInput {
76418	s.DryRun = &v
76419	return s
76420}
76421
76422// SetMaxResults sets the MaxResults field's value.
76423func (s *DescribeSpotFleetInstancesInput) SetMaxResults(v int64) *DescribeSpotFleetInstancesInput {
76424	s.MaxResults = &v
76425	return s
76426}
76427
76428// SetNextToken sets the NextToken field's value.
76429func (s *DescribeSpotFleetInstancesInput) SetNextToken(v string) *DescribeSpotFleetInstancesInput {
76430	s.NextToken = &v
76431	return s
76432}
76433
76434// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
76435func (s *DescribeSpotFleetInstancesInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesInput {
76436	s.SpotFleetRequestId = &v
76437	return s
76438}
76439
76440// Contains the output of DescribeSpotFleetInstances.
76441type DescribeSpotFleetInstancesOutput struct {
76442	_ struct{} `type:"structure"`
76443
76444	// The running instances. This list is refreshed periodically and might be out
76445	// of date.
76446	ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list"`
76447
76448	// The token required to retrieve the next set of results. This value is null
76449	// when there are no more results to return.
76450	NextToken *string `locationName:"nextToken" type:"string"`
76451
76452	// The ID of the Spot Fleet request.
76453	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
76454}
76455
76456// String returns the string representation
76457func (s DescribeSpotFleetInstancesOutput) String() string {
76458	return awsutil.Prettify(s)
76459}
76460
76461// GoString returns the string representation
76462func (s DescribeSpotFleetInstancesOutput) GoString() string {
76463	return s.String()
76464}
76465
76466// SetActiveInstances sets the ActiveInstances field's value.
76467func (s *DescribeSpotFleetInstancesOutput) SetActiveInstances(v []*ActiveInstance) *DescribeSpotFleetInstancesOutput {
76468	s.ActiveInstances = v
76469	return s
76470}
76471
76472// SetNextToken sets the NextToken field's value.
76473func (s *DescribeSpotFleetInstancesOutput) SetNextToken(v string) *DescribeSpotFleetInstancesOutput {
76474	s.NextToken = &v
76475	return s
76476}
76477
76478// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
76479func (s *DescribeSpotFleetInstancesOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesOutput {
76480	s.SpotFleetRequestId = &v
76481	return s
76482}
76483
76484// Contains the parameters for DescribeSpotFleetRequestHistory.
76485type DescribeSpotFleetRequestHistoryInput struct {
76486	_ struct{} `type:"structure"`
76487
76488	// Checks whether you have the required permissions for the action, without
76489	// actually making the request, and provides an error response. If you have
76490	// the required permissions, the error response is DryRunOperation. Otherwise,
76491	// it is UnauthorizedOperation.
76492	DryRun *bool `locationName:"dryRun" type:"boolean"`
76493
76494	// The type of events to describe. By default, all events are described.
76495	EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
76496
76497	// The maximum number of results to return in a single call. Specify a value
76498	// between 1 and 1000. The default value is 1000. To retrieve the remaining
76499	// results, make another call with the returned NextToken value.
76500	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
76501
76502	// The token for the next set of results.
76503	NextToken *string `locationName:"nextToken" type:"string"`
76504
76505	// The ID of the Spot Fleet request.
76506	//
76507	// SpotFleetRequestId is a required field
76508	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
76509
76510	// The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
76511	//
76512	// StartTime is a required field
76513	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
76514}
76515
76516// String returns the string representation
76517func (s DescribeSpotFleetRequestHistoryInput) String() string {
76518	return awsutil.Prettify(s)
76519}
76520
76521// GoString returns the string representation
76522func (s DescribeSpotFleetRequestHistoryInput) GoString() string {
76523	return s.String()
76524}
76525
76526// Validate inspects the fields of the type to determine if they are valid.
76527func (s *DescribeSpotFleetRequestHistoryInput) Validate() error {
76528	invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetRequestHistoryInput"}
76529	if s.MaxResults != nil && *s.MaxResults < 1 {
76530		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
76531	}
76532	if s.SpotFleetRequestId == nil {
76533		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
76534	}
76535	if s.StartTime == nil {
76536		invalidParams.Add(request.NewErrParamRequired("StartTime"))
76537	}
76538
76539	if invalidParams.Len() > 0 {
76540		return invalidParams
76541	}
76542	return nil
76543}
76544
76545// SetDryRun sets the DryRun field's value.
76546func (s *DescribeSpotFleetRequestHistoryInput) SetDryRun(v bool) *DescribeSpotFleetRequestHistoryInput {
76547	s.DryRun = &v
76548	return s
76549}
76550
76551// SetEventType sets the EventType field's value.
76552func (s *DescribeSpotFleetRequestHistoryInput) SetEventType(v string) *DescribeSpotFleetRequestHistoryInput {
76553	s.EventType = &v
76554	return s
76555}
76556
76557// SetMaxResults sets the MaxResults field's value.
76558func (s *DescribeSpotFleetRequestHistoryInput) SetMaxResults(v int64) *DescribeSpotFleetRequestHistoryInput {
76559	s.MaxResults = &v
76560	return s
76561}
76562
76563// SetNextToken sets the NextToken field's value.
76564func (s *DescribeSpotFleetRequestHistoryInput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryInput {
76565	s.NextToken = &v
76566	return s
76567}
76568
76569// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
76570func (s *DescribeSpotFleetRequestHistoryInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryInput {
76571	s.SpotFleetRequestId = &v
76572	return s
76573}
76574
76575// SetStartTime sets the StartTime field's value.
76576func (s *DescribeSpotFleetRequestHistoryInput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryInput {
76577	s.StartTime = &v
76578	return s
76579}
76580
76581// Contains the output of DescribeSpotFleetRequestHistory.
76582type DescribeSpotFleetRequestHistoryOutput struct {
76583	_ struct{} `type:"structure"`
76584
76585	// Information about the events in the history of the Spot Fleet request.
76586	HistoryRecords []*HistoryRecord `locationName:"historyRecordSet" locationNameList:"item" type:"list"`
76587
76588	// The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
76589	// All records up to this time were retrieved.
76590	//
76591	// If nextToken indicates that there are more results, this value is not present.
76592	LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp"`
76593
76594	// The token required to retrieve the next set of results. This value is null
76595	// when there are no more results to return.
76596	NextToken *string `locationName:"nextToken" type:"string"`
76597
76598	// The ID of the Spot Fleet request.
76599	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
76600
76601	// The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
76602	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
76603}
76604
76605// String returns the string representation
76606func (s DescribeSpotFleetRequestHistoryOutput) String() string {
76607	return awsutil.Prettify(s)
76608}
76609
76610// GoString returns the string representation
76611func (s DescribeSpotFleetRequestHistoryOutput) GoString() string {
76612	return s.String()
76613}
76614
76615// SetHistoryRecords sets the HistoryRecords field's value.
76616func (s *DescribeSpotFleetRequestHistoryOutput) SetHistoryRecords(v []*HistoryRecord) *DescribeSpotFleetRequestHistoryOutput {
76617	s.HistoryRecords = v
76618	return s
76619}
76620
76621// SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
76622func (s *DescribeSpotFleetRequestHistoryOutput) SetLastEvaluatedTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
76623	s.LastEvaluatedTime = &v
76624	return s
76625}
76626
76627// SetNextToken sets the NextToken field's value.
76628func (s *DescribeSpotFleetRequestHistoryOutput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryOutput {
76629	s.NextToken = &v
76630	return s
76631}
76632
76633// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
76634func (s *DescribeSpotFleetRequestHistoryOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryOutput {
76635	s.SpotFleetRequestId = &v
76636	return s
76637}
76638
76639// SetStartTime sets the StartTime field's value.
76640func (s *DescribeSpotFleetRequestHistoryOutput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
76641	s.StartTime = &v
76642	return s
76643}
76644
76645// Contains the parameters for DescribeSpotFleetRequests.
76646type DescribeSpotFleetRequestsInput struct {
76647	_ struct{} `type:"structure"`
76648
76649	// Checks whether you have the required permissions for the action, without
76650	// actually making the request, and provides an error response. If you have
76651	// the required permissions, the error response is DryRunOperation. Otherwise,
76652	// it is UnauthorizedOperation.
76653	DryRun *bool `locationName:"dryRun" type:"boolean"`
76654
76655	// The maximum number of results to return in a single call. Specify a value
76656	// between 1 and 1000. The default value is 1000. To retrieve the remaining
76657	// results, make another call with the returned NextToken value.
76658	MaxResults *int64 `locationName:"maxResults" type:"integer"`
76659
76660	// The token for the next set of results.
76661	NextToken *string `locationName:"nextToken" type:"string"`
76662
76663	// The IDs of the Spot Fleet requests.
76664	SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list"`
76665}
76666
76667// String returns the string representation
76668func (s DescribeSpotFleetRequestsInput) String() string {
76669	return awsutil.Prettify(s)
76670}
76671
76672// GoString returns the string representation
76673func (s DescribeSpotFleetRequestsInput) GoString() string {
76674	return s.String()
76675}
76676
76677// SetDryRun sets the DryRun field's value.
76678func (s *DescribeSpotFleetRequestsInput) SetDryRun(v bool) *DescribeSpotFleetRequestsInput {
76679	s.DryRun = &v
76680	return s
76681}
76682
76683// SetMaxResults sets the MaxResults field's value.
76684func (s *DescribeSpotFleetRequestsInput) SetMaxResults(v int64) *DescribeSpotFleetRequestsInput {
76685	s.MaxResults = &v
76686	return s
76687}
76688
76689// SetNextToken sets the NextToken field's value.
76690func (s *DescribeSpotFleetRequestsInput) SetNextToken(v string) *DescribeSpotFleetRequestsInput {
76691	s.NextToken = &v
76692	return s
76693}
76694
76695// SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
76696func (s *DescribeSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *DescribeSpotFleetRequestsInput {
76697	s.SpotFleetRequestIds = v
76698	return s
76699}
76700
76701// Contains the output of DescribeSpotFleetRequests.
76702type DescribeSpotFleetRequestsOutput struct {
76703	_ struct{} `type:"structure"`
76704
76705	// The token required to retrieve the next set of results. This value is null
76706	// when there are no more results to return.
76707	NextToken *string `locationName:"nextToken" type:"string"`
76708
76709	// Information about the configuration of your Spot Fleet.
76710	SpotFleetRequestConfigs []*SpotFleetRequestConfig `locationName:"spotFleetRequestConfigSet" locationNameList:"item" type:"list"`
76711}
76712
76713// String returns the string representation
76714func (s DescribeSpotFleetRequestsOutput) String() string {
76715	return awsutil.Prettify(s)
76716}
76717
76718// GoString returns the string representation
76719func (s DescribeSpotFleetRequestsOutput) GoString() string {
76720	return s.String()
76721}
76722
76723// SetNextToken sets the NextToken field's value.
76724func (s *DescribeSpotFleetRequestsOutput) SetNextToken(v string) *DescribeSpotFleetRequestsOutput {
76725	s.NextToken = &v
76726	return s
76727}
76728
76729// SetSpotFleetRequestConfigs sets the SpotFleetRequestConfigs field's value.
76730func (s *DescribeSpotFleetRequestsOutput) SetSpotFleetRequestConfigs(v []*SpotFleetRequestConfig) *DescribeSpotFleetRequestsOutput {
76731	s.SpotFleetRequestConfigs = v
76732	return s
76733}
76734
76735// Contains the parameters for DescribeSpotInstanceRequests.
76736type DescribeSpotInstanceRequestsInput struct {
76737	_ struct{} `type:"structure"`
76738
76739	// Checks whether you have the required permissions for the action, without
76740	// actually making the request, and provides an error response. If you have
76741	// the required permissions, the error response is DryRunOperation. Otherwise,
76742	// it is UnauthorizedOperation.
76743	DryRun *bool `locationName:"dryRun" type:"boolean"`
76744
76745	// One or more filters.
76746	//
76747	//    * availability-zone-group - The Availability Zone group.
76748	//
76749	//    * create-time - The time stamp when the Spot Instance request was created.
76750	//
76751	//    * fault-code - The fault code related to the request.
76752	//
76753	//    * fault-message - The fault message related to the request.
76754	//
76755	//    * instance-id - The ID of the instance that fulfilled the request.
76756	//
76757	//    * launch-group - The Spot Instance launch group.
76758	//
76759	//    * launch.block-device-mapping.delete-on-termination - Indicates whether
76760	//    the EBS volume is deleted on instance termination.
76761	//
76762	//    * launch.block-device-mapping.device-name - The device name for the volume
76763	//    in the block device mapping (for example, /dev/sdh or xvdh).
76764	//
76765	//    * launch.block-device-mapping.snapshot-id - The ID of the snapshot for
76766	//    the EBS volume.
76767	//
76768	//    * launch.block-device-mapping.volume-size - The size of the EBS volume,
76769	//    in GiB.
76770	//
76771	//    * launch.block-device-mapping.volume-type - The type of EBS volume: gp2
76772	//    for General Purpose SSD, io1 or io2 for Provisioned IOPS SSD, st1 for
76773	//    Throughput Optimized HDD, sc1for Cold HDD, or standard for Magnetic.
76774	//
76775	//    * launch.group-id - The ID of the security group for the instance.
76776	//
76777	//    * launch.group-name - The name of the security group for the instance.
76778	//
76779	//    * launch.image-id - The ID of the AMI.
76780	//
76781	//    * launch.instance-type - The type of instance (for example, m3.medium).
76782	//
76783	//    * launch.kernel-id - The kernel ID.
76784	//
76785	//    * launch.key-name - The name of the key pair the instance launched with.
76786	//
76787	//    * launch.monitoring-enabled - Whether detailed monitoring is enabled for
76788	//    the Spot Instance.
76789	//
76790	//    * launch.ramdisk-id - The RAM disk ID.
76791	//
76792	//    * launched-availability-zone - The Availability Zone in which the request
76793	//    is launched.
76794	//
76795	//    * network-interface.addresses.primary - Indicates whether the IP address
76796	//    is the primary private IP address.
76797	//
76798	//    * network-interface.delete-on-termination - Indicates whether the network
76799	//    interface is deleted when the instance is terminated.
76800	//
76801	//    * network-interface.description - A description of the network interface.
76802	//
76803	//    * network-interface.device-index - The index of the device for the network
76804	//    interface attachment on the instance.
76805	//
76806	//    * network-interface.group-id - The ID of the security group associated
76807	//    with the network interface.
76808	//
76809	//    * network-interface.network-interface-id - The ID of the network interface.
76810	//
76811	//    * network-interface.private-ip-address - The primary private IP address
76812	//    of the network interface.
76813	//
76814	//    * network-interface.subnet-id - The ID of the subnet for the instance.
76815	//
76816	//    * product-description - The product description associated with the instance
76817	//    (Linux/UNIX | Windows).
76818	//
76819	//    * spot-instance-request-id - The Spot Instance request ID.
76820	//
76821	//    * spot-price - The maximum hourly price for any Spot Instance launched
76822	//    to fulfill the request.
76823	//
76824	//    * state - The state of the Spot Instance request (open | active | closed
76825	//    | cancelled | failed). Spot request status information can help you track
76826	//    your Amazon EC2 Spot Instance requests. For more information, see Spot
76827	//    request status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
76828	//    in the Amazon EC2 User Guide for Linux Instances.
76829	//
76830	//    * status-code - The short code describing the most recent evaluation of
76831	//    your Spot Instance request.
76832	//
76833	//    * status-message - The message explaining the status of the Spot Instance
76834	//    request.
76835	//
76836	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
76837	//    Use the tag key in the filter name and the tag value as the filter value.
76838	//    For example, to find all resources that have a tag with the key Owner
76839	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
76840	//    the filter value.
76841	//
76842	//    * tag-key - The key of a tag assigned to the resource. Use this filter
76843	//    to find all resources assigned a tag with a specific key, regardless of
76844	//    the tag value.
76845	//
76846	//    * type - The type of Spot Instance request (one-time | persistent).
76847	//
76848	//    * valid-from - The start date of the request.
76849	//
76850	//    * valid-until - The end date of the request.
76851	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
76852
76853	// The maximum number of results to return in a single call. Specify a value
76854	// between 5 and 1000. To retrieve the remaining results, make another call
76855	// with the returned NextToken value.
76856	MaxResults *int64 `type:"integer"`
76857
76858	// The token to request the next set of results. This value is null when there
76859	// are no more results to return.
76860	NextToken *string `type:"string"`
76861
76862	// One or more Spot Instance request IDs.
76863	SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list"`
76864}
76865
76866// String returns the string representation
76867func (s DescribeSpotInstanceRequestsInput) String() string {
76868	return awsutil.Prettify(s)
76869}
76870
76871// GoString returns the string representation
76872func (s DescribeSpotInstanceRequestsInput) GoString() string {
76873	return s.String()
76874}
76875
76876// SetDryRun sets the DryRun field's value.
76877func (s *DescribeSpotInstanceRequestsInput) SetDryRun(v bool) *DescribeSpotInstanceRequestsInput {
76878	s.DryRun = &v
76879	return s
76880}
76881
76882// SetFilters sets the Filters field's value.
76883func (s *DescribeSpotInstanceRequestsInput) SetFilters(v []*Filter) *DescribeSpotInstanceRequestsInput {
76884	s.Filters = v
76885	return s
76886}
76887
76888// SetMaxResults sets the MaxResults field's value.
76889func (s *DescribeSpotInstanceRequestsInput) SetMaxResults(v int64) *DescribeSpotInstanceRequestsInput {
76890	s.MaxResults = &v
76891	return s
76892}
76893
76894// SetNextToken sets the NextToken field's value.
76895func (s *DescribeSpotInstanceRequestsInput) SetNextToken(v string) *DescribeSpotInstanceRequestsInput {
76896	s.NextToken = &v
76897	return s
76898}
76899
76900// SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
76901func (s *DescribeSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *DescribeSpotInstanceRequestsInput {
76902	s.SpotInstanceRequestIds = v
76903	return s
76904}
76905
76906// Contains the output of DescribeSpotInstanceRequests.
76907type DescribeSpotInstanceRequestsOutput struct {
76908	_ struct{} `type:"structure"`
76909
76910	// The token to use to retrieve the next set of results. This value is null
76911	// when there are no more results to return.
76912	NextToken *string `locationName:"nextToken" type:"string"`
76913
76914	// One or more Spot Instance requests.
76915	SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
76916}
76917
76918// String returns the string representation
76919func (s DescribeSpotInstanceRequestsOutput) String() string {
76920	return awsutil.Prettify(s)
76921}
76922
76923// GoString returns the string representation
76924func (s DescribeSpotInstanceRequestsOutput) GoString() string {
76925	return s.String()
76926}
76927
76928// SetNextToken sets the NextToken field's value.
76929func (s *DescribeSpotInstanceRequestsOutput) SetNextToken(v string) *DescribeSpotInstanceRequestsOutput {
76930	s.NextToken = &v
76931	return s
76932}
76933
76934// SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
76935func (s *DescribeSpotInstanceRequestsOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *DescribeSpotInstanceRequestsOutput {
76936	s.SpotInstanceRequests = v
76937	return s
76938}
76939
76940// Contains the parameters for DescribeSpotPriceHistory.
76941type DescribeSpotPriceHistoryInput struct {
76942	_ struct{} `type:"structure"`
76943
76944	// Filters the results by the specified Availability Zone.
76945	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
76946
76947	// Checks whether you have the required permissions for the action, without
76948	// actually making the request, and provides an error response. If you have
76949	// the required permissions, the error response is DryRunOperation. Otherwise,
76950	// it is UnauthorizedOperation.
76951	DryRun *bool `locationName:"dryRun" type:"boolean"`
76952
76953	// The date and time, up to the current date, from which to stop retrieving
76954	// the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
76955	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
76956
76957	// One or more filters.
76958	//
76959	//    * availability-zone - The Availability Zone for which prices should be
76960	//    returned.
76961	//
76962	//    * instance-type - The type of instance (for example, m3.medium).
76963	//
76964	//    * product-description - The product description for the Spot price (Linux/UNIX
76965	//    | Red Hat Enterprise Linux | SUSE Linux | Windows | Linux/UNIX (Amazon
76966	//    VPC) | Red Hat Enterprise Linux (Amazon VPC) | SUSE Linux (Amazon VPC)
76967	//    | Windows (Amazon VPC)).
76968	//
76969	//    * spot-price - The Spot price. The value must match exactly (or use wildcards;
76970	//    greater than or less than comparison is not supported).
76971	//
76972	//    * timestamp - The time stamp of the Spot price history, in UTC format
76973	//    (for example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?).
76974	//    Greater than or less than comparison is not supported.
76975	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
76976
76977	// Filters the results by the specified instance types.
76978	InstanceTypes []*string `locationName:"InstanceType" type:"list"`
76979
76980	// The maximum number of results to return in a single call. Specify a value
76981	// between 1 and 1000. The default value is 1000. To retrieve the remaining
76982	// results, make another call with the returned NextToken value.
76983	MaxResults *int64 `locationName:"maxResults" type:"integer"`
76984
76985	// The token for the next set of results.
76986	NextToken *string `locationName:"nextToken" type:"string"`
76987
76988	// Filters the results by the specified basic product descriptions.
76989	ProductDescriptions []*string `locationName:"ProductDescription" type:"list"`
76990
76991	// The date and time, up to the past 90 days, from which to start retrieving
76992	// the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
76993	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
76994}
76995
76996// String returns the string representation
76997func (s DescribeSpotPriceHistoryInput) String() string {
76998	return awsutil.Prettify(s)
76999}
77000
77001// GoString returns the string representation
77002func (s DescribeSpotPriceHistoryInput) GoString() string {
77003	return s.String()
77004}
77005
77006// SetAvailabilityZone sets the AvailabilityZone field's value.
77007func (s *DescribeSpotPriceHistoryInput) SetAvailabilityZone(v string) *DescribeSpotPriceHistoryInput {
77008	s.AvailabilityZone = &v
77009	return s
77010}
77011
77012// SetDryRun sets the DryRun field's value.
77013func (s *DescribeSpotPriceHistoryInput) SetDryRun(v bool) *DescribeSpotPriceHistoryInput {
77014	s.DryRun = &v
77015	return s
77016}
77017
77018// SetEndTime sets the EndTime field's value.
77019func (s *DescribeSpotPriceHistoryInput) SetEndTime(v time.Time) *DescribeSpotPriceHistoryInput {
77020	s.EndTime = &v
77021	return s
77022}
77023
77024// SetFilters sets the Filters field's value.
77025func (s *DescribeSpotPriceHistoryInput) SetFilters(v []*Filter) *DescribeSpotPriceHistoryInput {
77026	s.Filters = v
77027	return s
77028}
77029
77030// SetInstanceTypes sets the InstanceTypes field's value.
77031func (s *DescribeSpotPriceHistoryInput) SetInstanceTypes(v []*string) *DescribeSpotPriceHistoryInput {
77032	s.InstanceTypes = v
77033	return s
77034}
77035
77036// SetMaxResults sets the MaxResults field's value.
77037func (s *DescribeSpotPriceHistoryInput) SetMaxResults(v int64) *DescribeSpotPriceHistoryInput {
77038	s.MaxResults = &v
77039	return s
77040}
77041
77042// SetNextToken sets the NextToken field's value.
77043func (s *DescribeSpotPriceHistoryInput) SetNextToken(v string) *DescribeSpotPriceHistoryInput {
77044	s.NextToken = &v
77045	return s
77046}
77047
77048// SetProductDescriptions sets the ProductDescriptions field's value.
77049func (s *DescribeSpotPriceHistoryInput) SetProductDescriptions(v []*string) *DescribeSpotPriceHistoryInput {
77050	s.ProductDescriptions = v
77051	return s
77052}
77053
77054// SetStartTime sets the StartTime field's value.
77055func (s *DescribeSpotPriceHistoryInput) SetStartTime(v time.Time) *DescribeSpotPriceHistoryInput {
77056	s.StartTime = &v
77057	return s
77058}
77059
77060// Contains the output of DescribeSpotPriceHistory.
77061type DescribeSpotPriceHistoryOutput struct {
77062	_ struct{} `type:"structure"`
77063
77064	// The token required to retrieve the next set of results. This value is null
77065	// or an empty string when there are no more results to return.
77066	NextToken *string `locationName:"nextToken" type:"string"`
77067
77068	// The historical Spot prices.
77069	SpotPriceHistory []*SpotPrice `locationName:"spotPriceHistorySet" locationNameList:"item" type:"list"`
77070}
77071
77072// String returns the string representation
77073func (s DescribeSpotPriceHistoryOutput) String() string {
77074	return awsutil.Prettify(s)
77075}
77076
77077// GoString returns the string representation
77078func (s DescribeSpotPriceHistoryOutput) GoString() string {
77079	return s.String()
77080}
77081
77082// SetNextToken sets the NextToken field's value.
77083func (s *DescribeSpotPriceHistoryOutput) SetNextToken(v string) *DescribeSpotPriceHistoryOutput {
77084	s.NextToken = &v
77085	return s
77086}
77087
77088// SetSpotPriceHistory sets the SpotPriceHistory field's value.
77089func (s *DescribeSpotPriceHistoryOutput) SetSpotPriceHistory(v []*SpotPrice) *DescribeSpotPriceHistoryOutput {
77090	s.SpotPriceHistory = v
77091	return s
77092}
77093
77094type DescribeStaleSecurityGroupsInput struct {
77095	_ struct{} `type:"structure"`
77096
77097	// Checks whether you have the required permissions for the action, without
77098	// actually making the request, and provides an error response. If you have
77099	// the required permissions, the error response is DryRunOperation. Otherwise,
77100	// it is UnauthorizedOperation.
77101	DryRun *bool `type:"boolean"`
77102
77103	// The maximum number of items to return for this request. The request returns
77104	// a token that you can specify in a subsequent call to get the next set of
77105	// results.
77106	MaxResults *int64 `min:"5" type:"integer"`
77107
77108	// The token for the next set of items to return. (You received this token from
77109	// a prior call.)
77110	NextToken *string `min:"1" type:"string"`
77111
77112	// The ID of the VPC.
77113	//
77114	// VpcId is a required field
77115	VpcId *string `type:"string" required:"true"`
77116}
77117
77118// String returns the string representation
77119func (s DescribeStaleSecurityGroupsInput) String() string {
77120	return awsutil.Prettify(s)
77121}
77122
77123// GoString returns the string representation
77124func (s DescribeStaleSecurityGroupsInput) GoString() string {
77125	return s.String()
77126}
77127
77128// Validate inspects the fields of the type to determine if they are valid.
77129func (s *DescribeStaleSecurityGroupsInput) Validate() error {
77130	invalidParams := request.ErrInvalidParams{Context: "DescribeStaleSecurityGroupsInput"}
77131	if s.MaxResults != nil && *s.MaxResults < 5 {
77132		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
77133	}
77134	if s.NextToken != nil && len(*s.NextToken) < 1 {
77135		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
77136	}
77137	if s.VpcId == nil {
77138		invalidParams.Add(request.NewErrParamRequired("VpcId"))
77139	}
77140
77141	if invalidParams.Len() > 0 {
77142		return invalidParams
77143	}
77144	return nil
77145}
77146
77147// SetDryRun sets the DryRun field's value.
77148func (s *DescribeStaleSecurityGroupsInput) SetDryRun(v bool) *DescribeStaleSecurityGroupsInput {
77149	s.DryRun = &v
77150	return s
77151}
77152
77153// SetMaxResults sets the MaxResults field's value.
77154func (s *DescribeStaleSecurityGroupsInput) SetMaxResults(v int64) *DescribeStaleSecurityGroupsInput {
77155	s.MaxResults = &v
77156	return s
77157}
77158
77159// SetNextToken sets the NextToken field's value.
77160func (s *DescribeStaleSecurityGroupsInput) SetNextToken(v string) *DescribeStaleSecurityGroupsInput {
77161	s.NextToken = &v
77162	return s
77163}
77164
77165// SetVpcId sets the VpcId field's value.
77166func (s *DescribeStaleSecurityGroupsInput) SetVpcId(v string) *DescribeStaleSecurityGroupsInput {
77167	s.VpcId = &v
77168	return s
77169}
77170
77171type DescribeStaleSecurityGroupsOutput struct {
77172	_ struct{} `type:"structure"`
77173
77174	// The token to use when requesting the next set of items. If there are no additional
77175	// items to return, the string is empty.
77176	NextToken *string `locationName:"nextToken" type:"string"`
77177
77178	// Information about the stale security groups.
77179	StaleSecurityGroupSet []*StaleSecurityGroup `locationName:"staleSecurityGroupSet" locationNameList:"item" type:"list"`
77180}
77181
77182// String returns the string representation
77183func (s DescribeStaleSecurityGroupsOutput) String() string {
77184	return awsutil.Prettify(s)
77185}
77186
77187// GoString returns the string representation
77188func (s DescribeStaleSecurityGroupsOutput) GoString() string {
77189	return s.String()
77190}
77191
77192// SetNextToken sets the NextToken field's value.
77193func (s *DescribeStaleSecurityGroupsOutput) SetNextToken(v string) *DescribeStaleSecurityGroupsOutput {
77194	s.NextToken = &v
77195	return s
77196}
77197
77198// SetStaleSecurityGroupSet sets the StaleSecurityGroupSet field's value.
77199func (s *DescribeStaleSecurityGroupsOutput) SetStaleSecurityGroupSet(v []*StaleSecurityGroup) *DescribeStaleSecurityGroupsOutput {
77200	s.StaleSecurityGroupSet = v
77201	return s
77202}
77203
77204type DescribeStoreImageTasksInput struct {
77205	_ struct{} `type:"structure"`
77206
77207	// Checks whether you have the required permissions for the action, without
77208	// actually making the request, and provides an error response. If you have
77209	// the required permissions, the error response is DryRunOperation. Otherwise,
77210	// it is UnauthorizedOperation.
77211	DryRun *bool `type:"boolean"`
77212
77213	// The filters.
77214	//
77215	//    * task-state - Returns tasks in a certain state (InProgress | Completed
77216	//    | Failed)
77217	//
77218	//    * bucket - Returns task information for tasks that targeted a specific
77219	//    bucket. For the filter value, specify the bucket name.
77220	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
77221
77222	// The AMI IDs for which to show progress. Up to 20 AMI IDs can be included
77223	// in a request.
77224	ImageIds []*string `locationName:"ImageId" locationNameList:"item" type:"list"`
77225
77226	// The maximum number of results to return in a single call. To retrieve the
77227	// remaining results, make another call with the returned NextToken value. This
77228	// value can be between 1 and 200. You cannot specify this parameter and the
77229	// ImageIDs parameter in the same call.
77230	MaxResults *int64 `min:"1" type:"integer"`
77231
77232	// The token for the next page of results.
77233	NextToken *string `type:"string"`
77234}
77235
77236// String returns the string representation
77237func (s DescribeStoreImageTasksInput) String() string {
77238	return awsutil.Prettify(s)
77239}
77240
77241// GoString returns the string representation
77242func (s DescribeStoreImageTasksInput) GoString() string {
77243	return s.String()
77244}
77245
77246// Validate inspects the fields of the type to determine if they are valid.
77247func (s *DescribeStoreImageTasksInput) Validate() error {
77248	invalidParams := request.ErrInvalidParams{Context: "DescribeStoreImageTasksInput"}
77249	if s.MaxResults != nil && *s.MaxResults < 1 {
77250		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
77251	}
77252
77253	if invalidParams.Len() > 0 {
77254		return invalidParams
77255	}
77256	return nil
77257}
77258
77259// SetDryRun sets the DryRun field's value.
77260func (s *DescribeStoreImageTasksInput) SetDryRun(v bool) *DescribeStoreImageTasksInput {
77261	s.DryRun = &v
77262	return s
77263}
77264
77265// SetFilters sets the Filters field's value.
77266func (s *DescribeStoreImageTasksInput) SetFilters(v []*Filter) *DescribeStoreImageTasksInput {
77267	s.Filters = v
77268	return s
77269}
77270
77271// SetImageIds sets the ImageIds field's value.
77272func (s *DescribeStoreImageTasksInput) SetImageIds(v []*string) *DescribeStoreImageTasksInput {
77273	s.ImageIds = v
77274	return s
77275}
77276
77277// SetMaxResults sets the MaxResults field's value.
77278func (s *DescribeStoreImageTasksInput) SetMaxResults(v int64) *DescribeStoreImageTasksInput {
77279	s.MaxResults = &v
77280	return s
77281}
77282
77283// SetNextToken sets the NextToken field's value.
77284func (s *DescribeStoreImageTasksInput) SetNextToken(v string) *DescribeStoreImageTasksInput {
77285	s.NextToken = &v
77286	return s
77287}
77288
77289type DescribeStoreImageTasksOutput struct {
77290	_ struct{} `type:"structure"`
77291
77292	// The token to use to retrieve the next page of results. This value is null
77293	// when there are no more results to return.
77294	NextToken *string `locationName:"nextToken" type:"string"`
77295
77296	// The information about the AMI store tasks.
77297	StoreImageTaskResults []*StoreImageTaskResult `locationName:"storeImageTaskResultSet" locationNameList:"item" type:"list"`
77298}
77299
77300// String returns the string representation
77301func (s DescribeStoreImageTasksOutput) String() string {
77302	return awsutil.Prettify(s)
77303}
77304
77305// GoString returns the string representation
77306func (s DescribeStoreImageTasksOutput) GoString() string {
77307	return s.String()
77308}
77309
77310// SetNextToken sets the NextToken field's value.
77311func (s *DescribeStoreImageTasksOutput) SetNextToken(v string) *DescribeStoreImageTasksOutput {
77312	s.NextToken = &v
77313	return s
77314}
77315
77316// SetStoreImageTaskResults sets the StoreImageTaskResults field's value.
77317func (s *DescribeStoreImageTasksOutput) SetStoreImageTaskResults(v []*StoreImageTaskResult) *DescribeStoreImageTasksOutput {
77318	s.StoreImageTaskResults = v
77319	return s
77320}
77321
77322type DescribeSubnetsInput struct {
77323	_ struct{} `type:"structure"`
77324
77325	// Checks whether you have the required permissions for the action, without
77326	// actually making the request, and provides an error response. If you have
77327	// the required permissions, the error response is DryRunOperation. Otherwise,
77328	// it is UnauthorizedOperation.
77329	DryRun *bool `locationName:"dryRun" type:"boolean"`
77330
77331	// One or more filters.
77332	//
77333	//    * availability-zone - The Availability Zone for the subnet. You can also
77334	//    use availabilityZone as the filter name.
77335	//
77336	//    * availability-zone-id - The ID of the Availability Zone for the subnet.
77337	//    You can also use availabilityZoneId as the filter name.
77338	//
77339	//    * available-ip-address-count - The number of IPv4 addresses in the subnet
77340	//    that are available.
77341	//
77342	//    * cidr-block - The IPv4 CIDR block of the subnet. The CIDR block you specify
77343	//    must exactly match the subnet's CIDR block for information to be returned
77344	//    for the subnet. You can also use cidr or cidrBlock as the filter names.
77345	//
77346	//    * default-for-az - Indicates whether this is the default subnet for the
77347	//    Availability Zone. You can also use defaultForAz as the filter name.
77348	//
77349	//    * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
77350	//    with the subnet.
77351	//
77352	//    * ipv6-cidr-block-association.association-id - An association ID for an
77353	//    IPv6 CIDR block associated with the subnet.
77354	//
77355	//    * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
77356	//    associated with the subnet.
77357	//
77358	//    * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.
77359	//
77360	//    * owner-id - The ID of the Amazon Web Services account that owns the subnet.
77361	//
77362	//    * state - The state of the subnet (pending | available).
77363	//
77364	//    * subnet-arn - The Amazon Resource Name (ARN) of the subnet.
77365	//
77366	//    * subnet-id - The ID of the subnet.
77367	//
77368	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
77369	//    Use the tag key in the filter name and the tag value as the filter value.
77370	//    For example, to find all resources that have a tag with the key Owner
77371	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
77372	//    the filter value.
77373	//
77374	//    * tag-key - The key of a tag assigned to the resource. Use this filter
77375	//    to find all resources assigned a tag with a specific key, regardless of
77376	//    the tag value.
77377	//
77378	//    * vpc-id - The ID of the VPC for the subnet.
77379	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
77380
77381	// The maximum number of results to return with a single call. To retrieve the
77382	// remaining results, make another call with the returned nextToken value.
77383	MaxResults *int64 `min:"5" type:"integer"`
77384
77385	// The token for the next page of results.
77386	NextToken *string `type:"string"`
77387
77388	// One or more subnet IDs.
77389	//
77390	// Default: Describes all your subnets.
77391	SubnetIds []*string `locationName:"SubnetId" locationNameList:"SubnetId" type:"list"`
77392}
77393
77394// String returns the string representation
77395func (s DescribeSubnetsInput) String() string {
77396	return awsutil.Prettify(s)
77397}
77398
77399// GoString returns the string representation
77400func (s DescribeSubnetsInput) GoString() string {
77401	return s.String()
77402}
77403
77404// Validate inspects the fields of the type to determine if they are valid.
77405func (s *DescribeSubnetsInput) Validate() error {
77406	invalidParams := request.ErrInvalidParams{Context: "DescribeSubnetsInput"}
77407	if s.MaxResults != nil && *s.MaxResults < 5 {
77408		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
77409	}
77410
77411	if invalidParams.Len() > 0 {
77412		return invalidParams
77413	}
77414	return nil
77415}
77416
77417// SetDryRun sets the DryRun field's value.
77418func (s *DescribeSubnetsInput) SetDryRun(v bool) *DescribeSubnetsInput {
77419	s.DryRun = &v
77420	return s
77421}
77422
77423// SetFilters sets the Filters field's value.
77424func (s *DescribeSubnetsInput) SetFilters(v []*Filter) *DescribeSubnetsInput {
77425	s.Filters = v
77426	return s
77427}
77428
77429// SetMaxResults sets the MaxResults field's value.
77430func (s *DescribeSubnetsInput) SetMaxResults(v int64) *DescribeSubnetsInput {
77431	s.MaxResults = &v
77432	return s
77433}
77434
77435// SetNextToken sets the NextToken field's value.
77436func (s *DescribeSubnetsInput) SetNextToken(v string) *DescribeSubnetsInput {
77437	s.NextToken = &v
77438	return s
77439}
77440
77441// SetSubnetIds sets the SubnetIds field's value.
77442func (s *DescribeSubnetsInput) SetSubnetIds(v []*string) *DescribeSubnetsInput {
77443	s.SubnetIds = v
77444	return s
77445}
77446
77447type DescribeSubnetsOutput struct {
77448	_ struct{} `type:"structure"`
77449
77450	// The token to use to retrieve the next page of results. This value is null
77451	// when there are no more results to return.
77452	NextToken *string `locationName:"nextToken" type:"string"`
77453
77454	// Information about one or more subnets.
77455	Subnets []*Subnet `locationName:"subnetSet" locationNameList:"item" type:"list"`
77456}
77457
77458// String returns the string representation
77459func (s DescribeSubnetsOutput) String() string {
77460	return awsutil.Prettify(s)
77461}
77462
77463// GoString returns the string representation
77464func (s DescribeSubnetsOutput) GoString() string {
77465	return s.String()
77466}
77467
77468// SetNextToken sets the NextToken field's value.
77469func (s *DescribeSubnetsOutput) SetNextToken(v string) *DescribeSubnetsOutput {
77470	s.NextToken = &v
77471	return s
77472}
77473
77474// SetSubnets sets the Subnets field's value.
77475func (s *DescribeSubnetsOutput) SetSubnets(v []*Subnet) *DescribeSubnetsOutput {
77476	s.Subnets = v
77477	return s
77478}
77479
77480type DescribeTagsInput struct {
77481	_ struct{} `type:"structure"`
77482
77483	// Checks whether you have the required permissions for the action, without
77484	// actually making the request, and provides an error response. If you have
77485	// the required permissions, the error response is DryRunOperation. Otherwise,
77486	// it is UnauthorizedOperation.
77487	DryRun *bool `locationName:"dryRun" type:"boolean"`
77488
77489	// The filters.
77490	//
77491	//    * key - The tag key.
77492	//
77493	//    * resource-id - The ID of the resource.
77494	//
77495	//    * resource-type - The resource type (customer-gateway | dedicated-host
77496	//    | dhcp-options | elastic-ip | fleet | fpga-image | host-reservation |
77497	//    image | instance | internet-gateway | key-pair | launch-template | natgateway
77498	//    | network-acl | network-interface | placement-group | reserved-instances
77499	//    | route-table | security-group | snapshot | spot-instances-request | subnet
77500	//    | volume | vpc | vpc-endpoint | vpc-endpoint-service | vpc-peering-connection
77501	//    | vpn-connection | vpn-gateway).
77502	//
77503	//    * tag:<key> - The key/value combination of the tag. For example, specify
77504	//    "tag:Owner" for the filter name and "TeamA" for the filter value to find
77505	//    resources with the tag "Owner=TeamA".
77506	//
77507	//    * value - The tag value.
77508	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
77509
77510	// The maximum number of results to return in a single call. This value can
77511	// be between 5 and 1000. To retrieve the remaining results, make another call
77512	// with the returned NextToken value.
77513	MaxResults *int64 `locationName:"maxResults" type:"integer"`
77514
77515	// The token to retrieve the next page of results.
77516	NextToken *string `locationName:"nextToken" type:"string"`
77517}
77518
77519// String returns the string representation
77520func (s DescribeTagsInput) String() string {
77521	return awsutil.Prettify(s)
77522}
77523
77524// GoString returns the string representation
77525func (s DescribeTagsInput) GoString() string {
77526	return s.String()
77527}
77528
77529// SetDryRun sets the DryRun field's value.
77530func (s *DescribeTagsInput) SetDryRun(v bool) *DescribeTagsInput {
77531	s.DryRun = &v
77532	return s
77533}
77534
77535// SetFilters sets the Filters field's value.
77536func (s *DescribeTagsInput) SetFilters(v []*Filter) *DescribeTagsInput {
77537	s.Filters = v
77538	return s
77539}
77540
77541// SetMaxResults sets the MaxResults field's value.
77542func (s *DescribeTagsInput) SetMaxResults(v int64) *DescribeTagsInput {
77543	s.MaxResults = &v
77544	return s
77545}
77546
77547// SetNextToken sets the NextToken field's value.
77548func (s *DescribeTagsInput) SetNextToken(v string) *DescribeTagsInput {
77549	s.NextToken = &v
77550	return s
77551}
77552
77553type DescribeTagsOutput struct {
77554	_ struct{} `type:"structure"`
77555
77556	// The token to use to retrieve the next page of results. This value is null
77557	// when there are no more results to return.
77558	NextToken *string `locationName:"nextToken" type:"string"`
77559
77560	// The tags.
77561	Tags []*TagDescription `locationName:"tagSet" locationNameList:"item" type:"list"`
77562}
77563
77564// String returns the string representation
77565func (s DescribeTagsOutput) String() string {
77566	return awsutil.Prettify(s)
77567}
77568
77569// GoString returns the string representation
77570func (s DescribeTagsOutput) GoString() string {
77571	return s.String()
77572}
77573
77574// SetNextToken sets the NextToken field's value.
77575func (s *DescribeTagsOutput) SetNextToken(v string) *DescribeTagsOutput {
77576	s.NextToken = &v
77577	return s
77578}
77579
77580// SetTags sets the Tags field's value.
77581func (s *DescribeTagsOutput) SetTags(v []*TagDescription) *DescribeTagsOutput {
77582	s.Tags = v
77583	return s
77584}
77585
77586type DescribeTrafficMirrorFiltersInput struct {
77587	_ struct{} `type:"structure"`
77588
77589	// Checks whether you have the required permissions for the action, without
77590	// actually making the request, and provides an error response. If you have
77591	// the required permissions, the error response is DryRunOperation. Otherwise,
77592	// it is UnauthorizedOperation.
77593	DryRun *bool `type:"boolean"`
77594
77595	// One or more filters. The possible values are:
77596	//
77597	//    * description: The Traffic Mirror filter description.
77598	//
77599	//    * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.
77600	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
77601
77602	// The maximum number of results to return with a single call. To retrieve the
77603	// remaining results, make another call with the returned nextToken value.
77604	MaxResults *int64 `min:"5" type:"integer"`
77605
77606	// The token for the next page of results.
77607	NextToken *string `type:"string"`
77608
77609	// The ID of the Traffic Mirror filter.
77610	TrafficMirrorFilterIds []*string `locationName:"TrafficMirrorFilterId" locationNameList:"item" type:"list"`
77611}
77612
77613// String returns the string representation
77614func (s DescribeTrafficMirrorFiltersInput) String() string {
77615	return awsutil.Prettify(s)
77616}
77617
77618// GoString returns the string representation
77619func (s DescribeTrafficMirrorFiltersInput) GoString() string {
77620	return s.String()
77621}
77622
77623// Validate inspects the fields of the type to determine if they are valid.
77624func (s *DescribeTrafficMirrorFiltersInput) Validate() error {
77625	invalidParams := request.ErrInvalidParams{Context: "DescribeTrafficMirrorFiltersInput"}
77626	if s.MaxResults != nil && *s.MaxResults < 5 {
77627		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
77628	}
77629
77630	if invalidParams.Len() > 0 {
77631		return invalidParams
77632	}
77633	return nil
77634}
77635
77636// SetDryRun sets the DryRun field's value.
77637func (s *DescribeTrafficMirrorFiltersInput) SetDryRun(v bool) *DescribeTrafficMirrorFiltersInput {
77638	s.DryRun = &v
77639	return s
77640}
77641
77642// SetFilters sets the Filters field's value.
77643func (s *DescribeTrafficMirrorFiltersInput) SetFilters(v []*Filter) *DescribeTrafficMirrorFiltersInput {
77644	s.Filters = v
77645	return s
77646}
77647
77648// SetMaxResults sets the MaxResults field's value.
77649func (s *DescribeTrafficMirrorFiltersInput) SetMaxResults(v int64) *DescribeTrafficMirrorFiltersInput {
77650	s.MaxResults = &v
77651	return s
77652}
77653
77654// SetNextToken sets the NextToken field's value.
77655func (s *DescribeTrafficMirrorFiltersInput) SetNextToken(v string) *DescribeTrafficMirrorFiltersInput {
77656	s.NextToken = &v
77657	return s
77658}
77659
77660// SetTrafficMirrorFilterIds sets the TrafficMirrorFilterIds field's value.
77661func (s *DescribeTrafficMirrorFiltersInput) SetTrafficMirrorFilterIds(v []*string) *DescribeTrafficMirrorFiltersInput {
77662	s.TrafficMirrorFilterIds = v
77663	return s
77664}
77665
77666type DescribeTrafficMirrorFiltersOutput struct {
77667	_ struct{} `type:"structure"`
77668
77669	// The token to use to retrieve the next page of results. The value is null
77670	// when there are no more results to return.
77671	NextToken *string `locationName:"nextToken" type:"string"`
77672
77673	// Information about one or more Traffic Mirror filters.
77674	TrafficMirrorFilters []*TrafficMirrorFilter `locationName:"trafficMirrorFilterSet" locationNameList:"item" type:"list"`
77675}
77676
77677// String returns the string representation
77678func (s DescribeTrafficMirrorFiltersOutput) String() string {
77679	return awsutil.Prettify(s)
77680}
77681
77682// GoString returns the string representation
77683func (s DescribeTrafficMirrorFiltersOutput) GoString() string {
77684	return s.String()
77685}
77686
77687// SetNextToken sets the NextToken field's value.
77688func (s *DescribeTrafficMirrorFiltersOutput) SetNextToken(v string) *DescribeTrafficMirrorFiltersOutput {
77689	s.NextToken = &v
77690	return s
77691}
77692
77693// SetTrafficMirrorFilters sets the TrafficMirrorFilters field's value.
77694func (s *DescribeTrafficMirrorFiltersOutput) SetTrafficMirrorFilters(v []*TrafficMirrorFilter) *DescribeTrafficMirrorFiltersOutput {
77695	s.TrafficMirrorFilters = v
77696	return s
77697}
77698
77699type DescribeTrafficMirrorSessionsInput struct {
77700	_ struct{} `type:"structure"`
77701
77702	// Checks whether you have the required permissions for the action, without
77703	// actually making the request, and provides an error response. If you have
77704	// the required permissions, the error response is DryRunOperation. Otherwise,
77705	// it is UnauthorizedOperation.
77706	DryRun *bool `type:"boolean"`
77707
77708	// One or more filters. The possible values are:
77709	//
77710	//    * description: The Traffic Mirror session description.
77711	//
77712	//    * network-interface-id: The ID of the Traffic Mirror session network interface.
77713	//
77714	//    * owner-id: The ID of the account that owns the Traffic Mirror session.
77715	//
77716	//    * packet-length: The assigned number of packets to mirror.
77717	//
77718	//    * session-number: The assigned session number.
77719	//
77720	//    * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.
77721	//
77722	//    * traffic-mirror-session-id: The ID of the Traffic Mirror session.
77723	//
77724	//    * traffic-mirror-target-id: The ID of the Traffic Mirror target.
77725	//
77726	//    * virtual-network-id: The virtual network ID of the Traffic Mirror session.
77727	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
77728
77729	// The maximum number of results to return with a single call. To retrieve the
77730	// remaining results, make another call with the returned nextToken value.
77731	MaxResults *int64 `min:"5" type:"integer"`
77732
77733	// The token for the next page of results.
77734	NextToken *string `type:"string"`
77735
77736	// The ID of the Traffic Mirror session.
77737	TrafficMirrorSessionIds []*string `locationName:"TrafficMirrorSessionId" locationNameList:"item" type:"list"`
77738}
77739
77740// String returns the string representation
77741func (s DescribeTrafficMirrorSessionsInput) String() string {
77742	return awsutil.Prettify(s)
77743}
77744
77745// GoString returns the string representation
77746func (s DescribeTrafficMirrorSessionsInput) GoString() string {
77747	return s.String()
77748}
77749
77750// Validate inspects the fields of the type to determine if they are valid.
77751func (s *DescribeTrafficMirrorSessionsInput) Validate() error {
77752	invalidParams := request.ErrInvalidParams{Context: "DescribeTrafficMirrorSessionsInput"}
77753	if s.MaxResults != nil && *s.MaxResults < 5 {
77754		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
77755	}
77756
77757	if invalidParams.Len() > 0 {
77758		return invalidParams
77759	}
77760	return nil
77761}
77762
77763// SetDryRun sets the DryRun field's value.
77764func (s *DescribeTrafficMirrorSessionsInput) SetDryRun(v bool) *DescribeTrafficMirrorSessionsInput {
77765	s.DryRun = &v
77766	return s
77767}
77768
77769// SetFilters sets the Filters field's value.
77770func (s *DescribeTrafficMirrorSessionsInput) SetFilters(v []*Filter) *DescribeTrafficMirrorSessionsInput {
77771	s.Filters = v
77772	return s
77773}
77774
77775// SetMaxResults sets the MaxResults field's value.
77776func (s *DescribeTrafficMirrorSessionsInput) SetMaxResults(v int64) *DescribeTrafficMirrorSessionsInput {
77777	s.MaxResults = &v
77778	return s
77779}
77780
77781// SetNextToken sets the NextToken field's value.
77782func (s *DescribeTrafficMirrorSessionsInput) SetNextToken(v string) *DescribeTrafficMirrorSessionsInput {
77783	s.NextToken = &v
77784	return s
77785}
77786
77787// SetTrafficMirrorSessionIds sets the TrafficMirrorSessionIds field's value.
77788func (s *DescribeTrafficMirrorSessionsInput) SetTrafficMirrorSessionIds(v []*string) *DescribeTrafficMirrorSessionsInput {
77789	s.TrafficMirrorSessionIds = v
77790	return s
77791}
77792
77793type DescribeTrafficMirrorSessionsOutput struct {
77794	_ struct{} `type:"structure"`
77795
77796	// The token to use to retrieve the next page of results. The value is null
77797	// when there are no more results to return.
77798	NextToken *string `locationName:"nextToken" type:"string"`
77799
77800	// Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror
77801	// sessions are described. Alternatively, you can filter the results.
77802	TrafficMirrorSessions []*TrafficMirrorSession `locationName:"trafficMirrorSessionSet" locationNameList:"item" type:"list"`
77803}
77804
77805// String returns the string representation
77806func (s DescribeTrafficMirrorSessionsOutput) String() string {
77807	return awsutil.Prettify(s)
77808}
77809
77810// GoString returns the string representation
77811func (s DescribeTrafficMirrorSessionsOutput) GoString() string {
77812	return s.String()
77813}
77814
77815// SetNextToken sets the NextToken field's value.
77816func (s *DescribeTrafficMirrorSessionsOutput) SetNextToken(v string) *DescribeTrafficMirrorSessionsOutput {
77817	s.NextToken = &v
77818	return s
77819}
77820
77821// SetTrafficMirrorSessions sets the TrafficMirrorSessions field's value.
77822func (s *DescribeTrafficMirrorSessionsOutput) SetTrafficMirrorSessions(v []*TrafficMirrorSession) *DescribeTrafficMirrorSessionsOutput {
77823	s.TrafficMirrorSessions = v
77824	return s
77825}
77826
77827type DescribeTrafficMirrorTargetsInput struct {
77828	_ struct{} `type:"structure"`
77829
77830	// Checks whether you have the required permissions for the action, without
77831	// actually making the request, and provides an error response. If you have
77832	// the required permissions, the error response is DryRunOperation. Otherwise,
77833	// it is UnauthorizedOperation.
77834	DryRun *bool `type:"boolean"`
77835
77836	// One or more filters. The possible values are:
77837	//
77838	//    * description: The Traffic Mirror target description.
77839	//
77840	//    * network-interface-id: The ID of the Traffic Mirror session network interface.
77841	//
77842	//    * network-load-balancer-arn: The Amazon Resource Name (ARN) of the Network
77843	//    Load Balancer that is associated with the session.
77844	//
77845	//    * owner-id: The ID of the account that owns the Traffic Mirror session.
77846	//
77847	//    * traffic-mirror-target-id: The ID of the Traffic Mirror target.
77848	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
77849
77850	// The maximum number of results to return with a single call. To retrieve the
77851	// remaining results, make another call with the returned nextToken value.
77852	MaxResults *int64 `min:"5" type:"integer"`
77853
77854	// The token for the next page of results.
77855	NextToken *string `type:"string"`
77856
77857	// The ID of the Traffic Mirror targets.
77858	TrafficMirrorTargetIds []*string `locationName:"TrafficMirrorTargetId" locationNameList:"item" type:"list"`
77859}
77860
77861// String returns the string representation
77862func (s DescribeTrafficMirrorTargetsInput) String() string {
77863	return awsutil.Prettify(s)
77864}
77865
77866// GoString returns the string representation
77867func (s DescribeTrafficMirrorTargetsInput) GoString() string {
77868	return s.String()
77869}
77870
77871// Validate inspects the fields of the type to determine if they are valid.
77872func (s *DescribeTrafficMirrorTargetsInput) Validate() error {
77873	invalidParams := request.ErrInvalidParams{Context: "DescribeTrafficMirrorTargetsInput"}
77874	if s.MaxResults != nil && *s.MaxResults < 5 {
77875		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
77876	}
77877
77878	if invalidParams.Len() > 0 {
77879		return invalidParams
77880	}
77881	return nil
77882}
77883
77884// SetDryRun sets the DryRun field's value.
77885func (s *DescribeTrafficMirrorTargetsInput) SetDryRun(v bool) *DescribeTrafficMirrorTargetsInput {
77886	s.DryRun = &v
77887	return s
77888}
77889
77890// SetFilters sets the Filters field's value.
77891func (s *DescribeTrafficMirrorTargetsInput) SetFilters(v []*Filter) *DescribeTrafficMirrorTargetsInput {
77892	s.Filters = v
77893	return s
77894}
77895
77896// SetMaxResults sets the MaxResults field's value.
77897func (s *DescribeTrafficMirrorTargetsInput) SetMaxResults(v int64) *DescribeTrafficMirrorTargetsInput {
77898	s.MaxResults = &v
77899	return s
77900}
77901
77902// SetNextToken sets the NextToken field's value.
77903func (s *DescribeTrafficMirrorTargetsInput) SetNextToken(v string) *DescribeTrafficMirrorTargetsInput {
77904	s.NextToken = &v
77905	return s
77906}
77907
77908// SetTrafficMirrorTargetIds sets the TrafficMirrorTargetIds field's value.
77909func (s *DescribeTrafficMirrorTargetsInput) SetTrafficMirrorTargetIds(v []*string) *DescribeTrafficMirrorTargetsInput {
77910	s.TrafficMirrorTargetIds = v
77911	return s
77912}
77913
77914type DescribeTrafficMirrorTargetsOutput struct {
77915	_ struct{} `type:"structure"`
77916
77917	// The token to use to retrieve the next page of results. The value is null
77918	// when there are no more results to return.
77919	NextToken *string `locationName:"nextToken" type:"string"`
77920
77921	// Information about one or more Traffic Mirror targets.
77922	TrafficMirrorTargets []*TrafficMirrorTarget `locationName:"trafficMirrorTargetSet" locationNameList:"item" type:"list"`
77923}
77924
77925// String returns the string representation
77926func (s DescribeTrafficMirrorTargetsOutput) String() string {
77927	return awsutil.Prettify(s)
77928}
77929
77930// GoString returns the string representation
77931func (s DescribeTrafficMirrorTargetsOutput) GoString() string {
77932	return s.String()
77933}
77934
77935// SetNextToken sets the NextToken field's value.
77936func (s *DescribeTrafficMirrorTargetsOutput) SetNextToken(v string) *DescribeTrafficMirrorTargetsOutput {
77937	s.NextToken = &v
77938	return s
77939}
77940
77941// SetTrafficMirrorTargets sets the TrafficMirrorTargets field's value.
77942func (s *DescribeTrafficMirrorTargetsOutput) SetTrafficMirrorTargets(v []*TrafficMirrorTarget) *DescribeTrafficMirrorTargetsOutput {
77943	s.TrafficMirrorTargets = v
77944	return s
77945}
77946
77947type DescribeTransitGatewayAttachmentsInput struct {
77948	_ struct{} `type:"structure"`
77949
77950	// Checks whether you have the required permissions for the action, without
77951	// actually making the request, and provides an error response. If you have
77952	// the required permissions, the error response is DryRunOperation. Otherwise,
77953	// it is UnauthorizedOperation.
77954	DryRun *bool `type:"boolean"`
77955
77956	// One or more filters. The possible values are:
77957	//
77958	//    * association.state - The state of the association (associating | associated
77959	//    | disassociating).
77960	//
77961	//    * association.transit-gateway-route-table-id - The ID of the route table
77962	//    for the transit gateway.
77963	//
77964	//    * resource-id - The ID of the resource.
77965	//
77966	//    * resource-owner-id - The ID of the Amazon Web Services account that owns
77967	//    the resource.
77968	//
77969	//    * resource-type - The resource type. Valid values are vpc | vpn | direct-connect-gateway
77970	//    | peering | connect.
77971	//
77972	//    * state - The state of the attachment. Valid values are available | deleted
77973	//    | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance
77974	//    | pending | rollingBack | rejected | rejecting.
77975	//
77976	//    * transit-gateway-attachment-id - The ID of the attachment.
77977	//
77978	//    * transit-gateway-id - The ID of the transit gateway.
77979	//
77980	//    * transit-gateway-owner-id - The ID of the Amazon Web Services account
77981	//    that owns the transit gateway.
77982	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
77983
77984	// The maximum number of results to return with a single call. To retrieve the
77985	// remaining results, make another call with the returned nextToken value.
77986	MaxResults *int64 `min:"5" type:"integer"`
77987
77988	// The token for the next page of results.
77989	NextToken *string `type:"string"`
77990
77991	// The IDs of the attachments.
77992	TransitGatewayAttachmentIds []*string `type:"list"`
77993}
77994
77995// String returns the string representation
77996func (s DescribeTransitGatewayAttachmentsInput) String() string {
77997	return awsutil.Prettify(s)
77998}
77999
78000// GoString returns the string representation
78001func (s DescribeTransitGatewayAttachmentsInput) GoString() string {
78002	return s.String()
78003}
78004
78005// Validate inspects the fields of the type to determine if they are valid.
78006func (s *DescribeTransitGatewayAttachmentsInput) Validate() error {
78007	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayAttachmentsInput"}
78008	if s.MaxResults != nil && *s.MaxResults < 5 {
78009		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
78010	}
78011
78012	if invalidParams.Len() > 0 {
78013		return invalidParams
78014	}
78015	return nil
78016}
78017
78018// SetDryRun sets the DryRun field's value.
78019func (s *DescribeTransitGatewayAttachmentsInput) SetDryRun(v bool) *DescribeTransitGatewayAttachmentsInput {
78020	s.DryRun = &v
78021	return s
78022}
78023
78024// SetFilters sets the Filters field's value.
78025func (s *DescribeTransitGatewayAttachmentsInput) SetFilters(v []*Filter) *DescribeTransitGatewayAttachmentsInput {
78026	s.Filters = v
78027	return s
78028}
78029
78030// SetMaxResults sets the MaxResults field's value.
78031func (s *DescribeTransitGatewayAttachmentsInput) SetMaxResults(v int64) *DescribeTransitGatewayAttachmentsInput {
78032	s.MaxResults = &v
78033	return s
78034}
78035
78036// SetNextToken sets the NextToken field's value.
78037func (s *DescribeTransitGatewayAttachmentsInput) SetNextToken(v string) *DescribeTransitGatewayAttachmentsInput {
78038	s.NextToken = &v
78039	return s
78040}
78041
78042// SetTransitGatewayAttachmentIds sets the TransitGatewayAttachmentIds field's value.
78043func (s *DescribeTransitGatewayAttachmentsInput) SetTransitGatewayAttachmentIds(v []*string) *DescribeTransitGatewayAttachmentsInput {
78044	s.TransitGatewayAttachmentIds = v
78045	return s
78046}
78047
78048type DescribeTransitGatewayAttachmentsOutput struct {
78049	_ struct{} `type:"structure"`
78050
78051	// The token to use to retrieve the next page of results. This value is null
78052	// when there are no more results to return.
78053	NextToken *string `locationName:"nextToken" type:"string"`
78054
78055	// Information about the attachments.
78056	TransitGatewayAttachments []*TransitGatewayAttachment `locationName:"transitGatewayAttachments" locationNameList:"item" type:"list"`
78057}
78058
78059// String returns the string representation
78060func (s DescribeTransitGatewayAttachmentsOutput) String() string {
78061	return awsutil.Prettify(s)
78062}
78063
78064// GoString returns the string representation
78065func (s DescribeTransitGatewayAttachmentsOutput) GoString() string {
78066	return s.String()
78067}
78068
78069// SetNextToken sets the NextToken field's value.
78070func (s *DescribeTransitGatewayAttachmentsOutput) SetNextToken(v string) *DescribeTransitGatewayAttachmentsOutput {
78071	s.NextToken = &v
78072	return s
78073}
78074
78075// SetTransitGatewayAttachments sets the TransitGatewayAttachments field's value.
78076func (s *DescribeTransitGatewayAttachmentsOutput) SetTransitGatewayAttachments(v []*TransitGatewayAttachment) *DescribeTransitGatewayAttachmentsOutput {
78077	s.TransitGatewayAttachments = v
78078	return s
78079}
78080
78081type DescribeTransitGatewayConnectPeersInput struct {
78082	_ struct{} `type:"structure"`
78083
78084	// Checks whether you have the required permissions for the action, without
78085	// actually making the request, and provides an error response. If you have
78086	// the required permissions, the error response is DryRunOperation. Otherwise,
78087	// it is UnauthorizedOperation.
78088	DryRun *bool `type:"boolean"`
78089
78090	// One or more filters. The possible values are:
78091	//
78092	//    * state - The state of the Connect peer (pending | available | deleting
78093	//    | deleted).
78094	//
78095	//    * transit-gateway-attachment-id - The ID of the attachment.
78096	//
78097	//    * transit-gateway-connect-peer-id - The ID of the Connect peer.
78098	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
78099
78100	// The maximum number of results to return with a single call. To retrieve the
78101	// remaining results, make another call with the returned nextToken value.
78102	MaxResults *int64 `min:"5" type:"integer"`
78103
78104	// The token for the next page of results.
78105	NextToken *string `type:"string"`
78106
78107	// The IDs of the Connect peers.
78108	TransitGatewayConnectPeerIds []*string `locationNameList:"item" type:"list"`
78109}
78110
78111// String returns the string representation
78112func (s DescribeTransitGatewayConnectPeersInput) String() string {
78113	return awsutil.Prettify(s)
78114}
78115
78116// GoString returns the string representation
78117func (s DescribeTransitGatewayConnectPeersInput) GoString() string {
78118	return s.String()
78119}
78120
78121// Validate inspects the fields of the type to determine if they are valid.
78122func (s *DescribeTransitGatewayConnectPeersInput) Validate() error {
78123	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayConnectPeersInput"}
78124	if s.MaxResults != nil && *s.MaxResults < 5 {
78125		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
78126	}
78127
78128	if invalidParams.Len() > 0 {
78129		return invalidParams
78130	}
78131	return nil
78132}
78133
78134// SetDryRun sets the DryRun field's value.
78135func (s *DescribeTransitGatewayConnectPeersInput) SetDryRun(v bool) *DescribeTransitGatewayConnectPeersInput {
78136	s.DryRun = &v
78137	return s
78138}
78139
78140// SetFilters sets the Filters field's value.
78141func (s *DescribeTransitGatewayConnectPeersInput) SetFilters(v []*Filter) *DescribeTransitGatewayConnectPeersInput {
78142	s.Filters = v
78143	return s
78144}
78145
78146// SetMaxResults sets the MaxResults field's value.
78147func (s *DescribeTransitGatewayConnectPeersInput) SetMaxResults(v int64) *DescribeTransitGatewayConnectPeersInput {
78148	s.MaxResults = &v
78149	return s
78150}
78151
78152// SetNextToken sets the NextToken field's value.
78153func (s *DescribeTransitGatewayConnectPeersInput) SetNextToken(v string) *DescribeTransitGatewayConnectPeersInput {
78154	s.NextToken = &v
78155	return s
78156}
78157
78158// SetTransitGatewayConnectPeerIds sets the TransitGatewayConnectPeerIds field's value.
78159func (s *DescribeTransitGatewayConnectPeersInput) SetTransitGatewayConnectPeerIds(v []*string) *DescribeTransitGatewayConnectPeersInput {
78160	s.TransitGatewayConnectPeerIds = v
78161	return s
78162}
78163
78164type DescribeTransitGatewayConnectPeersOutput struct {
78165	_ struct{} `type:"structure"`
78166
78167	// The token to use to retrieve the next page of results. This value is null
78168	// when there are no more results to return.
78169	NextToken *string `locationName:"nextToken" type:"string"`
78170
78171	// Information about the Connect peers.
78172	TransitGatewayConnectPeers []*TransitGatewayConnectPeer `locationName:"transitGatewayConnectPeerSet" locationNameList:"item" type:"list"`
78173}
78174
78175// String returns the string representation
78176func (s DescribeTransitGatewayConnectPeersOutput) String() string {
78177	return awsutil.Prettify(s)
78178}
78179
78180// GoString returns the string representation
78181func (s DescribeTransitGatewayConnectPeersOutput) GoString() string {
78182	return s.String()
78183}
78184
78185// SetNextToken sets the NextToken field's value.
78186func (s *DescribeTransitGatewayConnectPeersOutput) SetNextToken(v string) *DescribeTransitGatewayConnectPeersOutput {
78187	s.NextToken = &v
78188	return s
78189}
78190
78191// SetTransitGatewayConnectPeers sets the TransitGatewayConnectPeers field's value.
78192func (s *DescribeTransitGatewayConnectPeersOutput) SetTransitGatewayConnectPeers(v []*TransitGatewayConnectPeer) *DescribeTransitGatewayConnectPeersOutput {
78193	s.TransitGatewayConnectPeers = v
78194	return s
78195}
78196
78197type DescribeTransitGatewayConnectsInput struct {
78198	_ struct{} `type:"structure"`
78199
78200	// Checks whether you have the required permissions for the action, without
78201	// actually making the request, and provides an error response. If you have
78202	// the required permissions, the error response is DryRunOperation. Otherwise,
78203	// it is UnauthorizedOperation.
78204	DryRun *bool `type:"boolean"`
78205
78206	// One or more filters. The possible values are:
78207	//
78208	//    * options.protocol - The tunnel protocol (gre).
78209	//
78210	//    * state - The state of the attachment (initiating | initiatingRequest
78211	//    | pendingAcceptance | rollingBack | pending | available | modifying |
78212	//    deleting | deleted | failed | rejected | rejecting | failing).
78213	//
78214	//    * transit-gateway-attachment-id - The ID of the Connect attachment.
78215	//
78216	//    * transit-gateway-id - The ID of the transit gateway.
78217	//
78218	//    * transport-transit-gateway-attachment-id - The ID of the transit gateway
78219	//    attachment from which the Connect attachment was created.
78220	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
78221
78222	// The maximum number of results to return with a single call. To retrieve the
78223	// remaining results, make another call with the returned nextToken value.
78224	MaxResults *int64 `min:"5" type:"integer"`
78225
78226	// The token for the next page of results.
78227	NextToken *string `type:"string"`
78228
78229	// The IDs of the attachments.
78230	TransitGatewayAttachmentIds []*string `type:"list"`
78231}
78232
78233// String returns the string representation
78234func (s DescribeTransitGatewayConnectsInput) String() string {
78235	return awsutil.Prettify(s)
78236}
78237
78238// GoString returns the string representation
78239func (s DescribeTransitGatewayConnectsInput) GoString() string {
78240	return s.String()
78241}
78242
78243// Validate inspects the fields of the type to determine if they are valid.
78244func (s *DescribeTransitGatewayConnectsInput) Validate() error {
78245	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayConnectsInput"}
78246	if s.MaxResults != nil && *s.MaxResults < 5 {
78247		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
78248	}
78249
78250	if invalidParams.Len() > 0 {
78251		return invalidParams
78252	}
78253	return nil
78254}
78255
78256// SetDryRun sets the DryRun field's value.
78257func (s *DescribeTransitGatewayConnectsInput) SetDryRun(v bool) *DescribeTransitGatewayConnectsInput {
78258	s.DryRun = &v
78259	return s
78260}
78261
78262// SetFilters sets the Filters field's value.
78263func (s *DescribeTransitGatewayConnectsInput) SetFilters(v []*Filter) *DescribeTransitGatewayConnectsInput {
78264	s.Filters = v
78265	return s
78266}
78267
78268// SetMaxResults sets the MaxResults field's value.
78269func (s *DescribeTransitGatewayConnectsInput) SetMaxResults(v int64) *DescribeTransitGatewayConnectsInput {
78270	s.MaxResults = &v
78271	return s
78272}
78273
78274// SetNextToken sets the NextToken field's value.
78275func (s *DescribeTransitGatewayConnectsInput) SetNextToken(v string) *DescribeTransitGatewayConnectsInput {
78276	s.NextToken = &v
78277	return s
78278}
78279
78280// SetTransitGatewayAttachmentIds sets the TransitGatewayAttachmentIds field's value.
78281func (s *DescribeTransitGatewayConnectsInput) SetTransitGatewayAttachmentIds(v []*string) *DescribeTransitGatewayConnectsInput {
78282	s.TransitGatewayAttachmentIds = v
78283	return s
78284}
78285
78286type DescribeTransitGatewayConnectsOutput struct {
78287	_ struct{} `type:"structure"`
78288
78289	// The token to use to retrieve the next page of results. This value is null
78290	// when there are no more results to return.
78291	NextToken *string `locationName:"nextToken" type:"string"`
78292
78293	// Information about the Connect attachments.
78294	TransitGatewayConnects []*TransitGatewayConnect `locationName:"transitGatewayConnectSet" locationNameList:"item" type:"list"`
78295}
78296
78297// String returns the string representation
78298func (s DescribeTransitGatewayConnectsOutput) String() string {
78299	return awsutil.Prettify(s)
78300}
78301
78302// GoString returns the string representation
78303func (s DescribeTransitGatewayConnectsOutput) GoString() string {
78304	return s.String()
78305}
78306
78307// SetNextToken sets the NextToken field's value.
78308func (s *DescribeTransitGatewayConnectsOutput) SetNextToken(v string) *DescribeTransitGatewayConnectsOutput {
78309	s.NextToken = &v
78310	return s
78311}
78312
78313// SetTransitGatewayConnects sets the TransitGatewayConnects field's value.
78314func (s *DescribeTransitGatewayConnectsOutput) SetTransitGatewayConnects(v []*TransitGatewayConnect) *DescribeTransitGatewayConnectsOutput {
78315	s.TransitGatewayConnects = v
78316	return s
78317}
78318
78319type DescribeTransitGatewayMulticastDomainsInput struct {
78320	_ struct{} `type:"structure"`
78321
78322	// Checks whether you have the required permissions for the action, without
78323	// actually making the request, and provides an error response. If you have
78324	// the required permissions, the error response is DryRunOperation. Otherwise,
78325	// it is UnauthorizedOperation.
78326	DryRun *bool `type:"boolean"`
78327
78328	// One or more filters. The possible values are:
78329	//
78330	//    * state - The state of the transit gateway multicast domain. Valid values
78331	//    are pending | available | deleting | deleted.
78332	//
78333	//    * transit-gateway-id - The ID of the transit gateway.
78334	//
78335	//    * transit-gateway-multicast-domain-id - The ID of the transit gateway
78336	//    multicast domain.
78337	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
78338
78339	// The maximum number of results to return with a single call. To retrieve the
78340	// remaining results, make another call with the returned nextToken value.
78341	MaxResults *int64 `min:"5" type:"integer"`
78342
78343	// The token for the next page of results.
78344	NextToken *string `type:"string"`
78345
78346	// The ID of the transit gateway multicast domain.
78347	TransitGatewayMulticastDomainIds []*string `locationNameList:"item" type:"list"`
78348}
78349
78350// String returns the string representation
78351func (s DescribeTransitGatewayMulticastDomainsInput) String() string {
78352	return awsutil.Prettify(s)
78353}
78354
78355// GoString returns the string representation
78356func (s DescribeTransitGatewayMulticastDomainsInput) GoString() string {
78357	return s.String()
78358}
78359
78360// Validate inspects the fields of the type to determine if they are valid.
78361func (s *DescribeTransitGatewayMulticastDomainsInput) Validate() error {
78362	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayMulticastDomainsInput"}
78363	if s.MaxResults != nil && *s.MaxResults < 5 {
78364		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
78365	}
78366
78367	if invalidParams.Len() > 0 {
78368		return invalidParams
78369	}
78370	return nil
78371}
78372
78373// SetDryRun sets the DryRun field's value.
78374func (s *DescribeTransitGatewayMulticastDomainsInput) SetDryRun(v bool) *DescribeTransitGatewayMulticastDomainsInput {
78375	s.DryRun = &v
78376	return s
78377}
78378
78379// SetFilters sets the Filters field's value.
78380func (s *DescribeTransitGatewayMulticastDomainsInput) SetFilters(v []*Filter) *DescribeTransitGatewayMulticastDomainsInput {
78381	s.Filters = v
78382	return s
78383}
78384
78385// SetMaxResults sets the MaxResults field's value.
78386func (s *DescribeTransitGatewayMulticastDomainsInput) SetMaxResults(v int64) *DescribeTransitGatewayMulticastDomainsInput {
78387	s.MaxResults = &v
78388	return s
78389}
78390
78391// SetNextToken sets the NextToken field's value.
78392func (s *DescribeTransitGatewayMulticastDomainsInput) SetNextToken(v string) *DescribeTransitGatewayMulticastDomainsInput {
78393	s.NextToken = &v
78394	return s
78395}
78396
78397// SetTransitGatewayMulticastDomainIds sets the TransitGatewayMulticastDomainIds field's value.
78398func (s *DescribeTransitGatewayMulticastDomainsInput) SetTransitGatewayMulticastDomainIds(v []*string) *DescribeTransitGatewayMulticastDomainsInput {
78399	s.TransitGatewayMulticastDomainIds = v
78400	return s
78401}
78402
78403type DescribeTransitGatewayMulticastDomainsOutput struct {
78404	_ struct{} `type:"structure"`
78405
78406	// The token to use to retrieve the next page of results. This value is null
78407	// when there are no more results to return.
78408	NextToken *string `locationName:"nextToken" type:"string"`
78409
78410	// Information about the transit gateway multicast domains.
78411	TransitGatewayMulticastDomains []*TransitGatewayMulticastDomain `locationName:"transitGatewayMulticastDomains" locationNameList:"item" type:"list"`
78412}
78413
78414// String returns the string representation
78415func (s DescribeTransitGatewayMulticastDomainsOutput) String() string {
78416	return awsutil.Prettify(s)
78417}
78418
78419// GoString returns the string representation
78420func (s DescribeTransitGatewayMulticastDomainsOutput) GoString() string {
78421	return s.String()
78422}
78423
78424// SetNextToken sets the NextToken field's value.
78425func (s *DescribeTransitGatewayMulticastDomainsOutput) SetNextToken(v string) *DescribeTransitGatewayMulticastDomainsOutput {
78426	s.NextToken = &v
78427	return s
78428}
78429
78430// SetTransitGatewayMulticastDomains sets the TransitGatewayMulticastDomains field's value.
78431func (s *DescribeTransitGatewayMulticastDomainsOutput) SetTransitGatewayMulticastDomains(v []*TransitGatewayMulticastDomain) *DescribeTransitGatewayMulticastDomainsOutput {
78432	s.TransitGatewayMulticastDomains = v
78433	return s
78434}
78435
78436type DescribeTransitGatewayPeeringAttachmentsInput struct {
78437	_ struct{} `type:"structure"`
78438
78439	// Checks whether you have the required permissions for the action, without
78440	// actually making the request, and provides an error response. If you have
78441	// the required permissions, the error response is DryRunOperation. Otherwise,
78442	// it is UnauthorizedOperation.
78443	DryRun *bool `type:"boolean"`
78444
78445	// One or more filters. The possible values are:
78446	//
78447	//    * transit-gateway-attachment-id - The ID of the transit gateway attachment.
78448	//
78449	//    * local-owner-id - The ID of your Amazon Web Services account.
78450	//
78451	//    * remote-owner-id - The ID of the Amazon Web Services account in the remote
78452	//    Region that owns the transit gateway.
78453	//
78454	//    * state - The state of the peering attachment. Valid values are available
78455	//    | deleted | deleting | failed | failing | initiatingRequest | modifying
78456	//    | pendingAcceptance | pending | rollingBack | rejected | rejecting).
78457	//
78458	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
78459	//    Use the tag key in the filter name and the tag value as the filter value.
78460	//    For example, to find all resources that have a tag with the key Owner
78461	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
78462	//    the filter value.
78463	//
78464	//    * tag-key - The key of a tag assigned to the resource. Use this filter
78465	//    to find all resources that have a tag with a specific key, regardless
78466	//    of the tag value.
78467	//
78468	//    * transit-gateway-id - The ID of the transit gateway.
78469	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
78470
78471	// The maximum number of results to return with a single call. To retrieve the
78472	// remaining results, make another call with the returned nextToken value.
78473	MaxResults *int64 `min:"5" type:"integer"`
78474
78475	// The token for the next page of results.
78476	NextToken *string `type:"string"`
78477
78478	// One or more IDs of the transit gateway peering attachments.
78479	TransitGatewayAttachmentIds []*string `type:"list"`
78480}
78481
78482// String returns the string representation
78483func (s DescribeTransitGatewayPeeringAttachmentsInput) String() string {
78484	return awsutil.Prettify(s)
78485}
78486
78487// GoString returns the string representation
78488func (s DescribeTransitGatewayPeeringAttachmentsInput) GoString() string {
78489	return s.String()
78490}
78491
78492// Validate inspects the fields of the type to determine if they are valid.
78493func (s *DescribeTransitGatewayPeeringAttachmentsInput) Validate() error {
78494	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayPeeringAttachmentsInput"}
78495	if s.MaxResults != nil && *s.MaxResults < 5 {
78496		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
78497	}
78498
78499	if invalidParams.Len() > 0 {
78500		return invalidParams
78501	}
78502	return nil
78503}
78504
78505// SetDryRun sets the DryRun field's value.
78506func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetDryRun(v bool) *DescribeTransitGatewayPeeringAttachmentsInput {
78507	s.DryRun = &v
78508	return s
78509}
78510
78511// SetFilters sets the Filters field's value.
78512func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetFilters(v []*Filter) *DescribeTransitGatewayPeeringAttachmentsInput {
78513	s.Filters = v
78514	return s
78515}
78516
78517// SetMaxResults sets the MaxResults field's value.
78518func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetMaxResults(v int64) *DescribeTransitGatewayPeeringAttachmentsInput {
78519	s.MaxResults = &v
78520	return s
78521}
78522
78523// SetNextToken sets the NextToken field's value.
78524func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetNextToken(v string) *DescribeTransitGatewayPeeringAttachmentsInput {
78525	s.NextToken = &v
78526	return s
78527}
78528
78529// SetTransitGatewayAttachmentIds sets the TransitGatewayAttachmentIds field's value.
78530func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetTransitGatewayAttachmentIds(v []*string) *DescribeTransitGatewayPeeringAttachmentsInput {
78531	s.TransitGatewayAttachmentIds = v
78532	return s
78533}
78534
78535type DescribeTransitGatewayPeeringAttachmentsOutput struct {
78536	_ struct{} `type:"structure"`
78537
78538	// The token to use to retrieve the next page of results. This value is null
78539	// when there are no more results to return.
78540	NextToken *string `locationName:"nextToken" type:"string"`
78541
78542	// The transit gateway peering attachments.
78543	TransitGatewayPeeringAttachments []*TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachments" locationNameList:"item" type:"list"`
78544}
78545
78546// String returns the string representation
78547func (s DescribeTransitGatewayPeeringAttachmentsOutput) String() string {
78548	return awsutil.Prettify(s)
78549}
78550
78551// GoString returns the string representation
78552func (s DescribeTransitGatewayPeeringAttachmentsOutput) GoString() string {
78553	return s.String()
78554}
78555
78556// SetNextToken sets the NextToken field's value.
78557func (s *DescribeTransitGatewayPeeringAttachmentsOutput) SetNextToken(v string) *DescribeTransitGatewayPeeringAttachmentsOutput {
78558	s.NextToken = &v
78559	return s
78560}
78561
78562// SetTransitGatewayPeeringAttachments sets the TransitGatewayPeeringAttachments field's value.
78563func (s *DescribeTransitGatewayPeeringAttachmentsOutput) SetTransitGatewayPeeringAttachments(v []*TransitGatewayPeeringAttachment) *DescribeTransitGatewayPeeringAttachmentsOutput {
78564	s.TransitGatewayPeeringAttachments = v
78565	return s
78566}
78567
78568type DescribeTransitGatewayRouteTablesInput struct {
78569	_ struct{} `type:"structure"`
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 `type:"boolean"`
78576
78577	// One or more filters. The possible values are:
78578	//
78579	//    * default-association-route-table - Indicates whether this is the default
78580	//    association route table for the transit gateway (true | false).
78581	//
78582	//    * default-propagation-route-table - Indicates whether this is the default
78583	//    propagation route table for the transit gateway (true | false).
78584	//
78585	//    * state - The state of the route table (available | deleting | deleted
78586	//    | pending).
78587	//
78588	//    * transit-gateway-id - The ID of the transit gateway.
78589	//
78590	//    * transit-gateway-route-table-id - The ID of the transit gateway route
78591	//    table.
78592	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
78593
78594	// The maximum number of results to return with a single call. To retrieve the
78595	// remaining results, make another call with the returned nextToken value.
78596	MaxResults *int64 `min:"5" type:"integer"`
78597
78598	// The token for the next page of results.
78599	NextToken *string `type:"string"`
78600
78601	// The IDs of the transit gateway route tables.
78602	TransitGatewayRouteTableIds []*string `locationNameList:"item" type:"list"`
78603}
78604
78605// String returns the string representation
78606func (s DescribeTransitGatewayRouteTablesInput) String() string {
78607	return awsutil.Prettify(s)
78608}
78609
78610// GoString returns the string representation
78611func (s DescribeTransitGatewayRouteTablesInput) GoString() string {
78612	return s.String()
78613}
78614
78615// Validate inspects the fields of the type to determine if they are valid.
78616func (s *DescribeTransitGatewayRouteTablesInput) Validate() error {
78617	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayRouteTablesInput"}
78618	if s.MaxResults != nil && *s.MaxResults < 5 {
78619		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
78620	}
78621
78622	if invalidParams.Len() > 0 {
78623		return invalidParams
78624	}
78625	return nil
78626}
78627
78628// SetDryRun sets the DryRun field's value.
78629func (s *DescribeTransitGatewayRouteTablesInput) SetDryRun(v bool) *DescribeTransitGatewayRouteTablesInput {
78630	s.DryRun = &v
78631	return s
78632}
78633
78634// SetFilters sets the Filters field's value.
78635func (s *DescribeTransitGatewayRouteTablesInput) SetFilters(v []*Filter) *DescribeTransitGatewayRouteTablesInput {
78636	s.Filters = v
78637	return s
78638}
78639
78640// SetMaxResults sets the MaxResults field's value.
78641func (s *DescribeTransitGatewayRouteTablesInput) SetMaxResults(v int64) *DescribeTransitGatewayRouteTablesInput {
78642	s.MaxResults = &v
78643	return s
78644}
78645
78646// SetNextToken sets the NextToken field's value.
78647func (s *DescribeTransitGatewayRouteTablesInput) SetNextToken(v string) *DescribeTransitGatewayRouteTablesInput {
78648	s.NextToken = &v
78649	return s
78650}
78651
78652// SetTransitGatewayRouteTableIds sets the TransitGatewayRouteTableIds field's value.
78653func (s *DescribeTransitGatewayRouteTablesInput) SetTransitGatewayRouteTableIds(v []*string) *DescribeTransitGatewayRouteTablesInput {
78654	s.TransitGatewayRouteTableIds = v
78655	return s
78656}
78657
78658type DescribeTransitGatewayRouteTablesOutput struct {
78659	_ struct{} `type:"structure"`
78660
78661	// The token to use to retrieve the next page of results. This value is null
78662	// when there are no more results to return.
78663	NextToken *string `locationName:"nextToken" type:"string"`
78664
78665	// Information about the transit gateway route tables.
78666	TransitGatewayRouteTables []*TransitGatewayRouteTable `locationName:"transitGatewayRouteTables" locationNameList:"item" type:"list"`
78667}
78668
78669// String returns the string representation
78670func (s DescribeTransitGatewayRouteTablesOutput) String() string {
78671	return awsutil.Prettify(s)
78672}
78673
78674// GoString returns the string representation
78675func (s DescribeTransitGatewayRouteTablesOutput) GoString() string {
78676	return s.String()
78677}
78678
78679// SetNextToken sets the NextToken field's value.
78680func (s *DescribeTransitGatewayRouteTablesOutput) SetNextToken(v string) *DescribeTransitGatewayRouteTablesOutput {
78681	s.NextToken = &v
78682	return s
78683}
78684
78685// SetTransitGatewayRouteTables sets the TransitGatewayRouteTables field's value.
78686func (s *DescribeTransitGatewayRouteTablesOutput) SetTransitGatewayRouteTables(v []*TransitGatewayRouteTable) *DescribeTransitGatewayRouteTablesOutput {
78687	s.TransitGatewayRouteTables = v
78688	return s
78689}
78690
78691type DescribeTransitGatewayVpcAttachmentsInput struct {
78692	_ struct{} `type:"structure"`
78693
78694	// Checks whether you have the required permissions for the action, without
78695	// actually making the request, and provides an error response. If you have
78696	// the required permissions, the error response is DryRunOperation. Otherwise,
78697	// it is UnauthorizedOperation.
78698	DryRun *bool `type:"boolean"`
78699
78700	// One or more filters. The possible values are:
78701	//
78702	//    * state - The state of the attachment. Valid values are available | deleted
78703	//    | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance
78704	//    | pending | rollingBack | rejected | rejecting.
78705	//
78706	//    * transit-gateway-attachment-id - The ID of the attachment.
78707	//
78708	//    * transit-gateway-id - The ID of the transit gateway.
78709	//
78710	//    * vpc-id - The ID of the VPC.
78711	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
78712
78713	// The maximum number of results to return with a single call. To retrieve the
78714	// remaining results, make another call with the returned nextToken value.
78715	MaxResults *int64 `min:"5" type:"integer"`
78716
78717	// The token for the next page of results.
78718	NextToken *string `type:"string"`
78719
78720	// The IDs of the attachments.
78721	TransitGatewayAttachmentIds []*string `type:"list"`
78722}
78723
78724// String returns the string representation
78725func (s DescribeTransitGatewayVpcAttachmentsInput) String() string {
78726	return awsutil.Prettify(s)
78727}
78728
78729// GoString returns the string representation
78730func (s DescribeTransitGatewayVpcAttachmentsInput) GoString() string {
78731	return s.String()
78732}
78733
78734// Validate inspects the fields of the type to determine if they are valid.
78735func (s *DescribeTransitGatewayVpcAttachmentsInput) Validate() error {
78736	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayVpcAttachmentsInput"}
78737	if s.MaxResults != nil && *s.MaxResults < 5 {
78738		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
78739	}
78740
78741	if invalidParams.Len() > 0 {
78742		return invalidParams
78743	}
78744	return nil
78745}
78746
78747// SetDryRun sets the DryRun field's value.
78748func (s *DescribeTransitGatewayVpcAttachmentsInput) SetDryRun(v bool) *DescribeTransitGatewayVpcAttachmentsInput {
78749	s.DryRun = &v
78750	return s
78751}
78752
78753// SetFilters sets the Filters field's value.
78754func (s *DescribeTransitGatewayVpcAttachmentsInput) SetFilters(v []*Filter) *DescribeTransitGatewayVpcAttachmentsInput {
78755	s.Filters = v
78756	return s
78757}
78758
78759// SetMaxResults sets the MaxResults field's value.
78760func (s *DescribeTransitGatewayVpcAttachmentsInput) SetMaxResults(v int64) *DescribeTransitGatewayVpcAttachmentsInput {
78761	s.MaxResults = &v
78762	return s
78763}
78764
78765// SetNextToken sets the NextToken field's value.
78766func (s *DescribeTransitGatewayVpcAttachmentsInput) SetNextToken(v string) *DescribeTransitGatewayVpcAttachmentsInput {
78767	s.NextToken = &v
78768	return s
78769}
78770
78771// SetTransitGatewayAttachmentIds sets the TransitGatewayAttachmentIds field's value.
78772func (s *DescribeTransitGatewayVpcAttachmentsInput) SetTransitGatewayAttachmentIds(v []*string) *DescribeTransitGatewayVpcAttachmentsInput {
78773	s.TransitGatewayAttachmentIds = v
78774	return s
78775}
78776
78777type DescribeTransitGatewayVpcAttachmentsOutput struct {
78778	_ struct{} `type:"structure"`
78779
78780	// The token to use to retrieve the next page of results. This value is null
78781	// when there are no more results to return.
78782	NextToken *string `locationName:"nextToken" type:"string"`
78783
78784	// Information about the VPC attachments.
78785	TransitGatewayVpcAttachments []*TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachments" locationNameList:"item" type:"list"`
78786}
78787
78788// String returns the string representation
78789func (s DescribeTransitGatewayVpcAttachmentsOutput) String() string {
78790	return awsutil.Prettify(s)
78791}
78792
78793// GoString returns the string representation
78794func (s DescribeTransitGatewayVpcAttachmentsOutput) GoString() string {
78795	return s.String()
78796}
78797
78798// SetNextToken sets the NextToken field's value.
78799func (s *DescribeTransitGatewayVpcAttachmentsOutput) SetNextToken(v string) *DescribeTransitGatewayVpcAttachmentsOutput {
78800	s.NextToken = &v
78801	return s
78802}
78803
78804// SetTransitGatewayVpcAttachments sets the TransitGatewayVpcAttachments field's value.
78805func (s *DescribeTransitGatewayVpcAttachmentsOutput) SetTransitGatewayVpcAttachments(v []*TransitGatewayVpcAttachment) *DescribeTransitGatewayVpcAttachmentsOutput {
78806	s.TransitGatewayVpcAttachments = v
78807	return s
78808}
78809
78810type DescribeTransitGatewaysInput struct {
78811	_ struct{} `type:"structure"`
78812
78813	// Checks whether you have the required permissions for the action, without
78814	// actually making the request, and provides an error response. If you have
78815	// the required permissions, the error response is DryRunOperation. Otherwise,
78816	// it is UnauthorizedOperation.
78817	DryRun *bool `type:"boolean"`
78818
78819	// One or more filters. The possible values are:
78820	//
78821	//    * options.propagation-default-route-table-id - The ID of the default propagation
78822	//    route table.
78823	//
78824	//    * options.amazon-side-asn - The private ASN for the Amazon side of a BGP
78825	//    session.
78826	//
78827	//    * options.association-default-route-table-id - The ID of the default association
78828	//    route table.
78829	//
78830	//    * options.auto-accept-shared-attachments - Indicates whether there is
78831	//    automatic acceptance of attachment requests (enable | disable).
78832	//
78833	//    * options.default-route-table-association - Indicates whether resource
78834	//    attachments are automatically associated with the default association
78835	//    route table (enable | disable).
78836	//
78837	//    * options.default-route-table-propagation - Indicates whether resource
78838	//    attachments automatically propagate routes to the default propagation
78839	//    route table (enable | disable).
78840	//
78841	//    * options.dns-support - Indicates whether DNS support is enabled (enable
78842	//    | disable).
78843	//
78844	//    * options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol
78845	//    support is enabled (enable | disable).
78846	//
78847	//    * owner-id - The ID of the Amazon Web Services account that owns the transit
78848	//    gateway.
78849	//
78850	//    * state - The state of the transit gateway (available | deleted | deleting
78851	//    | modifying | pending).
78852	//
78853	//    * transit-gateway-id - The ID of the transit gateway.
78854	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
78855
78856	// The maximum number of results to return with a single call. To retrieve the
78857	// remaining results, make another call with the returned nextToken value.
78858	MaxResults *int64 `min:"5" type:"integer"`
78859
78860	// The token for the next page of results.
78861	NextToken *string `type:"string"`
78862
78863	// The IDs of the transit gateways.
78864	TransitGatewayIds []*string `locationNameList:"item" type:"list"`
78865}
78866
78867// String returns the string representation
78868func (s DescribeTransitGatewaysInput) String() string {
78869	return awsutil.Prettify(s)
78870}
78871
78872// GoString returns the string representation
78873func (s DescribeTransitGatewaysInput) GoString() string {
78874	return s.String()
78875}
78876
78877// Validate inspects the fields of the type to determine if they are valid.
78878func (s *DescribeTransitGatewaysInput) Validate() error {
78879	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewaysInput"}
78880	if s.MaxResults != nil && *s.MaxResults < 5 {
78881		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
78882	}
78883
78884	if invalidParams.Len() > 0 {
78885		return invalidParams
78886	}
78887	return nil
78888}
78889
78890// SetDryRun sets the DryRun field's value.
78891func (s *DescribeTransitGatewaysInput) SetDryRun(v bool) *DescribeTransitGatewaysInput {
78892	s.DryRun = &v
78893	return s
78894}
78895
78896// SetFilters sets the Filters field's value.
78897func (s *DescribeTransitGatewaysInput) SetFilters(v []*Filter) *DescribeTransitGatewaysInput {
78898	s.Filters = v
78899	return s
78900}
78901
78902// SetMaxResults sets the MaxResults field's value.
78903func (s *DescribeTransitGatewaysInput) SetMaxResults(v int64) *DescribeTransitGatewaysInput {
78904	s.MaxResults = &v
78905	return s
78906}
78907
78908// SetNextToken sets the NextToken field's value.
78909func (s *DescribeTransitGatewaysInput) SetNextToken(v string) *DescribeTransitGatewaysInput {
78910	s.NextToken = &v
78911	return s
78912}
78913
78914// SetTransitGatewayIds sets the TransitGatewayIds field's value.
78915func (s *DescribeTransitGatewaysInput) SetTransitGatewayIds(v []*string) *DescribeTransitGatewaysInput {
78916	s.TransitGatewayIds = v
78917	return s
78918}
78919
78920type DescribeTransitGatewaysOutput struct {
78921	_ struct{} `type:"structure"`
78922
78923	// The token to use to retrieve the next page of results. This value is null
78924	// when there are no more results to return.
78925	NextToken *string `locationName:"nextToken" type:"string"`
78926
78927	// Information about the transit gateways.
78928	TransitGateways []*TransitGateway `locationName:"transitGatewaySet" locationNameList:"item" type:"list"`
78929}
78930
78931// String returns the string representation
78932func (s DescribeTransitGatewaysOutput) String() string {
78933	return awsutil.Prettify(s)
78934}
78935
78936// GoString returns the string representation
78937func (s DescribeTransitGatewaysOutput) GoString() string {
78938	return s.String()
78939}
78940
78941// SetNextToken sets the NextToken field's value.
78942func (s *DescribeTransitGatewaysOutput) SetNextToken(v string) *DescribeTransitGatewaysOutput {
78943	s.NextToken = &v
78944	return s
78945}
78946
78947// SetTransitGateways sets the TransitGateways field's value.
78948func (s *DescribeTransitGatewaysOutput) SetTransitGateways(v []*TransitGateway) *DescribeTransitGatewaysOutput {
78949	s.TransitGateways = v
78950	return s
78951}
78952
78953type DescribeTrunkInterfaceAssociationsInput struct {
78954	_ struct{} `type:"structure"`
78955
78956	// The IDs of the associations.
78957	AssociationIds []*string `locationName:"AssociationId" locationNameList:"item" type:"list"`
78958
78959	// Checks whether you have the required permissions for the action, without
78960	// actually making the request, and provides an error response. If you have
78961	// the required permissions, the error response is DryRunOperation. Otherwise,
78962	// it is UnauthorizedOperation.
78963	DryRun *bool `type:"boolean"`
78964
78965	// One or more filters.
78966	//
78967	//    * gre-key - The ID of a trunk interface association.
78968	//
78969	//    * interface-protocol - The interface protocol. Valid values are VLAN and
78970	//    GRE.
78971	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
78972
78973	// The maximum number of results to return with a single call. To retrieve the
78974	// remaining results, make another call with the returned nextToken value.
78975	MaxResults *int64 `min:"5" type:"integer"`
78976
78977	// The token for the next page of results.
78978	NextToken *string `type:"string"`
78979}
78980
78981// String returns the string representation
78982func (s DescribeTrunkInterfaceAssociationsInput) String() string {
78983	return awsutil.Prettify(s)
78984}
78985
78986// GoString returns the string representation
78987func (s DescribeTrunkInterfaceAssociationsInput) GoString() string {
78988	return s.String()
78989}
78990
78991// Validate inspects the fields of the type to determine if they are valid.
78992func (s *DescribeTrunkInterfaceAssociationsInput) Validate() error {
78993	invalidParams := request.ErrInvalidParams{Context: "DescribeTrunkInterfaceAssociationsInput"}
78994	if s.MaxResults != nil && *s.MaxResults < 5 {
78995		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
78996	}
78997
78998	if invalidParams.Len() > 0 {
78999		return invalidParams
79000	}
79001	return nil
79002}
79003
79004// SetAssociationIds sets the AssociationIds field's value.
79005func (s *DescribeTrunkInterfaceAssociationsInput) SetAssociationIds(v []*string) *DescribeTrunkInterfaceAssociationsInput {
79006	s.AssociationIds = v
79007	return s
79008}
79009
79010// SetDryRun sets the DryRun field's value.
79011func (s *DescribeTrunkInterfaceAssociationsInput) SetDryRun(v bool) *DescribeTrunkInterfaceAssociationsInput {
79012	s.DryRun = &v
79013	return s
79014}
79015
79016// SetFilters sets the Filters field's value.
79017func (s *DescribeTrunkInterfaceAssociationsInput) SetFilters(v []*Filter) *DescribeTrunkInterfaceAssociationsInput {
79018	s.Filters = v
79019	return s
79020}
79021
79022// SetMaxResults sets the MaxResults field's value.
79023func (s *DescribeTrunkInterfaceAssociationsInput) SetMaxResults(v int64) *DescribeTrunkInterfaceAssociationsInput {
79024	s.MaxResults = &v
79025	return s
79026}
79027
79028// SetNextToken sets the NextToken field's value.
79029func (s *DescribeTrunkInterfaceAssociationsInput) SetNextToken(v string) *DescribeTrunkInterfaceAssociationsInput {
79030	s.NextToken = &v
79031	return s
79032}
79033
79034type DescribeTrunkInterfaceAssociationsOutput struct {
79035	_ struct{} `type:"structure"`
79036
79037	// Information about the trunk associations.
79038	InterfaceAssociations []*TrunkInterfaceAssociation `locationName:"interfaceAssociationSet" locationNameList:"item" type:"list"`
79039
79040	// The token to use to retrieve the next page of results. This value is null
79041	// when there are no more results to return.
79042	NextToken *string `locationName:"nextToken" type:"string"`
79043}
79044
79045// String returns the string representation
79046func (s DescribeTrunkInterfaceAssociationsOutput) String() string {
79047	return awsutil.Prettify(s)
79048}
79049
79050// GoString returns the string representation
79051func (s DescribeTrunkInterfaceAssociationsOutput) GoString() string {
79052	return s.String()
79053}
79054
79055// SetInterfaceAssociations sets the InterfaceAssociations field's value.
79056func (s *DescribeTrunkInterfaceAssociationsOutput) SetInterfaceAssociations(v []*TrunkInterfaceAssociation) *DescribeTrunkInterfaceAssociationsOutput {
79057	s.InterfaceAssociations = v
79058	return s
79059}
79060
79061// SetNextToken sets the NextToken field's value.
79062func (s *DescribeTrunkInterfaceAssociationsOutput) SetNextToken(v string) *DescribeTrunkInterfaceAssociationsOutput {
79063	s.NextToken = &v
79064	return s
79065}
79066
79067type DescribeVolumeAttributeInput struct {
79068	_ struct{} `type:"structure"`
79069
79070	// The attribute of the volume. This parameter is required.
79071	//
79072	// Attribute is a required field
79073	Attribute *string `type:"string" required:"true" enum:"VolumeAttributeName"`
79074
79075	// Checks whether you have the required permissions for the action, without
79076	// actually making the request, and provides an error response. If you have
79077	// the required permissions, the error response is DryRunOperation. Otherwise,
79078	// it is UnauthorizedOperation.
79079	DryRun *bool `locationName:"dryRun" type:"boolean"`
79080
79081	// The ID of the volume.
79082	//
79083	// VolumeId is a required field
79084	VolumeId *string `type:"string" required:"true"`
79085}
79086
79087// String returns the string representation
79088func (s DescribeVolumeAttributeInput) String() string {
79089	return awsutil.Prettify(s)
79090}
79091
79092// GoString returns the string representation
79093func (s DescribeVolumeAttributeInput) GoString() string {
79094	return s.String()
79095}
79096
79097// Validate inspects the fields of the type to determine if they are valid.
79098func (s *DescribeVolumeAttributeInput) Validate() error {
79099	invalidParams := request.ErrInvalidParams{Context: "DescribeVolumeAttributeInput"}
79100	if s.Attribute == nil {
79101		invalidParams.Add(request.NewErrParamRequired("Attribute"))
79102	}
79103	if s.VolumeId == nil {
79104		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
79105	}
79106
79107	if invalidParams.Len() > 0 {
79108		return invalidParams
79109	}
79110	return nil
79111}
79112
79113// SetAttribute sets the Attribute field's value.
79114func (s *DescribeVolumeAttributeInput) SetAttribute(v string) *DescribeVolumeAttributeInput {
79115	s.Attribute = &v
79116	return s
79117}
79118
79119// SetDryRun sets the DryRun field's value.
79120func (s *DescribeVolumeAttributeInput) SetDryRun(v bool) *DescribeVolumeAttributeInput {
79121	s.DryRun = &v
79122	return s
79123}
79124
79125// SetVolumeId sets the VolumeId field's value.
79126func (s *DescribeVolumeAttributeInput) SetVolumeId(v string) *DescribeVolumeAttributeInput {
79127	s.VolumeId = &v
79128	return s
79129}
79130
79131type DescribeVolumeAttributeOutput struct {
79132	_ struct{} `type:"structure"`
79133
79134	// The state of autoEnableIO attribute.
79135	AutoEnableIO *AttributeBooleanValue `locationName:"autoEnableIO" type:"structure"`
79136
79137	// A list of product codes.
79138	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
79139
79140	// The ID of the volume.
79141	VolumeId *string `locationName:"volumeId" type:"string"`
79142}
79143
79144// String returns the string representation
79145func (s DescribeVolumeAttributeOutput) String() string {
79146	return awsutil.Prettify(s)
79147}
79148
79149// GoString returns the string representation
79150func (s DescribeVolumeAttributeOutput) GoString() string {
79151	return s.String()
79152}
79153
79154// SetAutoEnableIO sets the AutoEnableIO field's value.
79155func (s *DescribeVolumeAttributeOutput) SetAutoEnableIO(v *AttributeBooleanValue) *DescribeVolumeAttributeOutput {
79156	s.AutoEnableIO = v
79157	return s
79158}
79159
79160// SetProductCodes sets the ProductCodes field's value.
79161func (s *DescribeVolumeAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeVolumeAttributeOutput {
79162	s.ProductCodes = v
79163	return s
79164}
79165
79166// SetVolumeId sets the VolumeId field's value.
79167func (s *DescribeVolumeAttributeOutput) SetVolumeId(v string) *DescribeVolumeAttributeOutput {
79168	s.VolumeId = &v
79169	return s
79170}
79171
79172type DescribeVolumeStatusInput struct {
79173	_ struct{} `type:"structure"`
79174
79175	// Checks whether you have the required permissions for the action, without
79176	// actually making the request, and provides an error response. If you have
79177	// the required permissions, the error response is DryRunOperation. Otherwise,
79178	// it is UnauthorizedOperation.
79179	DryRun *bool `locationName:"dryRun" type:"boolean"`
79180
79181	// The filters.
79182	//
79183	//    * action.code - The action code for the event (for example, enable-volume-io).
79184	//
79185	//    * action.description - A description of the action.
79186	//
79187	//    * action.event-id - The event ID associated with the action.
79188	//
79189	//    * availability-zone - The Availability Zone of the instance.
79190	//
79191	//    * event.description - A description of the event.
79192	//
79193	//    * event.event-id - The event ID.
79194	//
79195	//    * event.event-type - The event type (for io-enabled: passed | failed;
79196	//    for io-performance: io-performance:degraded | io-performance:severely-degraded
79197	//    | io-performance:stalled).
79198	//
79199	//    * event.not-after - The latest end time for the event.
79200	//
79201	//    * event.not-before - The earliest start time for the event.
79202	//
79203	//    * volume-status.details-name - The cause for volume-status.status (io-enabled
79204	//    | io-performance).
79205	//
79206	//    * volume-status.details-status - The status of volume-status.details-name
79207	//    (for io-enabled: passed | failed; for io-performance: normal | degraded
79208	//    | severely-degraded | stalled).
79209	//
79210	//    * volume-status.status - The status of the volume (ok | impaired | warning
79211	//    | insufficient-data).
79212	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
79213
79214	// The maximum number of volume results returned by DescribeVolumeStatus in
79215	// paginated output. When this parameter is used, the request only returns MaxResults
79216	// results in a single page along with a NextToken response element. The remaining
79217	// results of the initial request can be seen by sending another request with
79218	// the returned NextToken value. This value can be between 5 and 1,000; if MaxResults
79219	// is given a value larger than 1,000, only 1,000 results are returned. If this
79220	// parameter is not used, then DescribeVolumeStatus returns all results. You
79221	// cannot specify this parameter and the volume IDs parameter in the same request.
79222	MaxResults *int64 `type:"integer"`
79223
79224	// The NextToken value to include in a future DescribeVolumeStatus request.
79225	// When the results of the request exceed MaxResults, this value can be used
79226	// to retrieve the next page of results. This value is null when there are no
79227	// more results to return.
79228	NextToken *string `type:"string"`
79229
79230	// The IDs of the volumes.
79231	//
79232	// Default: Describes all your volumes.
79233	VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
79234}
79235
79236// String returns the string representation
79237func (s DescribeVolumeStatusInput) String() string {
79238	return awsutil.Prettify(s)
79239}
79240
79241// GoString returns the string representation
79242func (s DescribeVolumeStatusInput) GoString() string {
79243	return s.String()
79244}
79245
79246// SetDryRun sets the DryRun field's value.
79247func (s *DescribeVolumeStatusInput) SetDryRun(v bool) *DescribeVolumeStatusInput {
79248	s.DryRun = &v
79249	return s
79250}
79251
79252// SetFilters sets the Filters field's value.
79253func (s *DescribeVolumeStatusInput) SetFilters(v []*Filter) *DescribeVolumeStatusInput {
79254	s.Filters = v
79255	return s
79256}
79257
79258// SetMaxResults sets the MaxResults field's value.
79259func (s *DescribeVolumeStatusInput) SetMaxResults(v int64) *DescribeVolumeStatusInput {
79260	s.MaxResults = &v
79261	return s
79262}
79263
79264// SetNextToken sets the NextToken field's value.
79265func (s *DescribeVolumeStatusInput) SetNextToken(v string) *DescribeVolumeStatusInput {
79266	s.NextToken = &v
79267	return s
79268}
79269
79270// SetVolumeIds sets the VolumeIds field's value.
79271func (s *DescribeVolumeStatusInput) SetVolumeIds(v []*string) *DescribeVolumeStatusInput {
79272	s.VolumeIds = v
79273	return s
79274}
79275
79276type DescribeVolumeStatusOutput struct {
79277	_ struct{} `type:"structure"`
79278
79279	// The token to use to retrieve the next page of results. This value is null
79280	// when there are no more results to return.
79281	NextToken *string `locationName:"nextToken" type:"string"`
79282
79283	// Information about the status of the volumes.
79284	VolumeStatuses []*VolumeStatusItem `locationName:"volumeStatusSet" locationNameList:"item" type:"list"`
79285}
79286
79287// String returns the string representation
79288func (s DescribeVolumeStatusOutput) String() string {
79289	return awsutil.Prettify(s)
79290}
79291
79292// GoString returns the string representation
79293func (s DescribeVolumeStatusOutput) GoString() string {
79294	return s.String()
79295}
79296
79297// SetNextToken sets the NextToken field's value.
79298func (s *DescribeVolumeStatusOutput) SetNextToken(v string) *DescribeVolumeStatusOutput {
79299	s.NextToken = &v
79300	return s
79301}
79302
79303// SetVolumeStatuses sets the VolumeStatuses field's value.
79304func (s *DescribeVolumeStatusOutput) SetVolumeStatuses(v []*VolumeStatusItem) *DescribeVolumeStatusOutput {
79305	s.VolumeStatuses = v
79306	return s
79307}
79308
79309type DescribeVolumesInput struct {
79310	_ struct{} `type:"structure"`
79311
79312	// Checks whether you have the required permissions for the action, without
79313	// actually making the request, and provides an error response. If you have
79314	// the required permissions, the error response is DryRunOperation. Otherwise,
79315	// it is UnauthorizedOperation.
79316	DryRun *bool `locationName:"dryRun" type:"boolean"`
79317
79318	// The filters.
79319	//
79320	//    * attachment.attach-time - The time stamp when the attachment initiated.
79321	//
79322	//    * attachment.delete-on-termination - Whether the volume is deleted on
79323	//    instance termination.
79324	//
79325	//    * attachment.device - The device name specified in the block device mapping
79326	//    (for example, /dev/sda1).
79327	//
79328	//    * attachment.instance-id - The ID of the instance the volume is attached
79329	//    to.
79330	//
79331	//    * attachment.status - The attachment state (attaching | attached | detaching).
79332	//
79333	//    * availability-zone - The Availability Zone in which the volume was created.
79334	//
79335	//    * create-time - The time stamp when the volume was created.
79336	//
79337	//    * encrypted - Indicates whether the volume is encrypted (true | false)
79338	//
79339	//    * multi-attach-enabled - Indicates whether the volume is enabled for Multi-Attach
79340	//    (true | false)
79341	//
79342	//    * fast-restored - Indicates whether the volume was created from a snapshot
79343	//    that is enabled for fast snapshot restore (true | false).
79344	//
79345	//    * size - The size of the volume, in GiB.
79346	//
79347	//    * snapshot-id - The snapshot from which the volume was created.
79348	//
79349	//    * status - The state of the volume (creating | available | in-use | deleting
79350	//    | deleted | error).
79351	//
79352	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
79353	//    Use the tag key in the filter name and the tag value as the filter value.
79354	//    For example, to find all resources that have a tag with the key Owner
79355	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
79356	//    the filter value.
79357	//
79358	//    * tag-key - The key of a tag assigned to the resource. Use this filter
79359	//    to find all resources assigned a tag with a specific key, regardless of
79360	//    the tag value.
79361	//
79362	//    * volume-id - The volume ID.
79363	//
79364	//    * volume-type - The Amazon EBS volume type (gp2 | gp3 | io1 | io2 | st1
79365	//    | sc1| standard)
79366	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
79367
79368	// The maximum number of volume results returned by DescribeVolumes in paginated
79369	// output. When this parameter is used, DescribeVolumes only returns MaxResults
79370	// results in a single page along with a NextToken response element. The remaining
79371	// results of the initial request can be seen by sending another DescribeVolumes
79372	// request with the returned NextToken value. This value can be between 5 and
79373	// 500; if MaxResults is given a value larger than 500, only 500 results are
79374	// returned. If this parameter is not used, then DescribeVolumes returns all
79375	// results. You cannot specify this parameter and the volume IDs parameter in
79376	// the same request.
79377	MaxResults *int64 `locationName:"maxResults" type:"integer"`
79378
79379	// The NextToken value returned from a previous paginated DescribeVolumes request
79380	// where MaxResults was used and the results exceeded the value of that parameter.
79381	// Pagination continues from the end of the previous results that returned the
79382	// NextToken value. This value is null when there are no more results to return.
79383	NextToken *string `locationName:"nextToken" type:"string"`
79384
79385	// The volume IDs.
79386	VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
79387}
79388
79389// String returns the string representation
79390func (s DescribeVolumesInput) String() string {
79391	return awsutil.Prettify(s)
79392}
79393
79394// GoString returns the string representation
79395func (s DescribeVolumesInput) GoString() string {
79396	return s.String()
79397}
79398
79399// SetDryRun sets the DryRun field's value.
79400func (s *DescribeVolumesInput) SetDryRun(v bool) *DescribeVolumesInput {
79401	s.DryRun = &v
79402	return s
79403}
79404
79405// SetFilters sets the Filters field's value.
79406func (s *DescribeVolumesInput) SetFilters(v []*Filter) *DescribeVolumesInput {
79407	s.Filters = v
79408	return s
79409}
79410
79411// SetMaxResults sets the MaxResults field's value.
79412func (s *DescribeVolumesInput) SetMaxResults(v int64) *DescribeVolumesInput {
79413	s.MaxResults = &v
79414	return s
79415}
79416
79417// SetNextToken sets the NextToken field's value.
79418func (s *DescribeVolumesInput) SetNextToken(v string) *DescribeVolumesInput {
79419	s.NextToken = &v
79420	return s
79421}
79422
79423// SetVolumeIds sets the VolumeIds field's value.
79424func (s *DescribeVolumesInput) SetVolumeIds(v []*string) *DescribeVolumesInput {
79425	s.VolumeIds = v
79426	return s
79427}
79428
79429type DescribeVolumesModificationsInput struct {
79430	_ struct{} `type:"structure"`
79431
79432	// Checks whether you have the required permissions for the action, without
79433	// actually making the request, and provides an error response. If you have
79434	// the required permissions, the error response is DryRunOperation. Otherwise,
79435	// it is UnauthorizedOperation.
79436	DryRun *bool `type:"boolean"`
79437
79438	// The filters.
79439	//
79440	//    * modification-state - The current modification state (modifying | optimizing
79441	//    | completed | failed).
79442	//
79443	//    * original-iops - The original IOPS rate of the volume.
79444	//
79445	//    * original-size - The original size of the volume, in GiB.
79446	//
79447	//    * original-volume-type - The original volume type of the volume (standard
79448	//    | io1 | io2 | gp2 | sc1 | st1).
79449	//
79450	//    * originalMultiAttachEnabled - Indicates whether Multi-Attach support
79451	//    was enabled (true | false).
79452	//
79453	//    * start-time - The modification start time.
79454	//
79455	//    * target-iops - The target IOPS rate of the volume.
79456	//
79457	//    * target-size - The target size of the volume, in GiB.
79458	//
79459	//    * target-volume-type - The target volume type of the volume (standard
79460	//    | io1 | io2 | gp2 | sc1 | st1).
79461	//
79462	//    * targetMultiAttachEnabled - Indicates whether Multi-Attach support is
79463	//    to be enabled (true | false).
79464	//
79465	//    * volume-id - The ID of the volume.
79466	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
79467
79468	// The maximum number of results (up to a limit of 500) to be returned in a
79469	// paginated request.
79470	MaxResults *int64 `type:"integer"`
79471
79472	// The nextToken value returned by a previous paginated request.
79473	NextToken *string `type:"string"`
79474
79475	// The IDs of the volumes.
79476	VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
79477}
79478
79479// String returns the string representation
79480func (s DescribeVolumesModificationsInput) String() string {
79481	return awsutil.Prettify(s)
79482}
79483
79484// GoString returns the string representation
79485func (s DescribeVolumesModificationsInput) GoString() string {
79486	return s.String()
79487}
79488
79489// SetDryRun sets the DryRun field's value.
79490func (s *DescribeVolumesModificationsInput) SetDryRun(v bool) *DescribeVolumesModificationsInput {
79491	s.DryRun = &v
79492	return s
79493}
79494
79495// SetFilters sets the Filters field's value.
79496func (s *DescribeVolumesModificationsInput) SetFilters(v []*Filter) *DescribeVolumesModificationsInput {
79497	s.Filters = v
79498	return s
79499}
79500
79501// SetMaxResults sets the MaxResults field's value.
79502func (s *DescribeVolumesModificationsInput) SetMaxResults(v int64) *DescribeVolumesModificationsInput {
79503	s.MaxResults = &v
79504	return s
79505}
79506
79507// SetNextToken sets the NextToken field's value.
79508func (s *DescribeVolumesModificationsInput) SetNextToken(v string) *DescribeVolumesModificationsInput {
79509	s.NextToken = &v
79510	return s
79511}
79512
79513// SetVolumeIds sets the VolumeIds field's value.
79514func (s *DescribeVolumesModificationsInput) SetVolumeIds(v []*string) *DescribeVolumesModificationsInput {
79515	s.VolumeIds = v
79516	return s
79517}
79518
79519type DescribeVolumesModificationsOutput struct {
79520	_ struct{} `type:"structure"`
79521
79522	// Token for pagination, null if there are no more results
79523	NextToken *string `locationName:"nextToken" type:"string"`
79524
79525	// Information about the volume modifications.
79526	VolumesModifications []*VolumeModification `locationName:"volumeModificationSet" locationNameList:"item" type:"list"`
79527}
79528
79529// String returns the string representation
79530func (s DescribeVolumesModificationsOutput) String() string {
79531	return awsutil.Prettify(s)
79532}
79533
79534// GoString returns the string representation
79535func (s DescribeVolumesModificationsOutput) GoString() string {
79536	return s.String()
79537}
79538
79539// SetNextToken sets the NextToken field's value.
79540func (s *DescribeVolumesModificationsOutput) SetNextToken(v string) *DescribeVolumesModificationsOutput {
79541	s.NextToken = &v
79542	return s
79543}
79544
79545// SetVolumesModifications sets the VolumesModifications field's value.
79546func (s *DescribeVolumesModificationsOutput) SetVolumesModifications(v []*VolumeModification) *DescribeVolumesModificationsOutput {
79547	s.VolumesModifications = v
79548	return s
79549}
79550
79551type DescribeVolumesOutput struct {
79552	_ struct{} `type:"structure"`
79553
79554	// The NextToken value to include in a future DescribeVolumes request. When
79555	// the results of a DescribeVolumes request exceed MaxResults, this value can
79556	// be used to retrieve the next page of results. This value is null when there
79557	// are no more results to return.
79558	NextToken *string `locationName:"nextToken" type:"string"`
79559
79560	// Information about the volumes.
79561	Volumes []*Volume `locationName:"volumeSet" locationNameList:"item" type:"list"`
79562}
79563
79564// String returns the string representation
79565func (s DescribeVolumesOutput) String() string {
79566	return awsutil.Prettify(s)
79567}
79568
79569// GoString returns the string representation
79570func (s DescribeVolumesOutput) GoString() string {
79571	return s.String()
79572}
79573
79574// SetNextToken sets the NextToken field's value.
79575func (s *DescribeVolumesOutput) SetNextToken(v string) *DescribeVolumesOutput {
79576	s.NextToken = &v
79577	return s
79578}
79579
79580// SetVolumes sets the Volumes field's value.
79581func (s *DescribeVolumesOutput) SetVolumes(v []*Volume) *DescribeVolumesOutput {
79582	s.Volumes = v
79583	return s
79584}
79585
79586type DescribeVpcAttributeInput struct {
79587	_ struct{} `type:"structure"`
79588
79589	// The VPC attribute.
79590	//
79591	// Attribute is a required field
79592	Attribute *string `type:"string" required:"true" enum:"VpcAttributeName"`
79593
79594	// Checks whether you have the required permissions for the action, without
79595	// actually making the request, and provides an error response. If you have
79596	// the required permissions, the error response is DryRunOperation. Otherwise,
79597	// it is UnauthorizedOperation.
79598	DryRun *bool `locationName:"dryRun" type:"boolean"`
79599
79600	// The ID of the VPC.
79601	//
79602	// VpcId is a required field
79603	VpcId *string `type:"string" required:"true"`
79604}
79605
79606// String returns the string representation
79607func (s DescribeVpcAttributeInput) String() string {
79608	return awsutil.Prettify(s)
79609}
79610
79611// GoString returns the string representation
79612func (s DescribeVpcAttributeInput) GoString() string {
79613	return s.String()
79614}
79615
79616// Validate inspects the fields of the type to determine if they are valid.
79617func (s *DescribeVpcAttributeInput) Validate() error {
79618	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcAttributeInput"}
79619	if s.Attribute == nil {
79620		invalidParams.Add(request.NewErrParamRequired("Attribute"))
79621	}
79622	if s.VpcId == nil {
79623		invalidParams.Add(request.NewErrParamRequired("VpcId"))
79624	}
79625
79626	if invalidParams.Len() > 0 {
79627		return invalidParams
79628	}
79629	return nil
79630}
79631
79632// SetAttribute sets the Attribute field's value.
79633func (s *DescribeVpcAttributeInput) SetAttribute(v string) *DescribeVpcAttributeInput {
79634	s.Attribute = &v
79635	return s
79636}
79637
79638// SetDryRun sets the DryRun field's value.
79639func (s *DescribeVpcAttributeInput) SetDryRun(v bool) *DescribeVpcAttributeInput {
79640	s.DryRun = &v
79641	return s
79642}
79643
79644// SetVpcId sets the VpcId field's value.
79645func (s *DescribeVpcAttributeInput) SetVpcId(v string) *DescribeVpcAttributeInput {
79646	s.VpcId = &v
79647	return s
79648}
79649
79650type DescribeVpcAttributeOutput struct {
79651	_ struct{} `type:"structure"`
79652
79653	// Indicates whether the instances launched in the VPC get DNS hostnames. If
79654	// this attribute is true, instances in the VPC get DNS hostnames; otherwise,
79655	// they do not.
79656	EnableDnsHostnames *AttributeBooleanValue `locationName:"enableDnsHostnames" type:"structure"`
79657
79658	// Indicates whether DNS resolution is enabled for the VPC. If this attribute
79659	// is true, the Amazon DNS server resolves DNS hostnames for your instances
79660	// to their corresponding IP addresses; otherwise, it does not.
79661	EnableDnsSupport *AttributeBooleanValue `locationName:"enableDnsSupport" type:"structure"`
79662
79663	// The ID of the VPC.
79664	VpcId *string `locationName:"vpcId" type:"string"`
79665}
79666
79667// String returns the string representation
79668func (s DescribeVpcAttributeOutput) String() string {
79669	return awsutil.Prettify(s)
79670}
79671
79672// GoString returns the string representation
79673func (s DescribeVpcAttributeOutput) GoString() string {
79674	return s.String()
79675}
79676
79677// SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
79678func (s *DescribeVpcAttributeOutput) SetEnableDnsHostnames(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
79679	s.EnableDnsHostnames = v
79680	return s
79681}
79682
79683// SetEnableDnsSupport sets the EnableDnsSupport field's value.
79684func (s *DescribeVpcAttributeOutput) SetEnableDnsSupport(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
79685	s.EnableDnsSupport = v
79686	return s
79687}
79688
79689// SetVpcId sets the VpcId field's value.
79690func (s *DescribeVpcAttributeOutput) SetVpcId(v string) *DescribeVpcAttributeOutput {
79691	s.VpcId = &v
79692	return s
79693}
79694
79695type DescribeVpcClassicLinkDnsSupportInput struct {
79696	_ struct{} `type:"structure"`
79697
79698	// The maximum number of results to return with a single call. To retrieve the
79699	// remaining results, make another call with the returned nextToken value.
79700	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
79701
79702	// The token for the next page of results.
79703	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
79704
79705	// One or more VPC IDs.
79706	VpcIds []*string `locationNameList:"VpcId" type:"list"`
79707}
79708
79709// String returns the string representation
79710func (s DescribeVpcClassicLinkDnsSupportInput) String() string {
79711	return awsutil.Prettify(s)
79712}
79713
79714// GoString returns the string representation
79715func (s DescribeVpcClassicLinkDnsSupportInput) GoString() string {
79716	return s.String()
79717}
79718
79719// Validate inspects the fields of the type to determine if they are valid.
79720func (s *DescribeVpcClassicLinkDnsSupportInput) Validate() error {
79721	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcClassicLinkDnsSupportInput"}
79722	if s.MaxResults != nil && *s.MaxResults < 5 {
79723		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
79724	}
79725	if s.NextToken != nil && len(*s.NextToken) < 1 {
79726		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
79727	}
79728
79729	if invalidParams.Len() > 0 {
79730		return invalidParams
79731	}
79732	return nil
79733}
79734
79735// SetMaxResults sets the MaxResults field's value.
79736func (s *DescribeVpcClassicLinkDnsSupportInput) SetMaxResults(v int64) *DescribeVpcClassicLinkDnsSupportInput {
79737	s.MaxResults = &v
79738	return s
79739}
79740
79741// SetNextToken sets the NextToken field's value.
79742func (s *DescribeVpcClassicLinkDnsSupportInput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportInput {
79743	s.NextToken = &v
79744	return s
79745}
79746
79747// SetVpcIds sets the VpcIds field's value.
79748func (s *DescribeVpcClassicLinkDnsSupportInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkDnsSupportInput {
79749	s.VpcIds = v
79750	return s
79751}
79752
79753type DescribeVpcClassicLinkDnsSupportOutput struct {
79754	_ struct{} `type:"structure"`
79755
79756	// The token to use to retrieve the next page of results. This value is null
79757	// when there are no more results to return.
79758	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
79759
79760	// Information about the ClassicLink DNS support status of the VPCs.
79761	Vpcs []*ClassicLinkDnsSupport `locationName:"vpcs" locationNameList:"item" type:"list"`
79762}
79763
79764// String returns the string representation
79765func (s DescribeVpcClassicLinkDnsSupportOutput) String() string {
79766	return awsutil.Prettify(s)
79767}
79768
79769// GoString returns the string representation
79770func (s DescribeVpcClassicLinkDnsSupportOutput) GoString() string {
79771	return s.String()
79772}
79773
79774// SetNextToken sets the NextToken field's value.
79775func (s *DescribeVpcClassicLinkDnsSupportOutput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportOutput {
79776	s.NextToken = &v
79777	return s
79778}
79779
79780// SetVpcs sets the Vpcs field's value.
79781func (s *DescribeVpcClassicLinkDnsSupportOutput) SetVpcs(v []*ClassicLinkDnsSupport) *DescribeVpcClassicLinkDnsSupportOutput {
79782	s.Vpcs = v
79783	return s
79784}
79785
79786type DescribeVpcClassicLinkInput struct {
79787	_ struct{} `type:"structure"`
79788
79789	// Checks whether you have the required permissions for the action, without
79790	// actually making the request, and provides an error response. If you have
79791	// the required permissions, the error response is DryRunOperation. Otherwise,
79792	// it is UnauthorizedOperation.
79793	DryRun *bool `locationName:"dryRun" type:"boolean"`
79794
79795	// One or more filters.
79796	//
79797	//    * is-classic-link-enabled - Whether the VPC is enabled for ClassicLink
79798	//    (true | false).
79799	//
79800	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
79801	//    Use the tag key in the filter name and the tag value as the filter value.
79802	//    For example, to find all resources that have a tag with the key Owner
79803	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
79804	//    the filter value.
79805	//
79806	//    * tag-key - The key of a tag assigned to the resource. Use this filter
79807	//    to find all resources assigned a tag with a specific key, regardless of
79808	//    the tag value.
79809	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
79810
79811	// One or more VPCs for which you want to describe the ClassicLink status.
79812	VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
79813}
79814
79815// String returns the string representation
79816func (s DescribeVpcClassicLinkInput) String() string {
79817	return awsutil.Prettify(s)
79818}
79819
79820// GoString returns the string representation
79821func (s DescribeVpcClassicLinkInput) GoString() string {
79822	return s.String()
79823}
79824
79825// SetDryRun sets the DryRun field's value.
79826func (s *DescribeVpcClassicLinkInput) SetDryRun(v bool) *DescribeVpcClassicLinkInput {
79827	s.DryRun = &v
79828	return s
79829}
79830
79831// SetFilters sets the Filters field's value.
79832func (s *DescribeVpcClassicLinkInput) SetFilters(v []*Filter) *DescribeVpcClassicLinkInput {
79833	s.Filters = v
79834	return s
79835}
79836
79837// SetVpcIds sets the VpcIds field's value.
79838func (s *DescribeVpcClassicLinkInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkInput {
79839	s.VpcIds = v
79840	return s
79841}
79842
79843type DescribeVpcClassicLinkOutput struct {
79844	_ struct{} `type:"structure"`
79845
79846	// The ClassicLink status of one or more VPCs.
79847	Vpcs []*VpcClassicLink `locationName:"vpcSet" locationNameList:"item" type:"list"`
79848}
79849
79850// String returns the string representation
79851func (s DescribeVpcClassicLinkOutput) String() string {
79852	return awsutil.Prettify(s)
79853}
79854
79855// GoString returns the string representation
79856func (s DescribeVpcClassicLinkOutput) GoString() string {
79857	return s.String()
79858}
79859
79860// SetVpcs sets the Vpcs field's value.
79861func (s *DescribeVpcClassicLinkOutput) SetVpcs(v []*VpcClassicLink) *DescribeVpcClassicLinkOutput {
79862	s.Vpcs = v
79863	return s
79864}
79865
79866type DescribeVpcEndpointConnectionNotificationsInput struct {
79867	_ struct{} `type:"structure"`
79868
79869	// The ID of the notification.
79870	ConnectionNotificationId *string `type:"string"`
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 `type:"boolean"`
79877
79878	// One or more filters.
79879	//
79880	//    * connection-notification-arn - The ARN of the SNS topic for the notification.
79881	//
79882	//    * connection-notification-id - The ID of the notification.
79883	//
79884	//    * connection-notification-state - The state of the notification (Enabled
79885	//    | Disabled).
79886	//
79887	//    * connection-notification-type - The type of notification (Topic).
79888	//
79889	//    * service-id - The ID of the endpoint service.
79890	//
79891	//    * vpc-endpoint-id - The ID of the VPC endpoint.
79892	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
79893
79894	// The maximum number of results to return in a single call. To retrieve the
79895	// remaining results, make another request with the returned NextToken value.
79896	MaxResults *int64 `type:"integer"`
79897
79898	// The token to request the next page of results.
79899	NextToken *string `type:"string"`
79900}
79901
79902// String returns the string representation
79903func (s DescribeVpcEndpointConnectionNotificationsInput) String() string {
79904	return awsutil.Prettify(s)
79905}
79906
79907// GoString returns the string representation
79908func (s DescribeVpcEndpointConnectionNotificationsInput) GoString() string {
79909	return s.String()
79910}
79911
79912// SetConnectionNotificationId sets the ConnectionNotificationId field's value.
79913func (s *DescribeVpcEndpointConnectionNotificationsInput) SetConnectionNotificationId(v string) *DescribeVpcEndpointConnectionNotificationsInput {
79914	s.ConnectionNotificationId = &v
79915	return s
79916}
79917
79918// SetDryRun sets the DryRun field's value.
79919func (s *DescribeVpcEndpointConnectionNotificationsInput) SetDryRun(v bool) *DescribeVpcEndpointConnectionNotificationsInput {
79920	s.DryRun = &v
79921	return s
79922}
79923
79924// SetFilters sets the Filters field's value.
79925func (s *DescribeVpcEndpointConnectionNotificationsInput) SetFilters(v []*Filter) *DescribeVpcEndpointConnectionNotificationsInput {
79926	s.Filters = v
79927	return s
79928}
79929
79930// SetMaxResults sets the MaxResults field's value.
79931func (s *DescribeVpcEndpointConnectionNotificationsInput) SetMaxResults(v int64) *DescribeVpcEndpointConnectionNotificationsInput {
79932	s.MaxResults = &v
79933	return s
79934}
79935
79936// SetNextToken sets the NextToken field's value.
79937func (s *DescribeVpcEndpointConnectionNotificationsInput) SetNextToken(v string) *DescribeVpcEndpointConnectionNotificationsInput {
79938	s.NextToken = &v
79939	return s
79940}
79941
79942type DescribeVpcEndpointConnectionNotificationsOutput struct {
79943	_ struct{} `type:"structure"`
79944
79945	// One or more notifications.
79946	ConnectionNotificationSet []*ConnectionNotification `locationName:"connectionNotificationSet" locationNameList:"item" type:"list"`
79947
79948	// The token to use to retrieve the next page of results. This value is null
79949	// when there are no more results to return.
79950	NextToken *string `locationName:"nextToken" type:"string"`
79951}
79952
79953// String returns the string representation
79954func (s DescribeVpcEndpointConnectionNotificationsOutput) String() string {
79955	return awsutil.Prettify(s)
79956}
79957
79958// GoString returns the string representation
79959func (s DescribeVpcEndpointConnectionNotificationsOutput) GoString() string {
79960	return s.String()
79961}
79962
79963// SetConnectionNotificationSet sets the ConnectionNotificationSet field's value.
79964func (s *DescribeVpcEndpointConnectionNotificationsOutput) SetConnectionNotificationSet(v []*ConnectionNotification) *DescribeVpcEndpointConnectionNotificationsOutput {
79965	s.ConnectionNotificationSet = v
79966	return s
79967}
79968
79969// SetNextToken sets the NextToken field's value.
79970func (s *DescribeVpcEndpointConnectionNotificationsOutput) SetNextToken(v string) *DescribeVpcEndpointConnectionNotificationsOutput {
79971	s.NextToken = &v
79972	return s
79973}
79974
79975type DescribeVpcEndpointConnectionsInput struct {
79976	_ struct{} `type:"structure"`
79977
79978	// Checks whether you have the required permissions for the action, without
79979	// actually making the request, and provides an error response. If you have
79980	// the required permissions, the error response is DryRunOperation. Otherwise,
79981	// it is UnauthorizedOperation.
79982	DryRun *bool `type:"boolean"`
79983
79984	// One or more filters.
79985	//
79986	//    * service-id - The ID of the service.
79987	//
79988	//    * vpc-endpoint-owner - The AWS account number of the owner of the endpoint.
79989	//
79990	//    * vpc-endpoint-state - The state of the endpoint (pendingAcceptance |
79991	//    pending | available | deleting | deleted | rejected | failed).
79992	//
79993	//    * vpc-endpoint-id - The ID of the endpoint.
79994	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
79995
79996	// The maximum number of results to return for the request in a single page.
79997	// The remaining results of the initial request can be seen by sending another
79998	// request with the returned NextToken value. This value can be between 5 and
79999	// 1,000; if MaxResults is given a value larger than 1,000, only 1,000 results
80000	// are returned.
80001	MaxResults *int64 `type:"integer"`
80002
80003	// The token to retrieve the next page of results.
80004	NextToken *string `type:"string"`
80005}
80006
80007// String returns the string representation
80008func (s DescribeVpcEndpointConnectionsInput) String() string {
80009	return awsutil.Prettify(s)
80010}
80011
80012// GoString returns the string representation
80013func (s DescribeVpcEndpointConnectionsInput) GoString() string {
80014	return s.String()
80015}
80016
80017// SetDryRun sets the DryRun field's value.
80018func (s *DescribeVpcEndpointConnectionsInput) SetDryRun(v bool) *DescribeVpcEndpointConnectionsInput {
80019	s.DryRun = &v
80020	return s
80021}
80022
80023// SetFilters sets the Filters field's value.
80024func (s *DescribeVpcEndpointConnectionsInput) SetFilters(v []*Filter) *DescribeVpcEndpointConnectionsInput {
80025	s.Filters = v
80026	return s
80027}
80028
80029// SetMaxResults sets the MaxResults field's value.
80030func (s *DescribeVpcEndpointConnectionsInput) SetMaxResults(v int64) *DescribeVpcEndpointConnectionsInput {
80031	s.MaxResults = &v
80032	return s
80033}
80034
80035// SetNextToken sets the NextToken field's value.
80036func (s *DescribeVpcEndpointConnectionsInput) SetNextToken(v string) *DescribeVpcEndpointConnectionsInput {
80037	s.NextToken = &v
80038	return s
80039}
80040
80041type DescribeVpcEndpointConnectionsOutput struct {
80042	_ struct{} `type:"structure"`
80043
80044	// The token to use to retrieve the next page of results. This value is null
80045	// when there are no more results to return.
80046	NextToken *string `locationName:"nextToken" type:"string"`
80047
80048	// Information about one or more VPC endpoint connections.
80049	VpcEndpointConnections []*VpcEndpointConnection `locationName:"vpcEndpointConnectionSet" locationNameList:"item" type:"list"`
80050}
80051
80052// String returns the string representation
80053func (s DescribeVpcEndpointConnectionsOutput) String() string {
80054	return awsutil.Prettify(s)
80055}
80056
80057// GoString returns the string representation
80058func (s DescribeVpcEndpointConnectionsOutput) GoString() string {
80059	return s.String()
80060}
80061
80062// SetNextToken sets the NextToken field's value.
80063func (s *DescribeVpcEndpointConnectionsOutput) SetNextToken(v string) *DescribeVpcEndpointConnectionsOutput {
80064	s.NextToken = &v
80065	return s
80066}
80067
80068// SetVpcEndpointConnections sets the VpcEndpointConnections field's value.
80069func (s *DescribeVpcEndpointConnectionsOutput) SetVpcEndpointConnections(v []*VpcEndpointConnection) *DescribeVpcEndpointConnectionsOutput {
80070	s.VpcEndpointConnections = v
80071	return s
80072}
80073
80074type DescribeVpcEndpointServiceConfigurationsInput 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	// One or more filters.
80084	//
80085	//    * service-name - The name of the service.
80086	//
80087	//    * service-id - The ID of the service.
80088	//
80089	//    * service-state - The state of the service (Pending | Available | Deleting
80090	//    | Deleted | Failed).
80091	//
80092	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
80093	//    Use the tag key in the filter name and the tag value as the filter value.
80094	//    For example, to find all resources that have a tag with the key Owner
80095	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
80096	//    the filter value.
80097	//
80098	//    * tag-key - The key of a tag assigned to the resource. Use this filter
80099	//    to find all resources assigned a tag with a specific key, regardless of
80100	//    the tag value.
80101	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
80102
80103	// The maximum number of results to return for the request in a single page.
80104	// The remaining results of the initial request can be seen by sending another
80105	// request with the returned NextToken value. This value can be between 5 and
80106	// 1,000; if MaxResults is given a value larger than 1,000, only 1,000 results
80107	// are returned.
80108	MaxResults *int64 `type:"integer"`
80109
80110	// The token to retrieve the next page of results.
80111	NextToken *string `type:"string"`
80112
80113	// The IDs of one or more services.
80114	ServiceIds []*string `locationName:"ServiceId" locationNameList:"item" type:"list"`
80115}
80116
80117// String returns the string representation
80118func (s DescribeVpcEndpointServiceConfigurationsInput) String() string {
80119	return awsutil.Prettify(s)
80120}
80121
80122// GoString returns the string representation
80123func (s DescribeVpcEndpointServiceConfigurationsInput) GoString() string {
80124	return s.String()
80125}
80126
80127// SetDryRun sets the DryRun field's value.
80128func (s *DescribeVpcEndpointServiceConfigurationsInput) SetDryRun(v bool) *DescribeVpcEndpointServiceConfigurationsInput {
80129	s.DryRun = &v
80130	return s
80131}
80132
80133// SetFilters sets the Filters field's value.
80134func (s *DescribeVpcEndpointServiceConfigurationsInput) SetFilters(v []*Filter) *DescribeVpcEndpointServiceConfigurationsInput {
80135	s.Filters = v
80136	return s
80137}
80138
80139// SetMaxResults sets the MaxResults field's value.
80140func (s *DescribeVpcEndpointServiceConfigurationsInput) SetMaxResults(v int64) *DescribeVpcEndpointServiceConfigurationsInput {
80141	s.MaxResults = &v
80142	return s
80143}
80144
80145// SetNextToken sets the NextToken field's value.
80146func (s *DescribeVpcEndpointServiceConfigurationsInput) SetNextToken(v string) *DescribeVpcEndpointServiceConfigurationsInput {
80147	s.NextToken = &v
80148	return s
80149}
80150
80151// SetServiceIds sets the ServiceIds field's value.
80152func (s *DescribeVpcEndpointServiceConfigurationsInput) SetServiceIds(v []*string) *DescribeVpcEndpointServiceConfigurationsInput {
80153	s.ServiceIds = v
80154	return s
80155}
80156
80157type DescribeVpcEndpointServiceConfigurationsOutput struct {
80158	_ struct{} `type:"structure"`
80159
80160	// The token to use to retrieve the next page of results. This value is null
80161	// when there are no more results to return.
80162	NextToken *string `locationName:"nextToken" type:"string"`
80163
80164	// Information about one or more services.
80165	ServiceConfigurations []*ServiceConfiguration `locationName:"serviceConfigurationSet" locationNameList:"item" type:"list"`
80166}
80167
80168// String returns the string representation
80169func (s DescribeVpcEndpointServiceConfigurationsOutput) String() string {
80170	return awsutil.Prettify(s)
80171}
80172
80173// GoString returns the string representation
80174func (s DescribeVpcEndpointServiceConfigurationsOutput) GoString() string {
80175	return s.String()
80176}
80177
80178// SetNextToken sets the NextToken field's value.
80179func (s *DescribeVpcEndpointServiceConfigurationsOutput) SetNextToken(v string) *DescribeVpcEndpointServiceConfigurationsOutput {
80180	s.NextToken = &v
80181	return s
80182}
80183
80184// SetServiceConfigurations sets the ServiceConfigurations field's value.
80185func (s *DescribeVpcEndpointServiceConfigurationsOutput) SetServiceConfigurations(v []*ServiceConfiguration) *DescribeVpcEndpointServiceConfigurationsOutput {
80186	s.ServiceConfigurations = v
80187	return s
80188}
80189
80190type DescribeVpcEndpointServicePermissionsInput struct {
80191	_ struct{} `type:"structure"`
80192
80193	// Checks whether you have the required permissions for the action, without
80194	// actually making the request, and provides an error response. If you have
80195	// the required permissions, the error response is DryRunOperation. Otherwise,
80196	// it is UnauthorizedOperation.
80197	DryRun *bool `type:"boolean"`
80198
80199	// One or more filters.
80200	//
80201	//    * principal - The ARN of the principal.
80202	//
80203	//    * principal-type - The principal type (All | Service | OrganizationUnit
80204	//    | Account | User | Role).
80205	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
80206
80207	// The maximum number of results to return for the request in a single page.
80208	// The remaining results of the initial request can be seen by sending another
80209	// request with the returned NextToken value. This value can be between 5 and
80210	// 1,000; if MaxResults is given a value larger than 1,000, only 1,000 results
80211	// are returned.
80212	MaxResults *int64 `type:"integer"`
80213
80214	// The token to retrieve the next page of results.
80215	NextToken *string `type:"string"`
80216
80217	// The ID of the service.
80218	//
80219	// ServiceId is a required field
80220	ServiceId *string `type:"string" required:"true"`
80221}
80222
80223// String returns the string representation
80224func (s DescribeVpcEndpointServicePermissionsInput) String() string {
80225	return awsutil.Prettify(s)
80226}
80227
80228// GoString returns the string representation
80229func (s DescribeVpcEndpointServicePermissionsInput) GoString() string {
80230	return s.String()
80231}
80232
80233// Validate inspects the fields of the type to determine if they are valid.
80234func (s *DescribeVpcEndpointServicePermissionsInput) Validate() error {
80235	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcEndpointServicePermissionsInput"}
80236	if s.ServiceId == nil {
80237		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
80238	}
80239
80240	if invalidParams.Len() > 0 {
80241		return invalidParams
80242	}
80243	return nil
80244}
80245
80246// SetDryRun sets the DryRun field's value.
80247func (s *DescribeVpcEndpointServicePermissionsInput) SetDryRun(v bool) *DescribeVpcEndpointServicePermissionsInput {
80248	s.DryRun = &v
80249	return s
80250}
80251
80252// SetFilters sets the Filters field's value.
80253func (s *DescribeVpcEndpointServicePermissionsInput) SetFilters(v []*Filter) *DescribeVpcEndpointServicePermissionsInput {
80254	s.Filters = v
80255	return s
80256}
80257
80258// SetMaxResults sets the MaxResults field's value.
80259func (s *DescribeVpcEndpointServicePermissionsInput) SetMaxResults(v int64) *DescribeVpcEndpointServicePermissionsInput {
80260	s.MaxResults = &v
80261	return s
80262}
80263
80264// SetNextToken sets the NextToken field's value.
80265func (s *DescribeVpcEndpointServicePermissionsInput) SetNextToken(v string) *DescribeVpcEndpointServicePermissionsInput {
80266	s.NextToken = &v
80267	return s
80268}
80269
80270// SetServiceId sets the ServiceId field's value.
80271func (s *DescribeVpcEndpointServicePermissionsInput) SetServiceId(v string) *DescribeVpcEndpointServicePermissionsInput {
80272	s.ServiceId = &v
80273	return s
80274}
80275
80276type DescribeVpcEndpointServicePermissionsOutput struct {
80277	_ struct{} `type:"structure"`
80278
80279	// Information about one or more allowed principals.
80280	AllowedPrincipals []*AllowedPrincipal `locationName:"allowedPrincipals" locationNameList:"item" type:"list"`
80281
80282	// The token to use to retrieve the next page of results. This value is null
80283	// when there are no more results to return.
80284	NextToken *string `locationName:"nextToken" type:"string"`
80285}
80286
80287// String returns the string representation
80288func (s DescribeVpcEndpointServicePermissionsOutput) String() string {
80289	return awsutil.Prettify(s)
80290}
80291
80292// GoString returns the string representation
80293func (s DescribeVpcEndpointServicePermissionsOutput) GoString() string {
80294	return s.String()
80295}
80296
80297// SetAllowedPrincipals sets the AllowedPrincipals field's value.
80298func (s *DescribeVpcEndpointServicePermissionsOutput) SetAllowedPrincipals(v []*AllowedPrincipal) *DescribeVpcEndpointServicePermissionsOutput {
80299	s.AllowedPrincipals = v
80300	return s
80301}
80302
80303// SetNextToken sets the NextToken field's value.
80304func (s *DescribeVpcEndpointServicePermissionsOutput) SetNextToken(v string) *DescribeVpcEndpointServicePermissionsOutput {
80305	s.NextToken = &v
80306	return s
80307}
80308
80309// Contains the parameters for DescribeVpcEndpointServices.
80310type DescribeVpcEndpointServicesInput struct {
80311	_ struct{} `type:"structure"`
80312
80313	// Checks whether you have the required permissions for the action, without
80314	// actually making the request, and provides an error response. If you have
80315	// the required permissions, the error response is DryRunOperation. Otherwise,
80316	// it is UnauthorizedOperation.
80317	DryRun *bool `type:"boolean"`
80318
80319	// One or more filters.
80320	//
80321	//    * service-name - The name of the service.
80322	//
80323	//    * service-type - The type of service (Interface | Gateway).
80324	//
80325	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
80326	//    Use the tag key in the filter name and the tag value as the filter value.
80327	//    For example, to find all resources that have a tag with the key Owner
80328	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
80329	//    the filter value.
80330	//
80331	//    * tag-key - The key of a tag assigned to the resource. Use this filter
80332	//    to find all resources assigned a tag with a specific key, regardless of
80333	//    the tag value.
80334	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
80335
80336	// The maximum number of items to return for this request. The request returns
80337	// a token that you can specify in a subsequent call to get the next set of
80338	// results.
80339	//
80340	// Constraint: If the value is greater than 1,000, we return only 1,000 items.
80341	MaxResults *int64 `type:"integer"`
80342
80343	// The token for the next set of items to return. (You received this token from
80344	// a prior call.)
80345	NextToken *string `type:"string"`
80346
80347	// One or more service names.
80348	ServiceNames []*string `locationName:"ServiceName" locationNameList:"item" type:"list"`
80349}
80350
80351// String returns the string representation
80352func (s DescribeVpcEndpointServicesInput) String() string {
80353	return awsutil.Prettify(s)
80354}
80355
80356// GoString returns the string representation
80357func (s DescribeVpcEndpointServicesInput) GoString() string {
80358	return s.String()
80359}
80360
80361// SetDryRun sets the DryRun field's value.
80362func (s *DescribeVpcEndpointServicesInput) SetDryRun(v bool) *DescribeVpcEndpointServicesInput {
80363	s.DryRun = &v
80364	return s
80365}
80366
80367// SetFilters sets the Filters field's value.
80368func (s *DescribeVpcEndpointServicesInput) SetFilters(v []*Filter) *DescribeVpcEndpointServicesInput {
80369	s.Filters = v
80370	return s
80371}
80372
80373// SetMaxResults sets the MaxResults field's value.
80374func (s *DescribeVpcEndpointServicesInput) SetMaxResults(v int64) *DescribeVpcEndpointServicesInput {
80375	s.MaxResults = &v
80376	return s
80377}
80378
80379// SetNextToken sets the NextToken field's value.
80380func (s *DescribeVpcEndpointServicesInput) SetNextToken(v string) *DescribeVpcEndpointServicesInput {
80381	s.NextToken = &v
80382	return s
80383}
80384
80385// SetServiceNames sets the ServiceNames field's value.
80386func (s *DescribeVpcEndpointServicesInput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesInput {
80387	s.ServiceNames = v
80388	return s
80389}
80390
80391// Contains the output of DescribeVpcEndpointServices.
80392type DescribeVpcEndpointServicesOutput struct {
80393	_ struct{} `type:"structure"`
80394
80395	// The token to use when requesting the next set of items. If there are no additional
80396	// items to return, the string is empty.
80397	NextToken *string `locationName:"nextToken" type:"string"`
80398
80399	// Information about the service.
80400	ServiceDetails []*ServiceDetail `locationName:"serviceDetailSet" locationNameList:"item" type:"list"`
80401
80402	// A list of supported services.
80403	ServiceNames []*string `locationName:"serviceNameSet" locationNameList:"item" type:"list"`
80404}
80405
80406// String returns the string representation
80407func (s DescribeVpcEndpointServicesOutput) String() string {
80408	return awsutil.Prettify(s)
80409}
80410
80411// GoString returns the string representation
80412func (s DescribeVpcEndpointServicesOutput) GoString() string {
80413	return s.String()
80414}
80415
80416// SetNextToken sets the NextToken field's value.
80417func (s *DescribeVpcEndpointServicesOutput) SetNextToken(v string) *DescribeVpcEndpointServicesOutput {
80418	s.NextToken = &v
80419	return s
80420}
80421
80422// SetServiceDetails sets the ServiceDetails field's value.
80423func (s *DescribeVpcEndpointServicesOutput) SetServiceDetails(v []*ServiceDetail) *DescribeVpcEndpointServicesOutput {
80424	s.ServiceDetails = v
80425	return s
80426}
80427
80428// SetServiceNames sets the ServiceNames field's value.
80429func (s *DescribeVpcEndpointServicesOutput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesOutput {
80430	s.ServiceNames = v
80431	return s
80432}
80433
80434// Contains the parameters for DescribeVpcEndpoints.
80435type DescribeVpcEndpointsInput struct {
80436	_ struct{} `type:"structure"`
80437
80438	// Checks whether you have the required permissions for the action, without
80439	// actually making the request, and provides an error response. If you have
80440	// the required permissions, the error response is DryRunOperation. Otherwise,
80441	// it is UnauthorizedOperation.
80442	DryRun *bool `type:"boolean"`
80443
80444	// One or more filters.
80445	//
80446	//    * service-name - The name of the service.
80447	//
80448	//    * vpc-id - The ID of the VPC in which the endpoint resides.
80449	//
80450	//    * vpc-endpoint-id - The ID of the endpoint.
80451	//
80452	//    * vpc-endpoint-state - The state of the endpoint (pendingAcceptance |
80453	//    pending | available | deleting | deleted | rejected | failed).
80454	//
80455	//    * vpc-endpoint-type - The type of VPC endpoint (Interface | Gateway |
80456	//    GatewayLoadBalancer).
80457	//
80458	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
80459	//    Use the tag key in the filter name and the tag value as the filter value.
80460	//    For example, to find all resources that have a tag with the key Owner
80461	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
80462	//    the filter value.
80463	//
80464	//    * tag-key - The key of a tag assigned to the resource. Use this filter
80465	//    to find all resources assigned a tag with a specific key, regardless of
80466	//    the tag value.
80467	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
80468
80469	// The maximum number of items to return for this request. The request returns
80470	// a token that you can specify in a subsequent call to get the next set of
80471	// results.
80472	//
80473	// Constraint: If the value is greater than 1,000, we return only 1,000 items.
80474	MaxResults *int64 `type:"integer"`
80475
80476	// The token for the next set of items to return. (You received this token from
80477	// a prior call.)
80478	NextToken *string `type:"string"`
80479
80480	// One or more endpoint IDs.
80481	VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list"`
80482}
80483
80484// String returns the string representation
80485func (s DescribeVpcEndpointsInput) String() string {
80486	return awsutil.Prettify(s)
80487}
80488
80489// GoString returns the string representation
80490func (s DescribeVpcEndpointsInput) GoString() string {
80491	return s.String()
80492}
80493
80494// SetDryRun sets the DryRun field's value.
80495func (s *DescribeVpcEndpointsInput) SetDryRun(v bool) *DescribeVpcEndpointsInput {
80496	s.DryRun = &v
80497	return s
80498}
80499
80500// SetFilters sets the Filters field's value.
80501func (s *DescribeVpcEndpointsInput) SetFilters(v []*Filter) *DescribeVpcEndpointsInput {
80502	s.Filters = v
80503	return s
80504}
80505
80506// SetMaxResults sets the MaxResults field's value.
80507func (s *DescribeVpcEndpointsInput) SetMaxResults(v int64) *DescribeVpcEndpointsInput {
80508	s.MaxResults = &v
80509	return s
80510}
80511
80512// SetNextToken sets the NextToken field's value.
80513func (s *DescribeVpcEndpointsInput) SetNextToken(v string) *DescribeVpcEndpointsInput {
80514	s.NextToken = &v
80515	return s
80516}
80517
80518// SetVpcEndpointIds sets the VpcEndpointIds field's value.
80519func (s *DescribeVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DescribeVpcEndpointsInput {
80520	s.VpcEndpointIds = v
80521	return s
80522}
80523
80524// Contains the output of DescribeVpcEndpoints.
80525type DescribeVpcEndpointsOutput struct {
80526	_ struct{} `type:"structure"`
80527
80528	// The token to use when requesting the next set of items. If there are no additional
80529	// items to return, the string is empty.
80530	NextToken *string `locationName:"nextToken" type:"string"`
80531
80532	// Information about the endpoints.
80533	VpcEndpoints []*VpcEndpoint `locationName:"vpcEndpointSet" locationNameList:"item" type:"list"`
80534}
80535
80536// String returns the string representation
80537func (s DescribeVpcEndpointsOutput) String() string {
80538	return awsutil.Prettify(s)
80539}
80540
80541// GoString returns the string representation
80542func (s DescribeVpcEndpointsOutput) GoString() string {
80543	return s.String()
80544}
80545
80546// SetNextToken sets the NextToken field's value.
80547func (s *DescribeVpcEndpointsOutput) SetNextToken(v string) *DescribeVpcEndpointsOutput {
80548	s.NextToken = &v
80549	return s
80550}
80551
80552// SetVpcEndpoints sets the VpcEndpoints field's value.
80553func (s *DescribeVpcEndpointsOutput) SetVpcEndpoints(v []*VpcEndpoint) *DescribeVpcEndpointsOutput {
80554	s.VpcEndpoints = v
80555	return s
80556}
80557
80558type DescribeVpcPeeringConnectionsInput struct {
80559	_ struct{} `type:"structure"`
80560
80561	// Checks whether you have the required permissions for the action, without
80562	// actually making the request, and provides an error response. If you have
80563	// the required permissions, the error response is DryRunOperation. Otherwise,
80564	// it is UnauthorizedOperation.
80565	DryRun *bool `locationName:"dryRun" type:"boolean"`
80566
80567	// One or more filters.
80568	//
80569	//    * accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter VPC.
80570	//
80571	//    * accepter-vpc-info.owner-id - The ID of the Amazon Web Services account
80572	//    that owns the accepter VPC.
80573	//
80574	//    * accepter-vpc-info.vpc-id - The ID of the accepter VPC.
80575	//
80576	//    * expiration-time - The expiration date and time for the VPC peering connection.
80577	//
80578	//    * requester-vpc-info.cidr-block - The IPv4 CIDR block of the requester's
80579	//    VPC.
80580	//
80581	//    * requester-vpc-info.owner-id - The ID of the Amazon Web Services account
80582	//    that owns the requester VPC.
80583	//
80584	//    * requester-vpc-info.vpc-id - The ID of the requester VPC.
80585	//
80586	//    * status-code - The status of the VPC peering connection (pending-acceptance
80587	//    | failed | expired | provisioning | active | deleting | deleted | rejected).
80588	//
80589	//    * status-message - A message that provides more information about the
80590	//    status of the VPC peering connection, if applicable.
80591	//
80592	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
80593	//    Use the tag key in the filter name and the tag value as the filter value.
80594	//    For example, to find all resources that have a tag with the key Owner
80595	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
80596	//    the filter value.
80597	//
80598	//    * tag-key - The key of a tag assigned to the resource. Use this filter
80599	//    to find all resources assigned a tag with a specific key, regardless of
80600	//    the tag value.
80601	//
80602	//    * vpc-peering-connection-id - The ID of the VPC peering connection.
80603	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
80604
80605	// The maximum number of results to return with a single call. To retrieve the
80606	// remaining results, make another call with the returned nextToken value.
80607	MaxResults *int64 `min:"5" type:"integer"`
80608
80609	// The token for the next page of results.
80610	NextToken *string `type:"string"`
80611
80612	// One or more VPC peering connection IDs.
80613	//
80614	// Default: Describes all your VPC peering connections.
80615	VpcPeeringConnectionIds []*string `locationName:"VpcPeeringConnectionId" locationNameList:"item" type:"list"`
80616}
80617
80618// String returns the string representation
80619func (s DescribeVpcPeeringConnectionsInput) String() string {
80620	return awsutil.Prettify(s)
80621}
80622
80623// GoString returns the string representation
80624func (s DescribeVpcPeeringConnectionsInput) GoString() string {
80625	return s.String()
80626}
80627
80628// Validate inspects the fields of the type to determine if they are valid.
80629func (s *DescribeVpcPeeringConnectionsInput) Validate() error {
80630	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcPeeringConnectionsInput"}
80631	if s.MaxResults != nil && *s.MaxResults < 5 {
80632		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
80633	}
80634
80635	if invalidParams.Len() > 0 {
80636		return invalidParams
80637	}
80638	return nil
80639}
80640
80641// SetDryRun sets the DryRun field's value.
80642func (s *DescribeVpcPeeringConnectionsInput) SetDryRun(v bool) *DescribeVpcPeeringConnectionsInput {
80643	s.DryRun = &v
80644	return s
80645}
80646
80647// SetFilters sets the Filters field's value.
80648func (s *DescribeVpcPeeringConnectionsInput) SetFilters(v []*Filter) *DescribeVpcPeeringConnectionsInput {
80649	s.Filters = v
80650	return s
80651}
80652
80653// SetMaxResults sets the MaxResults field's value.
80654func (s *DescribeVpcPeeringConnectionsInput) SetMaxResults(v int64) *DescribeVpcPeeringConnectionsInput {
80655	s.MaxResults = &v
80656	return s
80657}
80658
80659// SetNextToken sets the NextToken field's value.
80660func (s *DescribeVpcPeeringConnectionsInput) SetNextToken(v string) *DescribeVpcPeeringConnectionsInput {
80661	s.NextToken = &v
80662	return s
80663}
80664
80665// SetVpcPeeringConnectionIds sets the VpcPeeringConnectionIds field's value.
80666func (s *DescribeVpcPeeringConnectionsInput) SetVpcPeeringConnectionIds(v []*string) *DescribeVpcPeeringConnectionsInput {
80667	s.VpcPeeringConnectionIds = v
80668	return s
80669}
80670
80671type DescribeVpcPeeringConnectionsOutput struct {
80672	_ struct{} `type:"structure"`
80673
80674	// The token to use to retrieve the next page of results. This value is null
80675	// when there are no more results to return.
80676	NextToken *string `locationName:"nextToken" type:"string"`
80677
80678	// Information about the VPC peering connections.
80679	VpcPeeringConnections []*VpcPeeringConnection `locationName:"vpcPeeringConnectionSet" locationNameList:"item" type:"list"`
80680}
80681
80682// String returns the string representation
80683func (s DescribeVpcPeeringConnectionsOutput) String() string {
80684	return awsutil.Prettify(s)
80685}
80686
80687// GoString returns the string representation
80688func (s DescribeVpcPeeringConnectionsOutput) GoString() string {
80689	return s.String()
80690}
80691
80692// SetNextToken sets the NextToken field's value.
80693func (s *DescribeVpcPeeringConnectionsOutput) SetNextToken(v string) *DescribeVpcPeeringConnectionsOutput {
80694	s.NextToken = &v
80695	return s
80696}
80697
80698// SetVpcPeeringConnections sets the VpcPeeringConnections field's value.
80699func (s *DescribeVpcPeeringConnectionsOutput) SetVpcPeeringConnections(v []*VpcPeeringConnection) *DescribeVpcPeeringConnectionsOutput {
80700	s.VpcPeeringConnections = v
80701	return s
80702}
80703
80704type DescribeVpcsInput struct {
80705	_ struct{} `type:"structure"`
80706
80707	// Checks whether you have the required permissions for the action, without
80708	// actually making the request, and provides an error response. If you have
80709	// the required permissions, the error response is DryRunOperation. Otherwise,
80710	// it is UnauthorizedOperation.
80711	DryRun *bool `locationName:"dryRun" type:"boolean"`
80712
80713	// One or more filters.
80714	//
80715	//    * cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you specify
80716	//    must exactly match the VPC's CIDR block for information to be returned
80717	//    for the VPC. Must contain the slash followed by one or two digits (for
80718	//    example, /28).
80719	//
80720	//    * cidr-block-association.cidr-block - An IPv4 CIDR block associated with
80721	//    the VPC.
80722	//
80723	//    * cidr-block-association.association-id - The association ID for an IPv4
80724	//    CIDR block associated with the VPC.
80725	//
80726	//    * cidr-block-association.state - The state of an IPv4 CIDR block associated
80727	//    with the VPC.
80728	//
80729	//    * dhcp-options-id - The ID of a set of DHCP options.
80730	//
80731	//    * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
80732	//    with the VPC.
80733	//
80734	//    * ipv6-cidr-block-association.ipv6-pool - The ID of the IPv6 address pool
80735	//    from which the IPv6 CIDR block is allocated.
80736	//
80737	//    * ipv6-cidr-block-association.association-id - The association ID for
80738	//    an IPv6 CIDR block associated with the VPC.
80739	//
80740	//    * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
80741	//    associated with the VPC.
80742	//
80743	//    * is-default - Indicates whether the VPC is the default VPC.
80744	//
80745	//    * owner-id - The ID of the Amazon Web Services account that owns the VPC.
80746	//
80747	//    * state - The state of the VPC (pending | available).
80748	//
80749	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
80750	//    Use the tag key in the filter name and the tag value as the filter value.
80751	//    For example, to find all resources that have a tag with the key Owner
80752	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
80753	//    the filter value.
80754	//
80755	//    * tag-key - The key of a tag assigned to the resource. Use this filter
80756	//    to find all resources assigned a tag with a specific key, regardless of
80757	//    the tag value.
80758	//
80759	//    * vpc-id - The ID of the VPC.
80760	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
80761
80762	// The maximum number of results to return with a single call. To retrieve the
80763	// remaining results, make another call with the returned nextToken value.
80764	MaxResults *int64 `min:"5" type:"integer"`
80765
80766	// The token for the next page of results.
80767	NextToken *string `type:"string"`
80768
80769	// One or more VPC IDs.
80770	//
80771	// Default: Describes all your VPCs.
80772	VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
80773}
80774
80775// String returns the string representation
80776func (s DescribeVpcsInput) String() string {
80777	return awsutil.Prettify(s)
80778}
80779
80780// GoString returns the string representation
80781func (s DescribeVpcsInput) GoString() string {
80782	return s.String()
80783}
80784
80785// Validate inspects the fields of the type to determine if they are valid.
80786func (s *DescribeVpcsInput) Validate() error {
80787	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcsInput"}
80788	if s.MaxResults != nil && *s.MaxResults < 5 {
80789		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
80790	}
80791
80792	if invalidParams.Len() > 0 {
80793		return invalidParams
80794	}
80795	return nil
80796}
80797
80798// SetDryRun sets the DryRun field's value.
80799func (s *DescribeVpcsInput) SetDryRun(v bool) *DescribeVpcsInput {
80800	s.DryRun = &v
80801	return s
80802}
80803
80804// SetFilters sets the Filters field's value.
80805func (s *DescribeVpcsInput) SetFilters(v []*Filter) *DescribeVpcsInput {
80806	s.Filters = v
80807	return s
80808}
80809
80810// SetMaxResults sets the MaxResults field's value.
80811func (s *DescribeVpcsInput) SetMaxResults(v int64) *DescribeVpcsInput {
80812	s.MaxResults = &v
80813	return s
80814}
80815
80816// SetNextToken sets the NextToken field's value.
80817func (s *DescribeVpcsInput) SetNextToken(v string) *DescribeVpcsInput {
80818	s.NextToken = &v
80819	return s
80820}
80821
80822// SetVpcIds sets the VpcIds field's value.
80823func (s *DescribeVpcsInput) SetVpcIds(v []*string) *DescribeVpcsInput {
80824	s.VpcIds = v
80825	return s
80826}
80827
80828type DescribeVpcsOutput struct {
80829	_ struct{} `type:"structure"`
80830
80831	// The token to use to retrieve the next page of results. This value is null
80832	// when there are no more results to return.
80833	NextToken *string `locationName:"nextToken" type:"string"`
80834
80835	// Information about one or more VPCs.
80836	Vpcs []*Vpc `locationName:"vpcSet" locationNameList:"item" type:"list"`
80837}
80838
80839// String returns the string representation
80840func (s DescribeVpcsOutput) String() string {
80841	return awsutil.Prettify(s)
80842}
80843
80844// GoString returns the string representation
80845func (s DescribeVpcsOutput) GoString() string {
80846	return s.String()
80847}
80848
80849// SetNextToken sets the NextToken field's value.
80850func (s *DescribeVpcsOutput) SetNextToken(v string) *DescribeVpcsOutput {
80851	s.NextToken = &v
80852	return s
80853}
80854
80855// SetVpcs sets the Vpcs field's value.
80856func (s *DescribeVpcsOutput) SetVpcs(v []*Vpc) *DescribeVpcsOutput {
80857	s.Vpcs = v
80858	return s
80859}
80860
80861// Contains the parameters for DescribeVpnConnections.
80862type DescribeVpnConnectionsInput struct {
80863	_ struct{} `type:"structure"`
80864
80865	// Checks whether you have the required permissions for the action, without
80866	// actually making the request, and provides an error response. If you have
80867	// the required permissions, the error response is DryRunOperation. Otherwise,
80868	// it is UnauthorizedOperation.
80869	DryRun *bool `locationName:"dryRun" type:"boolean"`
80870
80871	// One or more filters.
80872	//
80873	//    * customer-gateway-configuration - The configuration information for the
80874	//    customer gateway.
80875	//
80876	//    * customer-gateway-id - The ID of a customer gateway associated with the
80877	//    VPN connection.
80878	//
80879	//    * state - The state of the VPN connection (pending | available | deleting
80880	//    | deleted).
80881	//
80882	//    * option.static-routes-only - Indicates whether the connection has static
80883	//    routes only. Used for devices that do not support Border Gateway Protocol
80884	//    (BGP).
80885	//
80886	//    * route.destination-cidr-block - The destination CIDR block. This corresponds
80887	//    to the subnet used in a customer data center.
80888	//
80889	//    * bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP
80890	//    device.
80891	//
80892	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
80893	//    Use the tag key in the filter name and the tag value as the filter value.
80894	//    For example, to find all resources that have a tag with the key Owner
80895	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
80896	//    the filter value.
80897	//
80898	//    * tag-key - The key of a tag assigned to the resource. Use this filter
80899	//    to find all resources assigned a tag with a specific key, regardless of
80900	//    the tag value.
80901	//
80902	//    * type - The type of VPN connection. Currently the only supported type
80903	//    is ipsec.1.
80904	//
80905	//    * vpn-connection-id - The ID of the VPN connection.
80906	//
80907	//    * vpn-gateway-id - The ID of a virtual private gateway associated with
80908	//    the VPN connection.
80909	//
80910	//    * transit-gateway-id - The ID of a transit gateway associated with the
80911	//    VPN connection.
80912	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
80913
80914	// One or more VPN connection IDs.
80915	//
80916	// Default: Describes your VPN connections.
80917	VpnConnectionIds []*string `locationName:"VpnConnectionId" locationNameList:"VpnConnectionId" type:"list"`
80918}
80919
80920// String returns the string representation
80921func (s DescribeVpnConnectionsInput) String() string {
80922	return awsutil.Prettify(s)
80923}
80924
80925// GoString returns the string representation
80926func (s DescribeVpnConnectionsInput) GoString() string {
80927	return s.String()
80928}
80929
80930// SetDryRun sets the DryRun field's value.
80931func (s *DescribeVpnConnectionsInput) SetDryRun(v bool) *DescribeVpnConnectionsInput {
80932	s.DryRun = &v
80933	return s
80934}
80935
80936// SetFilters sets the Filters field's value.
80937func (s *DescribeVpnConnectionsInput) SetFilters(v []*Filter) *DescribeVpnConnectionsInput {
80938	s.Filters = v
80939	return s
80940}
80941
80942// SetVpnConnectionIds sets the VpnConnectionIds field's value.
80943func (s *DescribeVpnConnectionsInput) SetVpnConnectionIds(v []*string) *DescribeVpnConnectionsInput {
80944	s.VpnConnectionIds = v
80945	return s
80946}
80947
80948// Contains the output of DescribeVpnConnections.
80949type DescribeVpnConnectionsOutput struct {
80950	_ struct{} `type:"structure"`
80951
80952	// Information about one or more VPN connections.
80953	VpnConnections []*VpnConnection `locationName:"vpnConnectionSet" locationNameList:"item" type:"list"`
80954}
80955
80956// String returns the string representation
80957func (s DescribeVpnConnectionsOutput) String() string {
80958	return awsutil.Prettify(s)
80959}
80960
80961// GoString returns the string representation
80962func (s DescribeVpnConnectionsOutput) GoString() string {
80963	return s.String()
80964}
80965
80966// SetVpnConnections sets the VpnConnections field's value.
80967func (s *DescribeVpnConnectionsOutput) SetVpnConnections(v []*VpnConnection) *DescribeVpnConnectionsOutput {
80968	s.VpnConnections = v
80969	return s
80970}
80971
80972// Contains the parameters for DescribeVpnGateways.
80973type DescribeVpnGatewaysInput struct {
80974	_ struct{} `type:"structure"`
80975
80976	// Checks whether you have the required permissions for the action, without
80977	// actually making the request, and provides an error response. If you have
80978	// the required permissions, the error response is DryRunOperation. Otherwise,
80979	// it is UnauthorizedOperation.
80980	DryRun *bool `locationName:"dryRun" type:"boolean"`
80981
80982	// One or more filters.
80983	//
80984	//    * amazon-side-asn - The Autonomous System Number (ASN) for the Amazon
80985	//    side of the gateway.
80986	//
80987	//    * attachment.state - The current state of the attachment between the gateway
80988	//    and the VPC (attaching | attached | detaching | detached).
80989	//
80990	//    * attachment.vpc-id - The ID of an attached VPC.
80991	//
80992	//    * availability-zone - The Availability Zone for the virtual private gateway
80993	//    (if applicable).
80994	//
80995	//    * state - The state of the virtual private gateway (pending | available
80996	//    | deleting | deleted).
80997	//
80998	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
80999	//    Use the tag key in the filter name and the tag value as the filter value.
81000	//    For example, to find all resources that have a tag with the key Owner
81001	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
81002	//    the filter value.
81003	//
81004	//    * tag-key - The key of a tag assigned to the resource. Use this filter
81005	//    to find all resources assigned a tag with a specific key, regardless of
81006	//    the tag value.
81007	//
81008	//    * type - The type of virtual private gateway. Currently the only supported
81009	//    type is ipsec.1.
81010	//
81011	//    * vpn-gateway-id - The ID of the virtual private gateway.
81012	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
81013
81014	// One or more virtual private gateway IDs.
81015	//
81016	// Default: Describes all your virtual private gateways.
81017	VpnGatewayIds []*string `locationName:"VpnGatewayId" locationNameList:"VpnGatewayId" type:"list"`
81018}
81019
81020// String returns the string representation
81021func (s DescribeVpnGatewaysInput) String() string {
81022	return awsutil.Prettify(s)
81023}
81024
81025// GoString returns the string representation
81026func (s DescribeVpnGatewaysInput) GoString() string {
81027	return s.String()
81028}
81029
81030// SetDryRun sets the DryRun field's value.
81031func (s *DescribeVpnGatewaysInput) SetDryRun(v bool) *DescribeVpnGatewaysInput {
81032	s.DryRun = &v
81033	return s
81034}
81035
81036// SetFilters sets the Filters field's value.
81037func (s *DescribeVpnGatewaysInput) SetFilters(v []*Filter) *DescribeVpnGatewaysInput {
81038	s.Filters = v
81039	return s
81040}
81041
81042// SetVpnGatewayIds sets the VpnGatewayIds field's value.
81043func (s *DescribeVpnGatewaysInput) SetVpnGatewayIds(v []*string) *DescribeVpnGatewaysInput {
81044	s.VpnGatewayIds = v
81045	return s
81046}
81047
81048// Contains the output of DescribeVpnGateways.
81049type DescribeVpnGatewaysOutput struct {
81050	_ struct{} `type:"structure"`
81051
81052	// Information about one or more virtual private gateways.
81053	VpnGateways []*VpnGateway `locationName:"vpnGatewaySet" locationNameList:"item" type:"list"`
81054}
81055
81056// String returns the string representation
81057func (s DescribeVpnGatewaysOutput) String() string {
81058	return awsutil.Prettify(s)
81059}
81060
81061// GoString returns the string representation
81062func (s DescribeVpnGatewaysOutput) GoString() string {
81063	return s.String()
81064}
81065
81066// SetVpnGateways sets the VpnGateways field's value.
81067func (s *DescribeVpnGatewaysOutput) SetVpnGateways(v []*VpnGateway) *DescribeVpnGatewaysOutput {
81068	s.VpnGateways = v
81069	return s
81070}
81071
81072type DetachClassicLinkVpcInput struct {
81073	_ struct{} `type:"structure"`
81074
81075	// Checks whether you have the required permissions for the action, without
81076	// actually making the request, and provides an error response. If you have
81077	// the required permissions, the error response is DryRunOperation. Otherwise,
81078	// it is UnauthorizedOperation.
81079	DryRun *bool `locationName:"dryRun" type:"boolean"`
81080
81081	// The ID of the instance to unlink from the VPC.
81082	//
81083	// InstanceId is a required field
81084	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
81085
81086	// The ID of the VPC to which the instance is linked.
81087	//
81088	// VpcId is a required field
81089	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
81090}
81091
81092// String returns the string representation
81093func (s DetachClassicLinkVpcInput) String() string {
81094	return awsutil.Prettify(s)
81095}
81096
81097// GoString returns the string representation
81098func (s DetachClassicLinkVpcInput) GoString() string {
81099	return s.String()
81100}
81101
81102// Validate inspects the fields of the type to determine if they are valid.
81103func (s *DetachClassicLinkVpcInput) Validate() error {
81104	invalidParams := request.ErrInvalidParams{Context: "DetachClassicLinkVpcInput"}
81105	if s.InstanceId == nil {
81106		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
81107	}
81108	if s.VpcId == nil {
81109		invalidParams.Add(request.NewErrParamRequired("VpcId"))
81110	}
81111
81112	if invalidParams.Len() > 0 {
81113		return invalidParams
81114	}
81115	return nil
81116}
81117
81118// SetDryRun sets the DryRun field's value.
81119func (s *DetachClassicLinkVpcInput) SetDryRun(v bool) *DetachClassicLinkVpcInput {
81120	s.DryRun = &v
81121	return s
81122}
81123
81124// SetInstanceId sets the InstanceId field's value.
81125func (s *DetachClassicLinkVpcInput) SetInstanceId(v string) *DetachClassicLinkVpcInput {
81126	s.InstanceId = &v
81127	return s
81128}
81129
81130// SetVpcId sets the VpcId field's value.
81131func (s *DetachClassicLinkVpcInput) SetVpcId(v string) *DetachClassicLinkVpcInput {
81132	s.VpcId = &v
81133	return s
81134}
81135
81136type DetachClassicLinkVpcOutput struct {
81137	_ struct{} `type:"structure"`
81138
81139	// Returns true if the request succeeds; otherwise, it returns an error.
81140	Return *bool `locationName:"return" type:"boolean"`
81141}
81142
81143// String returns the string representation
81144func (s DetachClassicLinkVpcOutput) String() string {
81145	return awsutil.Prettify(s)
81146}
81147
81148// GoString returns the string representation
81149func (s DetachClassicLinkVpcOutput) GoString() string {
81150	return s.String()
81151}
81152
81153// SetReturn sets the Return field's value.
81154func (s *DetachClassicLinkVpcOutput) SetReturn(v bool) *DetachClassicLinkVpcOutput {
81155	s.Return = &v
81156	return s
81157}
81158
81159type DetachInternetGatewayInput struct {
81160	_ struct{} `type:"structure"`
81161
81162	// Checks whether you have the required permissions for the action, without
81163	// actually making the request, and provides an error response. If you have
81164	// the required permissions, the error response is DryRunOperation. Otherwise,
81165	// it is UnauthorizedOperation.
81166	DryRun *bool `locationName:"dryRun" type:"boolean"`
81167
81168	// The ID of the internet gateway.
81169	//
81170	// InternetGatewayId is a required field
81171	InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
81172
81173	// The ID of the VPC.
81174	//
81175	// VpcId is a required field
81176	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
81177}
81178
81179// String returns the string representation
81180func (s DetachInternetGatewayInput) String() string {
81181	return awsutil.Prettify(s)
81182}
81183
81184// GoString returns the string representation
81185func (s DetachInternetGatewayInput) GoString() string {
81186	return s.String()
81187}
81188
81189// Validate inspects the fields of the type to determine if they are valid.
81190func (s *DetachInternetGatewayInput) Validate() error {
81191	invalidParams := request.ErrInvalidParams{Context: "DetachInternetGatewayInput"}
81192	if s.InternetGatewayId == nil {
81193		invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
81194	}
81195	if s.VpcId == nil {
81196		invalidParams.Add(request.NewErrParamRequired("VpcId"))
81197	}
81198
81199	if invalidParams.Len() > 0 {
81200		return invalidParams
81201	}
81202	return nil
81203}
81204
81205// SetDryRun sets the DryRun field's value.
81206func (s *DetachInternetGatewayInput) SetDryRun(v bool) *DetachInternetGatewayInput {
81207	s.DryRun = &v
81208	return s
81209}
81210
81211// SetInternetGatewayId sets the InternetGatewayId field's value.
81212func (s *DetachInternetGatewayInput) SetInternetGatewayId(v string) *DetachInternetGatewayInput {
81213	s.InternetGatewayId = &v
81214	return s
81215}
81216
81217// SetVpcId sets the VpcId field's value.
81218func (s *DetachInternetGatewayInput) SetVpcId(v string) *DetachInternetGatewayInput {
81219	s.VpcId = &v
81220	return s
81221}
81222
81223type DetachInternetGatewayOutput struct {
81224	_ struct{} `type:"structure"`
81225}
81226
81227// String returns the string representation
81228func (s DetachInternetGatewayOutput) String() string {
81229	return awsutil.Prettify(s)
81230}
81231
81232// GoString returns the string representation
81233func (s DetachInternetGatewayOutput) GoString() string {
81234	return s.String()
81235}
81236
81237// Contains the parameters for DetachNetworkInterface.
81238type DetachNetworkInterfaceInput struct {
81239	_ struct{} `type:"structure"`
81240
81241	// The ID of the attachment.
81242	//
81243	// AttachmentId is a required field
81244	AttachmentId *string `locationName:"attachmentId" type:"string" required:"true"`
81245
81246	// Checks whether you have the required permissions for the action, without
81247	// actually making the request, and provides an error response. If you have
81248	// the required permissions, the error response is DryRunOperation. Otherwise,
81249	// it is UnauthorizedOperation.
81250	DryRun *bool `locationName:"dryRun" type:"boolean"`
81251
81252	// Specifies whether to force a detachment.
81253	//
81254	//    * Use the Force parameter only as a last resort to detach a network interface
81255	//    from a failed instance.
81256	//
81257	//    * If you use the Force parameter to detach a network interface, you might
81258	//    not be able to attach a different network interface to the same index
81259	//    on the instance without first stopping and starting the instance.
81260	//
81261	//    * If you force the detachment of a network interface, the instance metadata
81262	//    (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
81263	//    might not get updated. This means that the attributes associated with
81264	//    the detached network interface might still be visible. The instance metadata
81265	//    will get updated when you stop and start the instance.
81266	Force *bool `locationName:"force" type:"boolean"`
81267}
81268
81269// String returns the string representation
81270func (s DetachNetworkInterfaceInput) String() string {
81271	return awsutil.Prettify(s)
81272}
81273
81274// GoString returns the string representation
81275func (s DetachNetworkInterfaceInput) GoString() string {
81276	return s.String()
81277}
81278
81279// Validate inspects the fields of the type to determine if they are valid.
81280func (s *DetachNetworkInterfaceInput) Validate() error {
81281	invalidParams := request.ErrInvalidParams{Context: "DetachNetworkInterfaceInput"}
81282	if s.AttachmentId == nil {
81283		invalidParams.Add(request.NewErrParamRequired("AttachmentId"))
81284	}
81285
81286	if invalidParams.Len() > 0 {
81287		return invalidParams
81288	}
81289	return nil
81290}
81291
81292// SetAttachmentId sets the AttachmentId field's value.
81293func (s *DetachNetworkInterfaceInput) SetAttachmentId(v string) *DetachNetworkInterfaceInput {
81294	s.AttachmentId = &v
81295	return s
81296}
81297
81298// SetDryRun sets the DryRun field's value.
81299func (s *DetachNetworkInterfaceInput) SetDryRun(v bool) *DetachNetworkInterfaceInput {
81300	s.DryRun = &v
81301	return s
81302}
81303
81304// SetForce sets the Force field's value.
81305func (s *DetachNetworkInterfaceInput) SetForce(v bool) *DetachNetworkInterfaceInput {
81306	s.Force = &v
81307	return s
81308}
81309
81310type DetachNetworkInterfaceOutput struct {
81311	_ struct{} `type:"structure"`
81312}
81313
81314// String returns the string representation
81315func (s DetachNetworkInterfaceOutput) String() string {
81316	return awsutil.Prettify(s)
81317}
81318
81319// GoString returns the string representation
81320func (s DetachNetworkInterfaceOutput) GoString() string {
81321	return s.String()
81322}
81323
81324type DetachVolumeInput struct {
81325	_ struct{} `type:"structure"`
81326
81327	// The device name.
81328	Device *string `type:"string"`
81329
81330	// Checks whether you have the required permissions for the action, without
81331	// actually making the request, and provides an error response. If you have
81332	// the required permissions, the error response is DryRunOperation. Otherwise,
81333	// it is UnauthorizedOperation.
81334	DryRun *bool `locationName:"dryRun" type:"boolean"`
81335
81336	// Forces detachment if the previous detachment attempt did not occur cleanly
81337	// (for example, logging into an instance, unmounting the volume, and detaching
81338	// normally). This option can lead to data loss or a corrupted file system.
81339	// Use this option only as a last resort to detach a volume from a failed instance.
81340	// The instance won't have an opportunity to flush file system caches or file
81341	// system metadata. If you use this option, you must perform file system check
81342	// and repair procedures.
81343	Force *bool `type:"boolean"`
81344
81345	// The ID of the instance. If you are detaching a Multi-Attach enabled volume,
81346	// you must specify an instance ID.
81347	InstanceId *string `type:"string"`
81348
81349	// The ID of the volume.
81350	//
81351	// VolumeId is a required field
81352	VolumeId *string `type:"string" required:"true"`
81353}
81354
81355// String returns the string representation
81356func (s DetachVolumeInput) String() string {
81357	return awsutil.Prettify(s)
81358}
81359
81360// GoString returns the string representation
81361func (s DetachVolumeInput) GoString() string {
81362	return s.String()
81363}
81364
81365// Validate inspects the fields of the type to determine if they are valid.
81366func (s *DetachVolumeInput) Validate() error {
81367	invalidParams := request.ErrInvalidParams{Context: "DetachVolumeInput"}
81368	if s.VolumeId == nil {
81369		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
81370	}
81371
81372	if invalidParams.Len() > 0 {
81373		return invalidParams
81374	}
81375	return nil
81376}
81377
81378// SetDevice sets the Device field's value.
81379func (s *DetachVolumeInput) SetDevice(v string) *DetachVolumeInput {
81380	s.Device = &v
81381	return s
81382}
81383
81384// SetDryRun sets the DryRun field's value.
81385func (s *DetachVolumeInput) SetDryRun(v bool) *DetachVolumeInput {
81386	s.DryRun = &v
81387	return s
81388}
81389
81390// SetForce sets the Force field's value.
81391func (s *DetachVolumeInput) SetForce(v bool) *DetachVolumeInput {
81392	s.Force = &v
81393	return s
81394}
81395
81396// SetInstanceId sets the InstanceId field's value.
81397func (s *DetachVolumeInput) SetInstanceId(v string) *DetachVolumeInput {
81398	s.InstanceId = &v
81399	return s
81400}
81401
81402// SetVolumeId sets the VolumeId field's value.
81403func (s *DetachVolumeInput) SetVolumeId(v string) *DetachVolumeInput {
81404	s.VolumeId = &v
81405	return s
81406}
81407
81408// Contains the parameters for DetachVpnGateway.
81409type DetachVpnGatewayInput struct {
81410	_ struct{} `type:"structure"`
81411
81412	// Checks whether you have the required permissions for the action, without
81413	// actually making the request, and provides an error response. If you have
81414	// the required permissions, the error response is DryRunOperation. Otherwise,
81415	// it is UnauthorizedOperation.
81416	DryRun *bool `locationName:"dryRun" type:"boolean"`
81417
81418	// The ID of the VPC.
81419	//
81420	// VpcId is a required field
81421	VpcId *string `type:"string" required:"true"`
81422
81423	// The ID of the virtual private gateway.
81424	//
81425	// VpnGatewayId is a required field
81426	VpnGatewayId *string `type:"string" required:"true"`
81427}
81428
81429// String returns the string representation
81430func (s DetachVpnGatewayInput) String() string {
81431	return awsutil.Prettify(s)
81432}
81433
81434// GoString returns the string representation
81435func (s DetachVpnGatewayInput) GoString() string {
81436	return s.String()
81437}
81438
81439// Validate inspects the fields of the type to determine if they are valid.
81440func (s *DetachVpnGatewayInput) Validate() error {
81441	invalidParams := request.ErrInvalidParams{Context: "DetachVpnGatewayInput"}
81442	if s.VpcId == nil {
81443		invalidParams.Add(request.NewErrParamRequired("VpcId"))
81444	}
81445	if s.VpnGatewayId == nil {
81446		invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
81447	}
81448
81449	if invalidParams.Len() > 0 {
81450		return invalidParams
81451	}
81452	return nil
81453}
81454
81455// SetDryRun sets the DryRun field's value.
81456func (s *DetachVpnGatewayInput) SetDryRun(v bool) *DetachVpnGatewayInput {
81457	s.DryRun = &v
81458	return s
81459}
81460
81461// SetVpcId sets the VpcId field's value.
81462func (s *DetachVpnGatewayInput) SetVpcId(v string) *DetachVpnGatewayInput {
81463	s.VpcId = &v
81464	return s
81465}
81466
81467// SetVpnGatewayId sets the VpnGatewayId field's value.
81468func (s *DetachVpnGatewayInput) SetVpnGatewayId(v string) *DetachVpnGatewayInput {
81469	s.VpnGatewayId = &v
81470	return s
81471}
81472
81473type DetachVpnGatewayOutput struct {
81474	_ struct{} `type:"structure"`
81475}
81476
81477// String returns the string representation
81478func (s DetachVpnGatewayOutput) String() string {
81479	return awsutil.Prettify(s)
81480}
81481
81482// GoString returns the string representation
81483func (s DetachVpnGatewayOutput) GoString() string {
81484	return s.String()
81485}
81486
81487// Describes a DHCP configuration option.
81488type DhcpConfiguration struct {
81489	_ struct{} `type:"structure"`
81490
81491	// The name of a DHCP option.
81492	Key *string `locationName:"key" type:"string"`
81493
81494	// One or more values for the DHCP option.
81495	Values []*AttributeValue `locationName:"valueSet" locationNameList:"item" type:"list"`
81496}
81497
81498// String returns the string representation
81499func (s DhcpConfiguration) String() string {
81500	return awsutil.Prettify(s)
81501}
81502
81503// GoString returns the string representation
81504func (s DhcpConfiguration) GoString() string {
81505	return s.String()
81506}
81507
81508// SetKey sets the Key field's value.
81509func (s *DhcpConfiguration) SetKey(v string) *DhcpConfiguration {
81510	s.Key = &v
81511	return s
81512}
81513
81514// SetValues sets the Values field's value.
81515func (s *DhcpConfiguration) SetValues(v []*AttributeValue) *DhcpConfiguration {
81516	s.Values = v
81517	return s
81518}
81519
81520// Describes a set of DHCP options.
81521type DhcpOptions struct {
81522	_ struct{} `type:"structure"`
81523
81524	// One or more DHCP options in the set.
81525	DhcpConfigurations []*DhcpConfiguration `locationName:"dhcpConfigurationSet" locationNameList:"item" type:"list"`
81526
81527	// The ID of the set of DHCP options.
81528	DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
81529
81530	// The ID of the Amazon Web Services account that owns the DHCP options set.
81531	OwnerId *string `locationName:"ownerId" type:"string"`
81532
81533	// Any tags assigned to the DHCP options set.
81534	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
81535}
81536
81537// String returns the string representation
81538func (s DhcpOptions) String() string {
81539	return awsutil.Prettify(s)
81540}
81541
81542// GoString returns the string representation
81543func (s DhcpOptions) GoString() string {
81544	return s.String()
81545}
81546
81547// SetDhcpConfigurations sets the DhcpConfigurations field's value.
81548func (s *DhcpOptions) SetDhcpConfigurations(v []*DhcpConfiguration) *DhcpOptions {
81549	s.DhcpConfigurations = v
81550	return s
81551}
81552
81553// SetDhcpOptionsId sets the DhcpOptionsId field's value.
81554func (s *DhcpOptions) SetDhcpOptionsId(v string) *DhcpOptions {
81555	s.DhcpOptionsId = &v
81556	return s
81557}
81558
81559// SetOwnerId sets the OwnerId field's value.
81560func (s *DhcpOptions) SetOwnerId(v string) *DhcpOptions {
81561	s.OwnerId = &v
81562	return s
81563}
81564
81565// SetTags sets the Tags field's value.
81566func (s *DhcpOptions) SetTags(v []*Tag) *DhcpOptions {
81567	s.Tags = v
81568	return s
81569}
81570
81571// Describes an Active Directory.
81572type DirectoryServiceAuthentication struct {
81573	_ struct{} `type:"structure"`
81574
81575	// The ID of the Active Directory used for authentication.
81576	DirectoryId *string `locationName:"directoryId" type:"string"`
81577}
81578
81579// String returns the string representation
81580func (s DirectoryServiceAuthentication) String() string {
81581	return awsutil.Prettify(s)
81582}
81583
81584// GoString returns the string representation
81585func (s DirectoryServiceAuthentication) GoString() string {
81586	return s.String()
81587}
81588
81589// SetDirectoryId sets the DirectoryId field's value.
81590func (s *DirectoryServiceAuthentication) SetDirectoryId(v string) *DirectoryServiceAuthentication {
81591	s.DirectoryId = &v
81592	return s
81593}
81594
81595// Describes the Active Directory to be used for client authentication.
81596type DirectoryServiceAuthenticationRequest struct {
81597	_ struct{} `type:"structure"`
81598
81599	// The ID of the Active Directory to be used for authentication.
81600	DirectoryId *string `type:"string"`
81601}
81602
81603// String returns the string representation
81604func (s DirectoryServiceAuthenticationRequest) String() string {
81605	return awsutil.Prettify(s)
81606}
81607
81608// GoString returns the string representation
81609func (s DirectoryServiceAuthenticationRequest) GoString() string {
81610	return s.String()
81611}
81612
81613// SetDirectoryId sets the DirectoryId field's value.
81614func (s *DirectoryServiceAuthenticationRequest) SetDirectoryId(v string) *DirectoryServiceAuthenticationRequest {
81615	s.DirectoryId = &v
81616	return s
81617}
81618
81619type DisableEbsEncryptionByDefaultInput struct {
81620	_ struct{} `type:"structure"`
81621
81622	// Checks whether you have the required permissions for the action, without
81623	// actually making the request, and provides an error response. If you have
81624	// the required permissions, the error response is DryRunOperation. Otherwise,
81625	// it is UnauthorizedOperation.
81626	DryRun *bool `type:"boolean"`
81627}
81628
81629// String returns the string representation
81630func (s DisableEbsEncryptionByDefaultInput) String() string {
81631	return awsutil.Prettify(s)
81632}
81633
81634// GoString returns the string representation
81635func (s DisableEbsEncryptionByDefaultInput) GoString() string {
81636	return s.String()
81637}
81638
81639// SetDryRun sets the DryRun field's value.
81640func (s *DisableEbsEncryptionByDefaultInput) SetDryRun(v bool) *DisableEbsEncryptionByDefaultInput {
81641	s.DryRun = &v
81642	return s
81643}
81644
81645type DisableEbsEncryptionByDefaultOutput struct {
81646	_ struct{} `type:"structure"`
81647
81648	// The updated status of encryption by default.
81649	EbsEncryptionByDefault *bool `locationName:"ebsEncryptionByDefault" type:"boolean"`
81650}
81651
81652// String returns the string representation
81653func (s DisableEbsEncryptionByDefaultOutput) String() string {
81654	return awsutil.Prettify(s)
81655}
81656
81657// GoString returns the string representation
81658func (s DisableEbsEncryptionByDefaultOutput) GoString() string {
81659	return s.String()
81660}
81661
81662// SetEbsEncryptionByDefault sets the EbsEncryptionByDefault field's value.
81663func (s *DisableEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *DisableEbsEncryptionByDefaultOutput {
81664	s.EbsEncryptionByDefault = &v
81665	return s
81666}
81667
81668// Contains information about the errors that occurred when disabling fast snapshot
81669// restores.
81670type DisableFastSnapshotRestoreErrorItem struct {
81671	_ struct{} `type:"structure"`
81672
81673	// The errors.
81674	FastSnapshotRestoreStateErrors []*DisableFastSnapshotRestoreStateErrorItem `locationName:"fastSnapshotRestoreStateErrorSet" locationNameList:"item" type:"list"`
81675
81676	// The ID of the snapshot.
81677	SnapshotId *string `locationName:"snapshotId" type:"string"`
81678}
81679
81680// String returns the string representation
81681func (s DisableFastSnapshotRestoreErrorItem) String() string {
81682	return awsutil.Prettify(s)
81683}
81684
81685// GoString returns the string representation
81686func (s DisableFastSnapshotRestoreErrorItem) GoString() string {
81687	return s.String()
81688}
81689
81690// SetFastSnapshotRestoreStateErrors sets the FastSnapshotRestoreStateErrors field's value.
81691func (s *DisableFastSnapshotRestoreErrorItem) SetFastSnapshotRestoreStateErrors(v []*DisableFastSnapshotRestoreStateErrorItem) *DisableFastSnapshotRestoreErrorItem {
81692	s.FastSnapshotRestoreStateErrors = v
81693	return s
81694}
81695
81696// SetSnapshotId sets the SnapshotId field's value.
81697func (s *DisableFastSnapshotRestoreErrorItem) SetSnapshotId(v string) *DisableFastSnapshotRestoreErrorItem {
81698	s.SnapshotId = &v
81699	return s
81700}
81701
81702// Describes an error that occurred when disabling fast snapshot restores.
81703type DisableFastSnapshotRestoreStateError struct {
81704	_ struct{} `type:"structure"`
81705
81706	// The error code.
81707	Code *string `locationName:"code" type:"string"`
81708
81709	// The error message.
81710	Message *string `locationName:"message" type:"string"`
81711}
81712
81713// String returns the string representation
81714func (s DisableFastSnapshotRestoreStateError) String() string {
81715	return awsutil.Prettify(s)
81716}
81717
81718// GoString returns the string representation
81719func (s DisableFastSnapshotRestoreStateError) GoString() string {
81720	return s.String()
81721}
81722
81723// SetCode sets the Code field's value.
81724func (s *DisableFastSnapshotRestoreStateError) SetCode(v string) *DisableFastSnapshotRestoreStateError {
81725	s.Code = &v
81726	return s
81727}
81728
81729// SetMessage sets the Message field's value.
81730func (s *DisableFastSnapshotRestoreStateError) SetMessage(v string) *DisableFastSnapshotRestoreStateError {
81731	s.Message = &v
81732	return s
81733}
81734
81735// Contains information about an error that occurred when disabling fast snapshot
81736// restores.
81737type DisableFastSnapshotRestoreStateErrorItem struct {
81738	_ struct{} `type:"structure"`
81739
81740	// The Availability Zone.
81741	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
81742
81743	// The error.
81744	Error *DisableFastSnapshotRestoreStateError `locationName:"error" type:"structure"`
81745}
81746
81747// String returns the string representation
81748func (s DisableFastSnapshotRestoreStateErrorItem) String() string {
81749	return awsutil.Prettify(s)
81750}
81751
81752// GoString returns the string representation
81753func (s DisableFastSnapshotRestoreStateErrorItem) GoString() string {
81754	return s.String()
81755}
81756
81757// SetAvailabilityZone sets the AvailabilityZone field's value.
81758func (s *DisableFastSnapshotRestoreStateErrorItem) SetAvailabilityZone(v string) *DisableFastSnapshotRestoreStateErrorItem {
81759	s.AvailabilityZone = &v
81760	return s
81761}
81762
81763// SetError sets the Error field's value.
81764func (s *DisableFastSnapshotRestoreStateErrorItem) SetError(v *DisableFastSnapshotRestoreStateError) *DisableFastSnapshotRestoreStateErrorItem {
81765	s.Error = v
81766	return s
81767}
81768
81769// Describes fast snapshot restores that were successfully disabled.
81770type DisableFastSnapshotRestoreSuccessItem struct {
81771	_ struct{} `type:"structure"`
81772
81773	// The Availability Zone.
81774	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
81775
81776	// The time at which fast snapshot restores entered the disabled state.
81777	DisabledTime *time.Time `locationName:"disabledTime" type:"timestamp"`
81778
81779	// The time at which fast snapshot restores entered the disabling state.
81780	DisablingTime *time.Time `locationName:"disablingTime" type:"timestamp"`
81781
81782	// The time at which fast snapshot restores entered the enabled state.
81783	EnabledTime *time.Time `locationName:"enabledTime" type:"timestamp"`
81784
81785	// The time at which fast snapshot restores entered the enabling state.
81786	EnablingTime *time.Time `locationName:"enablingTime" type:"timestamp"`
81787
81788	// The time at which fast snapshot restores entered the optimizing state.
81789	OptimizingTime *time.Time `locationName:"optimizingTime" type:"timestamp"`
81790
81791	// The Amazon Web Services owner alias that enabled fast snapshot restores on
81792	// the snapshot. This is intended for future use.
81793	OwnerAlias *string `locationName:"ownerAlias" type:"string"`
81794
81795	// The ID of the Amazon Web Services account that enabled fast snapshot restores
81796	// on the snapshot.
81797	OwnerId *string `locationName:"ownerId" type:"string"`
81798
81799	// The ID of the snapshot.
81800	SnapshotId *string `locationName:"snapshotId" type:"string"`
81801
81802	// The state of fast snapshot restores for the snapshot.
81803	State *string `locationName:"state" type:"string" enum:"FastSnapshotRestoreStateCode"`
81804
81805	// The reason for the state transition. The possible values are as follows:
81806	//
81807	//    * Client.UserInitiated - The state successfully transitioned to enabling
81808	//    or disabling.
81809	//
81810	//    * Client.UserInitiated - Lifecycle state transition - The state successfully
81811	//    transitioned to optimizing, enabled, or disabled.
81812	StateTransitionReason *string `locationName:"stateTransitionReason" type:"string"`
81813}
81814
81815// String returns the string representation
81816func (s DisableFastSnapshotRestoreSuccessItem) String() string {
81817	return awsutil.Prettify(s)
81818}
81819
81820// GoString returns the string representation
81821func (s DisableFastSnapshotRestoreSuccessItem) GoString() string {
81822	return s.String()
81823}
81824
81825// SetAvailabilityZone sets the AvailabilityZone field's value.
81826func (s *DisableFastSnapshotRestoreSuccessItem) SetAvailabilityZone(v string) *DisableFastSnapshotRestoreSuccessItem {
81827	s.AvailabilityZone = &v
81828	return s
81829}
81830
81831// SetDisabledTime sets the DisabledTime field's value.
81832func (s *DisableFastSnapshotRestoreSuccessItem) SetDisabledTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
81833	s.DisabledTime = &v
81834	return s
81835}
81836
81837// SetDisablingTime sets the DisablingTime field's value.
81838func (s *DisableFastSnapshotRestoreSuccessItem) SetDisablingTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
81839	s.DisablingTime = &v
81840	return s
81841}
81842
81843// SetEnabledTime sets the EnabledTime field's value.
81844func (s *DisableFastSnapshotRestoreSuccessItem) SetEnabledTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
81845	s.EnabledTime = &v
81846	return s
81847}
81848
81849// SetEnablingTime sets the EnablingTime field's value.
81850func (s *DisableFastSnapshotRestoreSuccessItem) SetEnablingTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
81851	s.EnablingTime = &v
81852	return s
81853}
81854
81855// SetOptimizingTime sets the OptimizingTime field's value.
81856func (s *DisableFastSnapshotRestoreSuccessItem) SetOptimizingTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
81857	s.OptimizingTime = &v
81858	return s
81859}
81860
81861// SetOwnerAlias sets the OwnerAlias field's value.
81862func (s *DisableFastSnapshotRestoreSuccessItem) SetOwnerAlias(v string) *DisableFastSnapshotRestoreSuccessItem {
81863	s.OwnerAlias = &v
81864	return s
81865}
81866
81867// SetOwnerId sets the OwnerId field's value.
81868func (s *DisableFastSnapshotRestoreSuccessItem) SetOwnerId(v string) *DisableFastSnapshotRestoreSuccessItem {
81869	s.OwnerId = &v
81870	return s
81871}
81872
81873// SetSnapshotId sets the SnapshotId field's value.
81874func (s *DisableFastSnapshotRestoreSuccessItem) SetSnapshotId(v string) *DisableFastSnapshotRestoreSuccessItem {
81875	s.SnapshotId = &v
81876	return s
81877}
81878
81879// SetState sets the State field's value.
81880func (s *DisableFastSnapshotRestoreSuccessItem) SetState(v string) *DisableFastSnapshotRestoreSuccessItem {
81881	s.State = &v
81882	return s
81883}
81884
81885// SetStateTransitionReason sets the StateTransitionReason field's value.
81886func (s *DisableFastSnapshotRestoreSuccessItem) SetStateTransitionReason(v string) *DisableFastSnapshotRestoreSuccessItem {
81887	s.StateTransitionReason = &v
81888	return s
81889}
81890
81891type DisableFastSnapshotRestoresInput struct {
81892	_ struct{} `type:"structure"`
81893
81894	// One or more Availability Zones. For example, us-east-2a.
81895	//
81896	// AvailabilityZones is a required field
81897	AvailabilityZones []*string `locationName:"AvailabilityZone" locationNameList:"AvailabilityZone" type:"list" required:"true"`
81898
81899	// Checks whether you have the required permissions for the action, without
81900	// actually making the request, and provides an error response. If you have
81901	// the required permissions, the error response is DryRunOperation. Otherwise,
81902	// it is UnauthorizedOperation.
81903	DryRun *bool `type:"boolean"`
81904
81905	// The IDs of one or more snapshots. For example, snap-1234567890abcdef0.
81906	//
81907	// SourceSnapshotIds is a required field
81908	SourceSnapshotIds []*string `locationName:"SourceSnapshotId" locationNameList:"SnapshotId" type:"list" required:"true"`
81909}
81910
81911// String returns the string representation
81912func (s DisableFastSnapshotRestoresInput) String() string {
81913	return awsutil.Prettify(s)
81914}
81915
81916// GoString returns the string representation
81917func (s DisableFastSnapshotRestoresInput) GoString() string {
81918	return s.String()
81919}
81920
81921// Validate inspects the fields of the type to determine if they are valid.
81922func (s *DisableFastSnapshotRestoresInput) Validate() error {
81923	invalidParams := request.ErrInvalidParams{Context: "DisableFastSnapshotRestoresInput"}
81924	if s.AvailabilityZones == nil {
81925		invalidParams.Add(request.NewErrParamRequired("AvailabilityZones"))
81926	}
81927	if s.SourceSnapshotIds == nil {
81928		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotIds"))
81929	}
81930
81931	if invalidParams.Len() > 0 {
81932		return invalidParams
81933	}
81934	return nil
81935}
81936
81937// SetAvailabilityZones sets the AvailabilityZones field's value.
81938func (s *DisableFastSnapshotRestoresInput) SetAvailabilityZones(v []*string) *DisableFastSnapshotRestoresInput {
81939	s.AvailabilityZones = v
81940	return s
81941}
81942
81943// SetDryRun sets the DryRun field's value.
81944func (s *DisableFastSnapshotRestoresInput) SetDryRun(v bool) *DisableFastSnapshotRestoresInput {
81945	s.DryRun = &v
81946	return s
81947}
81948
81949// SetSourceSnapshotIds sets the SourceSnapshotIds field's value.
81950func (s *DisableFastSnapshotRestoresInput) SetSourceSnapshotIds(v []*string) *DisableFastSnapshotRestoresInput {
81951	s.SourceSnapshotIds = v
81952	return s
81953}
81954
81955type DisableFastSnapshotRestoresOutput struct {
81956	_ struct{} `type:"structure"`
81957
81958	// Information about the snapshots for which fast snapshot restores were successfully
81959	// disabled.
81960	Successful []*DisableFastSnapshotRestoreSuccessItem `locationName:"successful" locationNameList:"item" type:"list"`
81961
81962	// Information about the snapshots for which fast snapshot restores could not
81963	// be disabled.
81964	Unsuccessful []*DisableFastSnapshotRestoreErrorItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
81965}
81966
81967// String returns the string representation
81968func (s DisableFastSnapshotRestoresOutput) String() string {
81969	return awsutil.Prettify(s)
81970}
81971
81972// GoString returns the string representation
81973func (s DisableFastSnapshotRestoresOutput) GoString() string {
81974	return s.String()
81975}
81976
81977// SetSuccessful sets the Successful field's value.
81978func (s *DisableFastSnapshotRestoresOutput) SetSuccessful(v []*DisableFastSnapshotRestoreSuccessItem) *DisableFastSnapshotRestoresOutput {
81979	s.Successful = v
81980	return s
81981}
81982
81983// SetUnsuccessful sets the Unsuccessful field's value.
81984func (s *DisableFastSnapshotRestoresOutput) SetUnsuccessful(v []*DisableFastSnapshotRestoreErrorItem) *DisableFastSnapshotRestoresOutput {
81985	s.Unsuccessful = v
81986	return s
81987}
81988
81989type DisableImageDeprecationInput struct {
81990	_ struct{} `type:"structure"`
81991
81992	// Checks whether you have the required permissions for the action, without
81993	// actually making the request, and provides an error response. If you have
81994	// the required permissions, the error response is DryRunOperation. Otherwise,
81995	// it is UnauthorizedOperation.
81996	DryRun *bool `type:"boolean"`
81997
81998	// The ID of the AMI.
81999	//
82000	// ImageId is a required field
82001	ImageId *string `type:"string" required:"true"`
82002}
82003
82004// String returns the string representation
82005func (s DisableImageDeprecationInput) String() string {
82006	return awsutil.Prettify(s)
82007}
82008
82009// GoString returns the string representation
82010func (s DisableImageDeprecationInput) GoString() string {
82011	return s.String()
82012}
82013
82014// Validate inspects the fields of the type to determine if they are valid.
82015func (s *DisableImageDeprecationInput) Validate() error {
82016	invalidParams := request.ErrInvalidParams{Context: "DisableImageDeprecationInput"}
82017	if s.ImageId == nil {
82018		invalidParams.Add(request.NewErrParamRequired("ImageId"))
82019	}
82020
82021	if invalidParams.Len() > 0 {
82022		return invalidParams
82023	}
82024	return nil
82025}
82026
82027// SetDryRun sets the DryRun field's value.
82028func (s *DisableImageDeprecationInput) SetDryRun(v bool) *DisableImageDeprecationInput {
82029	s.DryRun = &v
82030	return s
82031}
82032
82033// SetImageId sets the ImageId field's value.
82034func (s *DisableImageDeprecationInput) SetImageId(v string) *DisableImageDeprecationInput {
82035	s.ImageId = &v
82036	return s
82037}
82038
82039type DisableImageDeprecationOutput struct {
82040	_ struct{} `type:"structure"`
82041
82042	// Returns true if the request succeeds; otherwise, it returns an error.
82043	Return *bool `locationName:"return" type:"boolean"`
82044}
82045
82046// String returns the string representation
82047func (s DisableImageDeprecationOutput) String() string {
82048	return awsutil.Prettify(s)
82049}
82050
82051// GoString returns the string representation
82052func (s DisableImageDeprecationOutput) GoString() string {
82053	return s.String()
82054}
82055
82056// SetReturn sets the Return field's value.
82057func (s *DisableImageDeprecationOutput) SetReturn(v bool) *DisableImageDeprecationOutput {
82058	s.Return = &v
82059	return s
82060}
82061
82062type DisableSerialConsoleAccessInput struct {
82063	_ struct{} `type:"structure"`
82064
82065	// Checks whether you have the required permissions for the action, without
82066	// actually making the request, and provides an error response. If you have
82067	// the required permissions, the error response is DryRunOperation. Otherwise,
82068	// it is UnauthorizedOperation.
82069	DryRun *bool `type:"boolean"`
82070}
82071
82072// String returns the string representation
82073func (s DisableSerialConsoleAccessInput) String() string {
82074	return awsutil.Prettify(s)
82075}
82076
82077// GoString returns the string representation
82078func (s DisableSerialConsoleAccessInput) GoString() string {
82079	return s.String()
82080}
82081
82082// SetDryRun sets the DryRun field's value.
82083func (s *DisableSerialConsoleAccessInput) SetDryRun(v bool) *DisableSerialConsoleAccessInput {
82084	s.DryRun = &v
82085	return s
82086}
82087
82088type DisableSerialConsoleAccessOutput struct {
82089	_ struct{} `type:"structure"`
82090
82091	// If true, access to the EC2 serial console of all instances is enabled for
82092	// your account. If false, access to the EC2 serial console of all instances
82093	// is disabled for your account.
82094	SerialConsoleAccessEnabled *bool `locationName:"serialConsoleAccessEnabled" type:"boolean"`
82095}
82096
82097// String returns the string representation
82098func (s DisableSerialConsoleAccessOutput) String() string {
82099	return awsutil.Prettify(s)
82100}
82101
82102// GoString returns the string representation
82103func (s DisableSerialConsoleAccessOutput) GoString() string {
82104	return s.String()
82105}
82106
82107// SetSerialConsoleAccessEnabled sets the SerialConsoleAccessEnabled field's value.
82108func (s *DisableSerialConsoleAccessOutput) SetSerialConsoleAccessEnabled(v bool) *DisableSerialConsoleAccessOutput {
82109	s.SerialConsoleAccessEnabled = &v
82110	return s
82111}
82112
82113type DisableTransitGatewayRouteTablePropagationInput struct {
82114	_ struct{} `type:"structure"`
82115
82116	// Checks whether you have the required permissions for the action, without
82117	// actually making the request, and provides an error response. If you have
82118	// the required permissions, the error response is DryRunOperation. Otherwise,
82119	// it is UnauthorizedOperation.
82120	DryRun *bool `type:"boolean"`
82121
82122	// The ID of the attachment.
82123	//
82124	// TransitGatewayAttachmentId is a required field
82125	TransitGatewayAttachmentId *string `type:"string" required:"true"`
82126
82127	// The ID of the propagation route table.
82128	//
82129	// TransitGatewayRouteTableId is a required field
82130	TransitGatewayRouteTableId *string `type:"string" required:"true"`
82131}
82132
82133// String returns the string representation
82134func (s DisableTransitGatewayRouteTablePropagationInput) String() string {
82135	return awsutil.Prettify(s)
82136}
82137
82138// GoString returns the string representation
82139func (s DisableTransitGatewayRouteTablePropagationInput) GoString() string {
82140	return s.String()
82141}
82142
82143// Validate inspects the fields of the type to determine if they are valid.
82144func (s *DisableTransitGatewayRouteTablePropagationInput) Validate() error {
82145	invalidParams := request.ErrInvalidParams{Context: "DisableTransitGatewayRouteTablePropagationInput"}
82146	if s.TransitGatewayAttachmentId == nil {
82147		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
82148	}
82149	if s.TransitGatewayRouteTableId == nil {
82150		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
82151	}
82152
82153	if invalidParams.Len() > 0 {
82154		return invalidParams
82155	}
82156	return nil
82157}
82158
82159// SetDryRun sets the DryRun field's value.
82160func (s *DisableTransitGatewayRouteTablePropagationInput) SetDryRun(v bool) *DisableTransitGatewayRouteTablePropagationInput {
82161	s.DryRun = &v
82162	return s
82163}
82164
82165// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
82166func (s *DisableTransitGatewayRouteTablePropagationInput) SetTransitGatewayAttachmentId(v string) *DisableTransitGatewayRouteTablePropagationInput {
82167	s.TransitGatewayAttachmentId = &v
82168	return s
82169}
82170
82171// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
82172func (s *DisableTransitGatewayRouteTablePropagationInput) SetTransitGatewayRouteTableId(v string) *DisableTransitGatewayRouteTablePropagationInput {
82173	s.TransitGatewayRouteTableId = &v
82174	return s
82175}
82176
82177type DisableTransitGatewayRouteTablePropagationOutput struct {
82178	_ struct{} `type:"structure"`
82179
82180	// Information about route propagation.
82181	Propagation *TransitGatewayPropagation `locationName:"propagation" type:"structure"`
82182}
82183
82184// String returns the string representation
82185func (s DisableTransitGatewayRouteTablePropagationOutput) String() string {
82186	return awsutil.Prettify(s)
82187}
82188
82189// GoString returns the string representation
82190func (s DisableTransitGatewayRouteTablePropagationOutput) GoString() string {
82191	return s.String()
82192}
82193
82194// SetPropagation sets the Propagation field's value.
82195func (s *DisableTransitGatewayRouteTablePropagationOutput) SetPropagation(v *TransitGatewayPropagation) *DisableTransitGatewayRouteTablePropagationOutput {
82196	s.Propagation = v
82197	return s
82198}
82199
82200// Contains the parameters for DisableVgwRoutePropagation.
82201type DisableVgwRoutePropagationInput struct {
82202	_ struct{} `type:"structure"`
82203
82204	// Checks whether you have the required permissions for the action, without
82205	// actually making the request, and provides an error response. If you have
82206	// the required permissions, the error response is DryRunOperation. Otherwise,
82207	// it is UnauthorizedOperation.
82208	DryRun *bool `type:"boolean"`
82209
82210	// The ID of the virtual private gateway.
82211	//
82212	// GatewayId is a required field
82213	GatewayId *string `type:"string" required:"true"`
82214
82215	// The ID of the route table.
82216	//
82217	// RouteTableId is a required field
82218	RouteTableId *string `type:"string" required:"true"`
82219}
82220
82221// String returns the string representation
82222func (s DisableVgwRoutePropagationInput) String() string {
82223	return awsutil.Prettify(s)
82224}
82225
82226// GoString returns the string representation
82227func (s DisableVgwRoutePropagationInput) GoString() string {
82228	return s.String()
82229}
82230
82231// Validate inspects the fields of the type to determine if they are valid.
82232func (s *DisableVgwRoutePropagationInput) Validate() error {
82233	invalidParams := request.ErrInvalidParams{Context: "DisableVgwRoutePropagationInput"}
82234	if s.GatewayId == nil {
82235		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
82236	}
82237	if s.RouteTableId == nil {
82238		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
82239	}
82240
82241	if invalidParams.Len() > 0 {
82242		return invalidParams
82243	}
82244	return nil
82245}
82246
82247// SetDryRun sets the DryRun field's value.
82248func (s *DisableVgwRoutePropagationInput) SetDryRun(v bool) *DisableVgwRoutePropagationInput {
82249	s.DryRun = &v
82250	return s
82251}
82252
82253// SetGatewayId sets the GatewayId field's value.
82254func (s *DisableVgwRoutePropagationInput) SetGatewayId(v string) *DisableVgwRoutePropagationInput {
82255	s.GatewayId = &v
82256	return s
82257}
82258
82259// SetRouteTableId sets the RouteTableId field's value.
82260func (s *DisableVgwRoutePropagationInput) SetRouteTableId(v string) *DisableVgwRoutePropagationInput {
82261	s.RouteTableId = &v
82262	return s
82263}
82264
82265type DisableVgwRoutePropagationOutput struct {
82266	_ struct{} `type:"structure"`
82267}
82268
82269// String returns the string representation
82270func (s DisableVgwRoutePropagationOutput) String() string {
82271	return awsutil.Prettify(s)
82272}
82273
82274// GoString returns the string representation
82275func (s DisableVgwRoutePropagationOutput) GoString() string {
82276	return s.String()
82277}
82278
82279type DisableVpcClassicLinkDnsSupportInput struct {
82280	_ struct{} `type:"structure"`
82281
82282	// The ID of the VPC.
82283	VpcId *string `type:"string"`
82284}
82285
82286// String returns the string representation
82287func (s DisableVpcClassicLinkDnsSupportInput) String() string {
82288	return awsutil.Prettify(s)
82289}
82290
82291// GoString returns the string representation
82292func (s DisableVpcClassicLinkDnsSupportInput) GoString() string {
82293	return s.String()
82294}
82295
82296// SetVpcId sets the VpcId field's value.
82297func (s *DisableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *DisableVpcClassicLinkDnsSupportInput {
82298	s.VpcId = &v
82299	return s
82300}
82301
82302type DisableVpcClassicLinkDnsSupportOutput struct {
82303	_ struct{} `type:"structure"`
82304
82305	// Returns true if the request succeeds; otherwise, it returns an error.
82306	Return *bool `locationName:"return" type:"boolean"`
82307}
82308
82309// String returns the string representation
82310func (s DisableVpcClassicLinkDnsSupportOutput) String() string {
82311	return awsutil.Prettify(s)
82312}
82313
82314// GoString returns the string representation
82315func (s DisableVpcClassicLinkDnsSupportOutput) GoString() string {
82316	return s.String()
82317}
82318
82319// SetReturn sets the Return field's value.
82320func (s *DisableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *DisableVpcClassicLinkDnsSupportOutput {
82321	s.Return = &v
82322	return s
82323}
82324
82325type DisableVpcClassicLinkInput struct {
82326	_ struct{} `type:"structure"`
82327
82328	// Checks whether you have the required permissions for the action, without
82329	// actually making the request, and provides an error response. If you have
82330	// the required permissions, the error response is DryRunOperation. Otherwise,
82331	// it is UnauthorizedOperation.
82332	DryRun *bool `locationName:"dryRun" type:"boolean"`
82333
82334	// The ID of the VPC.
82335	//
82336	// VpcId is a required field
82337	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
82338}
82339
82340// String returns the string representation
82341func (s DisableVpcClassicLinkInput) String() string {
82342	return awsutil.Prettify(s)
82343}
82344
82345// GoString returns the string representation
82346func (s DisableVpcClassicLinkInput) GoString() string {
82347	return s.String()
82348}
82349
82350// Validate inspects the fields of the type to determine if they are valid.
82351func (s *DisableVpcClassicLinkInput) Validate() error {
82352	invalidParams := request.ErrInvalidParams{Context: "DisableVpcClassicLinkInput"}
82353	if s.VpcId == nil {
82354		invalidParams.Add(request.NewErrParamRequired("VpcId"))
82355	}
82356
82357	if invalidParams.Len() > 0 {
82358		return invalidParams
82359	}
82360	return nil
82361}
82362
82363// SetDryRun sets the DryRun field's value.
82364func (s *DisableVpcClassicLinkInput) SetDryRun(v bool) *DisableVpcClassicLinkInput {
82365	s.DryRun = &v
82366	return s
82367}
82368
82369// SetVpcId sets the VpcId field's value.
82370func (s *DisableVpcClassicLinkInput) SetVpcId(v string) *DisableVpcClassicLinkInput {
82371	s.VpcId = &v
82372	return s
82373}
82374
82375type DisableVpcClassicLinkOutput struct {
82376	_ struct{} `type:"structure"`
82377
82378	// Returns true if the request succeeds; otherwise, it returns an error.
82379	Return *bool `locationName:"return" type:"boolean"`
82380}
82381
82382// String returns the string representation
82383func (s DisableVpcClassicLinkOutput) String() string {
82384	return awsutil.Prettify(s)
82385}
82386
82387// GoString returns the string representation
82388func (s DisableVpcClassicLinkOutput) GoString() string {
82389	return s.String()
82390}
82391
82392// SetReturn sets the Return field's value.
82393func (s *DisableVpcClassicLinkOutput) SetReturn(v bool) *DisableVpcClassicLinkOutput {
82394	s.Return = &v
82395	return s
82396}
82397
82398type DisassociateAddressInput struct {
82399	_ struct{} `type:"structure"`
82400
82401	// [EC2-VPC] The association ID. Required for EC2-VPC.
82402	AssociationId *string `type:"string"`
82403
82404	// Checks whether you have the required permissions for the action, without
82405	// actually making the request, and provides an error response. If you have
82406	// the required permissions, the error response is DryRunOperation. Otherwise,
82407	// it is UnauthorizedOperation.
82408	DryRun *bool `locationName:"dryRun" type:"boolean"`
82409
82410	// [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
82411	PublicIp *string `type:"string"`
82412}
82413
82414// String returns the string representation
82415func (s DisassociateAddressInput) String() string {
82416	return awsutil.Prettify(s)
82417}
82418
82419// GoString returns the string representation
82420func (s DisassociateAddressInput) GoString() string {
82421	return s.String()
82422}
82423
82424// SetAssociationId sets the AssociationId field's value.
82425func (s *DisassociateAddressInput) SetAssociationId(v string) *DisassociateAddressInput {
82426	s.AssociationId = &v
82427	return s
82428}
82429
82430// SetDryRun sets the DryRun field's value.
82431func (s *DisassociateAddressInput) SetDryRun(v bool) *DisassociateAddressInput {
82432	s.DryRun = &v
82433	return s
82434}
82435
82436// SetPublicIp sets the PublicIp field's value.
82437func (s *DisassociateAddressInput) SetPublicIp(v string) *DisassociateAddressInput {
82438	s.PublicIp = &v
82439	return s
82440}
82441
82442type DisassociateAddressOutput struct {
82443	_ struct{} `type:"structure"`
82444}
82445
82446// String returns the string representation
82447func (s DisassociateAddressOutput) String() string {
82448	return awsutil.Prettify(s)
82449}
82450
82451// GoString returns the string representation
82452func (s DisassociateAddressOutput) GoString() string {
82453	return s.String()
82454}
82455
82456type DisassociateClientVpnTargetNetworkInput struct {
82457	_ struct{} `type:"structure"`
82458
82459	// The ID of the target network association.
82460	//
82461	// AssociationId is a required field
82462	AssociationId *string `type:"string" required:"true"`
82463
82464	// The ID of the Client VPN endpoint from which to disassociate the target network.
82465	//
82466	// ClientVpnEndpointId is a required field
82467	ClientVpnEndpointId *string `type:"string" required:"true"`
82468
82469	// Checks whether you have the required permissions for the action, without
82470	// actually making the request, and provides an error response. If you have
82471	// the required permissions, the error response is DryRunOperation. Otherwise,
82472	// it is UnauthorizedOperation.
82473	DryRun *bool `type:"boolean"`
82474}
82475
82476// String returns the string representation
82477func (s DisassociateClientVpnTargetNetworkInput) String() string {
82478	return awsutil.Prettify(s)
82479}
82480
82481// GoString returns the string representation
82482func (s DisassociateClientVpnTargetNetworkInput) GoString() string {
82483	return s.String()
82484}
82485
82486// Validate inspects the fields of the type to determine if they are valid.
82487func (s *DisassociateClientVpnTargetNetworkInput) Validate() error {
82488	invalidParams := request.ErrInvalidParams{Context: "DisassociateClientVpnTargetNetworkInput"}
82489	if s.AssociationId == nil {
82490		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
82491	}
82492	if s.ClientVpnEndpointId == nil {
82493		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
82494	}
82495
82496	if invalidParams.Len() > 0 {
82497		return invalidParams
82498	}
82499	return nil
82500}
82501
82502// SetAssociationId sets the AssociationId field's value.
82503func (s *DisassociateClientVpnTargetNetworkInput) SetAssociationId(v string) *DisassociateClientVpnTargetNetworkInput {
82504	s.AssociationId = &v
82505	return s
82506}
82507
82508// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
82509func (s *DisassociateClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *DisassociateClientVpnTargetNetworkInput {
82510	s.ClientVpnEndpointId = &v
82511	return s
82512}
82513
82514// SetDryRun sets the DryRun field's value.
82515func (s *DisassociateClientVpnTargetNetworkInput) SetDryRun(v bool) *DisassociateClientVpnTargetNetworkInput {
82516	s.DryRun = &v
82517	return s
82518}
82519
82520type DisassociateClientVpnTargetNetworkOutput struct {
82521	_ struct{} `type:"structure"`
82522
82523	// The ID of the target network association.
82524	AssociationId *string `locationName:"associationId" type:"string"`
82525
82526	// The current state of the target network association.
82527	Status *AssociationStatus `locationName:"status" type:"structure"`
82528}
82529
82530// String returns the string representation
82531func (s DisassociateClientVpnTargetNetworkOutput) String() string {
82532	return awsutil.Prettify(s)
82533}
82534
82535// GoString returns the string representation
82536func (s DisassociateClientVpnTargetNetworkOutput) GoString() string {
82537	return s.String()
82538}
82539
82540// SetAssociationId sets the AssociationId field's value.
82541func (s *DisassociateClientVpnTargetNetworkOutput) SetAssociationId(v string) *DisassociateClientVpnTargetNetworkOutput {
82542	s.AssociationId = &v
82543	return s
82544}
82545
82546// SetStatus sets the Status field's value.
82547func (s *DisassociateClientVpnTargetNetworkOutput) SetStatus(v *AssociationStatus) *DisassociateClientVpnTargetNetworkOutput {
82548	s.Status = v
82549	return s
82550}
82551
82552type DisassociateEnclaveCertificateIamRoleInput struct {
82553	_ struct{} `type:"structure"`
82554
82555	// The ARN of the ACM certificate from which to disassociate the IAM role.
82556	CertificateArn *string `min:"1" type:"string"`
82557
82558	// Checks whether you have the required permissions for the action, without
82559	// actually making the request, and provides an error response. If you have
82560	// the required permissions, the error response is DryRunOperation. Otherwise,
82561	// it is UnauthorizedOperation.
82562	DryRun *bool `type:"boolean"`
82563
82564	// The ARN of the IAM role to disassociate.
82565	RoleArn *string `min:"1" type:"string"`
82566}
82567
82568// String returns the string representation
82569func (s DisassociateEnclaveCertificateIamRoleInput) String() string {
82570	return awsutil.Prettify(s)
82571}
82572
82573// GoString returns the string representation
82574func (s DisassociateEnclaveCertificateIamRoleInput) GoString() string {
82575	return s.String()
82576}
82577
82578// Validate inspects the fields of the type to determine if they are valid.
82579func (s *DisassociateEnclaveCertificateIamRoleInput) Validate() error {
82580	invalidParams := request.ErrInvalidParams{Context: "DisassociateEnclaveCertificateIamRoleInput"}
82581	if s.CertificateArn != nil && len(*s.CertificateArn) < 1 {
82582		invalidParams.Add(request.NewErrParamMinLen("CertificateArn", 1))
82583	}
82584	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
82585		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
82586	}
82587
82588	if invalidParams.Len() > 0 {
82589		return invalidParams
82590	}
82591	return nil
82592}
82593
82594// SetCertificateArn sets the CertificateArn field's value.
82595func (s *DisassociateEnclaveCertificateIamRoleInput) SetCertificateArn(v string) *DisassociateEnclaveCertificateIamRoleInput {
82596	s.CertificateArn = &v
82597	return s
82598}
82599
82600// SetDryRun sets the DryRun field's value.
82601func (s *DisassociateEnclaveCertificateIamRoleInput) SetDryRun(v bool) *DisassociateEnclaveCertificateIamRoleInput {
82602	s.DryRun = &v
82603	return s
82604}
82605
82606// SetRoleArn sets the RoleArn field's value.
82607func (s *DisassociateEnclaveCertificateIamRoleInput) SetRoleArn(v string) *DisassociateEnclaveCertificateIamRoleInput {
82608	s.RoleArn = &v
82609	return s
82610}
82611
82612type DisassociateEnclaveCertificateIamRoleOutput struct {
82613	_ struct{} `type:"structure"`
82614
82615	// Returns true if the request succeeds; otherwise, it returns an error.
82616	Return *bool `locationName:"return" type:"boolean"`
82617}
82618
82619// String returns the string representation
82620func (s DisassociateEnclaveCertificateIamRoleOutput) String() string {
82621	return awsutil.Prettify(s)
82622}
82623
82624// GoString returns the string representation
82625func (s DisassociateEnclaveCertificateIamRoleOutput) GoString() string {
82626	return s.String()
82627}
82628
82629// SetReturn sets the Return field's value.
82630func (s *DisassociateEnclaveCertificateIamRoleOutput) SetReturn(v bool) *DisassociateEnclaveCertificateIamRoleOutput {
82631	s.Return = &v
82632	return s
82633}
82634
82635type DisassociateIamInstanceProfileInput struct {
82636	_ struct{} `type:"structure"`
82637
82638	// The ID of the IAM instance profile association.
82639	//
82640	// AssociationId is a required field
82641	AssociationId *string `type:"string" required:"true"`
82642}
82643
82644// String returns the string representation
82645func (s DisassociateIamInstanceProfileInput) String() string {
82646	return awsutil.Prettify(s)
82647}
82648
82649// GoString returns the string representation
82650func (s DisassociateIamInstanceProfileInput) GoString() string {
82651	return s.String()
82652}
82653
82654// Validate inspects the fields of the type to determine if they are valid.
82655func (s *DisassociateIamInstanceProfileInput) Validate() error {
82656	invalidParams := request.ErrInvalidParams{Context: "DisassociateIamInstanceProfileInput"}
82657	if s.AssociationId == nil {
82658		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
82659	}
82660
82661	if invalidParams.Len() > 0 {
82662		return invalidParams
82663	}
82664	return nil
82665}
82666
82667// SetAssociationId sets the AssociationId field's value.
82668func (s *DisassociateIamInstanceProfileInput) SetAssociationId(v string) *DisassociateIamInstanceProfileInput {
82669	s.AssociationId = &v
82670	return s
82671}
82672
82673type DisassociateIamInstanceProfileOutput struct {
82674	_ struct{} `type:"structure"`
82675
82676	// Information about the IAM instance profile association.
82677	IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
82678}
82679
82680// String returns the string representation
82681func (s DisassociateIamInstanceProfileOutput) String() string {
82682	return awsutil.Prettify(s)
82683}
82684
82685// GoString returns the string representation
82686func (s DisassociateIamInstanceProfileOutput) GoString() string {
82687	return s.String()
82688}
82689
82690// SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
82691func (s *DisassociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *DisassociateIamInstanceProfileOutput {
82692	s.IamInstanceProfileAssociation = v
82693	return s
82694}
82695
82696type DisassociateInstanceEventWindowInput struct {
82697	_ struct{} `type:"structure"`
82698
82699	// One or more targets to disassociate from the specified event window.
82700	//
82701	// AssociationTarget is a required field
82702	AssociationTarget *InstanceEventWindowDisassociationRequest `type:"structure" required:"true"`
82703
82704	// Checks whether you have the required permissions for the action, without
82705	// actually making the request, and provides an error response. If you have
82706	// the required permissions, the error response is DryRunOperation. Otherwise,
82707	// it is UnauthorizedOperation.
82708	DryRun *bool `type:"boolean"`
82709
82710	// The ID of the event window.
82711	//
82712	// InstanceEventWindowId is a required field
82713	InstanceEventWindowId *string `type:"string" required:"true"`
82714}
82715
82716// String returns the string representation
82717func (s DisassociateInstanceEventWindowInput) String() string {
82718	return awsutil.Prettify(s)
82719}
82720
82721// GoString returns the string representation
82722func (s DisassociateInstanceEventWindowInput) GoString() string {
82723	return s.String()
82724}
82725
82726// Validate inspects the fields of the type to determine if they are valid.
82727func (s *DisassociateInstanceEventWindowInput) Validate() error {
82728	invalidParams := request.ErrInvalidParams{Context: "DisassociateInstanceEventWindowInput"}
82729	if s.AssociationTarget == nil {
82730		invalidParams.Add(request.NewErrParamRequired("AssociationTarget"))
82731	}
82732	if s.InstanceEventWindowId == nil {
82733		invalidParams.Add(request.NewErrParamRequired("InstanceEventWindowId"))
82734	}
82735
82736	if invalidParams.Len() > 0 {
82737		return invalidParams
82738	}
82739	return nil
82740}
82741
82742// SetAssociationTarget sets the AssociationTarget field's value.
82743func (s *DisassociateInstanceEventWindowInput) SetAssociationTarget(v *InstanceEventWindowDisassociationRequest) *DisassociateInstanceEventWindowInput {
82744	s.AssociationTarget = v
82745	return s
82746}
82747
82748// SetDryRun sets the DryRun field's value.
82749func (s *DisassociateInstanceEventWindowInput) SetDryRun(v bool) *DisassociateInstanceEventWindowInput {
82750	s.DryRun = &v
82751	return s
82752}
82753
82754// SetInstanceEventWindowId sets the InstanceEventWindowId field's value.
82755func (s *DisassociateInstanceEventWindowInput) SetInstanceEventWindowId(v string) *DisassociateInstanceEventWindowInput {
82756	s.InstanceEventWindowId = &v
82757	return s
82758}
82759
82760type DisassociateInstanceEventWindowOutput struct {
82761	_ struct{} `type:"structure"`
82762
82763	// Information about the event window.
82764	InstanceEventWindow *InstanceEventWindow `locationName:"instanceEventWindow" type:"structure"`
82765}
82766
82767// String returns the string representation
82768func (s DisassociateInstanceEventWindowOutput) String() string {
82769	return awsutil.Prettify(s)
82770}
82771
82772// GoString returns the string representation
82773func (s DisassociateInstanceEventWindowOutput) GoString() string {
82774	return s.String()
82775}
82776
82777// SetInstanceEventWindow sets the InstanceEventWindow field's value.
82778func (s *DisassociateInstanceEventWindowOutput) SetInstanceEventWindow(v *InstanceEventWindow) *DisassociateInstanceEventWindowOutput {
82779	s.InstanceEventWindow = v
82780	return s
82781}
82782
82783type DisassociateRouteTableInput struct {
82784	_ struct{} `type:"structure"`
82785
82786	// The association ID representing the current association between the route
82787	// table and subnet or gateway.
82788	//
82789	// AssociationId is a required field
82790	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
82791
82792	// Checks whether you have the required permissions for the action, without
82793	// actually making the request, and provides an error response. If you have
82794	// the required permissions, the error response is DryRunOperation. Otherwise,
82795	// it is UnauthorizedOperation.
82796	DryRun *bool `locationName:"dryRun" type:"boolean"`
82797}
82798
82799// String returns the string representation
82800func (s DisassociateRouteTableInput) String() string {
82801	return awsutil.Prettify(s)
82802}
82803
82804// GoString returns the string representation
82805func (s DisassociateRouteTableInput) GoString() string {
82806	return s.String()
82807}
82808
82809// Validate inspects the fields of the type to determine if they are valid.
82810func (s *DisassociateRouteTableInput) Validate() error {
82811	invalidParams := request.ErrInvalidParams{Context: "DisassociateRouteTableInput"}
82812	if s.AssociationId == nil {
82813		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
82814	}
82815
82816	if invalidParams.Len() > 0 {
82817		return invalidParams
82818	}
82819	return nil
82820}
82821
82822// SetAssociationId sets the AssociationId field's value.
82823func (s *DisassociateRouteTableInput) SetAssociationId(v string) *DisassociateRouteTableInput {
82824	s.AssociationId = &v
82825	return s
82826}
82827
82828// SetDryRun sets the DryRun field's value.
82829func (s *DisassociateRouteTableInput) SetDryRun(v bool) *DisassociateRouteTableInput {
82830	s.DryRun = &v
82831	return s
82832}
82833
82834type DisassociateRouteTableOutput struct {
82835	_ struct{} `type:"structure"`
82836}
82837
82838// String returns the string representation
82839func (s DisassociateRouteTableOutput) String() string {
82840	return awsutil.Prettify(s)
82841}
82842
82843// GoString returns the string representation
82844func (s DisassociateRouteTableOutput) GoString() string {
82845	return s.String()
82846}
82847
82848type DisassociateSubnetCidrBlockInput struct {
82849	_ struct{} `type:"structure"`
82850
82851	// The association ID for the CIDR block.
82852	//
82853	// AssociationId is a required field
82854	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
82855}
82856
82857// String returns the string representation
82858func (s DisassociateSubnetCidrBlockInput) String() string {
82859	return awsutil.Prettify(s)
82860}
82861
82862// GoString returns the string representation
82863func (s DisassociateSubnetCidrBlockInput) GoString() string {
82864	return s.String()
82865}
82866
82867// Validate inspects the fields of the type to determine if they are valid.
82868func (s *DisassociateSubnetCidrBlockInput) Validate() error {
82869	invalidParams := request.ErrInvalidParams{Context: "DisassociateSubnetCidrBlockInput"}
82870	if s.AssociationId == nil {
82871		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
82872	}
82873
82874	if invalidParams.Len() > 0 {
82875		return invalidParams
82876	}
82877	return nil
82878}
82879
82880// SetAssociationId sets the AssociationId field's value.
82881func (s *DisassociateSubnetCidrBlockInput) SetAssociationId(v string) *DisassociateSubnetCidrBlockInput {
82882	s.AssociationId = &v
82883	return s
82884}
82885
82886type DisassociateSubnetCidrBlockOutput struct {
82887	_ struct{} `type:"structure"`
82888
82889	// Information about the IPv6 CIDR block association.
82890	Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
82891
82892	// The ID of the subnet.
82893	SubnetId *string `locationName:"subnetId" type:"string"`
82894}
82895
82896// String returns the string representation
82897func (s DisassociateSubnetCidrBlockOutput) String() string {
82898	return awsutil.Prettify(s)
82899}
82900
82901// GoString returns the string representation
82902func (s DisassociateSubnetCidrBlockOutput) GoString() string {
82903	return s.String()
82904}
82905
82906// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
82907func (s *DisassociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *DisassociateSubnetCidrBlockOutput {
82908	s.Ipv6CidrBlockAssociation = v
82909	return s
82910}
82911
82912// SetSubnetId sets the SubnetId field's value.
82913func (s *DisassociateSubnetCidrBlockOutput) SetSubnetId(v string) *DisassociateSubnetCidrBlockOutput {
82914	s.SubnetId = &v
82915	return s
82916}
82917
82918type DisassociateTransitGatewayMulticastDomainInput struct {
82919	_ struct{} `type:"structure"`
82920
82921	// Checks whether you have the required permissions for the action, without
82922	// actually making the request, and provides an error response. If you have
82923	// the required permissions, the error response is DryRunOperation. Otherwise,
82924	// it is UnauthorizedOperation.
82925	DryRun *bool `type:"boolean"`
82926
82927	// The IDs of the subnets;
82928	SubnetIds []*string `locationNameList:"item" type:"list"`
82929
82930	// The ID of the attachment.
82931	TransitGatewayAttachmentId *string `type:"string"`
82932
82933	// The ID of the transit gateway multicast domain.
82934	TransitGatewayMulticastDomainId *string `type:"string"`
82935}
82936
82937// String returns the string representation
82938func (s DisassociateTransitGatewayMulticastDomainInput) String() string {
82939	return awsutil.Prettify(s)
82940}
82941
82942// GoString returns the string representation
82943func (s DisassociateTransitGatewayMulticastDomainInput) GoString() string {
82944	return s.String()
82945}
82946
82947// SetDryRun sets the DryRun field's value.
82948func (s *DisassociateTransitGatewayMulticastDomainInput) SetDryRun(v bool) *DisassociateTransitGatewayMulticastDomainInput {
82949	s.DryRun = &v
82950	return s
82951}
82952
82953// SetSubnetIds sets the SubnetIds field's value.
82954func (s *DisassociateTransitGatewayMulticastDomainInput) SetSubnetIds(v []*string) *DisassociateTransitGatewayMulticastDomainInput {
82955	s.SubnetIds = v
82956	return s
82957}
82958
82959// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
82960func (s *DisassociateTransitGatewayMulticastDomainInput) SetTransitGatewayAttachmentId(v string) *DisassociateTransitGatewayMulticastDomainInput {
82961	s.TransitGatewayAttachmentId = &v
82962	return s
82963}
82964
82965// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
82966func (s *DisassociateTransitGatewayMulticastDomainInput) SetTransitGatewayMulticastDomainId(v string) *DisassociateTransitGatewayMulticastDomainInput {
82967	s.TransitGatewayMulticastDomainId = &v
82968	return s
82969}
82970
82971type DisassociateTransitGatewayMulticastDomainOutput struct {
82972	_ struct{} `type:"structure"`
82973
82974	// Information about the association.
82975	Associations *TransitGatewayMulticastDomainAssociations `locationName:"associations" type:"structure"`
82976}
82977
82978// String returns the string representation
82979func (s DisassociateTransitGatewayMulticastDomainOutput) String() string {
82980	return awsutil.Prettify(s)
82981}
82982
82983// GoString returns the string representation
82984func (s DisassociateTransitGatewayMulticastDomainOutput) GoString() string {
82985	return s.String()
82986}
82987
82988// SetAssociations sets the Associations field's value.
82989func (s *DisassociateTransitGatewayMulticastDomainOutput) SetAssociations(v *TransitGatewayMulticastDomainAssociations) *DisassociateTransitGatewayMulticastDomainOutput {
82990	s.Associations = v
82991	return s
82992}
82993
82994type DisassociateTransitGatewayRouteTableInput struct {
82995	_ struct{} `type:"structure"`
82996
82997	// Checks whether you have the required permissions for the action, without
82998	// actually making the request, and provides an error response. If you have
82999	// the required permissions, the error response is DryRunOperation. Otherwise,
83000	// it is UnauthorizedOperation.
83001	DryRun *bool `type:"boolean"`
83002
83003	// The ID of the attachment.
83004	//
83005	// TransitGatewayAttachmentId is a required field
83006	TransitGatewayAttachmentId *string `type:"string" required:"true"`
83007
83008	// The ID of the transit gateway route table.
83009	//
83010	// TransitGatewayRouteTableId is a required field
83011	TransitGatewayRouteTableId *string `type:"string" required:"true"`
83012}
83013
83014// String returns the string representation
83015func (s DisassociateTransitGatewayRouteTableInput) String() string {
83016	return awsutil.Prettify(s)
83017}
83018
83019// GoString returns the string representation
83020func (s DisassociateTransitGatewayRouteTableInput) GoString() string {
83021	return s.String()
83022}
83023
83024// Validate inspects the fields of the type to determine if they are valid.
83025func (s *DisassociateTransitGatewayRouteTableInput) Validate() error {
83026	invalidParams := request.ErrInvalidParams{Context: "DisassociateTransitGatewayRouteTableInput"}
83027	if s.TransitGatewayAttachmentId == nil {
83028		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
83029	}
83030	if s.TransitGatewayRouteTableId == nil {
83031		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
83032	}
83033
83034	if invalidParams.Len() > 0 {
83035		return invalidParams
83036	}
83037	return nil
83038}
83039
83040// SetDryRun sets the DryRun field's value.
83041func (s *DisassociateTransitGatewayRouteTableInput) SetDryRun(v bool) *DisassociateTransitGatewayRouteTableInput {
83042	s.DryRun = &v
83043	return s
83044}
83045
83046// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
83047func (s *DisassociateTransitGatewayRouteTableInput) SetTransitGatewayAttachmentId(v string) *DisassociateTransitGatewayRouteTableInput {
83048	s.TransitGatewayAttachmentId = &v
83049	return s
83050}
83051
83052// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
83053func (s *DisassociateTransitGatewayRouteTableInput) SetTransitGatewayRouteTableId(v string) *DisassociateTransitGatewayRouteTableInput {
83054	s.TransitGatewayRouteTableId = &v
83055	return s
83056}
83057
83058type DisassociateTransitGatewayRouteTableOutput struct {
83059	_ struct{} `type:"structure"`
83060
83061	// Information about the association.
83062	Association *TransitGatewayAssociation `locationName:"association" type:"structure"`
83063}
83064
83065// String returns the string representation
83066func (s DisassociateTransitGatewayRouteTableOutput) String() string {
83067	return awsutil.Prettify(s)
83068}
83069
83070// GoString returns the string representation
83071func (s DisassociateTransitGatewayRouteTableOutput) GoString() string {
83072	return s.String()
83073}
83074
83075// SetAssociation sets the Association field's value.
83076func (s *DisassociateTransitGatewayRouteTableOutput) SetAssociation(v *TransitGatewayAssociation) *DisassociateTransitGatewayRouteTableOutput {
83077	s.Association = v
83078	return s
83079}
83080
83081type DisassociateTrunkInterfaceInput struct {
83082	_ struct{} `type:"structure"`
83083
83084	// The ID of the association
83085	//
83086	// AssociationId is a required field
83087	AssociationId *string `type:"string" required:"true"`
83088
83089	// Unique, case-sensitive identifier that you provide to ensure the idempotency
83090	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
83091	ClientToken *string `type:"string" idempotencyToken:"true"`
83092
83093	// Checks whether you have the required permissions for the action, without
83094	// actually making the request, and provides an error response. If you have
83095	// the required permissions, the error response is DryRunOperation. Otherwise,
83096	// it is UnauthorizedOperation.
83097	DryRun *bool `type:"boolean"`
83098}
83099
83100// String returns the string representation
83101func (s DisassociateTrunkInterfaceInput) String() string {
83102	return awsutil.Prettify(s)
83103}
83104
83105// GoString returns the string representation
83106func (s DisassociateTrunkInterfaceInput) GoString() string {
83107	return s.String()
83108}
83109
83110// Validate inspects the fields of the type to determine if they are valid.
83111func (s *DisassociateTrunkInterfaceInput) Validate() error {
83112	invalidParams := request.ErrInvalidParams{Context: "DisassociateTrunkInterfaceInput"}
83113	if s.AssociationId == nil {
83114		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
83115	}
83116
83117	if invalidParams.Len() > 0 {
83118		return invalidParams
83119	}
83120	return nil
83121}
83122
83123// SetAssociationId sets the AssociationId field's value.
83124func (s *DisassociateTrunkInterfaceInput) SetAssociationId(v string) *DisassociateTrunkInterfaceInput {
83125	s.AssociationId = &v
83126	return s
83127}
83128
83129// SetClientToken sets the ClientToken field's value.
83130func (s *DisassociateTrunkInterfaceInput) SetClientToken(v string) *DisassociateTrunkInterfaceInput {
83131	s.ClientToken = &v
83132	return s
83133}
83134
83135// SetDryRun sets the DryRun field's value.
83136func (s *DisassociateTrunkInterfaceInput) SetDryRun(v bool) *DisassociateTrunkInterfaceInput {
83137	s.DryRun = &v
83138	return s
83139}
83140
83141type DisassociateTrunkInterfaceOutput struct {
83142	_ struct{} `type:"structure"`
83143
83144	// Unique, case-sensitive identifier that you provide to ensure the idempotency
83145	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
83146	ClientToken *string `locationName:"clientToken" type:"string"`
83147
83148	// Returns true if the request succeeds; otherwise, it returns an error.
83149	Return *bool `locationName:"return" type:"boolean"`
83150}
83151
83152// String returns the string representation
83153func (s DisassociateTrunkInterfaceOutput) String() string {
83154	return awsutil.Prettify(s)
83155}
83156
83157// GoString returns the string representation
83158func (s DisassociateTrunkInterfaceOutput) GoString() string {
83159	return s.String()
83160}
83161
83162// SetClientToken sets the ClientToken field's value.
83163func (s *DisassociateTrunkInterfaceOutput) SetClientToken(v string) *DisassociateTrunkInterfaceOutput {
83164	s.ClientToken = &v
83165	return s
83166}
83167
83168// SetReturn sets the Return field's value.
83169func (s *DisassociateTrunkInterfaceOutput) SetReturn(v bool) *DisassociateTrunkInterfaceOutput {
83170	s.Return = &v
83171	return s
83172}
83173
83174type DisassociateVpcCidrBlockInput struct {
83175	_ struct{} `type:"structure"`
83176
83177	// The association ID for the CIDR block.
83178	//
83179	// AssociationId is a required field
83180	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
83181}
83182
83183// String returns the string representation
83184func (s DisassociateVpcCidrBlockInput) String() string {
83185	return awsutil.Prettify(s)
83186}
83187
83188// GoString returns the string representation
83189func (s DisassociateVpcCidrBlockInput) GoString() string {
83190	return s.String()
83191}
83192
83193// Validate inspects the fields of the type to determine if they are valid.
83194func (s *DisassociateVpcCidrBlockInput) Validate() error {
83195	invalidParams := request.ErrInvalidParams{Context: "DisassociateVpcCidrBlockInput"}
83196	if s.AssociationId == nil {
83197		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
83198	}
83199
83200	if invalidParams.Len() > 0 {
83201		return invalidParams
83202	}
83203	return nil
83204}
83205
83206// SetAssociationId sets the AssociationId field's value.
83207func (s *DisassociateVpcCidrBlockInput) SetAssociationId(v string) *DisassociateVpcCidrBlockInput {
83208	s.AssociationId = &v
83209	return s
83210}
83211
83212type DisassociateVpcCidrBlockOutput struct {
83213	_ struct{} `type:"structure"`
83214
83215	// Information about the IPv4 CIDR block association.
83216	CidrBlockAssociation *VpcCidrBlockAssociation `locationName:"cidrBlockAssociation" type:"structure"`
83217
83218	// Information about the IPv6 CIDR block association.
83219	Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
83220
83221	// The ID of the VPC.
83222	VpcId *string `locationName:"vpcId" type:"string"`
83223}
83224
83225// String returns the string representation
83226func (s DisassociateVpcCidrBlockOutput) String() string {
83227	return awsutil.Prettify(s)
83228}
83229
83230// GoString returns the string representation
83231func (s DisassociateVpcCidrBlockOutput) GoString() string {
83232	return s.String()
83233}
83234
83235// SetCidrBlockAssociation sets the CidrBlockAssociation field's value.
83236func (s *DisassociateVpcCidrBlockOutput) SetCidrBlockAssociation(v *VpcCidrBlockAssociation) *DisassociateVpcCidrBlockOutput {
83237	s.CidrBlockAssociation = v
83238	return s
83239}
83240
83241// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
83242func (s *DisassociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *DisassociateVpcCidrBlockOutput {
83243	s.Ipv6CidrBlockAssociation = v
83244	return s
83245}
83246
83247// SetVpcId sets the VpcId field's value.
83248func (s *DisassociateVpcCidrBlockOutput) SetVpcId(v string) *DisassociateVpcCidrBlockOutput {
83249	s.VpcId = &v
83250	return s
83251}
83252
83253// Describes a disk image.
83254type DiskImage struct {
83255	_ struct{} `type:"structure"`
83256
83257	// A description of the disk image.
83258	Description *string `type:"string"`
83259
83260	// Information about the disk image.
83261	Image *DiskImageDetail `type:"structure"`
83262
83263	// Information about the volume.
83264	Volume *VolumeDetail `type:"structure"`
83265}
83266
83267// String returns the string representation
83268func (s DiskImage) String() string {
83269	return awsutil.Prettify(s)
83270}
83271
83272// GoString returns the string representation
83273func (s DiskImage) GoString() string {
83274	return s.String()
83275}
83276
83277// Validate inspects the fields of the type to determine if they are valid.
83278func (s *DiskImage) Validate() error {
83279	invalidParams := request.ErrInvalidParams{Context: "DiskImage"}
83280	if s.Image != nil {
83281		if err := s.Image.Validate(); err != nil {
83282			invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
83283		}
83284	}
83285	if s.Volume != nil {
83286		if err := s.Volume.Validate(); err != nil {
83287			invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
83288		}
83289	}
83290
83291	if invalidParams.Len() > 0 {
83292		return invalidParams
83293	}
83294	return nil
83295}
83296
83297// SetDescription sets the Description field's value.
83298func (s *DiskImage) SetDescription(v string) *DiskImage {
83299	s.Description = &v
83300	return s
83301}
83302
83303// SetImage sets the Image field's value.
83304func (s *DiskImage) SetImage(v *DiskImageDetail) *DiskImage {
83305	s.Image = v
83306	return s
83307}
83308
83309// SetVolume sets the Volume field's value.
83310func (s *DiskImage) SetVolume(v *VolumeDetail) *DiskImage {
83311	s.Volume = v
83312	return s
83313}
83314
83315// Describes a disk image.
83316type DiskImageDescription struct {
83317	_ struct{} `type:"structure"`
83318
83319	// The checksum computed for the disk image.
83320	Checksum *string `locationName:"checksum" type:"string"`
83321
83322	// The disk image format.
83323	Format *string `locationName:"format" type:"string" enum:"DiskImageFormat"`
83324
83325	// A presigned URL for the import manifest stored in Amazon S3. For information
83326	// about creating a presigned URL for an Amazon S3 object, read the "Query String
83327	// Request Authentication Alternative" section of the Authenticating REST Requests
83328	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
83329	// topic in the Amazon Simple Storage Service Developer Guide.
83330	//
83331	// For information about the import manifest referenced by this API action,
83332	// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
83333	ImportManifestUrl *string `locationName:"importManifestUrl" type:"string"`
83334
83335	// The size of the disk image, in GiB.
83336	Size *int64 `locationName:"size" type:"long"`
83337}
83338
83339// String returns the string representation
83340func (s DiskImageDescription) String() string {
83341	return awsutil.Prettify(s)
83342}
83343
83344// GoString returns the string representation
83345func (s DiskImageDescription) GoString() string {
83346	return s.String()
83347}
83348
83349// SetChecksum sets the Checksum field's value.
83350func (s *DiskImageDescription) SetChecksum(v string) *DiskImageDescription {
83351	s.Checksum = &v
83352	return s
83353}
83354
83355// SetFormat sets the Format field's value.
83356func (s *DiskImageDescription) SetFormat(v string) *DiskImageDescription {
83357	s.Format = &v
83358	return s
83359}
83360
83361// SetImportManifestUrl sets the ImportManifestUrl field's value.
83362func (s *DiskImageDescription) SetImportManifestUrl(v string) *DiskImageDescription {
83363	s.ImportManifestUrl = &v
83364	return s
83365}
83366
83367// SetSize sets the Size field's value.
83368func (s *DiskImageDescription) SetSize(v int64) *DiskImageDescription {
83369	s.Size = &v
83370	return s
83371}
83372
83373// Describes a disk image.
83374type DiskImageDetail struct {
83375	_ struct{} `type:"structure"`
83376
83377	// The size of the disk image, in GiB.
83378	//
83379	// Bytes is a required field
83380	Bytes *int64 `locationName:"bytes" type:"long" required:"true"`
83381
83382	// The disk image format.
83383	//
83384	// Format is a required field
83385	Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
83386
83387	// A presigned URL for the import manifest stored in Amazon S3 and presented
83388	// here as an Amazon S3 presigned URL. For information about creating a presigned
83389	// URL for an Amazon S3 object, read the "Query String Request Authentication
83390	// Alternative" section of the Authenticating REST Requests (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
83391	// topic in the Amazon Simple Storage Service Developer Guide.
83392	//
83393	// For information about the import manifest referenced by this API action,
83394	// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
83395	//
83396	// ImportManifestUrl is a required field
83397	ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"`
83398}
83399
83400// String returns the string representation
83401func (s DiskImageDetail) String() string {
83402	return awsutil.Prettify(s)
83403}
83404
83405// GoString returns the string representation
83406func (s DiskImageDetail) GoString() string {
83407	return s.String()
83408}
83409
83410// Validate inspects the fields of the type to determine if they are valid.
83411func (s *DiskImageDetail) Validate() error {
83412	invalidParams := request.ErrInvalidParams{Context: "DiskImageDetail"}
83413	if s.Bytes == nil {
83414		invalidParams.Add(request.NewErrParamRequired("Bytes"))
83415	}
83416	if s.Format == nil {
83417		invalidParams.Add(request.NewErrParamRequired("Format"))
83418	}
83419	if s.ImportManifestUrl == nil {
83420		invalidParams.Add(request.NewErrParamRequired("ImportManifestUrl"))
83421	}
83422
83423	if invalidParams.Len() > 0 {
83424		return invalidParams
83425	}
83426	return nil
83427}
83428
83429// SetBytes sets the Bytes field's value.
83430func (s *DiskImageDetail) SetBytes(v int64) *DiskImageDetail {
83431	s.Bytes = &v
83432	return s
83433}
83434
83435// SetFormat sets the Format field's value.
83436func (s *DiskImageDetail) SetFormat(v string) *DiskImageDetail {
83437	s.Format = &v
83438	return s
83439}
83440
83441// SetImportManifestUrl sets the ImportManifestUrl field's value.
83442func (s *DiskImageDetail) SetImportManifestUrl(v string) *DiskImageDetail {
83443	s.ImportManifestUrl = &v
83444	return s
83445}
83446
83447// Describes a disk image volume.
83448type DiskImageVolumeDescription struct {
83449	_ struct{} `type:"structure"`
83450
83451	// The volume identifier.
83452	Id *string `locationName:"id" type:"string"`
83453
83454	// The size of the volume, in GiB.
83455	Size *int64 `locationName:"size" type:"long"`
83456}
83457
83458// String returns the string representation
83459func (s DiskImageVolumeDescription) String() string {
83460	return awsutil.Prettify(s)
83461}
83462
83463// GoString returns the string representation
83464func (s DiskImageVolumeDescription) GoString() string {
83465	return s.String()
83466}
83467
83468// SetId sets the Id field's value.
83469func (s *DiskImageVolumeDescription) SetId(v string) *DiskImageVolumeDescription {
83470	s.Id = &v
83471	return s
83472}
83473
83474// SetSize sets the Size field's value.
83475func (s *DiskImageVolumeDescription) SetSize(v int64) *DiskImageVolumeDescription {
83476	s.Size = &v
83477	return s
83478}
83479
83480// Describes the disk.
83481type DiskInfo struct {
83482	_ struct{} `type:"structure"`
83483
83484	// The number of disks with this configuration.
83485	Count *int64 `locationName:"count" type:"integer"`
83486
83487	// The size of the disk in GB.
83488	SizeInGB *int64 `locationName:"sizeInGB" type:"long"`
83489
83490	// The type of disk.
83491	Type *string `locationName:"type" type:"string" enum:"DiskType"`
83492}
83493
83494// String returns the string representation
83495func (s DiskInfo) String() string {
83496	return awsutil.Prettify(s)
83497}
83498
83499// GoString returns the string representation
83500func (s DiskInfo) GoString() string {
83501	return s.String()
83502}
83503
83504// SetCount sets the Count field's value.
83505func (s *DiskInfo) SetCount(v int64) *DiskInfo {
83506	s.Count = &v
83507	return s
83508}
83509
83510// SetSizeInGB sets the SizeInGB field's value.
83511func (s *DiskInfo) SetSizeInGB(v int64) *DiskInfo {
83512	s.SizeInGB = &v
83513	return s
83514}
83515
83516// SetType sets the Type field's value.
83517func (s *DiskInfo) SetType(v string) *DiskInfo {
83518	s.Type = &v
83519	return s
83520}
83521
83522// Describes a DNS entry.
83523type DnsEntry struct {
83524	_ struct{} `type:"structure"`
83525
83526	// The DNS name.
83527	DnsName *string `locationName:"dnsName" type:"string"`
83528
83529	// The ID of the private hosted zone.
83530	HostedZoneId *string `locationName:"hostedZoneId" type:"string"`
83531}
83532
83533// String returns the string representation
83534func (s DnsEntry) String() string {
83535	return awsutil.Prettify(s)
83536}
83537
83538// GoString returns the string representation
83539func (s DnsEntry) GoString() string {
83540	return s.String()
83541}
83542
83543// SetDnsName sets the DnsName field's value.
83544func (s *DnsEntry) SetDnsName(v string) *DnsEntry {
83545	s.DnsName = &v
83546	return s
83547}
83548
83549// SetHostedZoneId sets the HostedZoneId field's value.
83550func (s *DnsEntry) SetHostedZoneId(v string) *DnsEntry {
83551	s.HostedZoneId = &v
83552	return s
83553}
83554
83555// Information about the DNS server to be used.
83556type DnsServersOptionsModifyStructure struct {
83557	_ struct{} `type:"structure"`
83558
83559	// The IPv4 address range, in CIDR notation, of the DNS servers to be used.
83560	// You can specify up to two DNS servers. Ensure that the DNS servers can be
83561	// reached by the clients. The specified values overwrite the existing values.
83562	CustomDnsServers []*string `locationNameList:"item" type:"list"`
83563
83564	// Indicates whether DNS servers should be used. Specify False to delete the
83565	// existing DNS servers.
83566	Enabled *bool `type:"boolean"`
83567}
83568
83569// String returns the string representation
83570func (s DnsServersOptionsModifyStructure) String() string {
83571	return awsutil.Prettify(s)
83572}
83573
83574// GoString returns the string representation
83575func (s DnsServersOptionsModifyStructure) GoString() string {
83576	return s.String()
83577}
83578
83579// SetCustomDnsServers sets the CustomDnsServers field's value.
83580func (s *DnsServersOptionsModifyStructure) SetCustomDnsServers(v []*string) *DnsServersOptionsModifyStructure {
83581	s.CustomDnsServers = v
83582	return s
83583}
83584
83585// SetEnabled sets the Enabled field's value.
83586func (s *DnsServersOptionsModifyStructure) SetEnabled(v bool) *DnsServersOptionsModifyStructure {
83587	s.Enabled = &v
83588	return s
83589}
83590
83591// Describes a block device for an EBS volume.
83592type EbsBlockDevice struct {
83593	_ struct{} `type:"structure"`
83594
83595	// Indicates whether the EBS volume is deleted on instance termination. For
83596	// more information, see Preserving Amazon EBS volumes on instance termination
83597	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination)
83598	// in the Amazon EC2 User Guide.
83599	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
83600
83601	// Indicates whether the encryption state of an EBS volume is changed while
83602	// being restored from a backing snapshot. The effect of setting the encryption
83603	// state to true depends on the volume origin (new or from a snapshot), starting
83604	// encryption state, ownership, and whether encryption by default is enabled.
83605	// For more information, see Amazon EBS encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-parameters)
83606	// in the Amazon EC2 User Guide.
83607	//
83608	// In no case can you remove encryption from an encrypted volume.
83609	//
83610	// Encrypted volumes can only be attached to instances that support Amazon EBS
83611	// encryption. For more information, see Supported instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances).
83612	//
83613	// This parameter is not returned by .
83614	Encrypted *bool `locationName:"encrypted" type:"boolean"`
83615
83616	// The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes,
83617	// this represents the number of IOPS that are provisioned for the volume. For
83618	// gp2 volumes, this represents the baseline performance of the volume and the
83619	// rate at which the volume accumulates I/O credits for bursting.
83620	//
83621	// The following are the supported values for each volume type:
83622	//
83623	//    * gp3: 3,000-16,000 IOPS
83624	//
83625	//    * io1: 100-64,000 IOPS
83626	//
83627	//    * io2: 100-64,000 IOPS
83628	//
83629	// For io1 and io2 volumes, we guarantee 64,000 IOPS only for Instances built
83630	// on the Nitro System (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
83631	// Other instance families guarantee performance up to 32,000 IOPS.
83632	//
83633	// This parameter is required for io1 and io2 volumes. The default for gp3 volumes
83634	// is 3,000 IOPS. This parameter is not supported for gp2, st1, sc1, or standard
83635	// volumes.
83636	Iops *int64 `locationName:"iops" type:"integer"`
83637
83638	// Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed
83639	// CMK under which the EBS volume is encrypted.
83640	//
83641	// This parameter is only supported on BlockDeviceMapping objects called by
83642	// RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html),
83643	// RequestSpotFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html),
83644	// and RequestSpotInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html).
83645	KmsKeyId *string `type:"string"`
83646
83647	// The ARN of the Outpost on which the snapshot is stored.
83648	OutpostArn *string `locationName:"outpostArn" type:"string"`
83649
83650	// The ID of the snapshot.
83651	SnapshotId *string `locationName:"snapshotId" type:"string"`
83652
83653	// The throughput that the volume supports, in MiB/s.
83654	//
83655	// This parameter is valid only for gp3 volumes.
83656	//
83657	// Valid Range: Minimum value of 125. Maximum value of 1000.
83658	Throughput *int64 `locationName:"throughput" type:"integer"`
83659
83660	// The size of the volume, in GiBs. You must specify either a snapshot ID or
83661	// a volume size. If you specify a snapshot, the default is the snapshot size.
83662	// You can specify a volume size that is equal to or larger than the snapshot
83663	// size.
83664	//
83665	// The following are the supported volumes sizes for each volume type:
83666	//
83667	//    * gp2 and gp3:1-16,384
83668	//
83669	//    * io1 and io2: 4-16,384
83670	//
83671	//    * st1 and sc1: 125-16,384
83672	//
83673	//    * standard: 1-1,024
83674	VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
83675
83676	// The volume type. For more information, see Amazon EBS volume types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
83677	// in the Amazon EC2 User Guide. If the volume type is io1 or io2, you must
83678	// specify the IOPS that the volume supports.
83679	VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
83680}
83681
83682// String returns the string representation
83683func (s EbsBlockDevice) String() string {
83684	return awsutil.Prettify(s)
83685}
83686
83687// GoString returns the string representation
83688func (s EbsBlockDevice) GoString() string {
83689	return s.String()
83690}
83691
83692// SetDeleteOnTermination sets the DeleteOnTermination field's value.
83693func (s *EbsBlockDevice) SetDeleteOnTermination(v bool) *EbsBlockDevice {
83694	s.DeleteOnTermination = &v
83695	return s
83696}
83697
83698// SetEncrypted sets the Encrypted field's value.
83699func (s *EbsBlockDevice) SetEncrypted(v bool) *EbsBlockDevice {
83700	s.Encrypted = &v
83701	return s
83702}
83703
83704// SetIops sets the Iops field's value.
83705func (s *EbsBlockDevice) SetIops(v int64) *EbsBlockDevice {
83706	s.Iops = &v
83707	return s
83708}
83709
83710// SetKmsKeyId sets the KmsKeyId field's value.
83711func (s *EbsBlockDevice) SetKmsKeyId(v string) *EbsBlockDevice {
83712	s.KmsKeyId = &v
83713	return s
83714}
83715
83716// SetOutpostArn sets the OutpostArn field's value.
83717func (s *EbsBlockDevice) SetOutpostArn(v string) *EbsBlockDevice {
83718	s.OutpostArn = &v
83719	return s
83720}
83721
83722// SetSnapshotId sets the SnapshotId field's value.
83723func (s *EbsBlockDevice) SetSnapshotId(v string) *EbsBlockDevice {
83724	s.SnapshotId = &v
83725	return s
83726}
83727
83728// SetThroughput sets the Throughput field's value.
83729func (s *EbsBlockDevice) SetThroughput(v int64) *EbsBlockDevice {
83730	s.Throughput = &v
83731	return s
83732}
83733
83734// SetVolumeSize sets the VolumeSize field's value.
83735func (s *EbsBlockDevice) SetVolumeSize(v int64) *EbsBlockDevice {
83736	s.VolumeSize = &v
83737	return s
83738}
83739
83740// SetVolumeType sets the VolumeType field's value.
83741func (s *EbsBlockDevice) SetVolumeType(v string) *EbsBlockDevice {
83742	s.VolumeType = &v
83743	return s
83744}
83745
83746// Describes the Amazon EBS features supported by the instance type.
83747type EbsInfo struct {
83748	_ struct{} `type:"structure"`
83749
83750	// Describes the optimized EBS performance for the instance type.
83751	EbsOptimizedInfo *EbsOptimizedInfo `locationName:"ebsOptimizedInfo" type:"structure"`
83752
83753	// Indicates whether the instance type is Amazon EBS-optimized. For more information,
83754	// see Amazon EBS-optimized instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html)
83755	// in Amazon EC2 User Guide.
83756	EbsOptimizedSupport *string `locationName:"ebsOptimizedSupport" type:"string" enum:"EbsOptimizedSupport"`
83757
83758	// Indicates whether Amazon EBS encryption is supported.
83759	EncryptionSupport *string `locationName:"encryptionSupport" type:"string" enum:"EbsEncryptionSupport"`
83760
83761	// Indicates whether non-volatile memory express (NVMe) is supported.
83762	NvmeSupport *string `locationName:"nvmeSupport" type:"string" enum:"EbsNvmeSupport"`
83763}
83764
83765// String returns the string representation
83766func (s EbsInfo) String() string {
83767	return awsutil.Prettify(s)
83768}
83769
83770// GoString returns the string representation
83771func (s EbsInfo) GoString() string {
83772	return s.String()
83773}
83774
83775// SetEbsOptimizedInfo sets the EbsOptimizedInfo field's value.
83776func (s *EbsInfo) SetEbsOptimizedInfo(v *EbsOptimizedInfo) *EbsInfo {
83777	s.EbsOptimizedInfo = v
83778	return s
83779}
83780
83781// SetEbsOptimizedSupport sets the EbsOptimizedSupport field's value.
83782func (s *EbsInfo) SetEbsOptimizedSupport(v string) *EbsInfo {
83783	s.EbsOptimizedSupport = &v
83784	return s
83785}
83786
83787// SetEncryptionSupport sets the EncryptionSupport field's value.
83788func (s *EbsInfo) SetEncryptionSupport(v string) *EbsInfo {
83789	s.EncryptionSupport = &v
83790	return s
83791}
83792
83793// SetNvmeSupport sets the NvmeSupport field's value.
83794func (s *EbsInfo) SetNvmeSupport(v string) *EbsInfo {
83795	s.NvmeSupport = &v
83796	return s
83797}
83798
83799// Describes a parameter used to set up an EBS volume in a block device mapping.
83800type EbsInstanceBlockDevice struct {
83801	_ struct{} `type:"structure"`
83802
83803	// The time stamp when the attachment initiated.
83804	AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
83805
83806	// Indicates whether the volume is deleted on instance termination.
83807	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
83808
83809	// The attachment state.
83810	Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
83811
83812	// The ID of the EBS volume.
83813	VolumeId *string `locationName:"volumeId" type:"string"`
83814}
83815
83816// String returns the string representation
83817func (s EbsInstanceBlockDevice) String() string {
83818	return awsutil.Prettify(s)
83819}
83820
83821// GoString returns the string representation
83822func (s EbsInstanceBlockDevice) GoString() string {
83823	return s.String()
83824}
83825
83826// SetAttachTime sets the AttachTime field's value.
83827func (s *EbsInstanceBlockDevice) SetAttachTime(v time.Time) *EbsInstanceBlockDevice {
83828	s.AttachTime = &v
83829	return s
83830}
83831
83832// SetDeleteOnTermination sets the DeleteOnTermination field's value.
83833func (s *EbsInstanceBlockDevice) SetDeleteOnTermination(v bool) *EbsInstanceBlockDevice {
83834	s.DeleteOnTermination = &v
83835	return s
83836}
83837
83838// SetStatus sets the Status field's value.
83839func (s *EbsInstanceBlockDevice) SetStatus(v string) *EbsInstanceBlockDevice {
83840	s.Status = &v
83841	return s
83842}
83843
83844// SetVolumeId sets the VolumeId field's value.
83845func (s *EbsInstanceBlockDevice) SetVolumeId(v string) *EbsInstanceBlockDevice {
83846	s.VolumeId = &v
83847	return s
83848}
83849
83850// Describes information used to set up an EBS volume specified in a block device
83851// mapping.
83852type EbsInstanceBlockDeviceSpecification struct {
83853	_ struct{} `type:"structure"`
83854
83855	// Indicates whether the volume is deleted on instance termination.
83856	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
83857
83858	// The ID of the EBS volume.
83859	VolumeId *string `locationName:"volumeId" type:"string"`
83860}
83861
83862// String returns the string representation
83863func (s EbsInstanceBlockDeviceSpecification) String() string {
83864	return awsutil.Prettify(s)
83865}
83866
83867// GoString returns the string representation
83868func (s EbsInstanceBlockDeviceSpecification) GoString() string {
83869	return s.String()
83870}
83871
83872// SetDeleteOnTermination sets the DeleteOnTermination field's value.
83873func (s *EbsInstanceBlockDeviceSpecification) SetDeleteOnTermination(v bool) *EbsInstanceBlockDeviceSpecification {
83874	s.DeleteOnTermination = &v
83875	return s
83876}
83877
83878// SetVolumeId sets the VolumeId field's value.
83879func (s *EbsInstanceBlockDeviceSpecification) SetVolumeId(v string) *EbsInstanceBlockDeviceSpecification {
83880	s.VolumeId = &v
83881	return s
83882}
83883
83884// Describes the optimized EBS performance for supported instance types.
83885type EbsOptimizedInfo struct {
83886	_ struct{} `type:"structure"`
83887
83888	// The baseline bandwidth performance for an EBS-optimized instance type, in
83889	// Mbps.
83890	BaselineBandwidthInMbps *int64 `locationName:"baselineBandwidthInMbps" type:"integer"`
83891
83892	// The baseline input/output storage operations per seconds for an EBS-optimized
83893	// instance type.
83894	BaselineIops *int64 `locationName:"baselineIops" type:"integer"`
83895
83896	// The baseline throughput performance for an EBS-optimized instance type, in
83897	// MB/s.
83898	BaselineThroughputInMBps *float64 `locationName:"baselineThroughputInMBps" type:"double"`
83899
83900	// The maximum bandwidth performance for an EBS-optimized instance type, in
83901	// Mbps.
83902	MaximumBandwidthInMbps *int64 `locationName:"maximumBandwidthInMbps" type:"integer"`
83903
83904	// The maximum input/output storage operations per second for an EBS-optimized
83905	// instance type.
83906	MaximumIops *int64 `locationName:"maximumIops" type:"integer"`
83907
83908	// The maximum throughput performance for an EBS-optimized instance type, in
83909	// MB/s.
83910	MaximumThroughputInMBps *float64 `locationName:"maximumThroughputInMBps" type:"double"`
83911}
83912
83913// String returns the string representation
83914func (s EbsOptimizedInfo) String() string {
83915	return awsutil.Prettify(s)
83916}
83917
83918// GoString returns the string representation
83919func (s EbsOptimizedInfo) GoString() string {
83920	return s.String()
83921}
83922
83923// SetBaselineBandwidthInMbps sets the BaselineBandwidthInMbps field's value.
83924func (s *EbsOptimizedInfo) SetBaselineBandwidthInMbps(v int64) *EbsOptimizedInfo {
83925	s.BaselineBandwidthInMbps = &v
83926	return s
83927}
83928
83929// SetBaselineIops sets the BaselineIops field's value.
83930func (s *EbsOptimizedInfo) SetBaselineIops(v int64) *EbsOptimizedInfo {
83931	s.BaselineIops = &v
83932	return s
83933}
83934
83935// SetBaselineThroughputInMBps sets the BaselineThroughputInMBps field's value.
83936func (s *EbsOptimizedInfo) SetBaselineThroughputInMBps(v float64) *EbsOptimizedInfo {
83937	s.BaselineThroughputInMBps = &v
83938	return s
83939}
83940
83941// SetMaximumBandwidthInMbps sets the MaximumBandwidthInMbps field's value.
83942func (s *EbsOptimizedInfo) SetMaximumBandwidthInMbps(v int64) *EbsOptimizedInfo {
83943	s.MaximumBandwidthInMbps = &v
83944	return s
83945}
83946
83947// SetMaximumIops sets the MaximumIops field's value.
83948func (s *EbsOptimizedInfo) SetMaximumIops(v int64) *EbsOptimizedInfo {
83949	s.MaximumIops = &v
83950	return s
83951}
83952
83953// SetMaximumThroughputInMBps sets the MaximumThroughputInMBps field's value.
83954func (s *EbsOptimizedInfo) SetMaximumThroughputInMBps(v float64) *EbsOptimizedInfo {
83955	s.MaximumThroughputInMBps = &v
83956	return s
83957}
83958
83959// Describes the Elastic Fabric Adapters for the instance type.
83960type EfaInfo struct {
83961	_ struct{} `type:"structure"`
83962
83963	// The maximum number of Elastic Fabric Adapters for the instance type.
83964	MaximumEfaInterfaces *int64 `locationName:"maximumEfaInterfaces" type:"integer"`
83965}
83966
83967// String returns the string representation
83968func (s EfaInfo) String() string {
83969	return awsutil.Prettify(s)
83970}
83971
83972// GoString returns the string representation
83973func (s EfaInfo) GoString() string {
83974	return s.String()
83975}
83976
83977// SetMaximumEfaInterfaces sets the MaximumEfaInterfaces field's value.
83978func (s *EfaInfo) SetMaximumEfaInterfaces(v int64) *EfaInfo {
83979	s.MaximumEfaInterfaces = &v
83980	return s
83981}
83982
83983// Describes an egress-only internet gateway.
83984type EgressOnlyInternetGateway struct {
83985	_ struct{} `type:"structure"`
83986
83987	// Information about the attachment of the egress-only internet gateway.
83988	Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
83989
83990	// The ID of the egress-only internet gateway.
83991	EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
83992
83993	// The tags assigned to the egress-only internet gateway.
83994	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
83995}
83996
83997// String returns the string representation
83998func (s EgressOnlyInternetGateway) String() string {
83999	return awsutil.Prettify(s)
84000}
84001
84002// GoString returns the string representation
84003func (s EgressOnlyInternetGateway) GoString() string {
84004	return s.String()
84005}
84006
84007// SetAttachments sets the Attachments field's value.
84008func (s *EgressOnlyInternetGateway) SetAttachments(v []*InternetGatewayAttachment) *EgressOnlyInternetGateway {
84009	s.Attachments = v
84010	return s
84011}
84012
84013// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
84014func (s *EgressOnlyInternetGateway) SetEgressOnlyInternetGatewayId(v string) *EgressOnlyInternetGateway {
84015	s.EgressOnlyInternetGatewayId = &v
84016	return s
84017}
84018
84019// SetTags sets the Tags field's value.
84020func (s *EgressOnlyInternetGateway) SetTags(v []*Tag) *EgressOnlyInternetGateway {
84021	s.Tags = v
84022	return s
84023}
84024
84025// Describes the association between an instance and an Elastic Graphics accelerator.
84026type ElasticGpuAssociation struct {
84027	_ struct{} `type:"structure"`
84028
84029	// The ID of the association.
84030	ElasticGpuAssociationId *string `locationName:"elasticGpuAssociationId" type:"string"`
84031
84032	// The state of the association between the instance and the Elastic Graphics
84033	// accelerator.
84034	ElasticGpuAssociationState *string `locationName:"elasticGpuAssociationState" type:"string"`
84035
84036	// The time the Elastic Graphics accelerator was associated with the instance.
84037	ElasticGpuAssociationTime *string `locationName:"elasticGpuAssociationTime" type:"string"`
84038
84039	// The ID of the Elastic Graphics accelerator.
84040	ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
84041}
84042
84043// String returns the string representation
84044func (s ElasticGpuAssociation) String() string {
84045	return awsutil.Prettify(s)
84046}
84047
84048// GoString returns the string representation
84049func (s ElasticGpuAssociation) GoString() string {
84050	return s.String()
84051}
84052
84053// SetElasticGpuAssociationId sets the ElasticGpuAssociationId field's value.
84054func (s *ElasticGpuAssociation) SetElasticGpuAssociationId(v string) *ElasticGpuAssociation {
84055	s.ElasticGpuAssociationId = &v
84056	return s
84057}
84058
84059// SetElasticGpuAssociationState sets the ElasticGpuAssociationState field's value.
84060func (s *ElasticGpuAssociation) SetElasticGpuAssociationState(v string) *ElasticGpuAssociation {
84061	s.ElasticGpuAssociationState = &v
84062	return s
84063}
84064
84065// SetElasticGpuAssociationTime sets the ElasticGpuAssociationTime field's value.
84066func (s *ElasticGpuAssociation) SetElasticGpuAssociationTime(v string) *ElasticGpuAssociation {
84067	s.ElasticGpuAssociationTime = &v
84068	return s
84069}
84070
84071// SetElasticGpuId sets the ElasticGpuId field's value.
84072func (s *ElasticGpuAssociation) SetElasticGpuId(v string) *ElasticGpuAssociation {
84073	s.ElasticGpuId = &v
84074	return s
84075}
84076
84077// Describes the status of an Elastic Graphics accelerator.
84078type ElasticGpuHealth struct {
84079	_ struct{} `type:"structure"`
84080
84081	// The health status.
84082	Status *string `locationName:"status" type:"string" enum:"ElasticGpuStatus"`
84083}
84084
84085// String returns the string representation
84086func (s ElasticGpuHealth) String() string {
84087	return awsutil.Prettify(s)
84088}
84089
84090// GoString returns the string representation
84091func (s ElasticGpuHealth) GoString() string {
84092	return s.String()
84093}
84094
84095// SetStatus sets the Status field's value.
84096func (s *ElasticGpuHealth) SetStatus(v string) *ElasticGpuHealth {
84097	s.Status = &v
84098	return s
84099}
84100
84101// A specification for an Elastic Graphics accelerator.
84102type ElasticGpuSpecification struct {
84103	_ struct{} `type:"structure"`
84104
84105	// The type of Elastic Graphics accelerator. For more information about the
84106	// values to specify for Type, see Elastic Graphics Basics (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html#elastic-graphics-basics),
84107	// specifically the Elastic Graphics accelerator column, in the Amazon Elastic
84108	// Compute Cloud User Guide for Windows Instances.
84109	//
84110	// Type is a required field
84111	Type *string `type:"string" required:"true"`
84112}
84113
84114// String returns the string representation
84115func (s ElasticGpuSpecification) String() string {
84116	return awsutil.Prettify(s)
84117}
84118
84119// GoString returns the string representation
84120func (s ElasticGpuSpecification) GoString() string {
84121	return s.String()
84122}
84123
84124// Validate inspects the fields of the type to determine if they are valid.
84125func (s *ElasticGpuSpecification) Validate() error {
84126	invalidParams := request.ErrInvalidParams{Context: "ElasticGpuSpecification"}
84127	if s.Type == nil {
84128		invalidParams.Add(request.NewErrParamRequired("Type"))
84129	}
84130
84131	if invalidParams.Len() > 0 {
84132		return invalidParams
84133	}
84134	return nil
84135}
84136
84137// SetType sets the Type field's value.
84138func (s *ElasticGpuSpecification) SetType(v string) *ElasticGpuSpecification {
84139	s.Type = &v
84140	return s
84141}
84142
84143// Describes an elastic GPU.
84144type ElasticGpuSpecificationResponse struct {
84145	_ struct{} `type:"structure"`
84146
84147	// The elastic GPU type.
84148	Type *string `locationName:"type" type:"string"`
84149}
84150
84151// String returns the string representation
84152func (s ElasticGpuSpecificationResponse) String() string {
84153	return awsutil.Prettify(s)
84154}
84155
84156// GoString returns the string representation
84157func (s ElasticGpuSpecificationResponse) GoString() string {
84158	return s.String()
84159}
84160
84161// SetType sets the Type field's value.
84162func (s *ElasticGpuSpecificationResponse) SetType(v string) *ElasticGpuSpecificationResponse {
84163	s.Type = &v
84164	return s
84165}
84166
84167// Describes an Elastic Graphics accelerator.
84168type ElasticGpus struct {
84169	_ struct{} `type:"structure"`
84170
84171	// The Availability Zone in the which the Elastic Graphics accelerator resides.
84172	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
84173
84174	// The status of the Elastic Graphics accelerator.
84175	ElasticGpuHealth *ElasticGpuHealth `locationName:"elasticGpuHealth" type:"structure"`
84176
84177	// The ID of the Elastic Graphics accelerator.
84178	ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
84179
84180	// The state of the Elastic Graphics accelerator.
84181	ElasticGpuState *string `locationName:"elasticGpuState" type:"string" enum:"ElasticGpuState"`
84182
84183	// The type of Elastic Graphics accelerator.
84184	ElasticGpuType *string `locationName:"elasticGpuType" type:"string"`
84185
84186	// The ID of the instance to which the Elastic Graphics accelerator is attached.
84187	InstanceId *string `locationName:"instanceId" type:"string"`
84188
84189	// The tags assigned to the Elastic Graphics accelerator.
84190	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
84191}
84192
84193// String returns the string representation
84194func (s ElasticGpus) String() string {
84195	return awsutil.Prettify(s)
84196}
84197
84198// GoString returns the string representation
84199func (s ElasticGpus) GoString() string {
84200	return s.String()
84201}
84202
84203// SetAvailabilityZone sets the AvailabilityZone field's value.
84204func (s *ElasticGpus) SetAvailabilityZone(v string) *ElasticGpus {
84205	s.AvailabilityZone = &v
84206	return s
84207}
84208
84209// SetElasticGpuHealth sets the ElasticGpuHealth field's value.
84210func (s *ElasticGpus) SetElasticGpuHealth(v *ElasticGpuHealth) *ElasticGpus {
84211	s.ElasticGpuHealth = v
84212	return s
84213}
84214
84215// SetElasticGpuId sets the ElasticGpuId field's value.
84216func (s *ElasticGpus) SetElasticGpuId(v string) *ElasticGpus {
84217	s.ElasticGpuId = &v
84218	return s
84219}
84220
84221// SetElasticGpuState sets the ElasticGpuState field's value.
84222func (s *ElasticGpus) SetElasticGpuState(v string) *ElasticGpus {
84223	s.ElasticGpuState = &v
84224	return s
84225}
84226
84227// SetElasticGpuType sets the ElasticGpuType field's value.
84228func (s *ElasticGpus) SetElasticGpuType(v string) *ElasticGpus {
84229	s.ElasticGpuType = &v
84230	return s
84231}
84232
84233// SetInstanceId sets the InstanceId field's value.
84234func (s *ElasticGpus) SetInstanceId(v string) *ElasticGpus {
84235	s.InstanceId = &v
84236	return s
84237}
84238
84239// SetTags sets the Tags field's value.
84240func (s *ElasticGpus) SetTags(v []*Tag) *ElasticGpus {
84241	s.Tags = v
84242	return s
84243}
84244
84245// Describes an elastic inference accelerator.
84246type ElasticInferenceAccelerator struct {
84247	_ struct{} `type:"structure"`
84248
84249	// The number of elastic inference accelerators to attach to the instance.
84250	//
84251	// Default: 1
84252	Count *int64 `min:"1" type:"integer"`
84253
84254	// The type of elastic inference accelerator. The possible values are eia1.medium,
84255	// eia1.large, eia1.xlarge, eia2.medium, eia2.large, and eia2.xlarge.
84256	//
84257	// Type is a required field
84258	Type *string `type:"string" required:"true"`
84259}
84260
84261// String returns the string representation
84262func (s ElasticInferenceAccelerator) String() string {
84263	return awsutil.Prettify(s)
84264}
84265
84266// GoString returns the string representation
84267func (s ElasticInferenceAccelerator) GoString() string {
84268	return s.String()
84269}
84270
84271// Validate inspects the fields of the type to determine if they are valid.
84272func (s *ElasticInferenceAccelerator) Validate() error {
84273	invalidParams := request.ErrInvalidParams{Context: "ElasticInferenceAccelerator"}
84274	if s.Count != nil && *s.Count < 1 {
84275		invalidParams.Add(request.NewErrParamMinValue("Count", 1))
84276	}
84277	if s.Type == nil {
84278		invalidParams.Add(request.NewErrParamRequired("Type"))
84279	}
84280
84281	if invalidParams.Len() > 0 {
84282		return invalidParams
84283	}
84284	return nil
84285}
84286
84287// SetCount sets the Count field's value.
84288func (s *ElasticInferenceAccelerator) SetCount(v int64) *ElasticInferenceAccelerator {
84289	s.Count = &v
84290	return s
84291}
84292
84293// SetType sets the Type field's value.
84294func (s *ElasticInferenceAccelerator) SetType(v string) *ElasticInferenceAccelerator {
84295	s.Type = &v
84296	return s
84297}
84298
84299// Describes the association between an instance and an elastic inference accelerator.
84300type ElasticInferenceAcceleratorAssociation struct {
84301	_ struct{} `type:"structure"`
84302
84303	// The Amazon Resource Name (ARN) of the elastic inference accelerator.
84304	ElasticInferenceAcceleratorArn *string `locationName:"elasticInferenceAcceleratorArn" type:"string"`
84305
84306	// The ID of the association.
84307	ElasticInferenceAcceleratorAssociationId *string `locationName:"elasticInferenceAcceleratorAssociationId" type:"string"`
84308
84309	// The state of the elastic inference accelerator.
84310	ElasticInferenceAcceleratorAssociationState *string `locationName:"elasticInferenceAcceleratorAssociationState" type:"string"`
84311
84312	// The time at which the elastic inference accelerator is associated with an
84313	// instance.
84314	ElasticInferenceAcceleratorAssociationTime *time.Time `locationName:"elasticInferenceAcceleratorAssociationTime" type:"timestamp"`
84315}
84316
84317// String returns the string representation
84318func (s ElasticInferenceAcceleratorAssociation) String() string {
84319	return awsutil.Prettify(s)
84320}
84321
84322// GoString returns the string representation
84323func (s ElasticInferenceAcceleratorAssociation) GoString() string {
84324	return s.String()
84325}
84326
84327// SetElasticInferenceAcceleratorArn sets the ElasticInferenceAcceleratorArn field's value.
84328func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorArn(v string) *ElasticInferenceAcceleratorAssociation {
84329	s.ElasticInferenceAcceleratorArn = &v
84330	return s
84331}
84332
84333// SetElasticInferenceAcceleratorAssociationId sets the ElasticInferenceAcceleratorAssociationId field's value.
84334func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorAssociationId(v string) *ElasticInferenceAcceleratorAssociation {
84335	s.ElasticInferenceAcceleratorAssociationId = &v
84336	return s
84337}
84338
84339// SetElasticInferenceAcceleratorAssociationState sets the ElasticInferenceAcceleratorAssociationState field's value.
84340func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorAssociationState(v string) *ElasticInferenceAcceleratorAssociation {
84341	s.ElasticInferenceAcceleratorAssociationState = &v
84342	return s
84343}
84344
84345// SetElasticInferenceAcceleratorAssociationTime sets the ElasticInferenceAcceleratorAssociationTime field's value.
84346func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorAssociationTime(v time.Time) *ElasticInferenceAcceleratorAssociation {
84347	s.ElasticInferenceAcceleratorAssociationTime = &v
84348	return s
84349}
84350
84351type EnableEbsEncryptionByDefaultInput struct {
84352	_ struct{} `type:"structure"`
84353
84354	// Checks whether you have the required permissions for the action, without
84355	// actually making the request, and provides an error response. If you have
84356	// the required permissions, the error response is DryRunOperation. Otherwise,
84357	// it is UnauthorizedOperation.
84358	DryRun *bool `type:"boolean"`
84359}
84360
84361// String returns the string representation
84362func (s EnableEbsEncryptionByDefaultInput) String() string {
84363	return awsutil.Prettify(s)
84364}
84365
84366// GoString returns the string representation
84367func (s EnableEbsEncryptionByDefaultInput) GoString() string {
84368	return s.String()
84369}
84370
84371// SetDryRun sets the DryRun field's value.
84372func (s *EnableEbsEncryptionByDefaultInput) SetDryRun(v bool) *EnableEbsEncryptionByDefaultInput {
84373	s.DryRun = &v
84374	return s
84375}
84376
84377type EnableEbsEncryptionByDefaultOutput struct {
84378	_ struct{} `type:"structure"`
84379
84380	// The updated status of encryption by default.
84381	EbsEncryptionByDefault *bool `locationName:"ebsEncryptionByDefault" type:"boolean"`
84382}
84383
84384// String returns the string representation
84385func (s EnableEbsEncryptionByDefaultOutput) String() string {
84386	return awsutil.Prettify(s)
84387}
84388
84389// GoString returns the string representation
84390func (s EnableEbsEncryptionByDefaultOutput) GoString() string {
84391	return s.String()
84392}
84393
84394// SetEbsEncryptionByDefault sets the EbsEncryptionByDefault field's value.
84395func (s *EnableEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *EnableEbsEncryptionByDefaultOutput {
84396	s.EbsEncryptionByDefault = &v
84397	return s
84398}
84399
84400// Contains information about the errors that occurred when enabling fast snapshot
84401// restores.
84402type EnableFastSnapshotRestoreErrorItem struct {
84403	_ struct{} `type:"structure"`
84404
84405	// The errors.
84406	FastSnapshotRestoreStateErrors []*EnableFastSnapshotRestoreStateErrorItem `locationName:"fastSnapshotRestoreStateErrorSet" locationNameList:"item" type:"list"`
84407
84408	// The ID of the snapshot.
84409	SnapshotId *string `locationName:"snapshotId" type:"string"`
84410}
84411
84412// String returns the string representation
84413func (s EnableFastSnapshotRestoreErrorItem) String() string {
84414	return awsutil.Prettify(s)
84415}
84416
84417// GoString returns the string representation
84418func (s EnableFastSnapshotRestoreErrorItem) GoString() string {
84419	return s.String()
84420}
84421
84422// SetFastSnapshotRestoreStateErrors sets the FastSnapshotRestoreStateErrors field's value.
84423func (s *EnableFastSnapshotRestoreErrorItem) SetFastSnapshotRestoreStateErrors(v []*EnableFastSnapshotRestoreStateErrorItem) *EnableFastSnapshotRestoreErrorItem {
84424	s.FastSnapshotRestoreStateErrors = v
84425	return s
84426}
84427
84428// SetSnapshotId sets the SnapshotId field's value.
84429func (s *EnableFastSnapshotRestoreErrorItem) SetSnapshotId(v string) *EnableFastSnapshotRestoreErrorItem {
84430	s.SnapshotId = &v
84431	return s
84432}
84433
84434// Describes an error that occurred when enabling fast snapshot restores.
84435type EnableFastSnapshotRestoreStateError struct {
84436	_ struct{} `type:"structure"`
84437
84438	// The error code.
84439	Code *string `locationName:"code" type:"string"`
84440
84441	// The error message.
84442	Message *string `locationName:"message" type:"string"`
84443}
84444
84445// String returns the string representation
84446func (s EnableFastSnapshotRestoreStateError) String() string {
84447	return awsutil.Prettify(s)
84448}
84449
84450// GoString returns the string representation
84451func (s EnableFastSnapshotRestoreStateError) GoString() string {
84452	return s.String()
84453}
84454
84455// SetCode sets the Code field's value.
84456func (s *EnableFastSnapshotRestoreStateError) SetCode(v string) *EnableFastSnapshotRestoreStateError {
84457	s.Code = &v
84458	return s
84459}
84460
84461// SetMessage sets the Message field's value.
84462func (s *EnableFastSnapshotRestoreStateError) SetMessage(v string) *EnableFastSnapshotRestoreStateError {
84463	s.Message = &v
84464	return s
84465}
84466
84467// Contains information about an error that occurred when enabling fast snapshot
84468// restores.
84469type EnableFastSnapshotRestoreStateErrorItem struct {
84470	_ struct{} `type:"structure"`
84471
84472	// The Availability Zone.
84473	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
84474
84475	// The error.
84476	Error *EnableFastSnapshotRestoreStateError `locationName:"error" type:"structure"`
84477}
84478
84479// String returns the string representation
84480func (s EnableFastSnapshotRestoreStateErrorItem) String() string {
84481	return awsutil.Prettify(s)
84482}
84483
84484// GoString returns the string representation
84485func (s EnableFastSnapshotRestoreStateErrorItem) GoString() string {
84486	return s.String()
84487}
84488
84489// SetAvailabilityZone sets the AvailabilityZone field's value.
84490func (s *EnableFastSnapshotRestoreStateErrorItem) SetAvailabilityZone(v string) *EnableFastSnapshotRestoreStateErrorItem {
84491	s.AvailabilityZone = &v
84492	return s
84493}
84494
84495// SetError sets the Error field's value.
84496func (s *EnableFastSnapshotRestoreStateErrorItem) SetError(v *EnableFastSnapshotRestoreStateError) *EnableFastSnapshotRestoreStateErrorItem {
84497	s.Error = v
84498	return s
84499}
84500
84501// Describes fast snapshot restores that were successfully enabled.
84502type EnableFastSnapshotRestoreSuccessItem struct {
84503	_ struct{} `type:"structure"`
84504
84505	// The Availability Zone.
84506	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
84507
84508	// The time at which fast snapshot restores entered the disabled state.
84509	DisabledTime *time.Time `locationName:"disabledTime" type:"timestamp"`
84510
84511	// The time at which fast snapshot restores entered the disabling state.
84512	DisablingTime *time.Time `locationName:"disablingTime" type:"timestamp"`
84513
84514	// The time at which fast snapshot restores entered the enabled state.
84515	EnabledTime *time.Time `locationName:"enabledTime" type:"timestamp"`
84516
84517	// The time at which fast snapshot restores entered the enabling state.
84518	EnablingTime *time.Time `locationName:"enablingTime" type:"timestamp"`
84519
84520	// The time at which fast snapshot restores entered the optimizing state.
84521	OptimizingTime *time.Time `locationName:"optimizingTime" type:"timestamp"`
84522
84523	// The Amazon Web Services owner alias that enabled fast snapshot restores on
84524	// the snapshot. This is intended for future use.
84525	OwnerAlias *string `locationName:"ownerAlias" type:"string"`
84526
84527	// The ID of the Amazon Web Services account that enabled fast snapshot restores
84528	// on the snapshot.
84529	OwnerId *string `locationName:"ownerId" type:"string"`
84530
84531	// The ID of the snapshot.
84532	SnapshotId *string `locationName:"snapshotId" type:"string"`
84533
84534	// The state of fast snapshot restores.
84535	State *string `locationName:"state" type:"string" enum:"FastSnapshotRestoreStateCode"`
84536
84537	// The reason for the state transition. The possible values are as follows:
84538	//
84539	//    * Client.UserInitiated - The state successfully transitioned to enabling
84540	//    or disabling.
84541	//
84542	//    * Client.UserInitiated - Lifecycle state transition - The state successfully
84543	//    transitioned to optimizing, enabled, or disabled.
84544	StateTransitionReason *string `locationName:"stateTransitionReason" type:"string"`
84545}
84546
84547// String returns the string representation
84548func (s EnableFastSnapshotRestoreSuccessItem) String() string {
84549	return awsutil.Prettify(s)
84550}
84551
84552// GoString returns the string representation
84553func (s EnableFastSnapshotRestoreSuccessItem) GoString() string {
84554	return s.String()
84555}
84556
84557// SetAvailabilityZone sets the AvailabilityZone field's value.
84558func (s *EnableFastSnapshotRestoreSuccessItem) SetAvailabilityZone(v string) *EnableFastSnapshotRestoreSuccessItem {
84559	s.AvailabilityZone = &v
84560	return s
84561}
84562
84563// SetDisabledTime sets the DisabledTime field's value.
84564func (s *EnableFastSnapshotRestoreSuccessItem) SetDisabledTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
84565	s.DisabledTime = &v
84566	return s
84567}
84568
84569// SetDisablingTime sets the DisablingTime field's value.
84570func (s *EnableFastSnapshotRestoreSuccessItem) SetDisablingTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
84571	s.DisablingTime = &v
84572	return s
84573}
84574
84575// SetEnabledTime sets the EnabledTime field's value.
84576func (s *EnableFastSnapshotRestoreSuccessItem) SetEnabledTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
84577	s.EnabledTime = &v
84578	return s
84579}
84580
84581// SetEnablingTime sets the EnablingTime field's value.
84582func (s *EnableFastSnapshotRestoreSuccessItem) SetEnablingTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
84583	s.EnablingTime = &v
84584	return s
84585}
84586
84587// SetOptimizingTime sets the OptimizingTime field's value.
84588func (s *EnableFastSnapshotRestoreSuccessItem) SetOptimizingTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
84589	s.OptimizingTime = &v
84590	return s
84591}
84592
84593// SetOwnerAlias sets the OwnerAlias field's value.
84594func (s *EnableFastSnapshotRestoreSuccessItem) SetOwnerAlias(v string) *EnableFastSnapshotRestoreSuccessItem {
84595	s.OwnerAlias = &v
84596	return s
84597}
84598
84599// SetOwnerId sets the OwnerId field's value.
84600func (s *EnableFastSnapshotRestoreSuccessItem) SetOwnerId(v string) *EnableFastSnapshotRestoreSuccessItem {
84601	s.OwnerId = &v
84602	return s
84603}
84604
84605// SetSnapshotId sets the SnapshotId field's value.
84606func (s *EnableFastSnapshotRestoreSuccessItem) SetSnapshotId(v string) *EnableFastSnapshotRestoreSuccessItem {
84607	s.SnapshotId = &v
84608	return s
84609}
84610
84611// SetState sets the State field's value.
84612func (s *EnableFastSnapshotRestoreSuccessItem) SetState(v string) *EnableFastSnapshotRestoreSuccessItem {
84613	s.State = &v
84614	return s
84615}
84616
84617// SetStateTransitionReason sets the StateTransitionReason field's value.
84618func (s *EnableFastSnapshotRestoreSuccessItem) SetStateTransitionReason(v string) *EnableFastSnapshotRestoreSuccessItem {
84619	s.StateTransitionReason = &v
84620	return s
84621}
84622
84623type EnableFastSnapshotRestoresInput struct {
84624	_ struct{} `type:"structure"`
84625
84626	// One or more Availability Zones. For example, us-east-2a.
84627	//
84628	// AvailabilityZones is a required field
84629	AvailabilityZones []*string `locationName:"AvailabilityZone" locationNameList:"AvailabilityZone" type:"list" required:"true"`
84630
84631	// Checks whether you have the required permissions for the action, without
84632	// actually making the request, and provides an error response. If you have
84633	// the required permissions, the error response is DryRunOperation. Otherwise,
84634	// it is UnauthorizedOperation.
84635	DryRun *bool `type:"boolean"`
84636
84637	// The IDs of one or more snapshots. For example, snap-1234567890abcdef0. You
84638	// can specify a snapshot that was shared with you from another Amazon Web Services
84639	// account.
84640	//
84641	// SourceSnapshotIds is a required field
84642	SourceSnapshotIds []*string `locationName:"SourceSnapshotId" locationNameList:"SnapshotId" type:"list" required:"true"`
84643}
84644
84645// String returns the string representation
84646func (s EnableFastSnapshotRestoresInput) String() string {
84647	return awsutil.Prettify(s)
84648}
84649
84650// GoString returns the string representation
84651func (s EnableFastSnapshotRestoresInput) GoString() string {
84652	return s.String()
84653}
84654
84655// Validate inspects the fields of the type to determine if they are valid.
84656func (s *EnableFastSnapshotRestoresInput) Validate() error {
84657	invalidParams := request.ErrInvalidParams{Context: "EnableFastSnapshotRestoresInput"}
84658	if s.AvailabilityZones == nil {
84659		invalidParams.Add(request.NewErrParamRequired("AvailabilityZones"))
84660	}
84661	if s.SourceSnapshotIds == nil {
84662		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotIds"))
84663	}
84664
84665	if invalidParams.Len() > 0 {
84666		return invalidParams
84667	}
84668	return nil
84669}
84670
84671// SetAvailabilityZones sets the AvailabilityZones field's value.
84672func (s *EnableFastSnapshotRestoresInput) SetAvailabilityZones(v []*string) *EnableFastSnapshotRestoresInput {
84673	s.AvailabilityZones = v
84674	return s
84675}
84676
84677// SetDryRun sets the DryRun field's value.
84678func (s *EnableFastSnapshotRestoresInput) SetDryRun(v bool) *EnableFastSnapshotRestoresInput {
84679	s.DryRun = &v
84680	return s
84681}
84682
84683// SetSourceSnapshotIds sets the SourceSnapshotIds field's value.
84684func (s *EnableFastSnapshotRestoresInput) SetSourceSnapshotIds(v []*string) *EnableFastSnapshotRestoresInput {
84685	s.SourceSnapshotIds = v
84686	return s
84687}
84688
84689type EnableFastSnapshotRestoresOutput struct {
84690	_ struct{} `type:"structure"`
84691
84692	// Information about the snapshots for which fast snapshot restores were successfully
84693	// enabled.
84694	Successful []*EnableFastSnapshotRestoreSuccessItem `locationName:"successful" locationNameList:"item" type:"list"`
84695
84696	// Information about the snapshots for which fast snapshot restores could not
84697	// be enabled.
84698	Unsuccessful []*EnableFastSnapshotRestoreErrorItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
84699}
84700
84701// String returns the string representation
84702func (s EnableFastSnapshotRestoresOutput) String() string {
84703	return awsutil.Prettify(s)
84704}
84705
84706// GoString returns the string representation
84707func (s EnableFastSnapshotRestoresOutput) GoString() string {
84708	return s.String()
84709}
84710
84711// SetSuccessful sets the Successful field's value.
84712func (s *EnableFastSnapshotRestoresOutput) SetSuccessful(v []*EnableFastSnapshotRestoreSuccessItem) *EnableFastSnapshotRestoresOutput {
84713	s.Successful = v
84714	return s
84715}
84716
84717// SetUnsuccessful sets the Unsuccessful field's value.
84718func (s *EnableFastSnapshotRestoresOutput) SetUnsuccessful(v []*EnableFastSnapshotRestoreErrorItem) *EnableFastSnapshotRestoresOutput {
84719	s.Unsuccessful = v
84720	return s
84721}
84722
84723type EnableImageDeprecationInput struct {
84724	_ struct{} `type:"structure"`
84725
84726	// The date and time to deprecate the AMI, in UTC, in the following format:
84727	// YYYY-MM-DDTHH:MM:SSZ. If you specify a value for seconds, Amazon EC2 rounds
84728	// the seconds to the nearest minute.
84729	//
84730	// You can’t specify a date in the past. The upper limit for DeprecateAt is
84731	// 10 years from now.
84732	//
84733	// DeprecateAt is a required field
84734	DeprecateAt *time.Time `type:"timestamp" required:"true"`
84735
84736	// Checks whether you have the required permissions for the action, without
84737	// actually making the request, and provides an error response. If you have
84738	// the required permissions, the error response is DryRunOperation. Otherwise,
84739	// it is UnauthorizedOperation.
84740	DryRun *bool `type:"boolean"`
84741
84742	// The ID of the AMI.
84743	//
84744	// ImageId is a required field
84745	ImageId *string `type:"string" required:"true"`
84746}
84747
84748// String returns the string representation
84749func (s EnableImageDeprecationInput) String() string {
84750	return awsutil.Prettify(s)
84751}
84752
84753// GoString returns the string representation
84754func (s EnableImageDeprecationInput) GoString() string {
84755	return s.String()
84756}
84757
84758// Validate inspects the fields of the type to determine if they are valid.
84759func (s *EnableImageDeprecationInput) Validate() error {
84760	invalidParams := request.ErrInvalidParams{Context: "EnableImageDeprecationInput"}
84761	if s.DeprecateAt == nil {
84762		invalidParams.Add(request.NewErrParamRequired("DeprecateAt"))
84763	}
84764	if s.ImageId == nil {
84765		invalidParams.Add(request.NewErrParamRequired("ImageId"))
84766	}
84767
84768	if invalidParams.Len() > 0 {
84769		return invalidParams
84770	}
84771	return nil
84772}
84773
84774// SetDeprecateAt sets the DeprecateAt field's value.
84775func (s *EnableImageDeprecationInput) SetDeprecateAt(v time.Time) *EnableImageDeprecationInput {
84776	s.DeprecateAt = &v
84777	return s
84778}
84779
84780// SetDryRun sets the DryRun field's value.
84781func (s *EnableImageDeprecationInput) SetDryRun(v bool) *EnableImageDeprecationInput {
84782	s.DryRun = &v
84783	return s
84784}
84785
84786// SetImageId sets the ImageId field's value.
84787func (s *EnableImageDeprecationInput) SetImageId(v string) *EnableImageDeprecationInput {
84788	s.ImageId = &v
84789	return s
84790}
84791
84792type EnableImageDeprecationOutput struct {
84793	_ struct{} `type:"structure"`
84794
84795	// Returns true if the request succeeds; otherwise, it returns an error.
84796	Return *bool `locationName:"return" type:"boolean"`
84797}
84798
84799// String returns the string representation
84800func (s EnableImageDeprecationOutput) String() string {
84801	return awsutil.Prettify(s)
84802}
84803
84804// GoString returns the string representation
84805func (s EnableImageDeprecationOutput) GoString() string {
84806	return s.String()
84807}
84808
84809// SetReturn sets the Return field's value.
84810func (s *EnableImageDeprecationOutput) SetReturn(v bool) *EnableImageDeprecationOutput {
84811	s.Return = &v
84812	return s
84813}
84814
84815type EnableSerialConsoleAccessInput struct {
84816	_ struct{} `type:"structure"`
84817
84818	// Checks whether you have the required permissions for the action, without
84819	// actually making the request, and provides an error response. If you have
84820	// the required permissions, the error response is DryRunOperation. Otherwise,
84821	// it is UnauthorizedOperation.
84822	DryRun *bool `type:"boolean"`
84823}
84824
84825// String returns the string representation
84826func (s EnableSerialConsoleAccessInput) String() string {
84827	return awsutil.Prettify(s)
84828}
84829
84830// GoString returns the string representation
84831func (s EnableSerialConsoleAccessInput) GoString() string {
84832	return s.String()
84833}
84834
84835// SetDryRun sets the DryRun field's value.
84836func (s *EnableSerialConsoleAccessInput) SetDryRun(v bool) *EnableSerialConsoleAccessInput {
84837	s.DryRun = &v
84838	return s
84839}
84840
84841type EnableSerialConsoleAccessOutput struct {
84842	_ struct{} `type:"structure"`
84843
84844	// If true, access to the EC2 serial console of all instances is enabled for
84845	// your account. If false, access to the EC2 serial console of all instances
84846	// is disabled for your account.
84847	SerialConsoleAccessEnabled *bool `locationName:"serialConsoleAccessEnabled" type:"boolean"`
84848}
84849
84850// String returns the string representation
84851func (s EnableSerialConsoleAccessOutput) String() string {
84852	return awsutil.Prettify(s)
84853}
84854
84855// GoString returns the string representation
84856func (s EnableSerialConsoleAccessOutput) GoString() string {
84857	return s.String()
84858}
84859
84860// SetSerialConsoleAccessEnabled sets the SerialConsoleAccessEnabled field's value.
84861func (s *EnableSerialConsoleAccessOutput) SetSerialConsoleAccessEnabled(v bool) *EnableSerialConsoleAccessOutput {
84862	s.SerialConsoleAccessEnabled = &v
84863	return s
84864}
84865
84866type EnableTransitGatewayRouteTablePropagationInput struct {
84867	_ struct{} `type:"structure"`
84868
84869	// Checks whether you have the required permissions for the action, without
84870	// actually making the request, and provides an error response. If you have
84871	// the required permissions, the error response is DryRunOperation. Otherwise,
84872	// it is UnauthorizedOperation.
84873	DryRun *bool `type:"boolean"`
84874
84875	// The ID of the attachment.
84876	//
84877	// TransitGatewayAttachmentId is a required field
84878	TransitGatewayAttachmentId *string `type:"string" required:"true"`
84879
84880	// The ID of the propagation route table.
84881	//
84882	// TransitGatewayRouteTableId is a required field
84883	TransitGatewayRouteTableId *string `type:"string" required:"true"`
84884}
84885
84886// String returns the string representation
84887func (s EnableTransitGatewayRouteTablePropagationInput) String() string {
84888	return awsutil.Prettify(s)
84889}
84890
84891// GoString returns the string representation
84892func (s EnableTransitGatewayRouteTablePropagationInput) GoString() string {
84893	return s.String()
84894}
84895
84896// Validate inspects the fields of the type to determine if they are valid.
84897func (s *EnableTransitGatewayRouteTablePropagationInput) Validate() error {
84898	invalidParams := request.ErrInvalidParams{Context: "EnableTransitGatewayRouteTablePropagationInput"}
84899	if s.TransitGatewayAttachmentId == nil {
84900		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
84901	}
84902	if s.TransitGatewayRouteTableId == nil {
84903		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
84904	}
84905
84906	if invalidParams.Len() > 0 {
84907		return invalidParams
84908	}
84909	return nil
84910}
84911
84912// SetDryRun sets the DryRun field's value.
84913func (s *EnableTransitGatewayRouteTablePropagationInput) SetDryRun(v bool) *EnableTransitGatewayRouteTablePropagationInput {
84914	s.DryRun = &v
84915	return s
84916}
84917
84918// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
84919func (s *EnableTransitGatewayRouteTablePropagationInput) SetTransitGatewayAttachmentId(v string) *EnableTransitGatewayRouteTablePropagationInput {
84920	s.TransitGatewayAttachmentId = &v
84921	return s
84922}
84923
84924// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
84925func (s *EnableTransitGatewayRouteTablePropagationInput) SetTransitGatewayRouteTableId(v string) *EnableTransitGatewayRouteTablePropagationInput {
84926	s.TransitGatewayRouteTableId = &v
84927	return s
84928}
84929
84930type EnableTransitGatewayRouteTablePropagationOutput struct {
84931	_ struct{} `type:"structure"`
84932
84933	// Information about route propagation.
84934	Propagation *TransitGatewayPropagation `locationName:"propagation" type:"structure"`
84935}
84936
84937// String returns the string representation
84938func (s EnableTransitGatewayRouteTablePropagationOutput) String() string {
84939	return awsutil.Prettify(s)
84940}
84941
84942// GoString returns the string representation
84943func (s EnableTransitGatewayRouteTablePropagationOutput) GoString() string {
84944	return s.String()
84945}
84946
84947// SetPropagation sets the Propagation field's value.
84948func (s *EnableTransitGatewayRouteTablePropagationOutput) SetPropagation(v *TransitGatewayPropagation) *EnableTransitGatewayRouteTablePropagationOutput {
84949	s.Propagation = v
84950	return s
84951}
84952
84953// Contains the parameters for EnableVgwRoutePropagation.
84954type EnableVgwRoutePropagationInput struct {
84955	_ struct{} `type:"structure"`
84956
84957	// Checks whether you have the required permissions for the action, without
84958	// actually making the request, and provides an error response. If you have
84959	// the required permissions, the error response is DryRunOperation. Otherwise,
84960	// it is UnauthorizedOperation.
84961	DryRun *bool `type:"boolean"`
84962
84963	// The ID of the virtual private gateway that is attached to a VPC. The virtual
84964	// private gateway must be attached to the same VPC that the routing tables
84965	// are associated with.
84966	//
84967	// GatewayId is a required field
84968	GatewayId *string `type:"string" required:"true"`
84969
84970	// The ID of the route table. The routing table must be associated with the
84971	// same VPC that the virtual private gateway is attached to.
84972	//
84973	// RouteTableId is a required field
84974	RouteTableId *string `type:"string" required:"true"`
84975}
84976
84977// String returns the string representation
84978func (s EnableVgwRoutePropagationInput) String() string {
84979	return awsutil.Prettify(s)
84980}
84981
84982// GoString returns the string representation
84983func (s EnableVgwRoutePropagationInput) GoString() string {
84984	return s.String()
84985}
84986
84987// Validate inspects the fields of the type to determine if they are valid.
84988func (s *EnableVgwRoutePropagationInput) Validate() error {
84989	invalidParams := request.ErrInvalidParams{Context: "EnableVgwRoutePropagationInput"}
84990	if s.GatewayId == nil {
84991		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
84992	}
84993	if s.RouteTableId == nil {
84994		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
84995	}
84996
84997	if invalidParams.Len() > 0 {
84998		return invalidParams
84999	}
85000	return nil
85001}
85002
85003// SetDryRun sets the DryRun field's value.
85004func (s *EnableVgwRoutePropagationInput) SetDryRun(v bool) *EnableVgwRoutePropagationInput {
85005	s.DryRun = &v
85006	return s
85007}
85008
85009// SetGatewayId sets the GatewayId field's value.
85010func (s *EnableVgwRoutePropagationInput) SetGatewayId(v string) *EnableVgwRoutePropagationInput {
85011	s.GatewayId = &v
85012	return s
85013}
85014
85015// SetRouteTableId sets the RouteTableId field's value.
85016func (s *EnableVgwRoutePropagationInput) SetRouteTableId(v string) *EnableVgwRoutePropagationInput {
85017	s.RouteTableId = &v
85018	return s
85019}
85020
85021type EnableVgwRoutePropagationOutput struct {
85022	_ struct{} `type:"structure"`
85023}
85024
85025// String returns the string representation
85026func (s EnableVgwRoutePropagationOutput) String() string {
85027	return awsutil.Prettify(s)
85028}
85029
85030// GoString returns the string representation
85031func (s EnableVgwRoutePropagationOutput) GoString() string {
85032	return s.String()
85033}
85034
85035type EnableVolumeIOInput struct {
85036	_ struct{} `type:"structure"`
85037
85038	// Checks whether you have the required permissions for the action, without
85039	// actually making the request, and provides an error response. If you have
85040	// the required permissions, the error response is DryRunOperation. Otherwise,
85041	// it is UnauthorizedOperation.
85042	DryRun *bool `locationName:"dryRun" type:"boolean"`
85043
85044	// The ID of the volume.
85045	//
85046	// VolumeId is a required field
85047	VolumeId *string `locationName:"volumeId" type:"string" required:"true"`
85048}
85049
85050// String returns the string representation
85051func (s EnableVolumeIOInput) String() string {
85052	return awsutil.Prettify(s)
85053}
85054
85055// GoString returns the string representation
85056func (s EnableVolumeIOInput) GoString() string {
85057	return s.String()
85058}
85059
85060// Validate inspects the fields of the type to determine if they are valid.
85061func (s *EnableVolumeIOInput) Validate() error {
85062	invalidParams := request.ErrInvalidParams{Context: "EnableVolumeIOInput"}
85063	if s.VolumeId == nil {
85064		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
85065	}
85066
85067	if invalidParams.Len() > 0 {
85068		return invalidParams
85069	}
85070	return nil
85071}
85072
85073// SetDryRun sets the DryRun field's value.
85074func (s *EnableVolumeIOInput) SetDryRun(v bool) *EnableVolumeIOInput {
85075	s.DryRun = &v
85076	return s
85077}
85078
85079// SetVolumeId sets the VolumeId field's value.
85080func (s *EnableVolumeIOInput) SetVolumeId(v string) *EnableVolumeIOInput {
85081	s.VolumeId = &v
85082	return s
85083}
85084
85085type EnableVolumeIOOutput struct {
85086	_ struct{} `type:"structure"`
85087}
85088
85089// String returns the string representation
85090func (s EnableVolumeIOOutput) String() string {
85091	return awsutil.Prettify(s)
85092}
85093
85094// GoString returns the string representation
85095func (s EnableVolumeIOOutput) GoString() string {
85096	return s.String()
85097}
85098
85099type EnableVpcClassicLinkDnsSupportInput struct {
85100	_ struct{} `type:"structure"`
85101
85102	// The ID of the VPC.
85103	VpcId *string `type:"string"`
85104}
85105
85106// String returns the string representation
85107func (s EnableVpcClassicLinkDnsSupportInput) String() string {
85108	return awsutil.Prettify(s)
85109}
85110
85111// GoString returns the string representation
85112func (s EnableVpcClassicLinkDnsSupportInput) GoString() string {
85113	return s.String()
85114}
85115
85116// SetVpcId sets the VpcId field's value.
85117func (s *EnableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *EnableVpcClassicLinkDnsSupportInput {
85118	s.VpcId = &v
85119	return s
85120}
85121
85122type EnableVpcClassicLinkDnsSupportOutput struct {
85123	_ struct{} `type:"structure"`
85124
85125	// Returns true if the request succeeds; otherwise, it returns an error.
85126	Return *bool `locationName:"return" type:"boolean"`
85127}
85128
85129// String returns the string representation
85130func (s EnableVpcClassicLinkDnsSupportOutput) String() string {
85131	return awsutil.Prettify(s)
85132}
85133
85134// GoString returns the string representation
85135func (s EnableVpcClassicLinkDnsSupportOutput) GoString() string {
85136	return s.String()
85137}
85138
85139// SetReturn sets the Return field's value.
85140func (s *EnableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *EnableVpcClassicLinkDnsSupportOutput {
85141	s.Return = &v
85142	return s
85143}
85144
85145type EnableVpcClassicLinkInput struct {
85146	_ struct{} `type:"structure"`
85147
85148	// Checks whether you have the required permissions for the action, without
85149	// actually making the request, and provides an error response. If you have
85150	// the required permissions, the error response is DryRunOperation. Otherwise,
85151	// it is UnauthorizedOperation.
85152	DryRun *bool `locationName:"dryRun" type:"boolean"`
85153
85154	// The ID of the VPC.
85155	//
85156	// VpcId is a required field
85157	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
85158}
85159
85160// String returns the string representation
85161func (s EnableVpcClassicLinkInput) String() string {
85162	return awsutil.Prettify(s)
85163}
85164
85165// GoString returns the string representation
85166func (s EnableVpcClassicLinkInput) GoString() string {
85167	return s.String()
85168}
85169
85170// Validate inspects the fields of the type to determine if they are valid.
85171func (s *EnableVpcClassicLinkInput) Validate() error {
85172	invalidParams := request.ErrInvalidParams{Context: "EnableVpcClassicLinkInput"}
85173	if s.VpcId == nil {
85174		invalidParams.Add(request.NewErrParamRequired("VpcId"))
85175	}
85176
85177	if invalidParams.Len() > 0 {
85178		return invalidParams
85179	}
85180	return nil
85181}
85182
85183// SetDryRun sets the DryRun field's value.
85184func (s *EnableVpcClassicLinkInput) SetDryRun(v bool) *EnableVpcClassicLinkInput {
85185	s.DryRun = &v
85186	return s
85187}
85188
85189// SetVpcId sets the VpcId field's value.
85190func (s *EnableVpcClassicLinkInput) SetVpcId(v string) *EnableVpcClassicLinkInput {
85191	s.VpcId = &v
85192	return s
85193}
85194
85195type EnableVpcClassicLinkOutput struct {
85196	_ struct{} `type:"structure"`
85197
85198	// Returns true if the request succeeds; otherwise, it returns an error.
85199	Return *bool `locationName:"return" type:"boolean"`
85200}
85201
85202// String returns the string representation
85203func (s EnableVpcClassicLinkOutput) String() string {
85204	return awsutil.Prettify(s)
85205}
85206
85207// GoString returns the string representation
85208func (s EnableVpcClassicLinkOutput) GoString() string {
85209	return s.String()
85210}
85211
85212// SetReturn sets the Return field's value.
85213func (s *EnableVpcClassicLinkOutput) SetReturn(v bool) *EnableVpcClassicLinkOutput {
85214	s.Return = &v
85215	return s
85216}
85217
85218// Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.
85219type EnclaveOptions struct {
85220	_ struct{} `type:"structure"`
85221
85222	// If this parameter is set to true, the instance is enabled for Amazon Web
85223	// Services Nitro Enclaves; otherwise, it is not enabled for Amazon Web Services
85224	// Nitro Enclaves.
85225	Enabled *bool `locationName:"enabled" type:"boolean"`
85226}
85227
85228// String returns the string representation
85229func (s EnclaveOptions) String() string {
85230	return awsutil.Prettify(s)
85231}
85232
85233// GoString returns the string representation
85234func (s EnclaveOptions) GoString() string {
85235	return s.String()
85236}
85237
85238// SetEnabled sets the Enabled field's value.
85239func (s *EnclaveOptions) SetEnabled(v bool) *EnclaveOptions {
85240	s.Enabled = &v
85241	return s
85242}
85243
85244// Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.
85245// For more information, see What is Amazon Web Services Nitro Enclaves? (https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html)
85246// in the Amazon Web Services Nitro Enclaves User Guide.
85247type EnclaveOptionsRequest struct {
85248	_ struct{} `type:"structure"`
85249
85250	// To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter
85251	// to true.
85252	Enabled *bool `type:"boolean"`
85253}
85254
85255// String returns the string representation
85256func (s EnclaveOptionsRequest) String() string {
85257	return awsutil.Prettify(s)
85258}
85259
85260// GoString returns the string representation
85261func (s EnclaveOptionsRequest) GoString() string {
85262	return s.String()
85263}
85264
85265// SetEnabled sets the Enabled field's value.
85266func (s *EnclaveOptionsRequest) SetEnabled(v bool) *EnclaveOptionsRequest {
85267	s.Enabled = &v
85268	return s
85269}
85270
85271// Describes an EC2 Fleet or Spot Fleet event.
85272type EventInformation struct {
85273	_ struct{} `type:"structure"`
85274
85275	// The description of the event.
85276	EventDescription *string `locationName:"eventDescription" type:"string"`
85277
85278	// The event.
85279	//
85280	// The following are the error events:
85281	//
85282	//    * iamFleetRoleInvalid - The EC2 Fleet or Spot Fleet did not have the required
85283	//    permissions either to launch or terminate an instance.
85284	//
85285	//    * spotFleetRequestConfigurationInvalid - The configuration is not valid.
85286	//    For more information, see the description of the event.
85287	//
85288	//    * spotInstanceCountLimitExceeded - You've reached the limit on the number
85289	//    of Spot Instances that you can launch.
85290	//
85291	// The following are the fleetRequestChange events:
85292	//
85293	//    * active - The EC2 Fleet or Spot Fleet request has been validated and
85294	//    Amazon EC2 is attempting to maintain the target number of running Spot
85295	//    Instances.
85296	//
85297	//    * cancelled - The EC2 Fleet or Spot Fleet request is canceled and has
85298	//    no running Spot Instances. The EC2 Fleet or Spot Fleet will be deleted
85299	//    two days after its instances were terminated.
85300	//
85301	//    * cancelled_running - The EC2 Fleet or Spot Fleet request is canceled
85302	//    and does not launch additional Spot Instances. Existing Spot Instances
85303	//    continue to run until they are interrupted or terminated.
85304	//
85305	//    * cancelled_terminating - The EC2 Fleet or Spot Fleet request is canceled
85306	//    and its Spot Instances are terminating.
85307	//
85308	//    * expired - The EC2 Fleet or Spot Fleet request has expired. A subsequent
85309	//    event indicates that the instances were terminated, if the request was
85310	//    created with TerminateInstancesWithExpiration set.
85311	//
85312	//    * modify_in_progress - A request to modify the EC2 Fleet or Spot Fleet
85313	//    request was accepted and is in progress.
85314	//
85315	//    * modify_succeeded - The EC2 Fleet or Spot Fleet request was modified.
85316	//
85317	//    * price_update - The price for a launch configuration was adjusted because
85318	//    it was too high. This change is permanent.
85319	//
85320	//    * submitted - The EC2 Fleet or Spot Fleet request is being evaluated and
85321	//    Amazon EC2 is preparing to launch the target number of Spot Instances.
85322	//
85323	// The following are the instanceChange events:
85324	//
85325	//    * launched - A request was fulfilled and a new instance was launched.
85326	//
85327	//    * terminated - An instance was terminated by the user.
85328	//
85329	// The following are the Information events:
85330	//
85331	//    * launchSpecTemporarilyBlacklisted - The configuration is not valid and
85332	//    several attempts to launch instances have failed. For more information,
85333	//    see the description of the event.
85334	//
85335	//    * launchSpecUnusable - The price in a launch specification is not valid
85336	//    because it is below the Spot price or the Spot price is above the On-Demand
85337	//    price.
85338	//
85339	//    * fleetProgressHalted - The price in every launch specification is not
85340	//    valid. A launch specification might become valid if the Spot price changes.
85341	EventSubType *string `locationName:"eventSubType" type:"string"`
85342
85343	// The ID of the instance. This information is available only for instanceChange
85344	// events.
85345	InstanceId *string `locationName:"instanceId" type:"string"`
85346}
85347
85348// String returns the string representation
85349func (s EventInformation) String() string {
85350	return awsutil.Prettify(s)
85351}
85352
85353// GoString returns the string representation
85354func (s EventInformation) GoString() string {
85355	return s.String()
85356}
85357
85358// SetEventDescription sets the EventDescription field's value.
85359func (s *EventInformation) SetEventDescription(v string) *EventInformation {
85360	s.EventDescription = &v
85361	return s
85362}
85363
85364// SetEventSubType sets the EventSubType field's value.
85365func (s *EventInformation) SetEventSubType(v string) *EventInformation {
85366	s.EventSubType = &v
85367	return s
85368}
85369
85370// SetInstanceId sets the InstanceId field's value.
85371func (s *EventInformation) SetInstanceId(v string) *EventInformation {
85372	s.InstanceId = &v
85373	return s
85374}
85375
85376// Describes an explanation code for an unreachable path. For more information,
85377// see Reachability Analyzer explanation codes (https://docs.aws.amazon.com/vpc/latest/reachability/explanation-codes.html).
85378type Explanation struct {
85379	_ struct{} `type:"structure"`
85380
85381	// The network ACL.
85382	Acl *AnalysisComponent `locationName:"acl" type:"structure"`
85383
85384	// The network ACL rule.
85385	AclRule *AnalysisAclRule `locationName:"aclRule" type:"structure"`
85386
85387	// The IPv4 address, in CIDR notation.
85388	Address *string `locationName:"address" type:"string"`
85389
85390	// The IPv4 addresses, in CIDR notation.
85391	Addresses []*string `locationName:"addressSet" locationNameList:"item" type:"list"`
85392
85393	// The resource to which the component is attached.
85394	AttachedTo *AnalysisComponent `locationName:"attachedTo" type:"structure"`
85395
85396	// The Availability Zones.
85397	AvailabilityZones []*string `locationName:"availabilityZoneSet" locationNameList:"item" type:"list"`
85398
85399	// The CIDR ranges.
85400	Cidrs []*string `locationName:"cidrSet" locationNameList:"item" type:"list"`
85401
85402	// The listener for a Classic Load Balancer.
85403	ClassicLoadBalancerListener *AnalysisLoadBalancerListener `locationName:"classicLoadBalancerListener" type:"structure"`
85404
85405	// The component.
85406	Component *AnalysisComponent `locationName:"component" type:"structure"`
85407
85408	// The customer gateway.
85409	CustomerGateway *AnalysisComponent `locationName:"customerGateway" type:"structure"`
85410
85411	// The destination.
85412	Destination *AnalysisComponent `locationName:"destination" type:"structure"`
85413
85414	// The destination VPC.
85415	DestinationVpc *AnalysisComponent `locationName:"destinationVpc" type:"structure"`
85416
85417	// The direction. The following are possible values:
85418	//
85419	//    * egress
85420	//
85421	//    * ingress
85422	Direction *string `locationName:"direction" type:"string"`
85423
85424	// The load balancer listener.
85425	ElasticLoadBalancerListener *AnalysisComponent `locationName:"elasticLoadBalancerListener" type:"structure"`
85426
85427	// The explanation code.
85428	ExplanationCode *string `locationName:"explanationCode" type:"string"`
85429
85430	// The route table.
85431	IngressRouteTable *AnalysisComponent `locationName:"ingressRouteTable" type:"structure"`
85432
85433	// The internet gateway.
85434	InternetGateway *AnalysisComponent `locationName:"internetGateway" type:"structure"`
85435
85436	// The Amazon Resource Name (ARN) of the load balancer.
85437	LoadBalancerArn *string `locationName:"loadBalancerArn" min:"1" type:"string"`
85438
85439	// The listener port of the load balancer.
85440	LoadBalancerListenerPort *int64 `locationName:"loadBalancerListenerPort" min:"1" type:"integer"`
85441
85442	// The target.
85443	LoadBalancerTarget *AnalysisLoadBalancerTarget `locationName:"loadBalancerTarget" type:"structure"`
85444
85445	// The target group.
85446	LoadBalancerTargetGroup *AnalysisComponent `locationName:"loadBalancerTargetGroup" type:"structure"`
85447
85448	// The target groups.
85449	LoadBalancerTargetGroups []*AnalysisComponent `locationName:"loadBalancerTargetGroupSet" locationNameList:"item" type:"list"`
85450
85451	// The target port.
85452	LoadBalancerTargetPort *int64 `locationName:"loadBalancerTargetPort" min:"1" type:"integer"`
85453
85454	// The missing component.
85455	MissingComponent *string `locationName:"missingComponent" type:"string"`
85456
85457	// The NAT gateway.
85458	NatGateway *AnalysisComponent `locationName:"natGateway" type:"structure"`
85459
85460	// The network interface.
85461	NetworkInterface *AnalysisComponent `locationName:"networkInterface" type:"structure"`
85462
85463	// The packet field.
85464	PacketField *string `locationName:"packetField" type:"string"`
85465
85466	// The port.
85467	Port *int64 `locationName:"port" min:"1" type:"integer"`
85468
85469	// The port ranges.
85470	PortRanges []*PortRange `locationName:"portRangeSet" locationNameList:"item" type:"list"`
85471
85472	// The prefix list.
85473	PrefixList *AnalysisComponent `locationName:"prefixList" type:"structure"`
85474
85475	// The protocols.
85476	Protocols []*string `locationName:"protocolSet" locationNameList:"item" type:"list"`
85477
85478	// The route table.
85479	RouteTable *AnalysisComponent `locationName:"routeTable" type:"structure"`
85480
85481	// The route table route.
85482	RouteTableRoute *AnalysisRouteTableRoute `locationName:"routeTableRoute" type:"structure"`
85483
85484	// The security group.
85485	SecurityGroup *AnalysisComponent `locationName:"securityGroup" type:"structure"`
85486
85487	// The security group rule.
85488	SecurityGroupRule *AnalysisSecurityGroupRule `locationName:"securityGroupRule" type:"structure"`
85489
85490	// The security groups.
85491	SecurityGroups []*AnalysisComponent `locationName:"securityGroupSet" locationNameList:"item" type:"list"`
85492
85493	// The source VPC.
85494	SourceVpc *AnalysisComponent `locationName:"sourceVpc" type:"structure"`
85495
85496	// The state.
85497	State *string `locationName:"state" type:"string"`
85498
85499	// The subnet.
85500	Subnet *AnalysisComponent `locationName:"subnet" type:"structure"`
85501
85502	// The route table for the subnet.
85503	SubnetRouteTable *AnalysisComponent `locationName:"subnetRouteTable" type:"structure"`
85504
85505	// The component VPC.
85506	Vpc *AnalysisComponent `locationName:"vpc" type:"structure"`
85507
85508	// The VPC endpoint.
85509	VpcEndpoint *AnalysisComponent `locationName:"vpcEndpoint" type:"structure"`
85510
85511	// The VPC peering connection.
85512	VpcPeeringConnection *AnalysisComponent `locationName:"vpcPeeringConnection" type:"structure"`
85513
85514	// The VPN connection.
85515	VpnConnection *AnalysisComponent `locationName:"vpnConnection" type:"structure"`
85516
85517	// The VPN gateway.
85518	VpnGateway *AnalysisComponent `locationName:"vpnGateway" type:"structure"`
85519}
85520
85521// String returns the string representation
85522func (s Explanation) String() string {
85523	return awsutil.Prettify(s)
85524}
85525
85526// GoString returns the string representation
85527func (s Explanation) GoString() string {
85528	return s.String()
85529}
85530
85531// SetAcl sets the Acl field's value.
85532func (s *Explanation) SetAcl(v *AnalysisComponent) *Explanation {
85533	s.Acl = v
85534	return s
85535}
85536
85537// SetAclRule sets the AclRule field's value.
85538func (s *Explanation) SetAclRule(v *AnalysisAclRule) *Explanation {
85539	s.AclRule = v
85540	return s
85541}
85542
85543// SetAddress sets the Address field's value.
85544func (s *Explanation) SetAddress(v string) *Explanation {
85545	s.Address = &v
85546	return s
85547}
85548
85549// SetAddresses sets the Addresses field's value.
85550func (s *Explanation) SetAddresses(v []*string) *Explanation {
85551	s.Addresses = v
85552	return s
85553}
85554
85555// SetAttachedTo sets the AttachedTo field's value.
85556func (s *Explanation) SetAttachedTo(v *AnalysisComponent) *Explanation {
85557	s.AttachedTo = v
85558	return s
85559}
85560
85561// SetAvailabilityZones sets the AvailabilityZones field's value.
85562func (s *Explanation) SetAvailabilityZones(v []*string) *Explanation {
85563	s.AvailabilityZones = v
85564	return s
85565}
85566
85567// SetCidrs sets the Cidrs field's value.
85568func (s *Explanation) SetCidrs(v []*string) *Explanation {
85569	s.Cidrs = v
85570	return s
85571}
85572
85573// SetClassicLoadBalancerListener sets the ClassicLoadBalancerListener field's value.
85574func (s *Explanation) SetClassicLoadBalancerListener(v *AnalysisLoadBalancerListener) *Explanation {
85575	s.ClassicLoadBalancerListener = v
85576	return s
85577}
85578
85579// SetComponent sets the Component field's value.
85580func (s *Explanation) SetComponent(v *AnalysisComponent) *Explanation {
85581	s.Component = v
85582	return s
85583}
85584
85585// SetCustomerGateway sets the CustomerGateway field's value.
85586func (s *Explanation) SetCustomerGateway(v *AnalysisComponent) *Explanation {
85587	s.CustomerGateway = v
85588	return s
85589}
85590
85591// SetDestination sets the Destination field's value.
85592func (s *Explanation) SetDestination(v *AnalysisComponent) *Explanation {
85593	s.Destination = v
85594	return s
85595}
85596
85597// SetDestinationVpc sets the DestinationVpc field's value.
85598func (s *Explanation) SetDestinationVpc(v *AnalysisComponent) *Explanation {
85599	s.DestinationVpc = v
85600	return s
85601}
85602
85603// SetDirection sets the Direction field's value.
85604func (s *Explanation) SetDirection(v string) *Explanation {
85605	s.Direction = &v
85606	return s
85607}
85608
85609// SetElasticLoadBalancerListener sets the ElasticLoadBalancerListener field's value.
85610func (s *Explanation) SetElasticLoadBalancerListener(v *AnalysisComponent) *Explanation {
85611	s.ElasticLoadBalancerListener = v
85612	return s
85613}
85614
85615// SetExplanationCode sets the ExplanationCode field's value.
85616func (s *Explanation) SetExplanationCode(v string) *Explanation {
85617	s.ExplanationCode = &v
85618	return s
85619}
85620
85621// SetIngressRouteTable sets the IngressRouteTable field's value.
85622func (s *Explanation) SetIngressRouteTable(v *AnalysisComponent) *Explanation {
85623	s.IngressRouteTable = v
85624	return s
85625}
85626
85627// SetInternetGateway sets the InternetGateway field's value.
85628func (s *Explanation) SetInternetGateway(v *AnalysisComponent) *Explanation {
85629	s.InternetGateway = v
85630	return s
85631}
85632
85633// SetLoadBalancerArn sets the LoadBalancerArn field's value.
85634func (s *Explanation) SetLoadBalancerArn(v string) *Explanation {
85635	s.LoadBalancerArn = &v
85636	return s
85637}
85638
85639// SetLoadBalancerListenerPort sets the LoadBalancerListenerPort field's value.
85640func (s *Explanation) SetLoadBalancerListenerPort(v int64) *Explanation {
85641	s.LoadBalancerListenerPort = &v
85642	return s
85643}
85644
85645// SetLoadBalancerTarget sets the LoadBalancerTarget field's value.
85646func (s *Explanation) SetLoadBalancerTarget(v *AnalysisLoadBalancerTarget) *Explanation {
85647	s.LoadBalancerTarget = v
85648	return s
85649}
85650
85651// SetLoadBalancerTargetGroup sets the LoadBalancerTargetGroup field's value.
85652func (s *Explanation) SetLoadBalancerTargetGroup(v *AnalysisComponent) *Explanation {
85653	s.LoadBalancerTargetGroup = v
85654	return s
85655}
85656
85657// SetLoadBalancerTargetGroups sets the LoadBalancerTargetGroups field's value.
85658func (s *Explanation) SetLoadBalancerTargetGroups(v []*AnalysisComponent) *Explanation {
85659	s.LoadBalancerTargetGroups = v
85660	return s
85661}
85662
85663// SetLoadBalancerTargetPort sets the LoadBalancerTargetPort field's value.
85664func (s *Explanation) SetLoadBalancerTargetPort(v int64) *Explanation {
85665	s.LoadBalancerTargetPort = &v
85666	return s
85667}
85668
85669// SetMissingComponent sets the MissingComponent field's value.
85670func (s *Explanation) SetMissingComponent(v string) *Explanation {
85671	s.MissingComponent = &v
85672	return s
85673}
85674
85675// SetNatGateway sets the NatGateway field's value.
85676func (s *Explanation) SetNatGateway(v *AnalysisComponent) *Explanation {
85677	s.NatGateway = v
85678	return s
85679}
85680
85681// SetNetworkInterface sets the NetworkInterface field's value.
85682func (s *Explanation) SetNetworkInterface(v *AnalysisComponent) *Explanation {
85683	s.NetworkInterface = v
85684	return s
85685}
85686
85687// SetPacketField sets the PacketField field's value.
85688func (s *Explanation) SetPacketField(v string) *Explanation {
85689	s.PacketField = &v
85690	return s
85691}
85692
85693// SetPort sets the Port field's value.
85694func (s *Explanation) SetPort(v int64) *Explanation {
85695	s.Port = &v
85696	return s
85697}
85698
85699// SetPortRanges sets the PortRanges field's value.
85700func (s *Explanation) SetPortRanges(v []*PortRange) *Explanation {
85701	s.PortRanges = v
85702	return s
85703}
85704
85705// SetPrefixList sets the PrefixList field's value.
85706func (s *Explanation) SetPrefixList(v *AnalysisComponent) *Explanation {
85707	s.PrefixList = v
85708	return s
85709}
85710
85711// SetProtocols sets the Protocols field's value.
85712func (s *Explanation) SetProtocols(v []*string) *Explanation {
85713	s.Protocols = v
85714	return s
85715}
85716
85717// SetRouteTable sets the RouteTable field's value.
85718func (s *Explanation) SetRouteTable(v *AnalysisComponent) *Explanation {
85719	s.RouteTable = v
85720	return s
85721}
85722
85723// SetRouteTableRoute sets the RouteTableRoute field's value.
85724func (s *Explanation) SetRouteTableRoute(v *AnalysisRouteTableRoute) *Explanation {
85725	s.RouteTableRoute = v
85726	return s
85727}
85728
85729// SetSecurityGroup sets the SecurityGroup field's value.
85730func (s *Explanation) SetSecurityGroup(v *AnalysisComponent) *Explanation {
85731	s.SecurityGroup = v
85732	return s
85733}
85734
85735// SetSecurityGroupRule sets the SecurityGroupRule field's value.
85736func (s *Explanation) SetSecurityGroupRule(v *AnalysisSecurityGroupRule) *Explanation {
85737	s.SecurityGroupRule = v
85738	return s
85739}
85740
85741// SetSecurityGroups sets the SecurityGroups field's value.
85742func (s *Explanation) SetSecurityGroups(v []*AnalysisComponent) *Explanation {
85743	s.SecurityGroups = v
85744	return s
85745}
85746
85747// SetSourceVpc sets the SourceVpc field's value.
85748func (s *Explanation) SetSourceVpc(v *AnalysisComponent) *Explanation {
85749	s.SourceVpc = v
85750	return s
85751}
85752
85753// SetState sets the State field's value.
85754func (s *Explanation) SetState(v string) *Explanation {
85755	s.State = &v
85756	return s
85757}
85758
85759// SetSubnet sets the Subnet field's value.
85760func (s *Explanation) SetSubnet(v *AnalysisComponent) *Explanation {
85761	s.Subnet = v
85762	return s
85763}
85764
85765// SetSubnetRouteTable sets the SubnetRouteTable field's value.
85766func (s *Explanation) SetSubnetRouteTable(v *AnalysisComponent) *Explanation {
85767	s.SubnetRouteTable = v
85768	return s
85769}
85770
85771// SetVpc sets the Vpc field's value.
85772func (s *Explanation) SetVpc(v *AnalysisComponent) *Explanation {
85773	s.Vpc = v
85774	return s
85775}
85776
85777// SetVpcEndpoint sets the VpcEndpoint field's value.
85778func (s *Explanation) SetVpcEndpoint(v *AnalysisComponent) *Explanation {
85779	s.VpcEndpoint = v
85780	return s
85781}
85782
85783// SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
85784func (s *Explanation) SetVpcPeeringConnection(v *AnalysisComponent) *Explanation {
85785	s.VpcPeeringConnection = v
85786	return s
85787}
85788
85789// SetVpnConnection sets the VpnConnection field's value.
85790func (s *Explanation) SetVpnConnection(v *AnalysisComponent) *Explanation {
85791	s.VpnConnection = v
85792	return s
85793}
85794
85795// SetVpnGateway sets the VpnGateway field's value.
85796func (s *Explanation) SetVpnGateway(v *AnalysisComponent) *Explanation {
85797	s.VpnGateway = v
85798	return s
85799}
85800
85801type ExportClientVpnClientCertificateRevocationListInput struct {
85802	_ struct{} `type:"structure"`
85803
85804	// The ID of the Client VPN endpoint.
85805	//
85806	// ClientVpnEndpointId is a required field
85807	ClientVpnEndpointId *string `type:"string" required:"true"`
85808
85809	// Checks whether you have the required permissions for the action, without
85810	// actually making the request, and provides an error response. If you have
85811	// the required permissions, the error response is DryRunOperation. Otherwise,
85812	// it is UnauthorizedOperation.
85813	DryRun *bool `type:"boolean"`
85814}
85815
85816// String returns the string representation
85817func (s ExportClientVpnClientCertificateRevocationListInput) String() string {
85818	return awsutil.Prettify(s)
85819}
85820
85821// GoString returns the string representation
85822func (s ExportClientVpnClientCertificateRevocationListInput) GoString() string {
85823	return s.String()
85824}
85825
85826// Validate inspects the fields of the type to determine if they are valid.
85827func (s *ExportClientVpnClientCertificateRevocationListInput) Validate() error {
85828	invalidParams := request.ErrInvalidParams{Context: "ExportClientVpnClientCertificateRevocationListInput"}
85829	if s.ClientVpnEndpointId == nil {
85830		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
85831	}
85832
85833	if invalidParams.Len() > 0 {
85834		return invalidParams
85835	}
85836	return nil
85837}
85838
85839// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
85840func (s *ExportClientVpnClientCertificateRevocationListInput) SetClientVpnEndpointId(v string) *ExportClientVpnClientCertificateRevocationListInput {
85841	s.ClientVpnEndpointId = &v
85842	return s
85843}
85844
85845// SetDryRun sets the DryRun field's value.
85846func (s *ExportClientVpnClientCertificateRevocationListInput) SetDryRun(v bool) *ExportClientVpnClientCertificateRevocationListInput {
85847	s.DryRun = &v
85848	return s
85849}
85850
85851type ExportClientVpnClientCertificateRevocationListOutput struct {
85852	_ struct{} `type:"structure"`
85853
85854	// Information about the client certificate revocation list.
85855	CertificateRevocationList *string `locationName:"certificateRevocationList" type:"string"`
85856
85857	// The current state of the client certificate revocation list.
85858	Status *ClientCertificateRevocationListStatus `locationName:"status" type:"structure"`
85859}
85860
85861// String returns the string representation
85862func (s ExportClientVpnClientCertificateRevocationListOutput) String() string {
85863	return awsutil.Prettify(s)
85864}
85865
85866// GoString returns the string representation
85867func (s ExportClientVpnClientCertificateRevocationListOutput) GoString() string {
85868	return s.String()
85869}
85870
85871// SetCertificateRevocationList sets the CertificateRevocationList field's value.
85872func (s *ExportClientVpnClientCertificateRevocationListOutput) SetCertificateRevocationList(v string) *ExportClientVpnClientCertificateRevocationListOutput {
85873	s.CertificateRevocationList = &v
85874	return s
85875}
85876
85877// SetStatus sets the Status field's value.
85878func (s *ExportClientVpnClientCertificateRevocationListOutput) SetStatus(v *ClientCertificateRevocationListStatus) *ExportClientVpnClientCertificateRevocationListOutput {
85879	s.Status = v
85880	return s
85881}
85882
85883type ExportClientVpnClientConfigurationInput struct {
85884	_ struct{} `type:"structure"`
85885
85886	// The ID of the Client VPN endpoint.
85887	//
85888	// ClientVpnEndpointId is a required field
85889	ClientVpnEndpointId *string `type:"string" required:"true"`
85890
85891	// Checks whether you have the required permissions for the action, without
85892	// actually making the request, and provides an error response. If you have
85893	// the required permissions, the error response is DryRunOperation. Otherwise,
85894	// it is UnauthorizedOperation.
85895	DryRun *bool `type:"boolean"`
85896}
85897
85898// String returns the string representation
85899func (s ExportClientVpnClientConfigurationInput) String() string {
85900	return awsutil.Prettify(s)
85901}
85902
85903// GoString returns the string representation
85904func (s ExportClientVpnClientConfigurationInput) GoString() string {
85905	return s.String()
85906}
85907
85908// Validate inspects the fields of the type to determine if they are valid.
85909func (s *ExportClientVpnClientConfigurationInput) Validate() error {
85910	invalidParams := request.ErrInvalidParams{Context: "ExportClientVpnClientConfigurationInput"}
85911	if s.ClientVpnEndpointId == nil {
85912		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
85913	}
85914
85915	if invalidParams.Len() > 0 {
85916		return invalidParams
85917	}
85918	return nil
85919}
85920
85921// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
85922func (s *ExportClientVpnClientConfigurationInput) SetClientVpnEndpointId(v string) *ExportClientVpnClientConfigurationInput {
85923	s.ClientVpnEndpointId = &v
85924	return s
85925}
85926
85927// SetDryRun sets the DryRun field's value.
85928func (s *ExportClientVpnClientConfigurationInput) SetDryRun(v bool) *ExportClientVpnClientConfigurationInput {
85929	s.DryRun = &v
85930	return s
85931}
85932
85933type ExportClientVpnClientConfigurationOutput struct {
85934	_ struct{} `type:"structure"`
85935
85936	// The contents of the Client VPN endpoint configuration file.
85937	ClientConfiguration *string `locationName:"clientConfiguration" type:"string"`
85938}
85939
85940// String returns the string representation
85941func (s ExportClientVpnClientConfigurationOutput) String() string {
85942	return awsutil.Prettify(s)
85943}
85944
85945// GoString returns the string representation
85946func (s ExportClientVpnClientConfigurationOutput) GoString() string {
85947	return s.String()
85948}
85949
85950// SetClientConfiguration sets the ClientConfiguration field's value.
85951func (s *ExportClientVpnClientConfigurationOutput) SetClientConfiguration(v string) *ExportClientVpnClientConfigurationOutput {
85952	s.ClientConfiguration = &v
85953	return s
85954}
85955
85956type ExportImageInput struct {
85957	_ struct{} `type:"structure"`
85958
85959	// Token to enable idempotency for export image requests.
85960	ClientToken *string `type:"string" idempotencyToken:"true"`
85961
85962	// A description of the image being exported. The maximum length is 255 characters.
85963	Description *string `type:"string"`
85964
85965	// The disk image format.
85966	//
85967	// DiskImageFormat is a required field
85968	DiskImageFormat *string `type:"string" required:"true" enum:"DiskImageFormat"`
85969
85970	// Checks whether you have the required permissions for the action, without
85971	// actually making the request, and provides an error response. If you have
85972	// the required permissions, the error response is DryRunOperation. Otherwise,
85973	// it is UnauthorizedOperation.
85974	DryRun *bool `type:"boolean"`
85975
85976	// The ID of the image.
85977	//
85978	// ImageId is a required field
85979	ImageId *string `type:"string" required:"true"`
85980
85981	// The name of the role that grants VM Import/Export permission to export images
85982	// to your Amazon S3 bucket. If this parameter is not specified, the default
85983	// role is named 'vmimport'.
85984	RoleName *string `type:"string"`
85985
85986	// Information about the destination Amazon S3 bucket. The bucket must exist
85987	// and grant WRITE and READ_ACP permissions to the Amazon Web Services account
85988	// vm-import-export@amazon.com.
85989	//
85990	// S3ExportLocation is a required field
85991	S3ExportLocation *ExportTaskS3LocationRequest `type:"structure" required:"true"`
85992
85993	// The tags to apply to the export image task during creation.
85994	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
85995}
85996
85997// String returns the string representation
85998func (s ExportImageInput) String() string {
85999	return awsutil.Prettify(s)
86000}
86001
86002// GoString returns the string representation
86003func (s ExportImageInput) GoString() string {
86004	return s.String()
86005}
86006
86007// Validate inspects the fields of the type to determine if they are valid.
86008func (s *ExportImageInput) Validate() error {
86009	invalidParams := request.ErrInvalidParams{Context: "ExportImageInput"}
86010	if s.DiskImageFormat == nil {
86011		invalidParams.Add(request.NewErrParamRequired("DiskImageFormat"))
86012	}
86013	if s.ImageId == nil {
86014		invalidParams.Add(request.NewErrParamRequired("ImageId"))
86015	}
86016	if s.S3ExportLocation == nil {
86017		invalidParams.Add(request.NewErrParamRequired("S3ExportLocation"))
86018	}
86019	if s.S3ExportLocation != nil {
86020		if err := s.S3ExportLocation.Validate(); err != nil {
86021			invalidParams.AddNested("S3ExportLocation", err.(request.ErrInvalidParams))
86022		}
86023	}
86024
86025	if invalidParams.Len() > 0 {
86026		return invalidParams
86027	}
86028	return nil
86029}
86030
86031// SetClientToken sets the ClientToken field's value.
86032func (s *ExportImageInput) SetClientToken(v string) *ExportImageInput {
86033	s.ClientToken = &v
86034	return s
86035}
86036
86037// SetDescription sets the Description field's value.
86038func (s *ExportImageInput) SetDescription(v string) *ExportImageInput {
86039	s.Description = &v
86040	return s
86041}
86042
86043// SetDiskImageFormat sets the DiskImageFormat field's value.
86044func (s *ExportImageInput) SetDiskImageFormat(v string) *ExportImageInput {
86045	s.DiskImageFormat = &v
86046	return s
86047}
86048
86049// SetDryRun sets the DryRun field's value.
86050func (s *ExportImageInput) SetDryRun(v bool) *ExportImageInput {
86051	s.DryRun = &v
86052	return s
86053}
86054
86055// SetImageId sets the ImageId field's value.
86056func (s *ExportImageInput) SetImageId(v string) *ExportImageInput {
86057	s.ImageId = &v
86058	return s
86059}
86060
86061// SetRoleName sets the RoleName field's value.
86062func (s *ExportImageInput) SetRoleName(v string) *ExportImageInput {
86063	s.RoleName = &v
86064	return s
86065}
86066
86067// SetS3ExportLocation sets the S3ExportLocation field's value.
86068func (s *ExportImageInput) SetS3ExportLocation(v *ExportTaskS3LocationRequest) *ExportImageInput {
86069	s.S3ExportLocation = v
86070	return s
86071}
86072
86073// SetTagSpecifications sets the TagSpecifications field's value.
86074func (s *ExportImageInput) SetTagSpecifications(v []*TagSpecification) *ExportImageInput {
86075	s.TagSpecifications = v
86076	return s
86077}
86078
86079type ExportImageOutput struct {
86080	_ struct{} `type:"structure"`
86081
86082	// A description of the image being exported.
86083	Description *string `locationName:"description" type:"string"`
86084
86085	// The disk image format for the exported image.
86086	DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
86087
86088	// The ID of the export image task.
86089	ExportImageTaskId *string `locationName:"exportImageTaskId" type:"string"`
86090
86091	// The ID of the image.
86092	ImageId *string `locationName:"imageId" type:"string"`
86093
86094	// The percent complete of the export image task.
86095	Progress *string `locationName:"progress" type:"string"`
86096
86097	// The name of the role that grants VM Import/Export permission to export images
86098	// to your Amazon S3 bucket.
86099	RoleName *string `locationName:"roleName" type:"string"`
86100
86101	// Information about the destination Amazon S3 bucket.
86102	S3ExportLocation *ExportTaskS3Location `locationName:"s3ExportLocation" type:"structure"`
86103
86104	// The status of the export image task. The possible values are active, completed,
86105	// deleting, and deleted.
86106	Status *string `locationName:"status" type:"string"`
86107
86108	// The status message for the export image task.
86109	StatusMessage *string `locationName:"statusMessage" type:"string"`
86110
86111	// Any tags assigned to the export image task.
86112	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
86113}
86114
86115// String returns the string representation
86116func (s ExportImageOutput) String() string {
86117	return awsutil.Prettify(s)
86118}
86119
86120// GoString returns the string representation
86121func (s ExportImageOutput) GoString() string {
86122	return s.String()
86123}
86124
86125// SetDescription sets the Description field's value.
86126func (s *ExportImageOutput) SetDescription(v string) *ExportImageOutput {
86127	s.Description = &v
86128	return s
86129}
86130
86131// SetDiskImageFormat sets the DiskImageFormat field's value.
86132func (s *ExportImageOutput) SetDiskImageFormat(v string) *ExportImageOutput {
86133	s.DiskImageFormat = &v
86134	return s
86135}
86136
86137// SetExportImageTaskId sets the ExportImageTaskId field's value.
86138func (s *ExportImageOutput) SetExportImageTaskId(v string) *ExportImageOutput {
86139	s.ExportImageTaskId = &v
86140	return s
86141}
86142
86143// SetImageId sets the ImageId field's value.
86144func (s *ExportImageOutput) SetImageId(v string) *ExportImageOutput {
86145	s.ImageId = &v
86146	return s
86147}
86148
86149// SetProgress sets the Progress field's value.
86150func (s *ExportImageOutput) SetProgress(v string) *ExportImageOutput {
86151	s.Progress = &v
86152	return s
86153}
86154
86155// SetRoleName sets the RoleName field's value.
86156func (s *ExportImageOutput) SetRoleName(v string) *ExportImageOutput {
86157	s.RoleName = &v
86158	return s
86159}
86160
86161// SetS3ExportLocation sets the S3ExportLocation field's value.
86162func (s *ExportImageOutput) SetS3ExportLocation(v *ExportTaskS3Location) *ExportImageOutput {
86163	s.S3ExportLocation = v
86164	return s
86165}
86166
86167// SetStatus sets the Status field's value.
86168func (s *ExportImageOutput) SetStatus(v string) *ExportImageOutput {
86169	s.Status = &v
86170	return s
86171}
86172
86173// SetStatusMessage sets the StatusMessage field's value.
86174func (s *ExportImageOutput) SetStatusMessage(v string) *ExportImageOutput {
86175	s.StatusMessage = &v
86176	return s
86177}
86178
86179// SetTags sets the Tags field's value.
86180func (s *ExportImageOutput) SetTags(v []*Tag) *ExportImageOutput {
86181	s.Tags = v
86182	return s
86183}
86184
86185// Describes an export image task.
86186type ExportImageTask struct {
86187	_ struct{} `type:"structure"`
86188
86189	// A description of the image being exported.
86190	Description *string `locationName:"description" type:"string"`
86191
86192	// The ID of the export image task.
86193	ExportImageTaskId *string `locationName:"exportImageTaskId" type:"string"`
86194
86195	// The ID of the image.
86196	ImageId *string `locationName:"imageId" type:"string"`
86197
86198	// The percent complete of the export image task.
86199	Progress *string `locationName:"progress" type:"string"`
86200
86201	// Information about the destination Amazon S3 bucket.
86202	S3ExportLocation *ExportTaskS3Location `locationName:"s3ExportLocation" type:"structure"`
86203
86204	// The status of the export image task. The possible values are active, completed,
86205	// deleting, and deleted.
86206	Status *string `locationName:"status" type:"string"`
86207
86208	// The status message for the export image task.
86209	StatusMessage *string `locationName:"statusMessage" type:"string"`
86210
86211	// Any tags assigned to the export image task.
86212	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
86213}
86214
86215// String returns the string representation
86216func (s ExportImageTask) String() string {
86217	return awsutil.Prettify(s)
86218}
86219
86220// GoString returns the string representation
86221func (s ExportImageTask) GoString() string {
86222	return s.String()
86223}
86224
86225// SetDescription sets the Description field's value.
86226func (s *ExportImageTask) SetDescription(v string) *ExportImageTask {
86227	s.Description = &v
86228	return s
86229}
86230
86231// SetExportImageTaskId sets the ExportImageTaskId field's value.
86232func (s *ExportImageTask) SetExportImageTaskId(v string) *ExportImageTask {
86233	s.ExportImageTaskId = &v
86234	return s
86235}
86236
86237// SetImageId sets the ImageId field's value.
86238func (s *ExportImageTask) SetImageId(v string) *ExportImageTask {
86239	s.ImageId = &v
86240	return s
86241}
86242
86243// SetProgress sets the Progress field's value.
86244func (s *ExportImageTask) SetProgress(v string) *ExportImageTask {
86245	s.Progress = &v
86246	return s
86247}
86248
86249// SetS3ExportLocation sets the S3ExportLocation field's value.
86250func (s *ExportImageTask) SetS3ExportLocation(v *ExportTaskS3Location) *ExportImageTask {
86251	s.S3ExportLocation = v
86252	return s
86253}
86254
86255// SetStatus sets the Status field's value.
86256func (s *ExportImageTask) SetStatus(v string) *ExportImageTask {
86257	s.Status = &v
86258	return s
86259}
86260
86261// SetStatusMessage sets the StatusMessage field's value.
86262func (s *ExportImageTask) SetStatusMessage(v string) *ExportImageTask {
86263	s.StatusMessage = &v
86264	return s
86265}
86266
86267// SetTags sets the Tags field's value.
86268func (s *ExportImageTask) SetTags(v []*Tag) *ExportImageTask {
86269	s.Tags = v
86270	return s
86271}
86272
86273// Describes an export instance task.
86274type ExportTask struct {
86275	_ struct{} `type:"structure"`
86276
86277	// A description of the resource being exported.
86278	Description *string `locationName:"description" type:"string"`
86279
86280	// The ID of the export task.
86281	ExportTaskId *string `locationName:"exportTaskId" type:"string"`
86282
86283	// Information about the export task.
86284	ExportToS3Task *ExportToS3Task `locationName:"exportToS3" type:"structure"`
86285
86286	// Information about the instance to export.
86287	InstanceExportDetails *InstanceExportDetails `locationName:"instanceExport" type:"structure"`
86288
86289	// The state of the export task.
86290	State *string `locationName:"state" type:"string" enum:"ExportTaskState"`
86291
86292	// The status message related to the export task.
86293	StatusMessage *string `locationName:"statusMessage" type:"string"`
86294
86295	// The tags for the export task.
86296	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
86297}
86298
86299// String returns the string representation
86300func (s ExportTask) String() string {
86301	return awsutil.Prettify(s)
86302}
86303
86304// GoString returns the string representation
86305func (s ExportTask) GoString() string {
86306	return s.String()
86307}
86308
86309// SetDescription sets the Description field's value.
86310func (s *ExportTask) SetDescription(v string) *ExportTask {
86311	s.Description = &v
86312	return s
86313}
86314
86315// SetExportTaskId sets the ExportTaskId field's value.
86316func (s *ExportTask) SetExportTaskId(v string) *ExportTask {
86317	s.ExportTaskId = &v
86318	return s
86319}
86320
86321// SetExportToS3Task sets the ExportToS3Task field's value.
86322func (s *ExportTask) SetExportToS3Task(v *ExportToS3Task) *ExportTask {
86323	s.ExportToS3Task = v
86324	return s
86325}
86326
86327// SetInstanceExportDetails sets the InstanceExportDetails field's value.
86328func (s *ExportTask) SetInstanceExportDetails(v *InstanceExportDetails) *ExportTask {
86329	s.InstanceExportDetails = v
86330	return s
86331}
86332
86333// SetState sets the State field's value.
86334func (s *ExportTask) SetState(v string) *ExportTask {
86335	s.State = &v
86336	return s
86337}
86338
86339// SetStatusMessage sets the StatusMessage field's value.
86340func (s *ExportTask) SetStatusMessage(v string) *ExportTask {
86341	s.StatusMessage = &v
86342	return s
86343}
86344
86345// SetTags sets the Tags field's value.
86346func (s *ExportTask) SetTags(v []*Tag) *ExportTask {
86347	s.Tags = v
86348	return s
86349}
86350
86351// Describes the destination for an export image task.
86352type ExportTaskS3Location struct {
86353	_ struct{} `type:"structure"`
86354
86355	// The destination Amazon S3 bucket.
86356	S3Bucket *string `locationName:"s3Bucket" type:"string"`
86357
86358	// The prefix (logical hierarchy) in the bucket.
86359	S3Prefix *string `locationName:"s3Prefix" type:"string"`
86360}
86361
86362// String returns the string representation
86363func (s ExportTaskS3Location) String() string {
86364	return awsutil.Prettify(s)
86365}
86366
86367// GoString returns the string representation
86368func (s ExportTaskS3Location) GoString() string {
86369	return s.String()
86370}
86371
86372// SetS3Bucket sets the S3Bucket field's value.
86373func (s *ExportTaskS3Location) SetS3Bucket(v string) *ExportTaskS3Location {
86374	s.S3Bucket = &v
86375	return s
86376}
86377
86378// SetS3Prefix sets the S3Prefix field's value.
86379func (s *ExportTaskS3Location) SetS3Prefix(v string) *ExportTaskS3Location {
86380	s.S3Prefix = &v
86381	return s
86382}
86383
86384// Describes the destination for an export image task.
86385type ExportTaskS3LocationRequest struct {
86386	_ struct{} `type:"structure"`
86387
86388	// The destination Amazon S3 bucket.
86389	//
86390	// S3Bucket is a required field
86391	S3Bucket *string `type:"string" required:"true"`
86392
86393	// The prefix (logical hierarchy) in the bucket.
86394	S3Prefix *string `type:"string"`
86395}
86396
86397// String returns the string representation
86398func (s ExportTaskS3LocationRequest) String() string {
86399	return awsutil.Prettify(s)
86400}
86401
86402// GoString returns the string representation
86403func (s ExportTaskS3LocationRequest) GoString() string {
86404	return s.String()
86405}
86406
86407// Validate inspects the fields of the type to determine if they are valid.
86408func (s *ExportTaskS3LocationRequest) Validate() error {
86409	invalidParams := request.ErrInvalidParams{Context: "ExportTaskS3LocationRequest"}
86410	if s.S3Bucket == nil {
86411		invalidParams.Add(request.NewErrParamRequired("S3Bucket"))
86412	}
86413
86414	if invalidParams.Len() > 0 {
86415		return invalidParams
86416	}
86417	return nil
86418}
86419
86420// SetS3Bucket sets the S3Bucket field's value.
86421func (s *ExportTaskS3LocationRequest) SetS3Bucket(v string) *ExportTaskS3LocationRequest {
86422	s.S3Bucket = &v
86423	return s
86424}
86425
86426// SetS3Prefix sets the S3Prefix field's value.
86427func (s *ExportTaskS3LocationRequest) SetS3Prefix(v string) *ExportTaskS3LocationRequest {
86428	s.S3Prefix = &v
86429	return s
86430}
86431
86432// Describes the format and location for the export task.
86433type ExportToS3Task struct {
86434	_ struct{} `type:"structure"`
86435
86436	// The container format used to combine disk images with metadata (such as OVF).
86437	// If absent, only the disk image is exported.
86438	ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
86439
86440	// The format for the exported image.
86441	DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
86442
86443	// The Amazon S3 bucket for the destination image. The destination bucket must
86444	// exist and grant WRITE and READ_ACP permissions to the Amazon Web Services
86445	// account vm-import-export@amazon.com.
86446	S3Bucket *string `locationName:"s3Bucket" type:"string"`
86447
86448	// The encryption key for your S3 bucket.
86449	S3Key *string `locationName:"s3Key" type:"string"`
86450}
86451
86452// String returns the string representation
86453func (s ExportToS3Task) String() string {
86454	return awsutil.Prettify(s)
86455}
86456
86457// GoString returns the string representation
86458func (s ExportToS3Task) GoString() string {
86459	return s.String()
86460}
86461
86462// SetContainerFormat sets the ContainerFormat field's value.
86463func (s *ExportToS3Task) SetContainerFormat(v string) *ExportToS3Task {
86464	s.ContainerFormat = &v
86465	return s
86466}
86467
86468// SetDiskImageFormat sets the DiskImageFormat field's value.
86469func (s *ExportToS3Task) SetDiskImageFormat(v string) *ExportToS3Task {
86470	s.DiskImageFormat = &v
86471	return s
86472}
86473
86474// SetS3Bucket sets the S3Bucket field's value.
86475func (s *ExportToS3Task) SetS3Bucket(v string) *ExportToS3Task {
86476	s.S3Bucket = &v
86477	return s
86478}
86479
86480// SetS3Key sets the S3Key field's value.
86481func (s *ExportToS3Task) SetS3Key(v string) *ExportToS3Task {
86482	s.S3Key = &v
86483	return s
86484}
86485
86486// Describes an export instance task.
86487type ExportToS3TaskSpecification struct {
86488	_ struct{} `type:"structure"`
86489
86490	// The container format used to combine disk images with metadata (such as OVF).
86491	// If absent, only the disk image is exported.
86492	ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
86493
86494	// The format for the exported image.
86495	DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
86496
86497	// The Amazon S3 bucket for the destination image. The destination bucket must
86498	// exist and grant WRITE and READ_ACP permissions to the Amazon Web Services
86499	// account vm-import-export@amazon.com.
86500	S3Bucket *string `locationName:"s3Bucket" type:"string"`
86501
86502	// The image is written to a single object in the Amazon S3 bucket at the S3
86503	// key s3prefix + exportTaskId + '.' + diskImageFormat.
86504	S3Prefix *string `locationName:"s3Prefix" type:"string"`
86505}
86506
86507// String returns the string representation
86508func (s ExportToS3TaskSpecification) String() string {
86509	return awsutil.Prettify(s)
86510}
86511
86512// GoString returns the string representation
86513func (s ExportToS3TaskSpecification) GoString() string {
86514	return s.String()
86515}
86516
86517// SetContainerFormat sets the ContainerFormat field's value.
86518func (s *ExportToS3TaskSpecification) SetContainerFormat(v string) *ExportToS3TaskSpecification {
86519	s.ContainerFormat = &v
86520	return s
86521}
86522
86523// SetDiskImageFormat sets the DiskImageFormat field's value.
86524func (s *ExportToS3TaskSpecification) SetDiskImageFormat(v string) *ExportToS3TaskSpecification {
86525	s.DiskImageFormat = &v
86526	return s
86527}
86528
86529// SetS3Bucket sets the S3Bucket field's value.
86530func (s *ExportToS3TaskSpecification) SetS3Bucket(v string) *ExportToS3TaskSpecification {
86531	s.S3Bucket = &v
86532	return s
86533}
86534
86535// SetS3Prefix sets the S3Prefix field's value.
86536func (s *ExportToS3TaskSpecification) SetS3Prefix(v string) *ExportToS3TaskSpecification {
86537	s.S3Prefix = &v
86538	return s
86539}
86540
86541type ExportTransitGatewayRoutesInput struct {
86542	_ struct{} `type:"structure"`
86543
86544	// Checks whether you have the required permissions for the action, without
86545	// actually making the request, and provides an error response. If you have
86546	// the required permissions, the error response is DryRunOperation. Otherwise,
86547	// it is UnauthorizedOperation.
86548	DryRun *bool `type:"boolean"`
86549
86550	// One or more filters. The possible values are:
86551	//
86552	//    * attachment.transit-gateway-attachment-id - The id of the transit gateway
86553	//    attachment.
86554	//
86555	//    * attachment.resource-id - The resource id of the transit gateway attachment.
86556	//
86557	//    * route-search.exact-match - The exact match of the specified filter.
86558	//
86559	//    * route-search.longest-prefix-match - The longest prefix that matches
86560	//    the route.
86561	//
86562	//    * route-search.subnet-of-match - The routes with a subnet that match the
86563	//    specified CIDR filter.
86564	//
86565	//    * route-search.supernet-of-match - The routes with a CIDR that encompass
86566	//    the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31
86567	//    routes in your route table and you specify supernet-of-match as 10.0.1.0/30,
86568	//    then the result returns 10.0.1.0/29.
86569	//
86570	//    * state - The state of the route (active | blackhole).
86571	//
86572	//    * transit-gateway-route-destination-cidr-block - The CIDR range.
86573	//
86574	//    * type - The type of route (propagated | static).
86575	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
86576
86577	// The name of the S3 bucket.
86578	//
86579	// S3Bucket is a required field
86580	S3Bucket *string `type:"string" required:"true"`
86581
86582	// The ID of the route table.
86583	//
86584	// TransitGatewayRouteTableId is a required field
86585	TransitGatewayRouteTableId *string `type:"string" required:"true"`
86586}
86587
86588// String returns the string representation
86589func (s ExportTransitGatewayRoutesInput) String() string {
86590	return awsutil.Prettify(s)
86591}
86592
86593// GoString returns the string representation
86594func (s ExportTransitGatewayRoutesInput) GoString() string {
86595	return s.String()
86596}
86597
86598// Validate inspects the fields of the type to determine if they are valid.
86599func (s *ExportTransitGatewayRoutesInput) Validate() error {
86600	invalidParams := request.ErrInvalidParams{Context: "ExportTransitGatewayRoutesInput"}
86601	if s.S3Bucket == nil {
86602		invalidParams.Add(request.NewErrParamRequired("S3Bucket"))
86603	}
86604	if s.TransitGatewayRouteTableId == nil {
86605		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
86606	}
86607
86608	if invalidParams.Len() > 0 {
86609		return invalidParams
86610	}
86611	return nil
86612}
86613
86614// SetDryRun sets the DryRun field's value.
86615func (s *ExportTransitGatewayRoutesInput) SetDryRun(v bool) *ExportTransitGatewayRoutesInput {
86616	s.DryRun = &v
86617	return s
86618}
86619
86620// SetFilters sets the Filters field's value.
86621func (s *ExportTransitGatewayRoutesInput) SetFilters(v []*Filter) *ExportTransitGatewayRoutesInput {
86622	s.Filters = v
86623	return s
86624}
86625
86626// SetS3Bucket sets the S3Bucket field's value.
86627func (s *ExportTransitGatewayRoutesInput) SetS3Bucket(v string) *ExportTransitGatewayRoutesInput {
86628	s.S3Bucket = &v
86629	return s
86630}
86631
86632// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
86633func (s *ExportTransitGatewayRoutesInput) SetTransitGatewayRouteTableId(v string) *ExportTransitGatewayRoutesInput {
86634	s.TransitGatewayRouteTableId = &v
86635	return s
86636}
86637
86638type ExportTransitGatewayRoutesOutput struct {
86639	_ struct{} `type:"structure"`
86640
86641	// The URL of the exported file in Amazon S3. For example, s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.
86642	S3Location *string `locationName:"s3Location" type:"string"`
86643}
86644
86645// String returns the string representation
86646func (s ExportTransitGatewayRoutesOutput) String() string {
86647	return awsutil.Prettify(s)
86648}
86649
86650// GoString returns the string representation
86651func (s ExportTransitGatewayRoutesOutput) GoString() string {
86652	return s.String()
86653}
86654
86655// SetS3Location sets the S3Location field's value.
86656func (s *ExportTransitGatewayRoutesOutput) SetS3Location(v string) *ExportTransitGatewayRoutesOutput {
86657	s.S3Location = &v
86658	return s
86659}
86660
86661// Describes a Reserved Instance whose queued purchase was not deleted.
86662type FailedQueuedPurchaseDeletion struct {
86663	_ struct{} `type:"structure"`
86664
86665	// The error.
86666	Error *DeleteQueuedReservedInstancesError `locationName:"error" type:"structure"`
86667
86668	// The ID of the Reserved Instance.
86669	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
86670}
86671
86672// String returns the string representation
86673func (s FailedQueuedPurchaseDeletion) String() string {
86674	return awsutil.Prettify(s)
86675}
86676
86677// GoString returns the string representation
86678func (s FailedQueuedPurchaseDeletion) GoString() string {
86679	return s.String()
86680}
86681
86682// SetError sets the Error field's value.
86683func (s *FailedQueuedPurchaseDeletion) SetError(v *DeleteQueuedReservedInstancesError) *FailedQueuedPurchaseDeletion {
86684	s.Error = v
86685	return s
86686}
86687
86688// SetReservedInstancesId sets the ReservedInstancesId field's value.
86689func (s *FailedQueuedPurchaseDeletion) SetReservedInstancesId(v string) *FailedQueuedPurchaseDeletion {
86690	s.ReservedInstancesId = &v
86691	return s
86692}
86693
86694// Describes the IAM SAML identity providers used for federated authentication.
86695type FederatedAuthentication struct {
86696	_ struct{} `type:"structure"`
86697
86698	// The Amazon Resource Name (ARN) of the IAM SAML identity provider.
86699	SamlProviderArn *string `locationName:"samlProviderArn" type:"string"`
86700
86701	// The Amazon Resource Name (ARN) of the IAM SAML identity provider for the
86702	// self-service portal.
86703	SelfServiceSamlProviderArn *string `locationName:"selfServiceSamlProviderArn" type:"string"`
86704}
86705
86706// String returns the string representation
86707func (s FederatedAuthentication) String() string {
86708	return awsutil.Prettify(s)
86709}
86710
86711// GoString returns the string representation
86712func (s FederatedAuthentication) GoString() string {
86713	return s.String()
86714}
86715
86716// SetSamlProviderArn sets the SamlProviderArn field's value.
86717func (s *FederatedAuthentication) SetSamlProviderArn(v string) *FederatedAuthentication {
86718	s.SamlProviderArn = &v
86719	return s
86720}
86721
86722// SetSelfServiceSamlProviderArn sets the SelfServiceSamlProviderArn field's value.
86723func (s *FederatedAuthentication) SetSelfServiceSamlProviderArn(v string) *FederatedAuthentication {
86724	s.SelfServiceSamlProviderArn = &v
86725	return s
86726}
86727
86728// The IAM SAML identity provider used for federated authentication.
86729type FederatedAuthenticationRequest struct {
86730	_ struct{} `type:"structure"`
86731
86732	// The Amazon Resource Name (ARN) of the IAM SAML identity provider.
86733	SAMLProviderArn *string `type:"string"`
86734
86735	// The Amazon Resource Name (ARN) of the IAM SAML identity provider for the
86736	// self-service portal.
86737	SelfServiceSAMLProviderArn *string `type:"string"`
86738}
86739
86740// String returns the string representation
86741func (s FederatedAuthenticationRequest) String() string {
86742	return awsutil.Prettify(s)
86743}
86744
86745// GoString returns the string representation
86746func (s FederatedAuthenticationRequest) GoString() string {
86747	return s.String()
86748}
86749
86750// SetSAMLProviderArn sets the SAMLProviderArn field's value.
86751func (s *FederatedAuthenticationRequest) SetSAMLProviderArn(v string) *FederatedAuthenticationRequest {
86752	s.SAMLProviderArn = &v
86753	return s
86754}
86755
86756// SetSelfServiceSAMLProviderArn sets the SelfServiceSAMLProviderArn field's value.
86757func (s *FederatedAuthenticationRequest) SetSelfServiceSAMLProviderArn(v string) *FederatedAuthenticationRequest {
86758	s.SelfServiceSAMLProviderArn = &v
86759	return s
86760}
86761
86762// A filter name and value pair that is used to return a more specific list
86763// of results from a describe operation. Filters can be used to match a set
86764// of resources by specific criteria, such as tags, attributes, or IDs.
86765type Filter struct {
86766	_ struct{} `type:"structure"`
86767
86768	// The name of the filter. Filter names are case-sensitive.
86769	Name *string `type:"string"`
86770
86771	// The filter values. Filter values are case-sensitive.
86772	Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
86773}
86774
86775// String returns the string representation
86776func (s Filter) String() string {
86777	return awsutil.Prettify(s)
86778}
86779
86780// GoString returns the string representation
86781func (s Filter) GoString() string {
86782	return s.String()
86783}
86784
86785// SetName sets the Name field's value.
86786func (s *Filter) SetName(v string) *Filter {
86787	s.Name = &v
86788	return s
86789}
86790
86791// SetValues sets the Values field's value.
86792func (s *Filter) SetValues(v []*string) *Filter {
86793	s.Values = v
86794	return s
86795}
86796
86797// Describes an EC2 Fleet.
86798type FleetData struct {
86799	_ struct{} `type:"structure"`
86800
86801	// The progress of the EC2 Fleet. If there is an error, the status is error.
86802	// After all requests are placed, the status is pending_fulfillment. If the
86803	// size of the EC2 Fleet is equal to or greater than its target capacity, the
86804	// status is fulfilled. If the size of the EC2 Fleet is decreased, the status
86805	// is pending_termination while instances are terminating.
86806	ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"FleetActivityStatus"`
86807
86808	// Unique, case-sensitive identifier that you provide to ensure the idempotency
86809	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
86810	//
86811	// Constraints: Maximum 64 ASCII characters
86812	ClientToken *string `locationName:"clientToken" type:"string"`
86813
86814	// Reserved.
86815	Context *string `locationName:"context" type:"string"`
86816
86817	// The creation date and time of the EC2 Fleet.
86818	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
86819
86820	// Information about the instances that could not be launched by the fleet.
86821	// Valid only when Type is set to instant.
86822	Errors []*DescribeFleetError `locationName:"errorSet" locationNameList:"item" type:"list"`
86823
86824	// Indicates whether running instances should be terminated if the target capacity
86825	// of the EC2 Fleet is decreased below the current size of the EC2 Fleet.
86826	ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
86827
86828	// The ID of the EC2 Fleet.
86829	FleetId *string `locationName:"fleetId" type:"string"`
86830
86831	// The state of the EC2 Fleet.
86832	FleetState *string `locationName:"fleetState" type:"string" enum:"FleetStateCode"`
86833
86834	// The number of units fulfilled by this request compared to the set target
86835	// capacity.
86836	FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
86837
86838	// The number of units fulfilled by this request compared to the set target
86839	// On-Demand capacity.
86840	FulfilledOnDemandCapacity *float64 `locationName:"fulfilledOnDemandCapacity" type:"double"`
86841
86842	// Information about the instances that were launched by the fleet. Valid only
86843	// when Type is set to instant.
86844	Instances []*DescribeFleetsInstances `locationName:"fleetInstanceSet" locationNameList:"item" type:"list"`
86845
86846	// The launch template and overrides.
86847	LaunchTemplateConfigs []*FleetLaunchTemplateConfig `locationName:"launchTemplateConfigs" locationNameList:"item" type:"list"`
86848
86849	// The allocation strategy of On-Demand Instances in an EC2 Fleet.
86850	OnDemandOptions *OnDemandOptions `locationName:"onDemandOptions" type:"structure"`
86851
86852	// Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported
86853	// only for fleets of type maintain. For more information, see EC2 Fleet health
86854	// checks (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#ec2-fleet-health-checks)
86855	// in the Amazon EC2 User Guide.
86856	ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"`
86857
86858	// The configuration of Spot Instances in an EC2 Fleet.
86859	SpotOptions *SpotOptions `locationName:"spotOptions" type:"structure"`
86860
86861	// The tags for an EC2 Fleet resource.
86862	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
86863
86864	// The number of units to request. You can choose to set the target capacity
86865	// in terms of instances or a performance characteristic that is important to
86866	// your application workload, such as vCPUs, memory, or I/O. If the request
86867	// type is maintain, you can specify a target capacity of 0 and add capacity
86868	// later.
86869	TargetCapacitySpecification *TargetCapacitySpecification `locationName:"targetCapacitySpecification" type:"structure"`
86870
86871	// Indicates whether running instances should be terminated when the EC2 Fleet
86872	// expires.
86873	TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
86874
86875	// The type of request. Indicates whether the EC2 Fleet only requests the target
86876	// capacity, or also attempts to maintain it. If you request a certain target
86877	// capacity, EC2 Fleet only places the required requests; it does not attempt
86878	// to replenish instances if capacity is diminished, and it does not submit
86879	// requests in alternative capacity pools if capacity is unavailable. To maintain
86880	// a certain target capacity, EC2 Fleet places the required requests to meet
86881	// this target capacity. It also automatically replenishes any interrupted Spot
86882	// Instances. Default: maintain.
86883	Type *string `locationName:"type" type:"string" enum:"FleetType"`
86884
86885	// The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
86886	// The default is to start fulfilling the request immediately.
86887	ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
86888
86889	// The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
86890	// At this point, no new instance requests are placed or able to fulfill the
86891	// request. The default end date is 7 days from the current date.
86892	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
86893}
86894
86895// String returns the string representation
86896func (s FleetData) String() string {
86897	return awsutil.Prettify(s)
86898}
86899
86900// GoString returns the string representation
86901func (s FleetData) GoString() string {
86902	return s.String()
86903}
86904
86905// SetActivityStatus sets the ActivityStatus field's value.
86906func (s *FleetData) SetActivityStatus(v string) *FleetData {
86907	s.ActivityStatus = &v
86908	return s
86909}
86910
86911// SetClientToken sets the ClientToken field's value.
86912func (s *FleetData) SetClientToken(v string) *FleetData {
86913	s.ClientToken = &v
86914	return s
86915}
86916
86917// SetContext sets the Context field's value.
86918func (s *FleetData) SetContext(v string) *FleetData {
86919	s.Context = &v
86920	return s
86921}
86922
86923// SetCreateTime sets the CreateTime field's value.
86924func (s *FleetData) SetCreateTime(v time.Time) *FleetData {
86925	s.CreateTime = &v
86926	return s
86927}
86928
86929// SetErrors sets the Errors field's value.
86930func (s *FleetData) SetErrors(v []*DescribeFleetError) *FleetData {
86931	s.Errors = v
86932	return s
86933}
86934
86935// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
86936func (s *FleetData) SetExcessCapacityTerminationPolicy(v string) *FleetData {
86937	s.ExcessCapacityTerminationPolicy = &v
86938	return s
86939}
86940
86941// SetFleetId sets the FleetId field's value.
86942func (s *FleetData) SetFleetId(v string) *FleetData {
86943	s.FleetId = &v
86944	return s
86945}
86946
86947// SetFleetState sets the FleetState field's value.
86948func (s *FleetData) SetFleetState(v string) *FleetData {
86949	s.FleetState = &v
86950	return s
86951}
86952
86953// SetFulfilledCapacity sets the FulfilledCapacity field's value.
86954func (s *FleetData) SetFulfilledCapacity(v float64) *FleetData {
86955	s.FulfilledCapacity = &v
86956	return s
86957}
86958
86959// SetFulfilledOnDemandCapacity sets the FulfilledOnDemandCapacity field's value.
86960func (s *FleetData) SetFulfilledOnDemandCapacity(v float64) *FleetData {
86961	s.FulfilledOnDemandCapacity = &v
86962	return s
86963}
86964
86965// SetInstances sets the Instances field's value.
86966func (s *FleetData) SetInstances(v []*DescribeFleetsInstances) *FleetData {
86967	s.Instances = v
86968	return s
86969}
86970
86971// SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
86972func (s *FleetData) SetLaunchTemplateConfigs(v []*FleetLaunchTemplateConfig) *FleetData {
86973	s.LaunchTemplateConfigs = v
86974	return s
86975}
86976
86977// SetOnDemandOptions sets the OnDemandOptions field's value.
86978func (s *FleetData) SetOnDemandOptions(v *OnDemandOptions) *FleetData {
86979	s.OnDemandOptions = v
86980	return s
86981}
86982
86983// SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
86984func (s *FleetData) SetReplaceUnhealthyInstances(v bool) *FleetData {
86985	s.ReplaceUnhealthyInstances = &v
86986	return s
86987}
86988
86989// SetSpotOptions sets the SpotOptions field's value.
86990func (s *FleetData) SetSpotOptions(v *SpotOptions) *FleetData {
86991	s.SpotOptions = v
86992	return s
86993}
86994
86995// SetTags sets the Tags field's value.
86996func (s *FleetData) SetTags(v []*Tag) *FleetData {
86997	s.Tags = v
86998	return s
86999}
87000
87001// SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
87002func (s *FleetData) SetTargetCapacitySpecification(v *TargetCapacitySpecification) *FleetData {
87003	s.TargetCapacitySpecification = v
87004	return s
87005}
87006
87007// SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
87008func (s *FleetData) SetTerminateInstancesWithExpiration(v bool) *FleetData {
87009	s.TerminateInstancesWithExpiration = &v
87010	return s
87011}
87012
87013// SetType sets the Type field's value.
87014func (s *FleetData) SetType(v string) *FleetData {
87015	s.Type = &v
87016	return s
87017}
87018
87019// SetValidFrom sets the ValidFrom field's value.
87020func (s *FleetData) SetValidFrom(v time.Time) *FleetData {
87021	s.ValidFrom = &v
87022	return s
87023}
87024
87025// SetValidUntil sets the ValidUntil field's value.
87026func (s *FleetData) SetValidUntil(v time.Time) *FleetData {
87027	s.ValidUntil = &v
87028	return s
87029}
87030
87031// Describes a launch template and overrides.
87032type FleetLaunchTemplateConfig struct {
87033	_ struct{} `type:"structure"`
87034
87035	// The launch template.
87036	LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
87037
87038	// Any parameters that you specify override the same parameters in the launch
87039	// template.
87040	Overrides []*FleetLaunchTemplateOverrides `locationName:"overrides" locationNameList:"item" type:"list"`
87041}
87042
87043// String returns the string representation
87044func (s FleetLaunchTemplateConfig) String() string {
87045	return awsutil.Prettify(s)
87046}
87047
87048// GoString returns the string representation
87049func (s FleetLaunchTemplateConfig) GoString() string {
87050	return s.String()
87051}
87052
87053// SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
87054func (s *FleetLaunchTemplateConfig) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *FleetLaunchTemplateConfig {
87055	s.LaunchTemplateSpecification = v
87056	return s
87057}
87058
87059// SetOverrides sets the Overrides field's value.
87060func (s *FleetLaunchTemplateConfig) SetOverrides(v []*FleetLaunchTemplateOverrides) *FleetLaunchTemplateConfig {
87061	s.Overrides = v
87062	return s
87063}
87064
87065// Describes a launch template and overrides.
87066type FleetLaunchTemplateConfigRequest struct {
87067	_ struct{} `type:"structure"`
87068
87069	// The launch template to use. You must specify either the launch template ID
87070	// or launch template name in the request.
87071	LaunchTemplateSpecification *FleetLaunchTemplateSpecificationRequest `type:"structure"`
87072
87073	// Any parameters that you specify override the same parameters in the launch
87074	// template.
87075	//
87076	// For fleets of type request and maintain, a maximum of 300 items is allowed
87077	// across all launch templates.
87078	Overrides []*FleetLaunchTemplateOverridesRequest `locationNameList:"item" type:"list"`
87079}
87080
87081// String returns the string representation
87082func (s FleetLaunchTemplateConfigRequest) String() string {
87083	return awsutil.Prettify(s)
87084}
87085
87086// GoString returns the string representation
87087func (s FleetLaunchTemplateConfigRequest) GoString() string {
87088	return s.String()
87089}
87090
87091// Validate inspects the fields of the type to determine if they are valid.
87092func (s *FleetLaunchTemplateConfigRequest) Validate() error {
87093	invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateConfigRequest"}
87094	if s.LaunchTemplateSpecification != nil {
87095		if err := s.LaunchTemplateSpecification.Validate(); err != nil {
87096			invalidParams.AddNested("LaunchTemplateSpecification", err.(request.ErrInvalidParams))
87097		}
87098	}
87099
87100	if invalidParams.Len() > 0 {
87101		return invalidParams
87102	}
87103	return nil
87104}
87105
87106// SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
87107func (s *FleetLaunchTemplateConfigRequest) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecificationRequest) *FleetLaunchTemplateConfigRequest {
87108	s.LaunchTemplateSpecification = v
87109	return s
87110}
87111
87112// SetOverrides sets the Overrides field's value.
87113func (s *FleetLaunchTemplateConfigRequest) SetOverrides(v []*FleetLaunchTemplateOverridesRequest) *FleetLaunchTemplateConfigRequest {
87114	s.Overrides = v
87115	return s
87116}
87117
87118// Describes overrides for a launch template.
87119type FleetLaunchTemplateOverrides struct {
87120	_ struct{} `type:"structure"`
87121
87122	// The Availability Zone in which to launch the instances.
87123	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
87124
87125	// The instance type.
87126	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
87127
87128	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
87129	MaxPrice *string `locationName:"maxPrice" type:"string"`
87130
87131	// The location where the instance launched, if applicable.
87132	Placement *PlacementResponse `locationName:"placement" type:"structure"`
87133
87134	// The priority for the launch template override. The highest priority is launched
87135	// first.
87136	//
87137	// If the On-Demand AllocationStrategy is set to prioritized, EC2 Fleet uses
87138	// priority to determine which launch template override to use first in fulfilling
87139	// On-Demand capacity.
87140	//
87141	// If the Spot AllocationStrategy is set to capacity-optimized-prioritized,
87142	// EC2 Fleet uses priority on a best-effort basis to determine which launch
87143	// template override to use in fulfilling Spot capacity, but optimizes for capacity
87144	// first.
87145	//
87146	// Valid values are whole numbers starting at 0. The lower the number, the higher
87147	// the priority. If no number is set, the override has the lowest priority.
87148	// You can set the same priority for different launch template overrides.
87149	Priority *float64 `locationName:"priority" type:"double"`
87150
87151	// The ID of the subnet in which to launch the instances.
87152	SubnetId *string `locationName:"subnetId" type:"string"`
87153
87154	// The number of units provided by the specified instance type.
87155	WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
87156}
87157
87158// String returns the string representation
87159func (s FleetLaunchTemplateOverrides) String() string {
87160	return awsutil.Prettify(s)
87161}
87162
87163// GoString returns the string representation
87164func (s FleetLaunchTemplateOverrides) GoString() string {
87165	return s.String()
87166}
87167
87168// SetAvailabilityZone sets the AvailabilityZone field's value.
87169func (s *FleetLaunchTemplateOverrides) SetAvailabilityZone(v string) *FleetLaunchTemplateOverrides {
87170	s.AvailabilityZone = &v
87171	return s
87172}
87173
87174// SetInstanceType sets the InstanceType field's value.
87175func (s *FleetLaunchTemplateOverrides) SetInstanceType(v string) *FleetLaunchTemplateOverrides {
87176	s.InstanceType = &v
87177	return s
87178}
87179
87180// SetMaxPrice sets the MaxPrice field's value.
87181func (s *FleetLaunchTemplateOverrides) SetMaxPrice(v string) *FleetLaunchTemplateOverrides {
87182	s.MaxPrice = &v
87183	return s
87184}
87185
87186// SetPlacement sets the Placement field's value.
87187func (s *FleetLaunchTemplateOverrides) SetPlacement(v *PlacementResponse) *FleetLaunchTemplateOverrides {
87188	s.Placement = v
87189	return s
87190}
87191
87192// SetPriority sets the Priority field's value.
87193func (s *FleetLaunchTemplateOverrides) SetPriority(v float64) *FleetLaunchTemplateOverrides {
87194	s.Priority = &v
87195	return s
87196}
87197
87198// SetSubnetId sets the SubnetId field's value.
87199func (s *FleetLaunchTemplateOverrides) SetSubnetId(v string) *FleetLaunchTemplateOverrides {
87200	s.SubnetId = &v
87201	return s
87202}
87203
87204// SetWeightedCapacity sets the WeightedCapacity field's value.
87205func (s *FleetLaunchTemplateOverrides) SetWeightedCapacity(v float64) *FleetLaunchTemplateOverrides {
87206	s.WeightedCapacity = &v
87207	return s
87208}
87209
87210// Describes overrides for a launch template.
87211type FleetLaunchTemplateOverridesRequest struct {
87212	_ struct{} `type:"structure"`
87213
87214	// The Availability Zone in which to launch the instances.
87215	AvailabilityZone *string `type:"string"`
87216
87217	// The instance type.
87218	InstanceType *string `type:"string" enum:"InstanceType"`
87219
87220	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
87221	MaxPrice *string `type:"string"`
87222
87223	// The location where the instance launched, if applicable.
87224	Placement *Placement `type:"structure"`
87225
87226	// The priority for the launch template override. The highest priority is launched
87227	// first.
87228	//
87229	// If the On-Demand AllocationStrategy is set to prioritized, EC2 Fleet uses
87230	// priority to determine which launch template override to use first in fulfilling
87231	// On-Demand capacity.
87232	//
87233	// If the Spot AllocationStrategy is set to capacity-optimized-prioritized,
87234	// EC2 Fleet uses priority on a best-effort basis to determine which launch
87235	// template override to use in fulfilling Spot capacity, but optimizes for capacity
87236	// first.
87237	//
87238	// Valid values are whole numbers starting at 0. The lower the number, the higher
87239	// the priority. If no number is set, the launch template override has the lowest
87240	// priority. You can set the same priority for different launch template overrides.
87241	Priority *float64 `type:"double"`
87242
87243	// The IDs of the subnets in which to launch the instances. Separate multiple
87244	// subnet IDs using commas (for example, subnet-1234abcdeexample1, subnet-0987cdef6example2).
87245	// A request of type instant can have only one subnet ID.
87246	SubnetId *string `type:"string"`
87247
87248	// The number of units provided by the specified instance type.
87249	WeightedCapacity *float64 `type:"double"`
87250}
87251
87252// String returns the string representation
87253func (s FleetLaunchTemplateOverridesRequest) String() string {
87254	return awsutil.Prettify(s)
87255}
87256
87257// GoString returns the string representation
87258func (s FleetLaunchTemplateOverridesRequest) GoString() string {
87259	return s.String()
87260}
87261
87262// SetAvailabilityZone sets the AvailabilityZone field's value.
87263func (s *FleetLaunchTemplateOverridesRequest) SetAvailabilityZone(v string) *FleetLaunchTemplateOverridesRequest {
87264	s.AvailabilityZone = &v
87265	return s
87266}
87267
87268// SetInstanceType sets the InstanceType field's value.
87269func (s *FleetLaunchTemplateOverridesRequest) SetInstanceType(v string) *FleetLaunchTemplateOverridesRequest {
87270	s.InstanceType = &v
87271	return s
87272}
87273
87274// SetMaxPrice sets the MaxPrice field's value.
87275func (s *FleetLaunchTemplateOverridesRequest) SetMaxPrice(v string) *FleetLaunchTemplateOverridesRequest {
87276	s.MaxPrice = &v
87277	return s
87278}
87279
87280// SetPlacement sets the Placement field's value.
87281func (s *FleetLaunchTemplateOverridesRequest) SetPlacement(v *Placement) *FleetLaunchTemplateOverridesRequest {
87282	s.Placement = v
87283	return s
87284}
87285
87286// SetPriority sets the Priority field's value.
87287func (s *FleetLaunchTemplateOverridesRequest) SetPriority(v float64) *FleetLaunchTemplateOverridesRequest {
87288	s.Priority = &v
87289	return s
87290}
87291
87292// SetSubnetId sets the SubnetId field's value.
87293func (s *FleetLaunchTemplateOverridesRequest) SetSubnetId(v string) *FleetLaunchTemplateOverridesRequest {
87294	s.SubnetId = &v
87295	return s
87296}
87297
87298// SetWeightedCapacity sets the WeightedCapacity field's value.
87299func (s *FleetLaunchTemplateOverridesRequest) SetWeightedCapacity(v float64) *FleetLaunchTemplateOverridesRequest {
87300	s.WeightedCapacity = &v
87301	return s
87302}
87303
87304// Describes the Amazon EC2 launch template and the launch template version
87305// that can be used by a Spot Fleet request to configure Amazon EC2 instances.
87306// For information about launch templates, see Launching an instance from a
87307// launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html)
87308// in the Amazon EC2 User Guide for Linux Instances.
87309type FleetLaunchTemplateSpecification struct {
87310	_ struct{} `type:"structure"`
87311
87312	// The ID of the launch template. If you specify the template ID, you can't
87313	// specify the template name.
87314	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
87315
87316	// The name of the launch template. If you specify the template name, you can't
87317	// specify the template ID.
87318	LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
87319
87320	// The launch template version number, $Latest, or $Default. You must specify
87321	// a value, otherwise the request fails.
87322	//
87323	// If the value is $Latest, Amazon EC2 uses the latest version of the launch
87324	// template.
87325	//
87326	// If the value is $Default, Amazon EC2 uses the default version of the launch
87327	// template.
87328	Version *string `locationName:"version" type:"string"`
87329}
87330
87331// String returns the string representation
87332func (s FleetLaunchTemplateSpecification) String() string {
87333	return awsutil.Prettify(s)
87334}
87335
87336// GoString returns the string representation
87337func (s FleetLaunchTemplateSpecification) GoString() string {
87338	return s.String()
87339}
87340
87341// Validate inspects the fields of the type to determine if they are valid.
87342func (s *FleetLaunchTemplateSpecification) Validate() error {
87343	invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateSpecification"}
87344	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
87345		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
87346	}
87347
87348	if invalidParams.Len() > 0 {
87349		return invalidParams
87350	}
87351	return nil
87352}
87353
87354// SetLaunchTemplateId sets the LaunchTemplateId field's value.
87355func (s *FleetLaunchTemplateSpecification) SetLaunchTemplateId(v string) *FleetLaunchTemplateSpecification {
87356	s.LaunchTemplateId = &v
87357	return s
87358}
87359
87360// SetLaunchTemplateName sets the LaunchTemplateName field's value.
87361func (s *FleetLaunchTemplateSpecification) SetLaunchTemplateName(v string) *FleetLaunchTemplateSpecification {
87362	s.LaunchTemplateName = &v
87363	return s
87364}
87365
87366// SetVersion sets the Version field's value.
87367func (s *FleetLaunchTemplateSpecification) SetVersion(v string) *FleetLaunchTemplateSpecification {
87368	s.Version = &v
87369	return s
87370}
87371
87372// Describes the Amazon EC2 launch template and the launch template version
87373// that can be used by an EC2 Fleet to configure Amazon EC2 instances. For information
87374// about launch templates, see Launching an instance from a launch template
87375// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html)
87376// in the Amazon EC2 User Guide.
87377type FleetLaunchTemplateSpecificationRequest struct {
87378	_ struct{} `type:"structure"`
87379
87380	// The ID of the launch template. If you specify the template ID, you can't
87381	// specify the template name.
87382	LaunchTemplateId *string `type:"string"`
87383
87384	// The name of the launch template. If you specify the template name, you can't
87385	// specify the template ID.
87386	LaunchTemplateName *string `min:"3" type:"string"`
87387
87388	// The launch template version number, $Latest, or $Default. You must specify
87389	// a value, otherwise the request fails.
87390	//
87391	// If the value is $Latest, Amazon EC2 uses the latest version of the launch
87392	// template.
87393	//
87394	// If the value is $Default, Amazon EC2 uses the default version of the launch
87395	// template.
87396	Version *string `type:"string"`
87397}
87398
87399// String returns the string representation
87400func (s FleetLaunchTemplateSpecificationRequest) String() string {
87401	return awsutil.Prettify(s)
87402}
87403
87404// GoString returns the string representation
87405func (s FleetLaunchTemplateSpecificationRequest) GoString() string {
87406	return s.String()
87407}
87408
87409// Validate inspects the fields of the type to determine if they are valid.
87410func (s *FleetLaunchTemplateSpecificationRequest) Validate() error {
87411	invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateSpecificationRequest"}
87412	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
87413		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
87414	}
87415
87416	if invalidParams.Len() > 0 {
87417		return invalidParams
87418	}
87419	return nil
87420}
87421
87422// SetLaunchTemplateId sets the LaunchTemplateId field's value.
87423func (s *FleetLaunchTemplateSpecificationRequest) SetLaunchTemplateId(v string) *FleetLaunchTemplateSpecificationRequest {
87424	s.LaunchTemplateId = &v
87425	return s
87426}
87427
87428// SetLaunchTemplateName sets the LaunchTemplateName field's value.
87429func (s *FleetLaunchTemplateSpecificationRequest) SetLaunchTemplateName(v string) *FleetLaunchTemplateSpecificationRequest {
87430	s.LaunchTemplateName = &v
87431	return s
87432}
87433
87434// SetVersion sets the Version field's value.
87435func (s *FleetLaunchTemplateSpecificationRequest) SetVersion(v string) *FleetLaunchTemplateSpecificationRequest {
87436	s.Version = &v
87437	return s
87438}
87439
87440// The strategy to use when Amazon EC2 emits a signal that your Spot Instance
87441// is at an elevated risk of being interrupted.
87442type FleetSpotCapacityRebalance struct {
87443	_ struct{} `type:"structure"`
87444
87445	// To allow EC2 Fleet to launch a replacement Spot Instance when an instance
87446	// rebalance notification is emitted for an existing Spot Instance in the fleet,
87447	// specify launch. Only available for fleets of type maintain.
87448	//
87449	// When a replacement instance is launched, the instance marked for rebalance
87450	// is not automatically terminated. You can terminate it, or you can leave it
87451	// running. You are charged for both instances while they are running.
87452	ReplacementStrategy *string `locationName:"replacementStrategy" type:"string" enum:"FleetReplacementStrategy"`
87453}
87454
87455// String returns the string representation
87456func (s FleetSpotCapacityRebalance) String() string {
87457	return awsutil.Prettify(s)
87458}
87459
87460// GoString returns the string representation
87461func (s FleetSpotCapacityRebalance) GoString() string {
87462	return s.String()
87463}
87464
87465// SetReplacementStrategy sets the ReplacementStrategy field's value.
87466func (s *FleetSpotCapacityRebalance) SetReplacementStrategy(v string) *FleetSpotCapacityRebalance {
87467	s.ReplacementStrategy = &v
87468	return s
87469}
87470
87471// The Spot Instance replacement strategy to use when Amazon EC2 emits a signal
87472// that your Spot Instance is at an elevated risk of being interrupted. For
87473// more information, see Capacity rebalancing (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#ec2-fleet-capacity-rebalance)
87474// in the Amazon EC2 User Guide.
87475type FleetSpotCapacityRebalanceRequest struct {
87476	_ struct{} `type:"structure"`
87477
87478	// The replacement strategy to use. Only available for fleets of type maintain.
87479	//
87480	// To allow EC2 Fleet to launch a replacement Spot Instance when an instance
87481	// rebalance notification is emitted for an existing Spot Instance in the fleet,
87482	// specify launch. You must specify a value, otherwise you get an error.
87483	//
87484	// When a replacement instance is launched, the instance marked for rebalance
87485	// is not automatically terminated. You can terminate it, or you can leave it
87486	// running. You are charged for all instances while they are running.
87487	ReplacementStrategy *string `type:"string" enum:"FleetReplacementStrategy"`
87488}
87489
87490// String returns the string representation
87491func (s FleetSpotCapacityRebalanceRequest) String() string {
87492	return awsutil.Prettify(s)
87493}
87494
87495// GoString returns the string representation
87496func (s FleetSpotCapacityRebalanceRequest) GoString() string {
87497	return s.String()
87498}
87499
87500// SetReplacementStrategy sets the ReplacementStrategy field's value.
87501func (s *FleetSpotCapacityRebalanceRequest) SetReplacementStrategy(v string) *FleetSpotCapacityRebalanceRequest {
87502	s.ReplacementStrategy = &v
87503	return s
87504}
87505
87506// The strategies for managing your Spot Instances that are at an elevated risk
87507// of being interrupted.
87508type FleetSpotMaintenanceStrategies struct {
87509	_ struct{} `type:"structure"`
87510
87511	// The strategy to use when Amazon EC2 emits a signal that your Spot Instance
87512	// is at an elevated risk of being interrupted.
87513	CapacityRebalance *FleetSpotCapacityRebalance `locationName:"capacityRebalance" type:"structure"`
87514}
87515
87516// String returns the string representation
87517func (s FleetSpotMaintenanceStrategies) String() string {
87518	return awsutil.Prettify(s)
87519}
87520
87521// GoString returns the string representation
87522func (s FleetSpotMaintenanceStrategies) GoString() string {
87523	return s.String()
87524}
87525
87526// SetCapacityRebalance sets the CapacityRebalance field's value.
87527func (s *FleetSpotMaintenanceStrategies) SetCapacityRebalance(v *FleetSpotCapacityRebalance) *FleetSpotMaintenanceStrategies {
87528	s.CapacityRebalance = v
87529	return s
87530}
87531
87532// The strategies for managing your Spot Instances that are at an elevated risk
87533// of being interrupted.
87534type FleetSpotMaintenanceStrategiesRequest struct {
87535	_ struct{} `type:"structure"`
87536
87537	// The strategy to use when Amazon EC2 emits a signal that your Spot Instance
87538	// is at an elevated risk of being interrupted.
87539	CapacityRebalance *FleetSpotCapacityRebalanceRequest `type:"structure"`
87540}
87541
87542// String returns the string representation
87543func (s FleetSpotMaintenanceStrategiesRequest) String() string {
87544	return awsutil.Prettify(s)
87545}
87546
87547// GoString returns the string representation
87548func (s FleetSpotMaintenanceStrategiesRequest) GoString() string {
87549	return s.String()
87550}
87551
87552// SetCapacityRebalance sets the CapacityRebalance field's value.
87553func (s *FleetSpotMaintenanceStrategiesRequest) SetCapacityRebalance(v *FleetSpotCapacityRebalanceRequest) *FleetSpotMaintenanceStrategiesRequest {
87554	s.CapacityRebalance = v
87555	return s
87556}
87557
87558// Describes a flow log.
87559type FlowLog struct {
87560	_ struct{} `type:"structure"`
87561
87562	// The date and time the flow log was created.
87563	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
87564
87565	// Information about the error that occurred. Rate limited indicates that CloudWatch
87566	// Logs throttling has been applied for one or more network interfaces, or that
87567	// you've reached the limit on the number of log groups that you can create.
87568	// Access error indicates that the IAM role associated with the flow log does
87569	// not have sufficient permissions to publish to CloudWatch Logs. Unknown error
87570	// indicates an internal error.
87571	DeliverLogsErrorMessage *string `locationName:"deliverLogsErrorMessage" type:"string"`
87572
87573	// The ARN of the IAM role that posts logs to CloudWatch Logs.
87574	DeliverLogsPermissionArn *string `locationName:"deliverLogsPermissionArn" type:"string"`
87575
87576	// The status of the logs delivery (SUCCESS | FAILED).
87577	DeliverLogsStatus *string `locationName:"deliverLogsStatus" type:"string"`
87578
87579	// The flow log ID.
87580	FlowLogId *string `locationName:"flowLogId" type:"string"`
87581
87582	// The status of the flow log (ACTIVE).
87583	FlowLogStatus *string `locationName:"flowLogStatus" type:"string"`
87584
87585	// Specifies the destination to which the flow log data is published. Flow log
87586	// data can be published to an CloudWatch Logs log group or an Amazon S3 bucket.
87587	// If the flow log publishes to CloudWatch Logs, this element indicates the
87588	// Amazon Resource Name (ARN) of the CloudWatch Logs log group to which the
87589	// data is published. If the flow log publishes to Amazon S3, this element indicates
87590	// the ARN of the Amazon S3 bucket to which the data is published.
87591	LogDestination *string `locationName:"logDestination" type:"string"`
87592
87593	// Specifies the type of destination to which the flow log data is published.
87594	// Flow log data can be published to CloudWatch Logs or Amazon S3.
87595	LogDestinationType *string `locationName:"logDestinationType" type:"string" enum:"LogDestinationType"`
87596
87597	// The format of the flow log record.
87598	LogFormat *string `locationName:"logFormat" type:"string"`
87599
87600	// The name of the flow log group.
87601	LogGroupName *string `locationName:"logGroupName" type:"string"`
87602
87603	// The maximum interval of time, in seconds, during which a flow of packets
87604	// is captured and aggregated into a flow log record.
87605	//
87606	// 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),
87607	// the aggregation interval is always 60 seconds (1 minute) or less, regardless
87608	// of the specified value.
87609	//
87610	// Valid Values: 60 | 600
87611	MaxAggregationInterval *int64 `locationName:"maxAggregationInterval" type:"integer"`
87612
87613	// The ID of the resource on which the flow log was created.
87614	ResourceId *string `locationName:"resourceId" type:"string"`
87615
87616	// The tags for the flow log.
87617	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
87618
87619	// The type of traffic captured for the flow log.
87620	TrafficType *string `locationName:"trafficType" type:"string" enum:"TrafficType"`
87621}
87622
87623// String returns the string representation
87624func (s FlowLog) String() string {
87625	return awsutil.Prettify(s)
87626}
87627
87628// GoString returns the string representation
87629func (s FlowLog) GoString() string {
87630	return s.String()
87631}
87632
87633// SetCreationTime sets the CreationTime field's value.
87634func (s *FlowLog) SetCreationTime(v time.Time) *FlowLog {
87635	s.CreationTime = &v
87636	return s
87637}
87638
87639// SetDeliverLogsErrorMessage sets the DeliverLogsErrorMessage field's value.
87640func (s *FlowLog) SetDeliverLogsErrorMessage(v string) *FlowLog {
87641	s.DeliverLogsErrorMessage = &v
87642	return s
87643}
87644
87645// SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
87646func (s *FlowLog) SetDeliverLogsPermissionArn(v string) *FlowLog {
87647	s.DeliverLogsPermissionArn = &v
87648	return s
87649}
87650
87651// SetDeliverLogsStatus sets the DeliverLogsStatus field's value.
87652func (s *FlowLog) SetDeliverLogsStatus(v string) *FlowLog {
87653	s.DeliverLogsStatus = &v
87654	return s
87655}
87656
87657// SetFlowLogId sets the FlowLogId field's value.
87658func (s *FlowLog) SetFlowLogId(v string) *FlowLog {
87659	s.FlowLogId = &v
87660	return s
87661}
87662
87663// SetFlowLogStatus sets the FlowLogStatus field's value.
87664func (s *FlowLog) SetFlowLogStatus(v string) *FlowLog {
87665	s.FlowLogStatus = &v
87666	return s
87667}
87668
87669// SetLogDestination sets the LogDestination field's value.
87670func (s *FlowLog) SetLogDestination(v string) *FlowLog {
87671	s.LogDestination = &v
87672	return s
87673}
87674
87675// SetLogDestinationType sets the LogDestinationType field's value.
87676func (s *FlowLog) SetLogDestinationType(v string) *FlowLog {
87677	s.LogDestinationType = &v
87678	return s
87679}
87680
87681// SetLogFormat sets the LogFormat field's value.
87682func (s *FlowLog) SetLogFormat(v string) *FlowLog {
87683	s.LogFormat = &v
87684	return s
87685}
87686
87687// SetLogGroupName sets the LogGroupName field's value.
87688func (s *FlowLog) SetLogGroupName(v string) *FlowLog {
87689	s.LogGroupName = &v
87690	return s
87691}
87692
87693// SetMaxAggregationInterval sets the MaxAggregationInterval field's value.
87694func (s *FlowLog) SetMaxAggregationInterval(v int64) *FlowLog {
87695	s.MaxAggregationInterval = &v
87696	return s
87697}
87698
87699// SetResourceId sets the ResourceId field's value.
87700func (s *FlowLog) SetResourceId(v string) *FlowLog {
87701	s.ResourceId = &v
87702	return s
87703}
87704
87705// SetTags sets the Tags field's value.
87706func (s *FlowLog) SetTags(v []*Tag) *FlowLog {
87707	s.Tags = v
87708	return s
87709}
87710
87711// SetTrafficType sets the TrafficType field's value.
87712func (s *FlowLog) SetTrafficType(v string) *FlowLog {
87713	s.TrafficType = &v
87714	return s
87715}
87716
87717// Describes the FPGA accelerator for the instance type.
87718type FpgaDeviceInfo struct {
87719	_ struct{} `type:"structure"`
87720
87721	// The count of FPGA accelerators for the instance type.
87722	Count *int64 `locationName:"count" type:"integer"`
87723
87724	// The manufacturer of the FPGA accelerator.
87725	Manufacturer *string `locationName:"manufacturer" type:"string"`
87726
87727	// Describes the memory for the FPGA accelerator for the instance type.
87728	MemoryInfo *FpgaDeviceMemoryInfo `locationName:"memoryInfo" type:"structure"`
87729
87730	// The name of the FPGA accelerator.
87731	Name *string `locationName:"name" type:"string"`
87732}
87733
87734// String returns the string representation
87735func (s FpgaDeviceInfo) String() string {
87736	return awsutil.Prettify(s)
87737}
87738
87739// GoString returns the string representation
87740func (s FpgaDeviceInfo) GoString() string {
87741	return s.String()
87742}
87743
87744// SetCount sets the Count field's value.
87745func (s *FpgaDeviceInfo) SetCount(v int64) *FpgaDeviceInfo {
87746	s.Count = &v
87747	return s
87748}
87749
87750// SetManufacturer sets the Manufacturer field's value.
87751func (s *FpgaDeviceInfo) SetManufacturer(v string) *FpgaDeviceInfo {
87752	s.Manufacturer = &v
87753	return s
87754}
87755
87756// SetMemoryInfo sets the MemoryInfo field's value.
87757func (s *FpgaDeviceInfo) SetMemoryInfo(v *FpgaDeviceMemoryInfo) *FpgaDeviceInfo {
87758	s.MemoryInfo = v
87759	return s
87760}
87761
87762// SetName sets the Name field's value.
87763func (s *FpgaDeviceInfo) SetName(v string) *FpgaDeviceInfo {
87764	s.Name = &v
87765	return s
87766}
87767
87768// Describes the memory for the FPGA accelerator for the instance type.
87769type FpgaDeviceMemoryInfo struct {
87770	_ struct{} `type:"structure"`
87771
87772	// The size of the memory available to the FPGA accelerator, in MiB.
87773	SizeInMiB *int64 `locationName:"sizeInMiB" type:"integer"`
87774}
87775
87776// String returns the string representation
87777func (s FpgaDeviceMemoryInfo) String() string {
87778	return awsutil.Prettify(s)
87779}
87780
87781// GoString returns the string representation
87782func (s FpgaDeviceMemoryInfo) GoString() string {
87783	return s.String()
87784}
87785
87786// SetSizeInMiB sets the SizeInMiB field's value.
87787func (s *FpgaDeviceMemoryInfo) SetSizeInMiB(v int64) *FpgaDeviceMemoryInfo {
87788	s.SizeInMiB = &v
87789	return s
87790}
87791
87792// Describes an Amazon FPGA image (AFI).
87793type FpgaImage struct {
87794	_ struct{} `type:"structure"`
87795
87796	// The date and time the AFI was created.
87797	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
87798
87799	// Indicates whether data retention support is enabled for the AFI.
87800	DataRetentionSupport *bool `locationName:"dataRetentionSupport" type:"boolean"`
87801
87802	// The description of the AFI.
87803	Description *string `locationName:"description" type:"string"`
87804
87805	// The global FPGA image identifier (AGFI ID).
87806	FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
87807
87808	// The FPGA image identifier (AFI ID).
87809	FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
87810
87811	// The name of the AFI.
87812	Name *string `locationName:"name" type:"string"`
87813
87814	// The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.
87815	OwnerAlias *string `locationName:"ownerAlias" type:"string"`
87816
87817	// The AWS account ID of the AFI owner.
87818	OwnerId *string `locationName:"ownerId" type:"string"`
87819
87820	// Information about the PCI bus.
87821	PciId *PciId `locationName:"pciId" type:"structure"`
87822
87823	// The product codes for the AFI.
87824	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
87825
87826	// Indicates whether the AFI is public.
87827	Public *bool `locationName:"public" type:"boolean"`
87828
87829	// The version of the AWS Shell that was used to create the bitstream.
87830	ShellVersion *string `locationName:"shellVersion" type:"string"`
87831
87832	// Information about the state of the AFI.
87833	State *FpgaImageState `locationName:"state" type:"structure"`
87834
87835	// Any tags assigned to the AFI.
87836	Tags []*Tag `locationName:"tags" locationNameList:"item" type:"list"`
87837
87838	// The time of the most recent update to the AFI.
87839	UpdateTime *time.Time `locationName:"updateTime" type:"timestamp"`
87840}
87841
87842// String returns the string representation
87843func (s FpgaImage) String() string {
87844	return awsutil.Prettify(s)
87845}
87846
87847// GoString returns the string representation
87848func (s FpgaImage) GoString() string {
87849	return s.String()
87850}
87851
87852// SetCreateTime sets the CreateTime field's value.
87853func (s *FpgaImage) SetCreateTime(v time.Time) *FpgaImage {
87854	s.CreateTime = &v
87855	return s
87856}
87857
87858// SetDataRetentionSupport sets the DataRetentionSupport field's value.
87859func (s *FpgaImage) SetDataRetentionSupport(v bool) *FpgaImage {
87860	s.DataRetentionSupport = &v
87861	return s
87862}
87863
87864// SetDescription sets the Description field's value.
87865func (s *FpgaImage) SetDescription(v string) *FpgaImage {
87866	s.Description = &v
87867	return s
87868}
87869
87870// SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
87871func (s *FpgaImage) SetFpgaImageGlobalId(v string) *FpgaImage {
87872	s.FpgaImageGlobalId = &v
87873	return s
87874}
87875
87876// SetFpgaImageId sets the FpgaImageId field's value.
87877func (s *FpgaImage) SetFpgaImageId(v string) *FpgaImage {
87878	s.FpgaImageId = &v
87879	return s
87880}
87881
87882// SetName sets the Name field's value.
87883func (s *FpgaImage) SetName(v string) *FpgaImage {
87884	s.Name = &v
87885	return s
87886}
87887
87888// SetOwnerAlias sets the OwnerAlias field's value.
87889func (s *FpgaImage) SetOwnerAlias(v string) *FpgaImage {
87890	s.OwnerAlias = &v
87891	return s
87892}
87893
87894// SetOwnerId sets the OwnerId field's value.
87895func (s *FpgaImage) SetOwnerId(v string) *FpgaImage {
87896	s.OwnerId = &v
87897	return s
87898}
87899
87900// SetPciId sets the PciId field's value.
87901func (s *FpgaImage) SetPciId(v *PciId) *FpgaImage {
87902	s.PciId = v
87903	return s
87904}
87905
87906// SetProductCodes sets the ProductCodes field's value.
87907func (s *FpgaImage) SetProductCodes(v []*ProductCode) *FpgaImage {
87908	s.ProductCodes = v
87909	return s
87910}
87911
87912// SetPublic sets the Public field's value.
87913func (s *FpgaImage) SetPublic(v bool) *FpgaImage {
87914	s.Public = &v
87915	return s
87916}
87917
87918// SetShellVersion sets the ShellVersion field's value.
87919func (s *FpgaImage) SetShellVersion(v string) *FpgaImage {
87920	s.ShellVersion = &v
87921	return s
87922}
87923
87924// SetState sets the State field's value.
87925func (s *FpgaImage) SetState(v *FpgaImageState) *FpgaImage {
87926	s.State = v
87927	return s
87928}
87929
87930// SetTags sets the Tags field's value.
87931func (s *FpgaImage) SetTags(v []*Tag) *FpgaImage {
87932	s.Tags = v
87933	return s
87934}
87935
87936// SetUpdateTime sets the UpdateTime field's value.
87937func (s *FpgaImage) SetUpdateTime(v time.Time) *FpgaImage {
87938	s.UpdateTime = &v
87939	return s
87940}
87941
87942// Describes an Amazon FPGA image (AFI) attribute.
87943type FpgaImageAttribute struct {
87944	_ struct{} `type:"structure"`
87945
87946	// The description of the AFI.
87947	Description *string `locationName:"description" type:"string"`
87948
87949	// The ID of the AFI.
87950	FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
87951
87952	// The load permissions.
87953	LoadPermissions []*LoadPermission `locationName:"loadPermissions" locationNameList:"item" type:"list"`
87954
87955	// The name of the AFI.
87956	Name *string `locationName:"name" type:"string"`
87957
87958	// The product codes.
87959	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
87960}
87961
87962// String returns the string representation
87963func (s FpgaImageAttribute) String() string {
87964	return awsutil.Prettify(s)
87965}
87966
87967// GoString returns the string representation
87968func (s FpgaImageAttribute) GoString() string {
87969	return s.String()
87970}
87971
87972// SetDescription sets the Description field's value.
87973func (s *FpgaImageAttribute) SetDescription(v string) *FpgaImageAttribute {
87974	s.Description = &v
87975	return s
87976}
87977
87978// SetFpgaImageId sets the FpgaImageId field's value.
87979func (s *FpgaImageAttribute) SetFpgaImageId(v string) *FpgaImageAttribute {
87980	s.FpgaImageId = &v
87981	return s
87982}
87983
87984// SetLoadPermissions sets the LoadPermissions field's value.
87985func (s *FpgaImageAttribute) SetLoadPermissions(v []*LoadPermission) *FpgaImageAttribute {
87986	s.LoadPermissions = v
87987	return s
87988}
87989
87990// SetName sets the Name field's value.
87991func (s *FpgaImageAttribute) SetName(v string) *FpgaImageAttribute {
87992	s.Name = &v
87993	return s
87994}
87995
87996// SetProductCodes sets the ProductCodes field's value.
87997func (s *FpgaImageAttribute) SetProductCodes(v []*ProductCode) *FpgaImageAttribute {
87998	s.ProductCodes = v
87999	return s
88000}
88001
88002// Describes the state of the bitstream generation process for an Amazon FPGA
88003// image (AFI).
88004type FpgaImageState struct {
88005	_ struct{} `type:"structure"`
88006
88007	// The state. The following are the possible values:
88008	//
88009	//    * pending - AFI bitstream generation is in progress.
88010	//
88011	//    * available - The AFI is available for use.
88012	//
88013	//    * failed - AFI bitstream generation failed.
88014	//
88015	//    * unavailable - The AFI is no longer available for use.
88016	Code *string `locationName:"code" type:"string" enum:"FpgaImageStateCode"`
88017
88018	// If the state is failed, this is the error message.
88019	Message *string `locationName:"message" type:"string"`
88020}
88021
88022// String returns the string representation
88023func (s FpgaImageState) String() string {
88024	return awsutil.Prettify(s)
88025}
88026
88027// GoString returns the string representation
88028func (s FpgaImageState) GoString() string {
88029	return s.String()
88030}
88031
88032// SetCode sets the Code field's value.
88033func (s *FpgaImageState) SetCode(v string) *FpgaImageState {
88034	s.Code = &v
88035	return s
88036}
88037
88038// SetMessage sets the Message field's value.
88039func (s *FpgaImageState) SetMessage(v string) *FpgaImageState {
88040	s.Message = &v
88041	return s
88042}
88043
88044// Describes the FPGAs for the instance type.
88045type FpgaInfo struct {
88046	_ struct{} `type:"structure"`
88047
88048	// Describes the FPGAs for the instance type.
88049	Fpgas []*FpgaDeviceInfo `locationName:"fpgas" locationNameList:"item" type:"list"`
88050
88051	// The total memory of all FPGA accelerators for the instance type.
88052	TotalFpgaMemoryInMiB *int64 `locationName:"totalFpgaMemoryInMiB" type:"integer"`
88053}
88054
88055// String returns the string representation
88056func (s FpgaInfo) String() string {
88057	return awsutil.Prettify(s)
88058}
88059
88060// GoString returns the string representation
88061func (s FpgaInfo) GoString() string {
88062	return s.String()
88063}
88064
88065// SetFpgas sets the Fpgas field's value.
88066func (s *FpgaInfo) SetFpgas(v []*FpgaDeviceInfo) *FpgaInfo {
88067	s.Fpgas = v
88068	return s
88069}
88070
88071// SetTotalFpgaMemoryInMiB sets the TotalFpgaMemoryInMiB field's value.
88072func (s *FpgaInfo) SetTotalFpgaMemoryInMiB(v int64) *FpgaInfo {
88073	s.TotalFpgaMemoryInMiB = &v
88074	return s
88075}
88076
88077type GetAssociatedEnclaveCertificateIamRolesInput struct {
88078	_ struct{} `type:"structure"`
88079
88080	// The ARN of the ACM certificate for which to view the associated IAM roles,
88081	// encryption keys, and Amazon S3 object information.
88082	CertificateArn *string `min:"1" type:"string"`
88083
88084	// Checks whether you have the required permissions for the action, without
88085	// actually making the request, and provides an error response. If you have
88086	// the required permissions, the error response is DryRunOperation. Otherwise,
88087	// it is UnauthorizedOperation.
88088	DryRun *bool `type:"boolean"`
88089}
88090
88091// String returns the string representation
88092func (s GetAssociatedEnclaveCertificateIamRolesInput) String() string {
88093	return awsutil.Prettify(s)
88094}
88095
88096// GoString returns the string representation
88097func (s GetAssociatedEnclaveCertificateIamRolesInput) GoString() string {
88098	return s.String()
88099}
88100
88101// Validate inspects the fields of the type to determine if they are valid.
88102func (s *GetAssociatedEnclaveCertificateIamRolesInput) Validate() error {
88103	invalidParams := request.ErrInvalidParams{Context: "GetAssociatedEnclaveCertificateIamRolesInput"}
88104	if s.CertificateArn != nil && len(*s.CertificateArn) < 1 {
88105		invalidParams.Add(request.NewErrParamMinLen("CertificateArn", 1))
88106	}
88107
88108	if invalidParams.Len() > 0 {
88109		return invalidParams
88110	}
88111	return nil
88112}
88113
88114// SetCertificateArn sets the CertificateArn field's value.
88115func (s *GetAssociatedEnclaveCertificateIamRolesInput) SetCertificateArn(v string) *GetAssociatedEnclaveCertificateIamRolesInput {
88116	s.CertificateArn = &v
88117	return s
88118}
88119
88120// SetDryRun sets the DryRun field's value.
88121func (s *GetAssociatedEnclaveCertificateIamRolesInput) SetDryRun(v bool) *GetAssociatedEnclaveCertificateIamRolesInput {
88122	s.DryRun = &v
88123	return s
88124}
88125
88126type GetAssociatedEnclaveCertificateIamRolesOutput struct {
88127	_ struct{} `type:"structure"`
88128
88129	// Information about the associated IAM roles.
88130	AssociatedRoles []*AssociatedRole `locationName:"associatedRoleSet" locationNameList:"item" type:"list"`
88131}
88132
88133// String returns the string representation
88134func (s GetAssociatedEnclaveCertificateIamRolesOutput) String() string {
88135	return awsutil.Prettify(s)
88136}
88137
88138// GoString returns the string representation
88139func (s GetAssociatedEnclaveCertificateIamRolesOutput) GoString() string {
88140	return s.String()
88141}
88142
88143// SetAssociatedRoles sets the AssociatedRoles field's value.
88144func (s *GetAssociatedEnclaveCertificateIamRolesOutput) SetAssociatedRoles(v []*AssociatedRole) *GetAssociatedEnclaveCertificateIamRolesOutput {
88145	s.AssociatedRoles = v
88146	return s
88147}
88148
88149type GetAssociatedIpv6PoolCidrsInput struct {
88150	_ struct{} `type:"structure"`
88151
88152	// Checks whether you have the required permissions for the action, without
88153	// actually making the request, and provides an error response. If you have
88154	// the required permissions, the error response is DryRunOperation. Otherwise,
88155	// it is UnauthorizedOperation.
88156	DryRun *bool `type:"boolean"`
88157
88158	// The maximum number of results to return with a single call. To retrieve the
88159	// remaining results, make another call with the returned nextToken value.
88160	MaxResults *int64 `min:"1" type:"integer"`
88161
88162	// The token for the next page of results.
88163	NextToken *string `type:"string"`
88164
88165	// The ID of the IPv6 address pool.
88166	//
88167	// PoolId is a required field
88168	PoolId *string `type:"string" required:"true"`
88169}
88170
88171// String returns the string representation
88172func (s GetAssociatedIpv6PoolCidrsInput) String() string {
88173	return awsutil.Prettify(s)
88174}
88175
88176// GoString returns the string representation
88177func (s GetAssociatedIpv6PoolCidrsInput) GoString() string {
88178	return s.String()
88179}
88180
88181// Validate inspects the fields of the type to determine if they are valid.
88182func (s *GetAssociatedIpv6PoolCidrsInput) Validate() error {
88183	invalidParams := request.ErrInvalidParams{Context: "GetAssociatedIpv6PoolCidrsInput"}
88184	if s.MaxResults != nil && *s.MaxResults < 1 {
88185		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
88186	}
88187	if s.PoolId == nil {
88188		invalidParams.Add(request.NewErrParamRequired("PoolId"))
88189	}
88190
88191	if invalidParams.Len() > 0 {
88192		return invalidParams
88193	}
88194	return nil
88195}
88196
88197// SetDryRun sets the DryRun field's value.
88198func (s *GetAssociatedIpv6PoolCidrsInput) SetDryRun(v bool) *GetAssociatedIpv6PoolCidrsInput {
88199	s.DryRun = &v
88200	return s
88201}
88202
88203// SetMaxResults sets the MaxResults field's value.
88204func (s *GetAssociatedIpv6PoolCidrsInput) SetMaxResults(v int64) *GetAssociatedIpv6PoolCidrsInput {
88205	s.MaxResults = &v
88206	return s
88207}
88208
88209// SetNextToken sets the NextToken field's value.
88210func (s *GetAssociatedIpv6PoolCidrsInput) SetNextToken(v string) *GetAssociatedIpv6PoolCidrsInput {
88211	s.NextToken = &v
88212	return s
88213}
88214
88215// SetPoolId sets the PoolId field's value.
88216func (s *GetAssociatedIpv6PoolCidrsInput) SetPoolId(v string) *GetAssociatedIpv6PoolCidrsInput {
88217	s.PoolId = &v
88218	return s
88219}
88220
88221type GetAssociatedIpv6PoolCidrsOutput struct {
88222	_ struct{} `type:"structure"`
88223
88224	// Information about the IPv6 CIDR block associations.
88225	Ipv6CidrAssociations []*Ipv6CidrAssociation `locationName:"ipv6CidrAssociationSet" locationNameList:"item" type:"list"`
88226
88227	// The token to use to retrieve the next page of results. This value is null
88228	// when there are no more results to return.
88229	NextToken *string `locationName:"nextToken" type:"string"`
88230}
88231
88232// String returns the string representation
88233func (s GetAssociatedIpv6PoolCidrsOutput) String() string {
88234	return awsutil.Prettify(s)
88235}
88236
88237// GoString returns the string representation
88238func (s GetAssociatedIpv6PoolCidrsOutput) GoString() string {
88239	return s.String()
88240}
88241
88242// SetIpv6CidrAssociations sets the Ipv6CidrAssociations field's value.
88243func (s *GetAssociatedIpv6PoolCidrsOutput) SetIpv6CidrAssociations(v []*Ipv6CidrAssociation) *GetAssociatedIpv6PoolCidrsOutput {
88244	s.Ipv6CidrAssociations = v
88245	return s
88246}
88247
88248// SetNextToken sets the NextToken field's value.
88249func (s *GetAssociatedIpv6PoolCidrsOutput) SetNextToken(v string) *GetAssociatedIpv6PoolCidrsOutput {
88250	s.NextToken = &v
88251	return s
88252}
88253
88254type GetCapacityReservationUsageInput struct {
88255	_ struct{} `type:"structure"`
88256
88257	// The ID of the Capacity Reservation.
88258	//
88259	// CapacityReservationId is a required field
88260	CapacityReservationId *string `type:"string" required:"true"`
88261
88262	// Checks whether you have the required permissions for the action, without
88263	// actually making the request, and provides an error response. If you have
88264	// the required permissions, the error response is DryRunOperation. Otherwise,
88265	// it is UnauthorizedOperation.
88266	DryRun *bool `type:"boolean"`
88267
88268	// The maximum number of results to return for the request in a single page.
88269	// The remaining results can be seen by sending another request with the returned
88270	// nextToken value. This value can be between 5 and 500. If maxResults is given
88271	// a larger value than 500, you receive an error.
88272	//
88273	// Valid range: Minimum value of 1. Maximum value of 1000.
88274	MaxResults *int64 `min:"1" type:"integer"`
88275
88276	// The token to use to retrieve the next page of results.
88277	NextToken *string `type:"string"`
88278}
88279
88280// String returns the string representation
88281func (s GetCapacityReservationUsageInput) String() string {
88282	return awsutil.Prettify(s)
88283}
88284
88285// GoString returns the string representation
88286func (s GetCapacityReservationUsageInput) GoString() string {
88287	return s.String()
88288}
88289
88290// Validate inspects the fields of the type to determine if they are valid.
88291func (s *GetCapacityReservationUsageInput) Validate() error {
88292	invalidParams := request.ErrInvalidParams{Context: "GetCapacityReservationUsageInput"}
88293	if s.CapacityReservationId == nil {
88294		invalidParams.Add(request.NewErrParamRequired("CapacityReservationId"))
88295	}
88296	if s.MaxResults != nil && *s.MaxResults < 1 {
88297		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
88298	}
88299
88300	if invalidParams.Len() > 0 {
88301		return invalidParams
88302	}
88303	return nil
88304}
88305
88306// SetCapacityReservationId sets the CapacityReservationId field's value.
88307func (s *GetCapacityReservationUsageInput) SetCapacityReservationId(v string) *GetCapacityReservationUsageInput {
88308	s.CapacityReservationId = &v
88309	return s
88310}
88311
88312// SetDryRun sets the DryRun field's value.
88313func (s *GetCapacityReservationUsageInput) SetDryRun(v bool) *GetCapacityReservationUsageInput {
88314	s.DryRun = &v
88315	return s
88316}
88317
88318// SetMaxResults sets the MaxResults field's value.
88319func (s *GetCapacityReservationUsageInput) SetMaxResults(v int64) *GetCapacityReservationUsageInput {
88320	s.MaxResults = &v
88321	return s
88322}
88323
88324// SetNextToken sets the NextToken field's value.
88325func (s *GetCapacityReservationUsageInput) SetNextToken(v string) *GetCapacityReservationUsageInput {
88326	s.NextToken = &v
88327	return s
88328}
88329
88330type GetCapacityReservationUsageOutput struct {
88331	_ struct{} `type:"structure"`
88332
88333	// The remaining capacity. Indicates the number of instances that can be launched
88334	// in the Capacity Reservation.
88335	AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
88336
88337	// The ID of the Capacity Reservation.
88338	CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
88339
88340	// The type of instance for which the Capacity Reservation reserves capacity.
88341	InstanceType *string `locationName:"instanceType" type:"string"`
88342
88343	// Information about the Capacity Reservation usage.
88344	InstanceUsages []*InstanceUsage `locationName:"instanceUsageSet" locationNameList:"item" type:"list"`
88345
88346	// The token to use to retrieve the next page of results. This value is null
88347	// when there are no more results to return.
88348	NextToken *string `locationName:"nextToken" type:"string"`
88349
88350	// The current state of the Capacity Reservation. A Capacity Reservation can
88351	// be in one of the following states:
88352	//
88353	//    * active - The Capacity Reservation is active and the capacity is available
88354	//    for your use.
88355	//
88356	//    * expired - The Capacity Reservation expired automatically at the date
88357	//    and time specified in your request. The reserved capacity is no longer
88358	//    available for your use.
88359	//
88360	//    * cancelled - The Capacity Reservation was cancelled. The reserved capacity
88361	//    is no longer available for your use.
88362	//
88363	//    * pending - The Capacity Reservation request was successful but the capacity
88364	//    provisioning is still pending.
88365	//
88366	//    * failed - The Capacity Reservation request has failed. A request might
88367	//    fail due to invalid request parameters, capacity constraints, or instance
88368	//    limit constraints. Failed requests are retained for 60 minutes.
88369	State *string `locationName:"state" type:"string" enum:"CapacityReservationState"`
88370
88371	// The number of instances for which the Capacity Reservation reserves capacity.
88372	TotalInstanceCount *int64 `locationName:"totalInstanceCount" type:"integer"`
88373}
88374
88375// String returns the string representation
88376func (s GetCapacityReservationUsageOutput) String() string {
88377	return awsutil.Prettify(s)
88378}
88379
88380// GoString returns the string representation
88381func (s GetCapacityReservationUsageOutput) GoString() string {
88382	return s.String()
88383}
88384
88385// SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
88386func (s *GetCapacityReservationUsageOutput) SetAvailableInstanceCount(v int64) *GetCapacityReservationUsageOutput {
88387	s.AvailableInstanceCount = &v
88388	return s
88389}
88390
88391// SetCapacityReservationId sets the CapacityReservationId field's value.
88392func (s *GetCapacityReservationUsageOutput) SetCapacityReservationId(v string) *GetCapacityReservationUsageOutput {
88393	s.CapacityReservationId = &v
88394	return s
88395}
88396
88397// SetInstanceType sets the InstanceType field's value.
88398func (s *GetCapacityReservationUsageOutput) SetInstanceType(v string) *GetCapacityReservationUsageOutput {
88399	s.InstanceType = &v
88400	return s
88401}
88402
88403// SetInstanceUsages sets the InstanceUsages field's value.
88404func (s *GetCapacityReservationUsageOutput) SetInstanceUsages(v []*InstanceUsage) *GetCapacityReservationUsageOutput {
88405	s.InstanceUsages = v
88406	return s
88407}
88408
88409// SetNextToken sets the NextToken field's value.
88410func (s *GetCapacityReservationUsageOutput) SetNextToken(v string) *GetCapacityReservationUsageOutput {
88411	s.NextToken = &v
88412	return s
88413}
88414
88415// SetState sets the State field's value.
88416func (s *GetCapacityReservationUsageOutput) SetState(v string) *GetCapacityReservationUsageOutput {
88417	s.State = &v
88418	return s
88419}
88420
88421// SetTotalInstanceCount sets the TotalInstanceCount field's value.
88422func (s *GetCapacityReservationUsageOutput) SetTotalInstanceCount(v int64) *GetCapacityReservationUsageOutput {
88423	s.TotalInstanceCount = &v
88424	return s
88425}
88426
88427type GetCoipPoolUsageInput struct {
88428	_ struct{} `type:"structure"`
88429
88430	// Checks whether you have the required permissions for the action, without
88431	// actually making the request, and provides an error response. If you have
88432	// the required permissions, the error response is DryRunOperation. Otherwise,
88433	// it is UnauthorizedOperation.
88434	DryRun *bool `type:"boolean"`
88435
88436	// The filters. The following are the possible values:
88437	//
88438	//    * coip-address-usage.allocation-id
88439	//
88440	//    * coip-address-usage.aws-account-id
88441	//
88442	//    * coip-address-usage.aws-service
88443	//
88444	//    * coip-address-usage.co-ip
88445	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
88446
88447	// The maximum number of results to return with a single call. To retrieve the
88448	// remaining results, make another call with the returned nextToken value.
88449	MaxResults *int64 `min:"5" type:"integer"`
88450
88451	// The token for the next page of results.
88452	NextToken *string `type:"string"`
88453
88454	// The ID of the address pool.
88455	//
88456	// PoolId is a required field
88457	PoolId *string `type:"string" required:"true"`
88458}
88459
88460// String returns the string representation
88461func (s GetCoipPoolUsageInput) String() string {
88462	return awsutil.Prettify(s)
88463}
88464
88465// GoString returns the string representation
88466func (s GetCoipPoolUsageInput) GoString() string {
88467	return s.String()
88468}
88469
88470// Validate inspects the fields of the type to determine if they are valid.
88471func (s *GetCoipPoolUsageInput) Validate() error {
88472	invalidParams := request.ErrInvalidParams{Context: "GetCoipPoolUsageInput"}
88473	if s.MaxResults != nil && *s.MaxResults < 5 {
88474		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
88475	}
88476	if s.PoolId == nil {
88477		invalidParams.Add(request.NewErrParamRequired("PoolId"))
88478	}
88479
88480	if invalidParams.Len() > 0 {
88481		return invalidParams
88482	}
88483	return nil
88484}
88485
88486// SetDryRun sets the DryRun field's value.
88487func (s *GetCoipPoolUsageInput) SetDryRun(v bool) *GetCoipPoolUsageInput {
88488	s.DryRun = &v
88489	return s
88490}
88491
88492// SetFilters sets the Filters field's value.
88493func (s *GetCoipPoolUsageInput) SetFilters(v []*Filter) *GetCoipPoolUsageInput {
88494	s.Filters = v
88495	return s
88496}
88497
88498// SetMaxResults sets the MaxResults field's value.
88499func (s *GetCoipPoolUsageInput) SetMaxResults(v int64) *GetCoipPoolUsageInput {
88500	s.MaxResults = &v
88501	return s
88502}
88503
88504// SetNextToken sets the NextToken field's value.
88505func (s *GetCoipPoolUsageInput) SetNextToken(v string) *GetCoipPoolUsageInput {
88506	s.NextToken = &v
88507	return s
88508}
88509
88510// SetPoolId sets the PoolId field's value.
88511func (s *GetCoipPoolUsageInput) SetPoolId(v string) *GetCoipPoolUsageInput {
88512	s.PoolId = &v
88513	return s
88514}
88515
88516type GetCoipPoolUsageOutput struct {
88517	_ struct{} `type:"structure"`
88518
88519	// Information about the address usage.
88520	CoipAddressUsages []*CoipAddressUsage `locationName:"coipAddressUsageSet" locationNameList:"item" type:"list"`
88521
88522	// The ID of the customer-owned address pool.
88523	CoipPoolId *string `locationName:"coipPoolId" type:"string"`
88524
88525	// The ID of the local gateway route table.
88526	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
88527}
88528
88529// String returns the string representation
88530func (s GetCoipPoolUsageOutput) String() string {
88531	return awsutil.Prettify(s)
88532}
88533
88534// GoString returns the string representation
88535func (s GetCoipPoolUsageOutput) GoString() string {
88536	return s.String()
88537}
88538
88539// SetCoipAddressUsages sets the CoipAddressUsages field's value.
88540func (s *GetCoipPoolUsageOutput) SetCoipAddressUsages(v []*CoipAddressUsage) *GetCoipPoolUsageOutput {
88541	s.CoipAddressUsages = v
88542	return s
88543}
88544
88545// SetCoipPoolId sets the CoipPoolId field's value.
88546func (s *GetCoipPoolUsageOutput) SetCoipPoolId(v string) *GetCoipPoolUsageOutput {
88547	s.CoipPoolId = &v
88548	return s
88549}
88550
88551// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
88552func (s *GetCoipPoolUsageOutput) SetLocalGatewayRouteTableId(v string) *GetCoipPoolUsageOutput {
88553	s.LocalGatewayRouteTableId = &v
88554	return s
88555}
88556
88557type GetConsoleOutputInput struct {
88558	_ struct{} `type:"structure"`
88559
88560	// Checks whether you have the required permissions for the action, without
88561	// actually making the request, and provides an error response. If you have
88562	// the required permissions, the error response is DryRunOperation. Otherwise,
88563	// it is UnauthorizedOperation.
88564	DryRun *bool `locationName:"dryRun" type:"boolean"`
88565
88566	// The ID of the instance.
88567	//
88568	// InstanceId is a required field
88569	InstanceId *string `type:"string" required:"true"`
88570
88571	// When enabled, retrieves the latest console output for the instance.
88572	//
88573	// Default: disabled (false)
88574	Latest *bool `type:"boolean"`
88575}
88576
88577// String returns the string representation
88578func (s GetConsoleOutputInput) String() string {
88579	return awsutil.Prettify(s)
88580}
88581
88582// GoString returns the string representation
88583func (s GetConsoleOutputInput) GoString() string {
88584	return s.String()
88585}
88586
88587// Validate inspects the fields of the type to determine if they are valid.
88588func (s *GetConsoleOutputInput) Validate() error {
88589	invalidParams := request.ErrInvalidParams{Context: "GetConsoleOutputInput"}
88590	if s.InstanceId == nil {
88591		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
88592	}
88593
88594	if invalidParams.Len() > 0 {
88595		return invalidParams
88596	}
88597	return nil
88598}
88599
88600// SetDryRun sets the DryRun field's value.
88601func (s *GetConsoleOutputInput) SetDryRun(v bool) *GetConsoleOutputInput {
88602	s.DryRun = &v
88603	return s
88604}
88605
88606// SetInstanceId sets the InstanceId field's value.
88607func (s *GetConsoleOutputInput) SetInstanceId(v string) *GetConsoleOutputInput {
88608	s.InstanceId = &v
88609	return s
88610}
88611
88612// SetLatest sets the Latest field's value.
88613func (s *GetConsoleOutputInput) SetLatest(v bool) *GetConsoleOutputInput {
88614	s.Latest = &v
88615	return s
88616}
88617
88618type GetConsoleOutputOutput struct {
88619	_ struct{} `type:"structure"`
88620
88621	// The ID of the instance.
88622	InstanceId *string `locationName:"instanceId" type:"string"`
88623
88624	// The console output, base64-encoded. If you are using a command line tool,
88625	// the tool decodes the output for you.
88626	Output *string `locationName:"output" type:"string"`
88627
88628	// The time at which the output was last updated.
88629	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
88630}
88631
88632// String returns the string representation
88633func (s GetConsoleOutputOutput) String() string {
88634	return awsutil.Prettify(s)
88635}
88636
88637// GoString returns the string representation
88638func (s GetConsoleOutputOutput) GoString() string {
88639	return s.String()
88640}
88641
88642// SetInstanceId sets the InstanceId field's value.
88643func (s *GetConsoleOutputOutput) SetInstanceId(v string) *GetConsoleOutputOutput {
88644	s.InstanceId = &v
88645	return s
88646}
88647
88648// SetOutput sets the Output field's value.
88649func (s *GetConsoleOutputOutput) SetOutput(v string) *GetConsoleOutputOutput {
88650	s.Output = &v
88651	return s
88652}
88653
88654// SetTimestamp sets the Timestamp field's value.
88655func (s *GetConsoleOutputOutput) SetTimestamp(v time.Time) *GetConsoleOutputOutput {
88656	s.Timestamp = &v
88657	return s
88658}
88659
88660type GetConsoleScreenshotInput struct {
88661	_ struct{} `type:"structure"`
88662
88663	// Checks whether you have the required permissions for the action, without
88664	// actually making the request, and provides an error response. If you have
88665	// the required permissions, the error response is DryRunOperation. Otherwise,
88666	// it is UnauthorizedOperation.
88667	DryRun *bool `type:"boolean"`
88668
88669	// The ID of the instance.
88670	//
88671	// InstanceId is a required field
88672	InstanceId *string `type:"string" required:"true"`
88673
88674	// When set to true, acts as keystroke input and wakes up an instance that's
88675	// in standby or "sleep" mode.
88676	WakeUp *bool `type:"boolean"`
88677}
88678
88679// String returns the string representation
88680func (s GetConsoleScreenshotInput) String() string {
88681	return awsutil.Prettify(s)
88682}
88683
88684// GoString returns the string representation
88685func (s GetConsoleScreenshotInput) GoString() string {
88686	return s.String()
88687}
88688
88689// Validate inspects the fields of the type to determine if they are valid.
88690func (s *GetConsoleScreenshotInput) Validate() error {
88691	invalidParams := request.ErrInvalidParams{Context: "GetConsoleScreenshotInput"}
88692	if s.InstanceId == nil {
88693		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
88694	}
88695
88696	if invalidParams.Len() > 0 {
88697		return invalidParams
88698	}
88699	return nil
88700}
88701
88702// SetDryRun sets the DryRun field's value.
88703func (s *GetConsoleScreenshotInput) SetDryRun(v bool) *GetConsoleScreenshotInput {
88704	s.DryRun = &v
88705	return s
88706}
88707
88708// SetInstanceId sets the InstanceId field's value.
88709func (s *GetConsoleScreenshotInput) SetInstanceId(v string) *GetConsoleScreenshotInput {
88710	s.InstanceId = &v
88711	return s
88712}
88713
88714// SetWakeUp sets the WakeUp field's value.
88715func (s *GetConsoleScreenshotInput) SetWakeUp(v bool) *GetConsoleScreenshotInput {
88716	s.WakeUp = &v
88717	return s
88718}
88719
88720type GetConsoleScreenshotOutput struct {
88721	_ struct{} `type:"structure"`
88722
88723	// The data that comprises the image.
88724	ImageData *string `locationName:"imageData" type:"string"`
88725
88726	// The ID of the instance.
88727	InstanceId *string `locationName:"instanceId" type:"string"`
88728}
88729
88730// String returns the string representation
88731func (s GetConsoleScreenshotOutput) String() string {
88732	return awsutil.Prettify(s)
88733}
88734
88735// GoString returns the string representation
88736func (s GetConsoleScreenshotOutput) GoString() string {
88737	return s.String()
88738}
88739
88740// SetImageData sets the ImageData field's value.
88741func (s *GetConsoleScreenshotOutput) SetImageData(v string) *GetConsoleScreenshotOutput {
88742	s.ImageData = &v
88743	return s
88744}
88745
88746// SetInstanceId sets the InstanceId field's value.
88747func (s *GetConsoleScreenshotOutput) SetInstanceId(v string) *GetConsoleScreenshotOutput {
88748	s.InstanceId = &v
88749	return s
88750}
88751
88752type GetDefaultCreditSpecificationInput struct {
88753	_ struct{} `type:"structure"`
88754
88755	// Checks whether you have the required permissions for the action, without
88756	// actually making the request, and provides an error response. If you have
88757	// the required permissions, the error response is DryRunOperation. Otherwise,
88758	// it is UnauthorizedOperation.
88759	DryRun *bool `type:"boolean"`
88760
88761	// The instance family.
88762	//
88763	// InstanceFamily is a required field
88764	InstanceFamily *string `type:"string" required:"true" enum:"UnlimitedSupportedInstanceFamily"`
88765}
88766
88767// String returns the string representation
88768func (s GetDefaultCreditSpecificationInput) String() string {
88769	return awsutil.Prettify(s)
88770}
88771
88772// GoString returns the string representation
88773func (s GetDefaultCreditSpecificationInput) GoString() string {
88774	return s.String()
88775}
88776
88777// Validate inspects the fields of the type to determine if they are valid.
88778func (s *GetDefaultCreditSpecificationInput) Validate() error {
88779	invalidParams := request.ErrInvalidParams{Context: "GetDefaultCreditSpecificationInput"}
88780	if s.InstanceFamily == nil {
88781		invalidParams.Add(request.NewErrParamRequired("InstanceFamily"))
88782	}
88783
88784	if invalidParams.Len() > 0 {
88785		return invalidParams
88786	}
88787	return nil
88788}
88789
88790// SetDryRun sets the DryRun field's value.
88791func (s *GetDefaultCreditSpecificationInput) SetDryRun(v bool) *GetDefaultCreditSpecificationInput {
88792	s.DryRun = &v
88793	return s
88794}
88795
88796// SetInstanceFamily sets the InstanceFamily field's value.
88797func (s *GetDefaultCreditSpecificationInput) SetInstanceFamily(v string) *GetDefaultCreditSpecificationInput {
88798	s.InstanceFamily = &v
88799	return s
88800}
88801
88802type GetDefaultCreditSpecificationOutput struct {
88803	_ struct{} `type:"structure"`
88804
88805	// The default credit option for CPU usage of the instance family.
88806	InstanceFamilyCreditSpecification *InstanceFamilyCreditSpecification `locationName:"instanceFamilyCreditSpecification" type:"structure"`
88807}
88808
88809// String returns the string representation
88810func (s GetDefaultCreditSpecificationOutput) String() string {
88811	return awsutil.Prettify(s)
88812}
88813
88814// GoString returns the string representation
88815func (s GetDefaultCreditSpecificationOutput) GoString() string {
88816	return s.String()
88817}
88818
88819// SetInstanceFamilyCreditSpecification sets the InstanceFamilyCreditSpecification field's value.
88820func (s *GetDefaultCreditSpecificationOutput) SetInstanceFamilyCreditSpecification(v *InstanceFamilyCreditSpecification) *GetDefaultCreditSpecificationOutput {
88821	s.InstanceFamilyCreditSpecification = v
88822	return s
88823}
88824
88825type GetEbsDefaultKmsKeyIdInput struct {
88826	_ struct{} `type:"structure"`
88827
88828	// Checks whether you have the required permissions for the action, without
88829	// actually making the request, and provides an error response. If you have
88830	// the required permissions, the error response is DryRunOperation. Otherwise,
88831	// it is UnauthorizedOperation.
88832	DryRun *bool `type:"boolean"`
88833}
88834
88835// String returns the string representation
88836func (s GetEbsDefaultKmsKeyIdInput) String() string {
88837	return awsutil.Prettify(s)
88838}
88839
88840// GoString returns the string representation
88841func (s GetEbsDefaultKmsKeyIdInput) GoString() string {
88842	return s.String()
88843}
88844
88845// SetDryRun sets the DryRun field's value.
88846func (s *GetEbsDefaultKmsKeyIdInput) SetDryRun(v bool) *GetEbsDefaultKmsKeyIdInput {
88847	s.DryRun = &v
88848	return s
88849}
88850
88851type GetEbsDefaultKmsKeyIdOutput struct {
88852	_ struct{} `type:"structure"`
88853
88854	// The Amazon Resource Name (ARN) of the default KMS key for encryption by default.
88855	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
88856}
88857
88858// String returns the string representation
88859func (s GetEbsDefaultKmsKeyIdOutput) String() string {
88860	return awsutil.Prettify(s)
88861}
88862
88863// GoString returns the string representation
88864func (s GetEbsDefaultKmsKeyIdOutput) GoString() string {
88865	return s.String()
88866}
88867
88868// SetKmsKeyId sets the KmsKeyId field's value.
88869func (s *GetEbsDefaultKmsKeyIdOutput) SetKmsKeyId(v string) *GetEbsDefaultKmsKeyIdOutput {
88870	s.KmsKeyId = &v
88871	return s
88872}
88873
88874type GetEbsEncryptionByDefaultInput struct {
88875	_ struct{} `type:"structure"`
88876
88877	// Checks whether you have the required permissions for the action, without
88878	// actually making the request, and provides an error response. If you have
88879	// the required permissions, the error response is DryRunOperation. Otherwise,
88880	// it is UnauthorizedOperation.
88881	DryRun *bool `type:"boolean"`
88882}
88883
88884// String returns the string representation
88885func (s GetEbsEncryptionByDefaultInput) String() string {
88886	return awsutil.Prettify(s)
88887}
88888
88889// GoString returns the string representation
88890func (s GetEbsEncryptionByDefaultInput) GoString() string {
88891	return s.String()
88892}
88893
88894// SetDryRun sets the DryRun field's value.
88895func (s *GetEbsEncryptionByDefaultInput) SetDryRun(v bool) *GetEbsEncryptionByDefaultInput {
88896	s.DryRun = &v
88897	return s
88898}
88899
88900type GetEbsEncryptionByDefaultOutput struct {
88901	_ struct{} `type:"structure"`
88902
88903	// Indicates whether encryption by default is enabled.
88904	EbsEncryptionByDefault *bool `locationName:"ebsEncryptionByDefault" type:"boolean"`
88905}
88906
88907// String returns the string representation
88908func (s GetEbsEncryptionByDefaultOutput) String() string {
88909	return awsutil.Prettify(s)
88910}
88911
88912// GoString returns the string representation
88913func (s GetEbsEncryptionByDefaultOutput) GoString() string {
88914	return s.String()
88915}
88916
88917// SetEbsEncryptionByDefault sets the EbsEncryptionByDefault field's value.
88918func (s *GetEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *GetEbsEncryptionByDefaultOutput {
88919	s.EbsEncryptionByDefault = &v
88920	return s
88921}
88922
88923type GetFlowLogsIntegrationTemplateInput struct {
88924	_ struct{} `type:"structure"`
88925
88926	// To store the CloudFormation template in Amazon S3, specify the location in
88927	// Amazon S3.
88928	//
88929	// ConfigDeliveryS3DestinationArn is a required field
88930	ConfigDeliveryS3DestinationArn *string `type:"string" required:"true"`
88931
88932	// Checks whether you have the required permissions for the action, without
88933	// actually making the request, and provides an error response. If you have
88934	// the required permissions, the error response is DryRunOperation. Otherwise,
88935	// it is UnauthorizedOperation.
88936	DryRun *bool `type:"boolean"`
88937
88938	// The ID of the flow log.
88939	//
88940	// FlowLogId is a required field
88941	FlowLogId *string `type:"string" required:"true"`
88942
88943	// Information about the service integration.
88944	//
88945	// IntegrateServices is a required field
88946	IntegrateServices *IntegrateServices `locationName:"IntegrateService" type:"structure" required:"true"`
88947}
88948
88949// String returns the string representation
88950func (s GetFlowLogsIntegrationTemplateInput) String() string {
88951	return awsutil.Prettify(s)
88952}
88953
88954// GoString returns the string representation
88955func (s GetFlowLogsIntegrationTemplateInput) GoString() string {
88956	return s.String()
88957}
88958
88959// Validate inspects the fields of the type to determine if they are valid.
88960func (s *GetFlowLogsIntegrationTemplateInput) Validate() error {
88961	invalidParams := request.ErrInvalidParams{Context: "GetFlowLogsIntegrationTemplateInput"}
88962	if s.ConfigDeliveryS3DestinationArn == nil {
88963		invalidParams.Add(request.NewErrParamRequired("ConfigDeliveryS3DestinationArn"))
88964	}
88965	if s.FlowLogId == nil {
88966		invalidParams.Add(request.NewErrParamRequired("FlowLogId"))
88967	}
88968	if s.IntegrateServices == nil {
88969		invalidParams.Add(request.NewErrParamRequired("IntegrateServices"))
88970	}
88971	if s.IntegrateServices != nil {
88972		if err := s.IntegrateServices.Validate(); err != nil {
88973			invalidParams.AddNested("IntegrateServices", err.(request.ErrInvalidParams))
88974		}
88975	}
88976
88977	if invalidParams.Len() > 0 {
88978		return invalidParams
88979	}
88980	return nil
88981}
88982
88983// SetConfigDeliveryS3DestinationArn sets the ConfigDeliveryS3DestinationArn field's value.
88984func (s *GetFlowLogsIntegrationTemplateInput) SetConfigDeliveryS3DestinationArn(v string) *GetFlowLogsIntegrationTemplateInput {
88985	s.ConfigDeliveryS3DestinationArn = &v
88986	return s
88987}
88988
88989// SetDryRun sets the DryRun field's value.
88990func (s *GetFlowLogsIntegrationTemplateInput) SetDryRun(v bool) *GetFlowLogsIntegrationTemplateInput {
88991	s.DryRun = &v
88992	return s
88993}
88994
88995// SetFlowLogId sets the FlowLogId field's value.
88996func (s *GetFlowLogsIntegrationTemplateInput) SetFlowLogId(v string) *GetFlowLogsIntegrationTemplateInput {
88997	s.FlowLogId = &v
88998	return s
88999}
89000
89001// SetIntegrateServices sets the IntegrateServices field's value.
89002func (s *GetFlowLogsIntegrationTemplateInput) SetIntegrateServices(v *IntegrateServices) *GetFlowLogsIntegrationTemplateInput {
89003	s.IntegrateServices = v
89004	return s
89005}
89006
89007type GetFlowLogsIntegrationTemplateOutput struct {
89008	_ struct{} `type:"structure"`
89009
89010	// The generated CloudFormation template.
89011	Result *string `locationName:"result" type:"string"`
89012}
89013
89014// String returns the string representation
89015func (s GetFlowLogsIntegrationTemplateOutput) String() string {
89016	return awsutil.Prettify(s)
89017}
89018
89019// GoString returns the string representation
89020func (s GetFlowLogsIntegrationTemplateOutput) GoString() string {
89021	return s.String()
89022}
89023
89024// SetResult sets the Result field's value.
89025func (s *GetFlowLogsIntegrationTemplateOutput) SetResult(v string) *GetFlowLogsIntegrationTemplateOutput {
89026	s.Result = &v
89027	return s
89028}
89029
89030type GetGroupsForCapacityReservationInput struct {
89031	_ struct{} `type:"structure"`
89032
89033	// The ID of the Capacity Reservation.
89034	//
89035	// CapacityReservationId is a required field
89036	CapacityReservationId *string `type:"string" required:"true"`
89037
89038	// Checks whether you have the required permissions for the action, without
89039	// actually making the request, and provides an error response. If you have
89040	// the required permissions, the error response is DryRunOperation. Otherwise,
89041	// it is UnauthorizedOperation.
89042	DryRun *bool `type:"boolean"`
89043
89044	// The maximum number of results to return for the request in a single page.
89045	// The remaining results can be seen by sending another request with the returned
89046	// nextToken value. This value can be between 5 and 500. If maxResults is given
89047	// a larger value than 500, you receive an error.
89048	MaxResults *int64 `min:"1" type:"integer"`
89049
89050	// The token to use to retrieve the next page of results.
89051	NextToken *string `type:"string"`
89052}
89053
89054// String returns the string representation
89055func (s GetGroupsForCapacityReservationInput) String() string {
89056	return awsutil.Prettify(s)
89057}
89058
89059// GoString returns the string representation
89060func (s GetGroupsForCapacityReservationInput) GoString() string {
89061	return s.String()
89062}
89063
89064// Validate inspects the fields of the type to determine if they are valid.
89065func (s *GetGroupsForCapacityReservationInput) Validate() error {
89066	invalidParams := request.ErrInvalidParams{Context: "GetGroupsForCapacityReservationInput"}
89067	if s.CapacityReservationId == nil {
89068		invalidParams.Add(request.NewErrParamRequired("CapacityReservationId"))
89069	}
89070	if s.MaxResults != nil && *s.MaxResults < 1 {
89071		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
89072	}
89073
89074	if invalidParams.Len() > 0 {
89075		return invalidParams
89076	}
89077	return nil
89078}
89079
89080// SetCapacityReservationId sets the CapacityReservationId field's value.
89081func (s *GetGroupsForCapacityReservationInput) SetCapacityReservationId(v string) *GetGroupsForCapacityReservationInput {
89082	s.CapacityReservationId = &v
89083	return s
89084}
89085
89086// SetDryRun sets the DryRun field's value.
89087func (s *GetGroupsForCapacityReservationInput) SetDryRun(v bool) *GetGroupsForCapacityReservationInput {
89088	s.DryRun = &v
89089	return s
89090}
89091
89092// SetMaxResults sets the MaxResults field's value.
89093func (s *GetGroupsForCapacityReservationInput) SetMaxResults(v int64) *GetGroupsForCapacityReservationInput {
89094	s.MaxResults = &v
89095	return s
89096}
89097
89098// SetNextToken sets the NextToken field's value.
89099func (s *GetGroupsForCapacityReservationInput) SetNextToken(v string) *GetGroupsForCapacityReservationInput {
89100	s.NextToken = &v
89101	return s
89102}
89103
89104type GetGroupsForCapacityReservationOutput struct {
89105	_ struct{} `type:"structure"`
89106
89107	// Information about the resource groups to which the Capacity Reservation has
89108	// been added.
89109	CapacityReservationGroups []*CapacityReservationGroup `locationName:"capacityReservationGroupSet" locationNameList:"item" type:"list"`
89110
89111	// The token to use to retrieve the next page of results. This value is null
89112	// when there are no more results to return.
89113	NextToken *string `locationName:"nextToken" type:"string"`
89114}
89115
89116// String returns the string representation
89117func (s GetGroupsForCapacityReservationOutput) String() string {
89118	return awsutil.Prettify(s)
89119}
89120
89121// GoString returns the string representation
89122func (s GetGroupsForCapacityReservationOutput) GoString() string {
89123	return s.String()
89124}
89125
89126// SetCapacityReservationGroups sets the CapacityReservationGroups field's value.
89127func (s *GetGroupsForCapacityReservationOutput) SetCapacityReservationGroups(v []*CapacityReservationGroup) *GetGroupsForCapacityReservationOutput {
89128	s.CapacityReservationGroups = v
89129	return s
89130}
89131
89132// SetNextToken sets the NextToken field's value.
89133func (s *GetGroupsForCapacityReservationOutput) SetNextToken(v string) *GetGroupsForCapacityReservationOutput {
89134	s.NextToken = &v
89135	return s
89136}
89137
89138type GetHostReservationPurchasePreviewInput struct {
89139	_ struct{} `type:"structure"`
89140
89141	// The IDs of the Dedicated Hosts with which the reservation is associated.
89142	//
89143	// HostIdSet is a required field
89144	HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
89145
89146	// The offering ID of the reservation.
89147	//
89148	// OfferingId is a required field
89149	OfferingId *string `type:"string" required:"true"`
89150}
89151
89152// String returns the string representation
89153func (s GetHostReservationPurchasePreviewInput) String() string {
89154	return awsutil.Prettify(s)
89155}
89156
89157// GoString returns the string representation
89158func (s GetHostReservationPurchasePreviewInput) GoString() string {
89159	return s.String()
89160}
89161
89162// Validate inspects the fields of the type to determine if they are valid.
89163func (s *GetHostReservationPurchasePreviewInput) Validate() error {
89164	invalidParams := request.ErrInvalidParams{Context: "GetHostReservationPurchasePreviewInput"}
89165	if s.HostIdSet == nil {
89166		invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
89167	}
89168	if s.OfferingId == nil {
89169		invalidParams.Add(request.NewErrParamRequired("OfferingId"))
89170	}
89171
89172	if invalidParams.Len() > 0 {
89173		return invalidParams
89174	}
89175	return nil
89176}
89177
89178// SetHostIdSet sets the HostIdSet field's value.
89179func (s *GetHostReservationPurchasePreviewInput) SetHostIdSet(v []*string) *GetHostReservationPurchasePreviewInput {
89180	s.HostIdSet = v
89181	return s
89182}
89183
89184// SetOfferingId sets the OfferingId field's value.
89185func (s *GetHostReservationPurchasePreviewInput) SetOfferingId(v string) *GetHostReservationPurchasePreviewInput {
89186	s.OfferingId = &v
89187	return s
89188}
89189
89190type GetHostReservationPurchasePreviewOutput struct {
89191	_ struct{} `type:"structure"`
89192
89193	// The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
89194	// are specified. At this time, the only supported currency is USD.
89195	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
89196
89197	// The purchase information of the Dedicated Host reservation and the Dedicated
89198	// Hosts associated with it.
89199	Purchase []*Purchase `locationName:"purchase" locationNameList:"item" type:"list"`
89200
89201	// The potential total hourly price of the reservation per hour.
89202	TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
89203
89204	// The potential total upfront price. This is billed immediately.
89205	TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
89206}
89207
89208// String returns the string representation
89209func (s GetHostReservationPurchasePreviewOutput) String() string {
89210	return awsutil.Prettify(s)
89211}
89212
89213// GoString returns the string representation
89214func (s GetHostReservationPurchasePreviewOutput) GoString() string {
89215	return s.String()
89216}
89217
89218// SetCurrencyCode sets the CurrencyCode field's value.
89219func (s *GetHostReservationPurchasePreviewOutput) SetCurrencyCode(v string) *GetHostReservationPurchasePreviewOutput {
89220	s.CurrencyCode = &v
89221	return s
89222}
89223
89224// SetPurchase sets the Purchase field's value.
89225func (s *GetHostReservationPurchasePreviewOutput) SetPurchase(v []*Purchase) *GetHostReservationPurchasePreviewOutput {
89226	s.Purchase = v
89227	return s
89228}
89229
89230// SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
89231func (s *GetHostReservationPurchasePreviewOutput) SetTotalHourlyPrice(v string) *GetHostReservationPurchasePreviewOutput {
89232	s.TotalHourlyPrice = &v
89233	return s
89234}
89235
89236// SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
89237func (s *GetHostReservationPurchasePreviewOutput) SetTotalUpfrontPrice(v string) *GetHostReservationPurchasePreviewOutput {
89238	s.TotalUpfrontPrice = &v
89239	return s
89240}
89241
89242type GetLaunchTemplateDataInput struct {
89243	_ struct{} `type:"structure"`
89244
89245	// Checks whether you have the required permissions for the action, without
89246	// actually making the request, and provides an error response. If you have
89247	// the required permissions, the error response is DryRunOperation. Otherwise,
89248	// it is UnauthorizedOperation.
89249	DryRun *bool `type:"boolean"`
89250
89251	// The ID of the instance.
89252	//
89253	// InstanceId is a required field
89254	InstanceId *string `type:"string" required:"true"`
89255}
89256
89257// String returns the string representation
89258func (s GetLaunchTemplateDataInput) String() string {
89259	return awsutil.Prettify(s)
89260}
89261
89262// GoString returns the string representation
89263func (s GetLaunchTemplateDataInput) GoString() string {
89264	return s.String()
89265}
89266
89267// Validate inspects the fields of the type to determine if they are valid.
89268func (s *GetLaunchTemplateDataInput) Validate() error {
89269	invalidParams := request.ErrInvalidParams{Context: "GetLaunchTemplateDataInput"}
89270	if s.InstanceId == nil {
89271		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
89272	}
89273
89274	if invalidParams.Len() > 0 {
89275		return invalidParams
89276	}
89277	return nil
89278}
89279
89280// SetDryRun sets the DryRun field's value.
89281func (s *GetLaunchTemplateDataInput) SetDryRun(v bool) *GetLaunchTemplateDataInput {
89282	s.DryRun = &v
89283	return s
89284}
89285
89286// SetInstanceId sets the InstanceId field's value.
89287func (s *GetLaunchTemplateDataInput) SetInstanceId(v string) *GetLaunchTemplateDataInput {
89288	s.InstanceId = &v
89289	return s
89290}
89291
89292type GetLaunchTemplateDataOutput struct {
89293	_ struct{} `type:"structure"`
89294
89295	// The instance data.
89296	LaunchTemplateData *ResponseLaunchTemplateData `locationName:"launchTemplateData" type:"structure"`
89297}
89298
89299// String returns the string representation
89300func (s GetLaunchTemplateDataOutput) String() string {
89301	return awsutil.Prettify(s)
89302}
89303
89304// GoString returns the string representation
89305func (s GetLaunchTemplateDataOutput) GoString() string {
89306	return s.String()
89307}
89308
89309// SetLaunchTemplateData sets the LaunchTemplateData field's value.
89310func (s *GetLaunchTemplateDataOutput) SetLaunchTemplateData(v *ResponseLaunchTemplateData) *GetLaunchTemplateDataOutput {
89311	s.LaunchTemplateData = v
89312	return s
89313}
89314
89315type GetManagedPrefixListAssociationsInput struct {
89316	_ struct{} `type:"structure"`
89317
89318	// Checks whether you have the required permissions for the action, without
89319	// actually making the request, and provides an error response. If you have
89320	// the required permissions, the error response is DryRunOperation. Otherwise,
89321	// it is UnauthorizedOperation.
89322	DryRun *bool `type:"boolean"`
89323
89324	// The maximum number of results to return with a single call. To retrieve the
89325	// remaining results, make another call with the returned nextToken value.
89326	MaxResults *int64 `min:"5" type:"integer"`
89327
89328	// The token for the next page of results.
89329	NextToken *string `type:"string"`
89330
89331	// The ID of the prefix list.
89332	//
89333	// PrefixListId is a required field
89334	PrefixListId *string `type:"string" required:"true"`
89335}
89336
89337// String returns the string representation
89338func (s GetManagedPrefixListAssociationsInput) String() string {
89339	return awsutil.Prettify(s)
89340}
89341
89342// GoString returns the string representation
89343func (s GetManagedPrefixListAssociationsInput) GoString() string {
89344	return s.String()
89345}
89346
89347// Validate inspects the fields of the type to determine if they are valid.
89348func (s *GetManagedPrefixListAssociationsInput) Validate() error {
89349	invalidParams := request.ErrInvalidParams{Context: "GetManagedPrefixListAssociationsInput"}
89350	if s.MaxResults != nil && *s.MaxResults < 5 {
89351		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
89352	}
89353	if s.PrefixListId == nil {
89354		invalidParams.Add(request.NewErrParamRequired("PrefixListId"))
89355	}
89356
89357	if invalidParams.Len() > 0 {
89358		return invalidParams
89359	}
89360	return nil
89361}
89362
89363// SetDryRun sets the DryRun field's value.
89364func (s *GetManagedPrefixListAssociationsInput) SetDryRun(v bool) *GetManagedPrefixListAssociationsInput {
89365	s.DryRun = &v
89366	return s
89367}
89368
89369// SetMaxResults sets the MaxResults field's value.
89370func (s *GetManagedPrefixListAssociationsInput) SetMaxResults(v int64) *GetManagedPrefixListAssociationsInput {
89371	s.MaxResults = &v
89372	return s
89373}
89374
89375// SetNextToken sets the NextToken field's value.
89376func (s *GetManagedPrefixListAssociationsInput) SetNextToken(v string) *GetManagedPrefixListAssociationsInput {
89377	s.NextToken = &v
89378	return s
89379}
89380
89381// SetPrefixListId sets the PrefixListId field's value.
89382func (s *GetManagedPrefixListAssociationsInput) SetPrefixListId(v string) *GetManagedPrefixListAssociationsInput {
89383	s.PrefixListId = &v
89384	return s
89385}
89386
89387type GetManagedPrefixListAssociationsOutput struct {
89388	_ struct{} `type:"structure"`
89389
89390	// The token to use to retrieve the next page of results. This value is null
89391	// when there are no more results to return.
89392	NextToken *string `locationName:"nextToken" type:"string"`
89393
89394	// Information about the associations.
89395	PrefixListAssociations []*PrefixListAssociation `locationName:"prefixListAssociationSet" locationNameList:"item" type:"list"`
89396}
89397
89398// String returns the string representation
89399func (s GetManagedPrefixListAssociationsOutput) String() string {
89400	return awsutil.Prettify(s)
89401}
89402
89403// GoString returns the string representation
89404func (s GetManagedPrefixListAssociationsOutput) GoString() string {
89405	return s.String()
89406}
89407
89408// SetNextToken sets the NextToken field's value.
89409func (s *GetManagedPrefixListAssociationsOutput) SetNextToken(v string) *GetManagedPrefixListAssociationsOutput {
89410	s.NextToken = &v
89411	return s
89412}
89413
89414// SetPrefixListAssociations sets the PrefixListAssociations field's value.
89415func (s *GetManagedPrefixListAssociationsOutput) SetPrefixListAssociations(v []*PrefixListAssociation) *GetManagedPrefixListAssociationsOutput {
89416	s.PrefixListAssociations = v
89417	return s
89418}
89419
89420type GetManagedPrefixListEntriesInput struct {
89421	_ struct{} `type:"structure"`
89422
89423	// Checks whether you have the required permissions for the action, without
89424	// actually making the request, and provides an error response. If you have
89425	// the required permissions, the error response is DryRunOperation. Otherwise,
89426	// it is UnauthorizedOperation.
89427	DryRun *bool `type:"boolean"`
89428
89429	// The maximum number of results to return with a single call. To retrieve the
89430	// remaining results, make another call with the returned nextToken value.
89431	MaxResults *int64 `min:"1" type:"integer"`
89432
89433	// The token for the next page of results.
89434	NextToken *string `type:"string"`
89435
89436	// The ID of the prefix list.
89437	//
89438	// PrefixListId is a required field
89439	PrefixListId *string `type:"string" required:"true"`
89440
89441	// The version of the prefix list for which to return the entries. The default
89442	// is the current version.
89443	TargetVersion *int64 `type:"long"`
89444}
89445
89446// String returns the string representation
89447func (s GetManagedPrefixListEntriesInput) String() string {
89448	return awsutil.Prettify(s)
89449}
89450
89451// GoString returns the string representation
89452func (s GetManagedPrefixListEntriesInput) GoString() string {
89453	return s.String()
89454}
89455
89456// Validate inspects the fields of the type to determine if they are valid.
89457func (s *GetManagedPrefixListEntriesInput) Validate() error {
89458	invalidParams := request.ErrInvalidParams{Context: "GetManagedPrefixListEntriesInput"}
89459	if s.MaxResults != nil && *s.MaxResults < 1 {
89460		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
89461	}
89462	if s.PrefixListId == nil {
89463		invalidParams.Add(request.NewErrParamRequired("PrefixListId"))
89464	}
89465
89466	if invalidParams.Len() > 0 {
89467		return invalidParams
89468	}
89469	return nil
89470}
89471
89472// SetDryRun sets the DryRun field's value.
89473func (s *GetManagedPrefixListEntriesInput) SetDryRun(v bool) *GetManagedPrefixListEntriesInput {
89474	s.DryRun = &v
89475	return s
89476}
89477
89478// SetMaxResults sets the MaxResults field's value.
89479func (s *GetManagedPrefixListEntriesInput) SetMaxResults(v int64) *GetManagedPrefixListEntriesInput {
89480	s.MaxResults = &v
89481	return s
89482}
89483
89484// SetNextToken sets the NextToken field's value.
89485func (s *GetManagedPrefixListEntriesInput) SetNextToken(v string) *GetManagedPrefixListEntriesInput {
89486	s.NextToken = &v
89487	return s
89488}
89489
89490// SetPrefixListId sets the PrefixListId field's value.
89491func (s *GetManagedPrefixListEntriesInput) SetPrefixListId(v string) *GetManagedPrefixListEntriesInput {
89492	s.PrefixListId = &v
89493	return s
89494}
89495
89496// SetTargetVersion sets the TargetVersion field's value.
89497func (s *GetManagedPrefixListEntriesInput) SetTargetVersion(v int64) *GetManagedPrefixListEntriesInput {
89498	s.TargetVersion = &v
89499	return s
89500}
89501
89502type GetManagedPrefixListEntriesOutput struct {
89503	_ struct{} `type:"structure"`
89504
89505	// Information about the prefix list entries.
89506	Entries []*PrefixListEntry `locationName:"entrySet" locationNameList:"item" type:"list"`
89507
89508	// The token to use to retrieve the next page of results. This value is null
89509	// when there are no more results to return.
89510	NextToken *string `locationName:"nextToken" type:"string"`
89511}
89512
89513// String returns the string representation
89514func (s GetManagedPrefixListEntriesOutput) String() string {
89515	return awsutil.Prettify(s)
89516}
89517
89518// GoString returns the string representation
89519func (s GetManagedPrefixListEntriesOutput) GoString() string {
89520	return s.String()
89521}
89522
89523// SetEntries sets the Entries field's value.
89524func (s *GetManagedPrefixListEntriesOutput) SetEntries(v []*PrefixListEntry) *GetManagedPrefixListEntriesOutput {
89525	s.Entries = v
89526	return s
89527}
89528
89529// SetNextToken sets the NextToken field's value.
89530func (s *GetManagedPrefixListEntriesOutput) SetNextToken(v string) *GetManagedPrefixListEntriesOutput {
89531	s.NextToken = &v
89532	return s
89533}
89534
89535type GetPasswordDataInput struct {
89536	_ struct{} `type:"structure"`
89537
89538	// Checks whether you have the required permissions for the action, without
89539	// actually making the request, and provides an error response. If you have
89540	// the required permissions, the error response is DryRunOperation. Otherwise,
89541	// it is UnauthorizedOperation.
89542	DryRun *bool `locationName:"dryRun" type:"boolean"`
89543
89544	// The ID of the Windows instance.
89545	//
89546	// InstanceId is a required field
89547	InstanceId *string `type:"string" required:"true"`
89548}
89549
89550// String returns the string representation
89551func (s GetPasswordDataInput) String() string {
89552	return awsutil.Prettify(s)
89553}
89554
89555// GoString returns the string representation
89556func (s GetPasswordDataInput) GoString() string {
89557	return s.String()
89558}
89559
89560// Validate inspects the fields of the type to determine if they are valid.
89561func (s *GetPasswordDataInput) Validate() error {
89562	invalidParams := request.ErrInvalidParams{Context: "GetPasswordDataInput"}
89563	if s.InstanceId == nil {
89564		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
89565	}
89566
89567	if invalidParams.Len() > 0 {
89568		return invalidParams
89569	}
89570	return nil
89571}
89572
89573// SetDryRun sets the DryRun field's value.
89574func (s *GetPasswordDataInput) SetDryRun(v bool) *GetPasswordDataInput {
89575	s.DryRun = &v
89576	return s
89577}
89578
89579// SetInstanceId sets the InstanceId field's value.
89580func (s *GetPasswordDataInput) SetInstanceId(v string) *GetPasswordDataInput {
89581	s.InstanceId = &v
89582	return s
89583}
89584
89585type GetPasswordDataOutput struct {
89586	_ struct{} `type:"structure"`
89587
89588	// The ID of the Windows instance.
89589	InstanceId *string `locationName:"instanceId" type:"string"`
89590
89591	// The password of the instance. Returns an empty string if the password is
89592	// not available.
89593	PasswordData *string `locationName:"passwordData" type:"string"`
89594
89595	// The time the data was last updated.
89596	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
89597}
89598
89599// String returns the string representation
89600func (s GetPasswordDataOutput) String() string {
89601	return awsutil.Prettify(s)
89602}
89603
89604// GoString returns the string representation
89605func (s GetPasswordDataOutput) GoString() string {
89606	return s.String()
89607}
89608
89609// SetInstanceId sets the InstanceId field's value.
89610func (s *GetPasswordDataOutput) SetInstanceId(v string) *GetPasswordDataOutput {
89611	s.InstanceId = &v
89612	return s
89613}
89614
89615// SetPasswordData sets the PasswordData field's value.
89616func (s *GetPasswordDataOutput) SetPasswordData(v string) *GetPasswordDataOutput {
89617	s.PasswordData = &v
89618	return s
89619}
89620
89621// SetTimestamp sets the Timestamp field's value.
89622func (s *GetPasswordDataOutput) SetTimestamp(v time.Time) *GetPasswordDataOutput {
89623	s.Timestamp = &v
89624	return s
89625}
89626
89627// Contains the parameters for GetReservedInstanceExchangeQuote.
89628type GetReservedInstancesExchangeQuoteInput struct {
89629	_ struct{} `type:"structure"`
89630
89631	// Checks whether you have the required permissions for the action, without
89632	// actually making the request, and provides an error response. If you have
89633	// the required permissions, the error response is DryRunOperation. Otherwise,
89634	// it is UnauthorizedOperation.
89635	DryRun *bool `type:"boolean"`
89636
89637	// The IDs of the Convertible Reserved Instances to exchange.
89638	//
89639	// ReservedInstanceIds is a required field
89640	ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
89641
89642	// The configuration of the target Convertible Reserved Instance to exchange
89643	// for your current Convertible Reserved Instances.
89644	TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
89645}
89646
89647// String returns the string representation
89648func (s GetReservedInstancesExchangeQuoteInput) String() string {
89649	return awsutil.Prettify(s)
89650}
89651
89652// GoString returns the string representation
89653func (s GetReservedInstancesExchangeQuoteInput) GoString() string {
89654	return s.String()
89655}
89656
89657// Validate inspects the fields of the type to determine if they are valid.
89658func (s *GetReservedInstancesExchangeQuoteInput) Validate() error {
89659	invalidParams := request.ErrInvalidParams{Context: "GetReservedInstancesExchangeQuoteInput"}
89660	if s.ReservedInstanceIds == nil {
89661		invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
89662	}
89663	if s.TargetConfigurations != nil {
89664		for i, v := range s.TargetConfigurations {
89665			if v == nil {
89666				continue
89667			}
89668			if err := v.Validate(); err != nil {
89669				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
89670			}
89671		}
89672	}
89673
89674	if invalidParams.Len() > 0 {
89675		return invalidParams
89676	}
89677	return nil
89678}
89679
89680// SetDryRun sets the DryRun field's value.
89681func (s *GetReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *GetReservedInstancesExchangeQuoteInput {
89682	s.DryRun = &v
89683	return s
89684}
89685
89686// SetReservedInstanceIds sets the ReservedInstanceIds field's value.
89687func (s *GetReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *GetReservedInstancesExchangeQuoteInput {
89688	s.ReservedInstanceIds = v
89689	return s
89690}
89691
89692// SetTargetConfigurations sets the TargetConfigurations field's value.
89693func (s *GetReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *GetReservedInstancesExchangeQuoteInput {
89694	s.TargetConfigurations = v
89695	return s
89696}
89697
89698// Contains the output of GetReservedInstancesExchangeQuote.
89699type GetReservedInstancesExchangeQuoteOutput struct {
89700	_ struct{} `type:"structure"`
89701
89702	// The currency of the transaction.
89703	CurrencyCode *string `locationName:"currencyCode" type:"string"`
89704
89705	// If true, the exchange is valid. If false, the exchange cannot be completed.
89706	IsValidExchange *bool `locationName:"isValidExchange" type:"boolean"`
89707
89708	// The new end date of the reservation term.
89709	OutputReservedInstancesWillExpireAt *time.Time `locationName:"outputReservedInstancesWillExpireAt" type:"timestamp"`
89710
89711	// The total true upfront charge for the exchange.
89712	PaymentDue *string `locationName:"paymentDue" type:"string"`
89713
89714	// The cost associated with the Reserved Instance.
89715	ReservedInstanceValueRollup *ReservationValue `locationName:"reservedInstanceValueRollup" type:"structure"`
89716
89717	// The configuration of your Convertible Reserved Instances.
89718	ReservedInstanceValueSet []*ReservedInstanceReservationValue `locationName:"reservedInstanceValueSet" locationNameList:"item" type:"list"`
89719
89720	// The cost associated with the Reserved Instance.
89721	TargetConfigurationValueRollup *ReservationValue `locationName:"targetConfigurationValueRollup" type:"structure"`
89722
89723	// The values of the target Convertible Reserved Instances.
89724	TargetConfigurationValueSet []*TargetReservationValue `locationName:"targetConfigurationValueSet" locationNameList:"item" type:"list"`
89725
89726	// Describes the reason why the exchange cannot be completed.
89727	ValidationFailureReason *string `locationName:"validationFailureReason" type:"string"`
89728}
89729
89730// String returns the string representation
89731func (s GetReservedInstancesExchangeQuoteOutput) String() string {
89732	return awsutil.Prettify(s)
89733}
89734
89735// GoString returns the string representation
89736func (s GetReservedInstancesExchangeQuoteOutput) GoString() string {
89737	return s.String()
89738}
89739
89740// SetCurrencyCode sets the CurrencyCode field's value.
89741func (s *GetReservedInstancesExchangeQuoteOutput) SetCurrencyCode(v string) *GetReservedInstancesExchangeQuoteOutput {
89742	s.CurrencyCode = &v
89743	return s
89744}
89745
89746// SetIsValidExchange sets the IsValidExchange field's value.
89747func (s *GetReservedInstancesExchangeQuoteOutput) SetIsValidExchange(v bool) *GetReservedInstancesExchangeQuoteOutput {
89748	s.IsValidExchange = &v
89749	return s
89750}
89751
89752// SetOutputReservedInstancesWillExpireAt sets the OutputReservedInstancesWillExpireAt field's value.
89753func (s *GetReservedInstancesExchangeQuoteOutput) SetOutputReservedInstancesWillExpireAt(v time.Time) *GetReservedInstancesExchangeQuoteOutput {
89754	s.OutputReservedInstancesWillExpireAt = &v
89755	return s
89756}
89757
89758// SetPaymentDue sets the PaymentDue field's value.
89759func (s *GetReservedInstancesExchangeQuoteOutput) SetPaymentDue(v string) *GetReservedInstancesExchangeQuoteOutput {
89760	s.PaymentDue = &v
89761	return s
89762}
89763
89764// SetReservedInstanceValueRollup sets the ReservedInstanceValueRollup field's value.
89765func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
89766	s.ReservedInstanceValueRollup = v
89767	return s
89768}
89769
89770// SetReservedInstanceValueSet sets the ReservedInstanceValueSet field's value.
89771func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueSet(v []*ReservedInstanceReservationValue) *GetReservedInstancesExchangeQuoteOutput {
89772	s.ReservedInstanceValueSet = v
89773	return s
89774}
89775
89776// SetTargetConfigurationValueRollup sets the TargetConfigurationValueRollup field's value.
89777func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
89778	s.TargetConfigurationValueRollup = v
89779	return s
89780}
89781
89782// SetTargetConfigurationValueSet sets the TargetConfigurationValueSet field's value.
89783func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueSet(v []*TargetReservationValue) *GetReservedInstancesExchangeQuoteOutput {
89784	s.TargetConfigurationValueSet = v
89785	return s
89786}
89787
89788// SetValidationFailureReason sets the ValidationFailureReason field's value.
89789func (s *GetReservedInstancesExchangeQuoteOutput) SetValidationFailureReason(v string) *GetReservedInstancesExchangeQuoteOutput {
89790	s.ValidationFailureReason = &v
89791	return s
89792}
89793
89794type GetSerialConsoleAccessStatusInput struct {
89795	_ struct{} `type:"structure"`
89796
89797	// Checks whether you have the required permissions for the action, without
89798	// actually making the request, and provides an error response. If you have
89799	// the required permissions, the error response is DryRunOperation. Otherwise,
89800	// it is UnauthorizedOperation.
89801	DryRun *bool `type:"boolean"`
89802}
89803
89804// String returns the string representation
89805func (s GetSerialConsoleAccessStatusInput) String() string {
89806	return awsutil.Prettify(s)
89807}
89808
89809// GoString returns the string representation
89810func (s GetSerialConsoleAccessStatusInput) GoString() string {
89811	return s.String()
89812}
89813
89814// SetDryRun sets the DryRun field's value.
89815func (s *GetSerialConsoleAccessStatusInput) SetDryRun(v bool) *GetSerialConsoleAccessStatusInput {
89816	s.DryRun = &v
89817	return s
89818}
89819
89820type GetSerialConsoleAccessStatusOutput struct {
89821	_ struct{} `type:"structure"`
89822
89823	// If true, access to the EC2 serial console of all instances is enabled for
89824	// your account. If false, access to the EC2 serial console of all instances
89825	// is disabled for your account.
89826	SerialConsoleAccessEnabled *bool `locationName:"serialConsoleAccessEnabled" type:"boolean"`
89827}
89828
89829// String returns the string representation
89830func (s GetSerialConsoleAccessStatusOutput) String() string {
89831	return awsutil.Prettify(s)
89832}
89833
89834// GoString returns the string representation
89835func (s GetSerialConsoleAccessStatusOutput) GoString() string {
89836	return s.String()
89837}
89838
89839// SetSerialConsoleAccessEnabled sets the SerialConsoleAccessEnabled field's value.
89840func (s *GetSerialConsoleAccessStatusOutput) SetSerialConsoleAccessEnabled(v bool) *GetSerialConsoleAccessStatusOutput {
89841	s.SerialConsoleAccessEnabled = &v
89842	return s
89843}
89844
89845type GetSubnetCidrReservationsInput struct {
89846	_ struct{} `type:"structure"`
89847
89848	// Checks whether you have the required permissions for the action, without
89849	// actually making the request, and provides an error response. If you have
89850	// the required permissions, the error response is DryRunOperation. Otherwise,
89851	// it is UnauthorizedOperation.
89852	DryRun *bool `type:"boolean"`
89853
89854	// One or more filters.
89855	//
89856	//    * reservationType - The type of reservation (prefix | explicit).
89857	//
89858	//    * subnet-id - The ID of the subnet.
89859	//
89860	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
89861	//    Use the tag key in the filter name and the tag value as the filter value.
89862	//    For example, to find all resources that have a tag with the key Owner
89863	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
89864	//    the filter value.
89865	//
89866	//    * tag-key - The key of a tag assigned to the resource. Use this filter
89867	//    to find all resources assigned a tag with a specific key, regardless of
89868	//    the tag value.
89869	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
89870
89871	// The maximum number of results to return with a single call. To retrieve the
89872	// remaining results, make another call with the returned nextToken value.
89873	MaxResults *int64 `min:"5" type:"integer"`
89874
89875	// The token for the next page of results.
89876	NextToken *string `type:"string"`
89877
89878	// The ID of the subnet.
89879	//
89880	// SubnetId is a required field
89881	SubnetId *string `type:"string" required:"true"`
89882}
89883
89884// String returns the string representation
89885func (s GetSubnetCidrReservationsInput) String() string {
89886	return awsutil.Prettify(s)
89887}
89888
89889// GoString returns the string representation
89890func (s GetSubnetCidrReservationsInput) GoString() string {
89891	return s.String()
89892}
89893
89894// Validate inspects the fields of the type to determine if they are valid.
89895func (s *GetSubnetCidrReservationsInput) Validate() error {
89896	invalidParams := request.ErrInvalidParams{Context: "GetSubnetCidrReservationsInput"}
89897	if s.MaxResults != nil && *s.MaxResults < 5 {
89898		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
89899	}
89900	if s.SubnetId == nil {
89901		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
89902	}
89903
89904	if invalidParams.Len() > 0 {
89905		return invalidParams
89906	}
89907	return nil
89908}
89909
89910// SetDryRun sets the DryRun field's value.
89911func (s *GetSubnetCidrReservationsInput) SetDryRun(v bool) *GetSubnetCidrReservationsInput {
89912	s.DryRun = &v
89913	return s
89914}
89915
89916// SetFilters sets the Filters field's value.
89917func (s *GetSubnetCidrReservationsInput) SetFilters(v []*Filter) *GetSubnetCidrReservationsInput {
89918	s.Filters = v
89919	return s
89920}
89921
89922// SetMaxResults sets the MaxResults field's value.
89923func (s *GetSubnetCidrReservationsInput) SetMaxResults(v int64) *GetSubnetCidrReservationsInput {
89924	s.MaxResults = &v
89925	return s
89926}
89927
89928// SetNextToken sets the NextToken field's value.
89929func (s *GetSubnetCidrReservationsInput) SetNextToken(v string) *GetSubnetCidrReservationsInput {
89930	s.NextToken = &v
89931	return s
89932}
89933
89934// SetSubnetId sets the SubnetId field's value.
89935func (s *GetSubnetCidrReservationsInput) SetSubnetId(v string) *GetSubnetCidrReservationsInput {
89936	s.SubnetId = &v
89937	return s
89938}
89939
89940type GetSubnetCidrReservationsOutput struct {
89941	_ struct{} `type:"structure"`
89942
89943	// The token to use to retrieve the next page of results. This value is null
89944	// when there are no more results to return.
89945	NextToken *string `locationName:"nextToken" type:"string"`
89946
89947	// Information about the IPv4 subnet CIDR reservations.
89948	SubnetIpv4CidrReservations []*SubnetCidrReservation `locationName:"subnetIpv4CidrReservationSet" locationNameList:"item" type:"list"`
89949
89950	// Information about the IPv6 subnet CIDR reservations.
89951	SubnetIpv6CidrReservations []*SubnetCidrReservation `locationName:"subnetIpv6CidrReservationSet" locationNameList:"item" type:"list"`
89952}
89953
89954// String returns the string representation
89955func (s GetSubnetCidrReservationsOutput) String() string {
89956	return awsutil.Prettify(s)
89957}
89958
89959// GoString returns the string representation
89960func (s GetSubnetCidrReservationsOutput) GoString() string {
89961	return s.String()
89962}
89963
89964// SetNextToken sets the NextToken field's value.
89965func (s *GetSubnetCidrReservationsOutput) SetNextToken(v string) *GetSubnetCidrReservationsOutput {
89966	s.NextToken = &v
89967	return s
89968}
89969
89970// SetSubnetIpv4CidrReservations sets the SubnetIpv4CidrReservations field's value.
89971func (s *GetSubnetCidrReservationsOutput) SetSubnetIpv4CidrReservations(v []*SubnetCidrReservation) *GetSubnetCidrReservationsOutput {
89972	s.SubnetIpv4CidrReservations = v
89973	return s
89974}
89975
89976// SetSubnetIpv6CidrReservations sets the SubnetIpv6CidrReservations field's value.
89977func (s *GetSubnetCidrReservationsOutput) SetSubnetIpv6CidrReservations(v []*SubnetCidrReservation) *GetSubnetCidrReservationsOutput {
89978	s.SubnetIpv6CidrReservations = v
89979	return s
89980}
89981
89982type GetTransitGatewayAttachmentPropagationsInput struct {
89983	_ struct{} `type:"structure"`
89984
89985	// Checks whether you have the required permissions for the action, without
89986	// actually making the request, and provides an error response. If you have
89987	// the required permissions, the error response is DryRunOperation. Otherwise,
89988	// it is UnauthorizedOperation.
89989	DryRun *bool `type:"boolean"`
89990
89991	// One or more filters. The possible values are:
89992	//
89993	//    * transit-gateway-route-table-id - The ID of the transit gateway route
89994	//    table.
89995	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
89996
89997	// The maximum number of results to return with a single call. To retrieve the
89998	// remaining results, make another call with the returned nextToken value.
89999	MaxResults *int64 `min:"5" type:"integer"`
90000
90001	// The token for the next page of results.
90002	NextToken *string `type:"string"`
90003
90004	// The ID of the attachment.
90005	//
90006	// TransitGatewayAttachmentId is a required field
90007	TransitGatewayAttachmentId *string `type:"string" required:"true"`
90008}
90009
90010// String returns the string representation
90011func (s GetTransitGatewayAttachmentPropagationsInput) String() string {
90012	return awsutil.Prettify(s)
90013}
90014
90015// GoString returns the string representation
90016func (s GetTransitGatewayAttachmentPropagationsInput) GoString() string {
90017	return s.String()
90018}
90019
90020// Validate inspects the fields of the type to determine if they are valid.
90021func (s *GetTransitGatewayAttachmentPropagationsInput) Validate() error {
90022	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayAttachmentPropagationsInput"}
90023	if s.MaxResults != nil && *s.MaxResults < 5 {
90024		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
90025	}
90026	if s.TransitGatewayAttachmentId == nil {
90027		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
90028	}
90029
90030	if invalidParams.Len() > 0 {
90031		return invalidParams
90032	}
90033	return nil
90034}
90035
90036// SetDryRun sets the DryRun field's value.
90037func (s *GetTransitGatewayAttachmentPropagationsInput) SetDryRun(v bool) *GetTransitGatewayAttachmentPropagationsInput {
90038	s.DryRun = &v
90039	return s
90040}
90041
90042// SetFilters sets the Filters field's value.
90043func (s *GetTransitGatewayAttachmentPropagationsInput) SetFilters(v []*Filter) *GetTransitGatewayAttachmentPropagationsInput {
90044	s.Filters = v
90045	return s
90046}
90047
90048// SetMaxResults sets the MaxResults field's value.
90049func (s *GetTransitGatewayAttachmentPropagationsInput) SetMaxResults(v int64) *GetTransitGatewayAttachmentPropagationsInput {
90050	s.MaxResults = &v
90051	return s
90052}
90053
90054// SetNextToken sets the NextToken field's value.
90055func (s *GetTransitGatewayAttachmentPropagationsInput) SetNextToken(v string) *GetTransitGatewayAttachmentPropagationsInput {
90056	s.NextToken = &v
90057	return s
90058}
90059
90060// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
90061func (s *GetTransitGatewayAttachmentPropagationsInput) SetTransitGatewayAttachmentId(v string) *GetTransitGatewayAttachmentPropagationsInput {
90062	s.TransitGatewayAttachmentId = &v
90063	return s
90064}
90065
90066type GetTransitGatewayAttachmentPropagationsOutput struct {
90067	_ struct{} `type:"structure"`
90068
90069	// The token to use to retrieve the next page of results. This value is null
90070	// when there are no more results to return.
90071	NextToken *string `locationName:"nextToken" type:"string"`
90072
90073	// Information about the propagation route tables.
90074	TransitGatewayAttachmentPropagations []*TransitGatewayAttachmentPropagation `locationName:"transitGatewayAttachmentPropagations" locationNameList:"item" type:"list"`
90075}
90076
90077// String returns the string representation
90078func (s GetTransitGatewayAttachmentPropagationsOutput) String() string {
90079	return awsutil.Prettify(s)
90080}
90081
90082// GoString returns the string representation
90083func (s GetTransitGatewayAttachmentPropagationsOutput) GoString() string {
90084	return s.String()
90085}
90086
90087// SetNextToken sets the NextToken field's value.
90088func (s *GetTransitGatewayAttachmentPropagationsOutput) SetNextToken(v string) *GetTransitGatewayAttachmentPropagationsOutput {
90089	s.NextToken = &v
90090	return s
90091}
90092
90093// SetTransitGatewayAttachmentPropagations sets the TransitGatewayAttachmentPropagations field's value.
90094func (s *GetTransitGatewayAttachmentPropagationsOutput) SetTransitGatewayAttachmentPropagations(v []*TransitGatewayAttachmentPropagation) *GetTransitGatewayAttachmentPropagationsOutput {
90095	s.TransitGatewayAttachmentPropagations = v
90096	return s
90097}
90098
90099type GetTransitGatewayMulticastDomainAssociationsInput struct {
90100	_ struct{} `type:"structure"`
90101
90102	// Checks whether you have the required permissions for the action, without
90103	// actually making the request, and provides an error response. If you have
90104	// the required permissions, the error response is DryRunOperation. Otherwise,
90105	// it is UnauthorizedOperation.
90106	DryRun *bool `type:"boolean"`
90107
90108	// One or more filters. The possible values are:
90109	//
90110	//    * resource-id - The ID of the resource.
90111	//
90112	//    * resource-type - The type of resource. The valid value is: vpc.
90113	//
90114	//    * state - The state of the subnet association. Valid values are associated
90115	//    | associating | disassociated | disassociating.
90116	//
90117	//    * subnet-id - The ID of the subnet.
90118	//
90119	//    * transit-gateway-attachment-id - The id of the transit gateway attachment.
90120	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
90121
90122	// The maximum number of results to return with a single call. To retrieve the
90123	// remaining results, make another call with the returned nextToken value.
90124	MaxResults *int64 `min:"5" type:"integer"`
90125
90126	// The token for the next page of results.
90127	NextToken *string `type:"string"`
90128
90129	// The ID of the transit gateway multicast domain.
90130	TransitGatewayMulticastDomainId *string `type:"string"`
90131}
90132
90133// String returns the string representation
90134func (s GetTransitGatewayMulticastDomainAssociationsInput) String() string {
90135	return awsutil.Prettify(s)
90136}
90137
90138// GoString returns the string representation
90139func (s GetTransitGatewayMulticastDomainAssociationsInput) GoString() string {
90140	return s.String()
90141}
90142
90143// Validate inspects the fields of the type to determine if they are valid.
90144func (s *GetTransitGatewayMulticastDomainAssociationsInput) Validate() error {
90145	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayMulticastDomainAssociationsInput"}
90146	if s.MaxResults != nil && *s.MaxResults < 5 {
90147		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
90148	}
90149
90150	if invalidParams.Len() > 0 {
90151		return invalidParams
90152	}
90153	return nil
90154}
90155
90156// SetDryRun sets the DryRun field's value.
90157func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetDryRun(v bool) *GetTransitGatewayMulticastDomainAssociationsInput {
90158	s.DryRun = &v
90159	return s
90160}
90161
90162// SetFilters sets the Filters field's value.
90163func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetFilters(v []*Filter) *GetTransitGatewayMulticastDomainAssociationsInput {
90164	s.Filters = v
90165	return s
90166}
90167
90168// SetMaxResults sets the MaxResults field's value.
90169func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetMaxResults(v int64) *GetTransitGatewayMulticastDomainAssociationsInput {
90170	s.MaxResults = &v
90171	return s
90172}
90173
90174// SetNextToken sets the NextToken field's value.
90175func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetNextToken(v string) *GetTransitGatewayMulticastDomainAssociationsInput {
90176	s.NextToken = &v
90177	return s
90178}
90179
90180// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
90181func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetTransitGatewayMulticastDomainId(v string) *GetTransitGatewayMulticastDomainAssociationsInput {
90182	s.TransitGatewayMulticastDomainId = &v
90183	return s
90184}
90185
90186type GetTransitGatewayMulticastDomainAssociationsOutput struct {
90187	_ struct{} `type:"structure"`
90188
90189	// Information about the multicast domain associations.
90190	MulticastDomainAssociations []*TransitGatewayMulticastDomainAssociation `locationName:"multicastDomainAssociations" locationNameList:"item" type:"list"`
90191
90192	// The token to use to retrieve the next page of results. This value is null
90193	// when there are no more results to return.
90194	NextToken *string `locationName:"nextToken" type:"string"`
90195}
90196
90197// String returns the string representation
90198func (s GetTransitGatewayMulticastDomainAssociationsOutput) String() string {
90199	return awsutil.Prettify(s)
90200}
90201
90202// GoString returns the string representation
90203func (s GetTransitGatewayMulticastDomainAssociationsOutput) GoString() string {
90204	return s.String()
90205}
90206
90207// SetMulticastDomainAssociations sets the MulticastDomainAssociations field's value.
90208func (s *GetTransitGatewayMulticastDomainAssociationsOutput) SetMulticastDomainAssociations(v []*TransitGatewayMulticastDomainAssociation) *GetTransitGatewayMulticastDomainAssociationsOutput {
90209	s.MulticastDomainAssociations = v
90210	return s
90211}
90212
90213// SetNextToken sets the NextToken field's value.
90214func (s *GetTransitGatewayMulticastDomainAssociationsOutput) SetNextToken(v string) *GetTransitGatewayMulticastDomainAssociationsOutput {
90215	s.NextToken = &v
90216	return s
90217}
90218
90219type GetTransitGatewayPrefixListReferencesInput struct {
90220	_ struct{} `type:"structure"`
90221
90222	// Checks whether you have the required permissions for the action, without
90223	// actually making the request, and provides an error response. If you have
90224	// the required permissions, the error response is DryRunOperation. Otherwise,
90225	// it is UnauthorizedOperation.
90226	DryRun *bool `type:"boolean"`
90227
90228	// One or more filters. The possible values are:
90229	//
90230	//    * attachment.resource-id - The ID of the resource for the attachment.
90231	//
90232	//    * attachment.resource-type - The type of resource for the attachment.
90233	//    Valid values are vpc | vpn | direct-connect-gateway | peering.
90234	//
90235	//    * attachment.transit-gateway-attachment-id - The ID of the attachment.
90236	//
90237	//    * is-blackhole - Whether traffic matching the route is blocked (true |
90238	//    false).
90239	//
90240	//    * prefix-list-id - The ID of the prefix list.
90241	//
90242	//    * prefix-list-owner-id - The ID of the owner of the prefix list.
90243	//
90244	//    * state - The state of the prefix list reference (pending | available
90245	//    | modifying | deleting).
90246	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
90247
90248	// The maximum number of results to return with a single call. To retrieve the
90249	// remaining results, make another call with the returned nextToken value.
90250	MaxResults *int64 `min:"5" type:"integer"`
90251
90252	// The token for the next page of results.
90253	NextToken *string `type:"string"`
90254
90255	// The ID of the transit gateway route table.
90256	//
90257	// TransitGatewayRouteTableId is a required field
90258	TransitGatewayRouteTableId *string `type:"string" required:"true"`
90259}
90260
90261// String returns the string representation
90262func (s GetTransitGatewayPrefixListReferencesInput) String() string {
90263	return awsutil.Prettify(s)
90264}
90265
90266// GoString returns the string representation
90267func (s GetTransitGatewayPrefixListReferencesInput) GoString() string {
90268	return s.String()
90269}
90270
90271// Validate inspects the fields of the type to determine if they are valid.
90272func (s *GetTransitGatewayPrefixListReferencesInput) Validate() error {
90273	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayPrefixListReferencesInput"}
90274	if s.MaxResults != nil && *s.MaxResults < 5 {
90275		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
90276	}
90277	if s.TransitGatewayRouteTableId == nil {
90278		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
90279	}
90280
90281	if invalidParams.Len() > 0 {
90282		return invalidParams
90283	}
90284	return nil
90285}
90286
90287// SetDryRun sets the DryRun field's value.
90288func (s *GetTransitGatewayPrefixListReferencesInput) SetDryRun(v bool) *GetTransitGatewayPrefixListReferencesInput {
90289	s.DryRun = &v
90290	return s
90291}
90292
90293// SetFilters sets the Filters field's value.
90294func (s *GetTransitGatewayPrefixListReferencesInput) SetFilters(v []*Filter) *GetTransitGatewayPrefixListReferencesInput {
90295	s.Filters = v
90296	return s
90297}
90298
90299// SetMaxResults sets the MaxResults field's value.
90300func (s *GetTransitGatewayPrefixListReferencesInput) SetMaxResults(v int64) *GetTransitGatewayPrefixListReferencesInput {
90301	s.MaxResults = &v
90302	return s
90303}
90304
90305// SetNextToken sets the NextToken field's value.
90306func (s *GetTransitGatewayPrefixListReferencesInput) SetNextToken(v string) *GetTransitGatewayPrefixListReferencesInput {
90307	s.NextToken = &v
90308	return s
90309}
90310
90311// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
90312func (s *GetTransitGatewayPrefixListReferencesInput) SetTransitGatewayRouteTableId(v string) *GetTransitGatewayPrefixListReferencesInput {
90313	s.TransitGatewayRouteTableId = &v
90314	return s
90315}
90316
90317type GetTransitGatewayPrefixListReferencesOutput struct {
90318	_ struct{} `type:"structure"`
90319
90320	// The token to use to retrieve the next page of results. This value is null
90321	// when there are no more results to return.
90322	NextToken *string `locationName:"nextToken" type:"string"`
90323
90324	// Information about the prefix list references.
90325	TransitGatewayPrefixListReferences []*TransitGatewayPrefixListReference `locationName:"transitGatewayPrefixListReferenceSet" locationNameList:"item" type:"list"`
90326}
90327
90328// String returns the string representation
90329func (s GetTransitGatewayPrefixListReferencesOutput) String() string {
90330	return awsutil.Prettify(s)
90331}
90332
90333// GoString returns the string representation
90334func (s GetTransitGatewayPrefixListReferencesOutput) GoString() string {
90335	return s.String()
90336}
90337
90338// SetNextToken sets the NextToken field's value.
90339func (s *GetTransitGatewayPrefixListReferencesOutput) SetNextToken(v string) *GetTransitGatewayPrefixListReferencesOutput {
90340	s.NextToken = &v
90341	return s
90342}
90343
90344// SetTransitGatewayPrefixListReferences sets the TransitGatewayPrefixListReferences field's value.
90345func (s *GetTransitGatewayPrefixListReferencesOutput) SetTransitGatewayPrefixListReferences(v []*TransitGatewayPrefixListReference) *GetTransitGatewayPrefixListReferencesOutput {
90346	s.TransitGatewayPrefixListReferences = v
90347	return s
90348}
90349
90350type GetTransitGatewayRouteTableAssociationsInput struct {
90351	_ struct{} `type:"structure"`
90352
90353	// Checks whether you have the required permissions for the action, without
90354	// actually making the request, and provides an error response. If you have
90355	// the required permissions, the error response is DryRunOperation. Otherwise,
90356	// it is UnauthorizedOperation.
90357	DryRun *bool `type:"boolean"`
90358
90359	// One or more filters. The possible values are:
90360	//
90361	//    * resource-id - The ID of the resource.
90362	//
90363	//    * resource-type - The resource type. Valid values are vpc | vpn | direct-connect-gateway
90364	//    | peering | connect.
90365	//
90366	//    * transit-gateway-attachment-id - The ID of the attachment.
90367	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
90368
90369	// The maximum number of results to return with a single call. To retrieve the
90370	// remaining results, make another call with the returned nextToken value.
90371	MaxResults *int64 `min:"5" type:"integer"`
90372
90373	// The token for the next page of results.
90374	NextToken *string `type:"string"`
90375
90376	// The ID of the transit gateway route table.
90377	//
90378	// TransitGatewayRouteTableId is a required field
90379	TransitGatewayRouteTableId *string `type:"string" required:"true"`
90380}
90381
90382// String returns the string representation
90383func (s GetTransitGatewayRouteTableAssociationsInput) String() string {
90384	return awsutil.Prettify(s)
90385}
90386
90387// GoString returns the string representation
90388func (s GetTransitGatewayRouteTableAssociationsInput) GoString() string {
90389	return s.String()
90390}
90391
90392// Validate inspects the fields of the type to determine if they are valid.
90393func (s *GetTransitGatewayRouteTableAssociationsInput) Validate() error {
90394	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayRouteTableAssociationsInput"}
90395	if s.MaxResults != nil && *s.MaxResults < 5 {
90396		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
90397	}
90398	if s.TransitGatewayRouteTableId == nil {
90399		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
90400	}
90401
90402	if invalidParams.Len() > 0 {
90403		return invalidParams
90404	}
90405	return nil
90406}
90407
90408// SetDryRun sets the DryRun field's value.
90409func (s *GetTransitGatewayRouteTableAssociationsInput) SetDryRun(v bool) *GetTransitGatewayRouteTableAssociationsInput {
90410	s.DryRun = &v
90411	return s
90412}
90413
90414// SetFilters sets the Filters field's value.
90415func (s *GetTransitGatewayRouteTableAssociationsInput) SetFilters(v []*Filter) *GetTransitGatewayRouteTableAssociationsInput {
90416	s.Filters = v
90417	return s
90418}
90419
90420// SetMaxResults sets the MaxResults field's value.
90421func (s *GetTransitGatewayRouteTableAssociationsInput) SetMaxResults(v int64) *GetTransitGatewayRouteTableAssociationsInput {
90422	s.MaxResults = &v
90423	return s
90424}
90425
90426// SetNextToken sets the NextToken field's value.
90427func (s *GetTransitGatewayRouteTableAssociationsInput) SetNextToken(v string) *GetTransitGatewayRouteTableAssociationsInput {
90428	s.NextToken = &v
90429	return s
90430}
90431
90432// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
90433func (s *GetTransitGatewayRouteTableAssociationsInput) SetTransitGatewayRouteTableId(v string) *GetTransitGatewayRouteTableAssociationsInput {
90434	s.TransitGatewayRouteTableId = &v
90435	return s
90436}
90437
90438type GetTransitGatewayRouteTableAssociationsOutput struct {
90439	_ struct{} `type:"structure"`
90440
90441	// Information about the associations.
90442	Associations []*TransitGatewayRouteTableAssociation `locationName:"associations" locationNameList:"item" type:"list"`
90443
90444	// The token to use to retrieve the next page of results. This value is null
90445	// when there are no more results to return.
90446	NextToken *string `locationName:"nextToken" type:"string"`
90447}
90448
90449// String returns the string representation
90450func (s GetTransitGatewayRouteTableAssociationsOutput) String() string {
90451	return awsutil.Prettify(s)
90452}
90453
90454// GoString returns the string representation
90455func (s GetTransitGatewayRouteTableAssociationsOutput) GoString() string {
90456	return s.String()
90457}
90458
90459// SetAssociations sets the Associations field's value.
90460func (s *GetTransitGatewayRouteTableAssociationsOutput) SetAssociations(v []*TransitGatewayRouteTableAssociation) *GetTransitGatewayRouteTableAssociationsOutput {
90461	s.Associations = v
90462	return s
90463}
90464
90465// SetNextToken sets the NextToken field's value.
90466func (s *GetTransitGatewayRouteTableAssociationsOutput) SetNextToken(v string) *GetTransitGatewayRouteTableAssociationsOutput {
90467	s.NextToken = &v
90468	return s
90469}
90470
90471type GetTransitGatewayRouteTablePropagationsInput struct {
90472	_ struct{} `type:"structure"`
90473
90474	// Checks whether you have the required permissions for the action, without
90475	// actually making the request, and provides an error response. If you have
90476	// the required permissions, the error response is DryRunOperation. Otherwise,
90477	// it is UnauthorizedOperation.
90478	DryRun *bool `type:"boolean"`
90479
90480	// One or more filters. The possible values are:
90481	//
90482	//    * resource-id - The ID of the resource.
90483	//
90484	//    * resource-type - The resource type. Valid values are vpc | vpn | direct-connect-gateway
90485	//    | peering | connect.
90486	//
90487	//    * transit-gateway-attachment-id - The ID of the attachment.
90488	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
90489
90490	// The maximum number of results to return with a single call. To retrieve the
90491	// remaining results, make another call with the returned nextToken value.
90492	MaxResults *int64 `min:"5" type:"integer"`
90493
90494	// The token for the next page of results.
90495	NextToken *string `type:"string"`
90496
90497	// The ID of the transit gateway route table.
90498	//
90499	// TransitGatewayRouteTableId is a required field
90500	TransitGatewayRouteTableId *string `type:"string" required:"true"`
90501}
90502
90503// String returns the string representation
90504func (s GetTransitGatewayRouteTablePropagationsInput) String() string {
90505	return awsutil.Prettify(s)
90506}
90507
90508// GoString returns the string representation
90509func (s GetTransitGatewayRouteTablePropagationsInput) GoString() string {
90510	return s.String()
90511}
90512
90513// Validate inspects the fields of the type to determine if they are valid.
90514func (s *GetTransitGatewayRouteTablePropagationsInput) Validate() error {
90515	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayRouteTablePropagationsInput"}
90516	if s.MaxResults != nil && *s.MaxResults < 5 {
90517		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
90518	}
90519	if s.TransitGatewayRouteTableId == nil {
90520		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
90521	}
90522
90523	if invalidParams.Len() > 0 {
90524		return invalidParams
90525	}
90526	return nil
90527}
90528
90529// SetDryRun sets the DryRun field's value.
90530func (s *GetTransitGatewayRouteTablePropagationsInput) SetDryRun(v bool) *GetTransitGatewayRouteTablePropagationsInput {
90531	s.DryRun = &v
90532	return s
90533}
90534
90535// SetFilters sets the Filters field's value.
90536func (s *GetTransitGatewayRouteTablePropagationsInput) SetFilters(v []*Filter) *GetTransitGatewayRouteTablePropagationsInput {
90537	s.Filters = v
90538	return s
90539}
90540
90541// SetMaxResults sets the MaxResults field's value.
90542func (s *GetTransitGatewayRouteTablePropagationsInput) SetMaxResults(v int64) *GetTransitGatewayRouteTablePropagationsInput {
90543	s.MaxResults = &v
90544	return s
90545}
90546
90547// SetNextToken sets the NextToken field's value.
90548func (s *GetTransitGatewayRouteTablePropagationsInput) SetNextToken(v string) *GetTransitGatewayRouteTablePropagationsInput {
90549	s.NextToken = &v
90550	return s
90551}
90552
90553// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
90554func (s *GetTransitGatewayRouteTablePropagationsInput) SetTransitGatewayRouteTableId(v string) *GetTransitGatewayRouteTablePropagationsInput {
90555	s.TransitGatewayRouteTableId = &v
90556	return s
90557}
90558
90559type GetTransitGatewayRouteTablePropagationsOutput struct {
90560	_ struct{} `type:"structure"`
90561
90562	// The token to use to retrieve the next page of results. This value is null
90563	// when there are no more results to return.
90564	NextToken *string `locationName:"nextToken" type:"string"`
90565
90566	// Information about the route table propagations.
90567	TransitGatewayRouteTablePropagations []*TransitGatewayRouteTablePropagation `locationName:"transitGatewayRouteTablePropagations" locationNameList:"item" type:"list"`
90568}
90569
90570// String returns the string representation
90571func (s GetTransitGatewayRouteTablePropagationsOutput) String() string {
90572	return awsutil.Prettify(s)
90573}
90574
90575// GoString returns the string representation
90576func (s GetTransitGatewayRouteTablePropagationsOutput) GoString() string {
90577	return s.String()
90578}
90579
90580// SetNextToken sets the NextToken field's value.
90581func (s *GetTransitGatewayRouteTablePropagationsOutput) SetNextToken(v string) *GetTransitGatewayRouteTablePropagationsOutput {
90582	s.NextToken = &v
90583	return s
90584}
90585
90586// SetTransitGatewayRouteTablePropagations sets the TransitGatewayRouteTablePropagations field's value.
90587func (s *GetTransitGatewayRouteTablePropagationsOutput) SetTransitGatewayRouteTablePropagations(v []*TransitGatewayRouteTablePropagation) *GetTransitGatewayRouteTablePropagationsOutput {
90588	s.TransitGatewayRouteTablePropagations = v
90589	return s
90590}
90591
90592// Describes the GPU accelerators for the instance type.
90593type GpuDeviceInfo struct {
90594	_ struct{} `type:"structure"`
90595
90596	// The number of GPUs for the instance type.
90597	Count *int64 `locationName:"count" type:"integer"`
90598
90599	// The manufacturer of the GPU accelerator.
90600	Manufacturer *string `locationName:"manufacturer" type:"string"`
90601
90602	// Describes the memory available to the GPU accelerator.
90603	MemoryInfo *GpuDeviceMemoryInfo `locationName:"memoryInfo" type:"structure"`
90604
90605	// The name of the GPU accelerator.
90606	Name *string `locationName:"name" type:"string"`
90607}
90608
90609// String returns the string representation
90610func (s GpuDeviceInfo) String() string {
90611	return awsutil.Prettify(s)
90612}
90613
90614// GoString returns the string representation
90615func (s GpuDeviceInfo) GoString() string {
90616	return s.String()
90617}
90618
90619// SetCount sets the Count field's value.
90620func (s *GpuDeviceInfo) SetCount(v int64) *GpuDeviceInfo {
90621	s.Count = &v
90622	return s
90623}
90624
90625// SetManufacturer sets the Manufacturer field's value.
90626func (s *GpuDeviceInfo) SetManufacturer(v string) *GpuDeviceInfo {
90627	s.Manufacturer = &v
90628	return s
90629}
90630
90631// SetMemoryInfo sets the MemoryInfo field's value.
90632func (s *GpuDeviceInfo) SetMemoryInfo(v *GpuDeviceMemoryInfo) *GpuDeviceInfo {
90633	s.MemoryInfo = v
90634	return s
90635}
90636
90637// SetName sets the Name field's value.
90638func (s *GpuDeviceInfo) SetName(v string) *GpuDeviceInfo {
90639	s.Name = &v
90640	return s
90641}
90642
90643// Describes the memory available to the GPU accelerator.
90644type GpuDeviceMemoryInfo struct {
90645	_ struct{} `type:"structure"`
90646
90647	// The size of the memory available to the GPU accelerator, in MiB.
90648	SizeInMiB *int64 `locationName:"sizeInMiB" type:"integer"`
90649}
90650
90651// String returns the string representation
90652func (s GpuDeviceMemoryInfo) String() string {
90653	return awsutil.Prettify(s)
90654}
90655
90656// GoString returns the string representation
90657func (s GpuDeviceMemoryInfo) GoString() string {
90658	return s.String()
90659}
90660
90661// SetSizeInMiB sets the SizeInMiB field's value.
90662func (s *GpuDeviceMemoryInfo) SetSizeInMiB(v int64) *GpuDeviceMemoryInfo {
90663	s.SizeInMiB = &v
90664	return s
90665}
90666
90667// Describes the GPU accelerators for the instance type.
90668type GpuInfo struct {
90669	_ struct{} `type:"structure"`
90670
90671	// Describes the GPU accelerators for the instance type.
90672	Gpus []*GpuDeviceInfo `locationName:"gpus" locationNameList:"item" type:"list"`
90673
90674	// The total size of the memory for the GPU accelerators for the instance type,
90675	// in MiB.
90676	TotalGpuMemoryInMiB *int64 `locationName:"totalGpuMemoryInMiB" type:"integer"`
90677}
90678
90679// String returns the string representation
90680func (s GpuInfo) String() string {
90681	return awsutil.Prettify(s)
90682}
90683
90684// GoString returns the string representation
90685func (s GpuInfo) GoString() string {
90686	return s.String()
90687}
90688
90689// SetGpus sets the Gpus field's value.
90690func (s *GpuInfo) SetGpus(v []*GpuDeviceInfo) *GpuInfo {
90691	s.Gpus = v
90692	return s
90693}
90694
90695// SetTotalGpuMemoryInMiB sets the TotalGpuMemoryInMiB field's value.
90696func (s *GpuInfo) SetTotalGpuMemoryInMiB(v int64) *GpuInfo {
90697	s.TotalGpuMemoryInMiB = &v
90698	return s
90699}
90700
90701// Describes a security group.
90702type GroupIdentifier struct {
90703	_ struct{} `type:"structure"`
90704
90705	// The ID of the security group.
90706	GroupId *string `locationName:"groupId" type:"string"`
90707
90708	// The name of the security group.
90709	GroupName *string `locationName:"groupName" type:"string"`
90710}
90711
90712// String returns the string representation
90713func (s GroupIdentifier) String() string {
90714	return awsutil.Prettify(s)
90715}
90716
90717// GoString returns the string representation
90718func (s GroupIdentifier) GoString() string {
90719	return s.String()
90720}
90721
90722// SetGroupId sets the GroupId field's value.
90723func (s *GroupIdentifier) SetGroupId(v string) *GroupIdentifier {
90724	s.GroupId = &v
90725	return s
90726}
90727
90728// SetGroupName sets the GroupName field's value.
90729func (s *GroupIdentifier) SetGroupName(v string) *GroupIdentifier {
90730	s.GroupName = &v
90731	return s
90732}
90733
90734// Indicates whether your instance is configured for hibernation. This parameter
90735// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
90736// For more information, see Hibernate your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
90737// in the Amazon EC2 User Guide.
90738type HibernationOptions struct {
90739	_ struct{} `type:"structure"`
90740
90741	// If this parameter is set to true, your instance is enabled for hibernation;
90742	// otherwise, it is not enabled for hibernation.
90743	Configured *bool `locationName:"configured" type:"boolean"`
90744}
90745
90746// String returns the string representation
90747func (s HibernationOptions) String() string {
90748	return awsutil.Prettify(s)
90749}
90750
90751// GoString returns the string representation
90752func (s HibernationOptions) GoString() string {
90753	return s.String()
90754}
90755
90756// SetConfigured sets the Configured field's value.
90757func (s *HibernationOptions) SetConfigured(v bool) *HibernationOptions {
90758	s.Configured = &v
90759	return s
90760}
90761
90762// Indicates whether your instance is configured for hibernation. This parameter
90763// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
90764// For more information, see Hibernate your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
90765// in the Amazon EC2 User Guide.
90766type HibernationOptionsRequest struct {
90767	_ struct{} `type:"structure"`
90768
90769	// If you set this parameter to true, your instance is enabled for hibernation.
90770	//
90771	// Default: false
90772	Configured *bool `type:"boolean"`
90773}
90774
90775// String returns the string representation
90776func (s HibernationOptionsRequest) String() string {
90777	return awsutil.Prettify(s)
90778}
90779
90780// GoString returns the string representation
90781func (s HibernationOptionsRequest) GoString() string {
90782	return s.String()
90783}
90784
90785// SetConfigured sets the Configured field's value.
90786func (s *HibernationOptionsRequest) SetConfigured(v bool) *HibernationOptionsRequest {
90787	s.Configured = &v
90788	return s
90789}
90790
90791// Describes an event in the history of the Spot Fleet request.
90792type HistoryRecord struct {
90793	_ struct{} `type:"structure"`
90794
90795	// Information about the event.
90796	EventInformation *EventInformation `locationName:"eventInformation" type:"structure"`
90797
90798	// The event type.
90799	//
90800	//    * error - An error with the Spot Fleet request.
90801	//
90802	//    * fleetRequestChange - A change in the status or configuration of the
90803	//    Spot Fleet request.
90804	//
90805	//    * instanceChange - An instance was launched or terminated.
90806	//
90807	//    * Information - An informational event.
90808	EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
90809
90810	// The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
90811	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
90812}
90813
90814// String returns the string representation
90815func (s HistoryRecord) String() string {
90816	return awsutil.Prettify(s)
90817}
90818
90819// GoString returns the string representation
90820func (s HistoryRecord) GoString() string {
90821	return s.String()
90822}
90823
90824// SetEventInformation sets the EventInformation field's value.
90825func (s *HistoryRecord) SetEventInformation(v *EventInformation) *HistoryRecord {
90826	s.EventInformation = v
90827	return s
90828}
90829
90830// SetEventType sets the EventType field's value.
90831func (s *HistoryRecord) SetEventType(v string) *HistoryRecord {
90832	s.EventType = &v
90833	return s
90834}
90835
90836// SetTimestamp sets the Timestamp field's value.
90837func (s *HistoryRecord) SetTimestamp(v time.Time) *HistoryRecord {
90838	s.Timestamp = &v
90839	return s
90840}
90841
90842// Describes an event in the history of an EC2 Fleet.
90843type HistoryRecordEntry struct {
90844	_ struct{} `type:"structure"`
90845
90846	// Information about the event.
90847	EventInformation *EventInformation `locationName:"eventInformation" type:"structure"`
90848
90849	// The event type.
90850	EventType *string `locationName:"eventType" type:"string" enum:"FleetEventType"`
90851
90852	// The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
90853	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
90854}
90855
90856// String returns the string representation
90857func (s HistoryRecordEntry) String() string {
90858	return awsutil.Prettify(s)
90859}
90860
90861// GoString returns the string representation
90862func (s HistoryRecordEntry) GoString() string {
90863	return s.String()
90864}
90865
90866// SetEventInformation sets the EventInformation field's value.
90867func (s *HistoryRecordEntry) SetEventInformation(v *EventInformation) *HistoryRecordEntry {
90868	s.EventInformation = v
90869	return s
90870}
90871
90872// SetEventType sets the EventType field's value.
90873func (s *HistoryRecordEntry) SetEventType(v string) *HistoryRecordEntry {
90874	s.EventType = &v
90875	return s
90876}
90877
90878// SetTimestamp sets the Timestamp field's value.
90879func (s *HistoryRecordEntry) SetTimestamp(v time.Time) *HistoryRecordEntry {
90880	s.Timestamp = &v
90881	return s
90882}
90883
90884// Describes the properties of the Dedicated Host.
90885type Host struct {
90886	_ struct{} `type:"structure"`
90887
90888	// The time that the Dedicated Host was allocated.
90889	AllocationTime *time.Time `locationName:"allocationTime" type:"timestamp"`
90890
90891	// Indicates whether the Dedicated Host supports multiple instance types of
90892	// the same instance family. If the value is on, the Dedicated Host supports
90893	// multiple instance types in the instance family. If the value is off, the
90894	// Dedicated Host supports a single instance type only.
90895	AllowsMultipleInstanceTypes *string `locationName:"allowsMultipleInstanceTypes" type:"string" enum:"AllowsMultipleInstanceTypes"`
90896
90897	// Whether auto-placement is on or off.
90898	AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
90899
90900	// The Availability Zone of the Dedicated Host.
90901	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
90902
90903	// The ID of the Availability Zone in which the Dedicated Host is allocated.
90904	AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"`
90905
90906	// Information about the instances running on the Dedicated Host.
90907	AvailableCapacity *AvailableCapacity `locationName:"availableCapacity" type:"structure"`
90908
90909	// Unique, case-sensitive identifier that you provide to ensure the idempotency
90910	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
90911	ClientToken *string `locationName:"clientToken" type:"string"`
90912
90913	// The ID of the Dedicated Host.
90914	HostId *string `locationName:"hostId" type:"string"`
90915
90916	// The hardware specifications of the Dedicated Host.
90917	HostProperties *HostProperties `locationName:"hostProperties" type:"structure"`
90918
90919	// Indicates whether host recovery is enabled or disabled for the Dedicated
90920	// Host.
90921	HostRecovery *string `locationName:"hostRecovery" type:"string" enum:"HostRecovery"`
90922
90923	// The reservation ID of the Dedicated Host. This returns a null response if
90924	// the Dedicated Host doesn't have an associated reservation.
90925	HostReservationId *string `locationName:"hostReservationId" type:"string"`
90926
90927	// The IDs and instance type that are currently running on the Dedicated Host.
90928	Instances []*HostInstance `locationName:"instances" locationNameList:"item" type:"list"`
90929
90930	// Indicates whether the Dedicated Host is in a host resource group. If memberOfServiceLinkedResourceGroup
90931	// is true, the host is in a host resource group; otherwise, it is not.
90932	MemberOfServiceLinkedResourceGroup *bool `locationName:"memberOfServiceLinkedResourceGroup" type:"boolean"`
90933
90934	// The ID of the Amazon Web Services account that owns the Dedicated Host.
90935	OwnerId *string `locationName:"ownerId" type:"string"`
90936
90937	// The time that the Dedicated Host was released.
90938	ReleaseTime *time.Time `locationName:"releaseTime" type:"timestamp"`
90939
90940	// The Dedicated Host's state.
90941	State *string `locationName:"state" type:"string" enum:"AllocationState"`
90942
90943	// Any tags assigned to the Dedicated Host.
90944	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
90945}
90946
90947// String returns the string representation
90948func (s Host) String() string {
90949	return awsutil.Prettify(s)
90950}
90951
90952// GoString returns the string representation
90953func (s Host) GoString() string {
90954	return s.String()
90955}
90956
90957// SetAllocationTime sets the AllocationTime field's value.
90958func (s *Host) SetAllocationTime(v time.Time) *Host {
90959	s.AllocationTime = &v
90960	return s
90961}
90962
90963// SetAllowsMultipleInstanceTypes sets the AllowsMultipleInstanceTypes field's value.
90964func (s *Host) SetAllowsMultipleInstanceTypes(v string) *Host {
90965	s.AllowsMultipleInstanceTypes = &v
90966	return s
90967}
90968
90969// SetAutoPlacement sets the AutoPlacement field's value.
90970func (s *Host) SetAutoPlacement(v string) *Host {
90971	s.AutoPlacement = &v
90972	return s
90973}
90974
90975// SetAvailabilityZone sets the AvailabilityZone field's value.
90976func (s *Host) SetAvailabilityZone(v string) *Host {
90977	s.AvailabilityZone = &v
90978	return s
90979}
90980
90981// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
90982func (s *Host) SetAvailabilityZoneId(v string) *Host {
90983	s.AvailabilityZoneId = &v
90984	return s
90985}
90986
90987// SetAvailableCapacity sets the AvailableCapacity field's value.
90988func (s *Host) SetAvailableCapacity(v *AvailableCapacity) *Host {
90989	s.AvailableCapacity = v
90990	return s
90991}
90992
90993// SetClientToken sets the ClientToken field's value.
90994func (s *Host) SetClientToken(v string) *Host {
90995	s.ClientToken = &v
90996	return s
90997}
90998
90999// SetHostId sets the HostId field's value.
91000func (s *Host) SetHostId(v string) *Host {
91001	s.HostId = &v
91002	return s
91003}
91004
91005// SetHostProperties sets the HostProperties field's value.
91006func (s *Host) SetHostProperties(v *HostProperties) *Host {
91007	s.HostProperties = v
91008	return s
91009}
91010
91011// SetHostRecovery sets the HostRecovery field's value.
91012func (s *Host) SetHostRecovery(v string) *Host {
91013	s.HostRecovery = &v
91014	return s
91015}
91016
91017// SetHostReservationId sets the HostReservationId field's value.
91018func (s *Host) SetHostReservationId(v string) *Host {
91019	s.HostReservationId = &v
91020	return s
91021}
91022
91023// SetInstances sets the Instances field's value.
91024func (s *Host) SetInstances(v []*HostInstance) *Host {
91025	s.Instances = v
91026	return s
91027}
91028
91029// SetMemberOfServiceLinkedResourceGroup sets the MemberOfServiceLinkedResourceGroup field's value.
91030func (s *Host) SetMemberOfServiceLinkedResourceGroup(v bool) *Host {
91031	s.MemberOfServiceLinkedResourceGroup = &v
91032	return s
91033}
91034
91035// SetOwnerId sets the OwnerId field's value.
91036func (s *Host) SetOwnerId(v string) *Host {
91037	s.OwnerId = &v
91038	return s
91039}
91040
91041// SetReleaseTime sets the ReleaseTime field's value.
91042func (s *Host) SetReleaseTime(v time.Time) *Host {
91043	s.ReleaseTime = &v
91044	return s
91045}
91046
91047// SetState sets the State field's value.
91048func (s *Host) SetState(v string) *Host {
91049	s.State = &v
91050	return s
91051}
91052
91053// SetTags sets the Tags field's value.
91054func (s *Host) SetTags(v []*Tag) *Host {
91055	s.Tags = v
91056	return s
91057}
91058
91059// Describes an instance running on a Dedicated Host.
91060type HostInstance struct {
91061	_ struct{} `type:"structure"`
91062
91063	// The ID of instance that is running on the Dedicated Host.
91064	InstanceId *string `locationName:"instanceId" type:"string"`
91065
91066	// The instance type (for example, m3.medium) of the running instance.
91067	InstanceType *string `locationName:"instanceType" type:"string"`
91068
91069	// The ID of the Amazon Web Services account that owns the instance.
91070	OwnerId *string `locationName:"ownerId" type:"string"`
91071}
91072
91073// String returns the string representation
91074func (s HostInstance) String() string {
91075	return awsutil.Prettify(s)
91076}
91077
91078// GoString returns the string representation
91079func (s HostInstance) GoString() string {
91080	return s.String()
91081}
91082
91083// SetInstanceId sets the InstanceId field's value.
91084func (s *HostInstance) SetInstanceId(v string) *HostInstance {
91085	s.InstanceId = &v
91086	return s
91087}
91088
91089// SetInstanceType sets the InstanceType field's value.
91090func (s *HostInstance) SetInstanceType(v string) *HostInstance {
91091	s.InstanceType = &v
91092	return s
91093}
91094
91095// SetOwnerId sets the OwnerId field's value.
91096func (s *HostInstance) SetOwnerId(v string) *HostInstance {
91097	s.OwnerId = &v
91098	return s
91099}
91100
91101// Details about the Dedicated Host Reservation offering.
91102type HostOffering struct {
91103	_ struct{} `type:"structure"`
91104
91105	// The currency of the offering.
91106	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
91107
91108	// The duration of the offering (in seconds).
91109	Duration *int64 `locationName:"duration" type:"integer"`
91110
91111	// The hourly price of the offering.
91112	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
91113
91114	// The instance family of the offering.
91115	InstanceFamily *string `locationName:"instanceFamily" type:"string"`
91116
91117	// The ID of the offering.
91118	OfferingId *string `locationName:"offeringId" type:"string"`
91119
91120	// The available payment option.
91121	PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
91122
91123	// The upfront price of the offering. Does not apply to No Upfront offerings.
91124	UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
91125}
91126
91127// String returns the string representation
91128func (s HostOffering) String() string {
91129	return awsutil.Prettify(s)
91130}
91131
91132// GoString returns the string representation
91133func (s HostOffering) GoString() string {
91134	return s.String()
91135}
91136
91137// SetCurrencyCode sets the CurrencyCode field's value.
91138func (s *HostOffering) SetCurrencyCode(v string) *HostOffering {
91139	s.CurrencyCode = &v
91140	return s
91141}
91142
91143// SetDuration sets the Duration field's value.
91144func (s *HostOffering) SetDuration(v int64) *HostOffering {
91145	s.Duration = &v
91146	return s
91147}
91148
91149// SetHourlyPrice sets the HourlyPrice field's value.
91150func (s *HostOffering) SetHourlyPrice(v string) *HostOffering {
91151	s.HourlyPrice = &v
91152	return s
91153}
91154
91155// SetInstanceFamily sets the InstanceFamily field's value.
91156func (s *HostOffering) SetInstanceFamily(v string) *HostOffering {
91157	s.InstanceFamily = &v
91158	return s
91159}
91160
91161// SetOfferingId sets the OfferingId field's value.
91162func (s *HostOffering) SetOfferingId(v string) *HostOffering {
91163	s.OfferingId = &v
91164	return s
91165}
91166
91167// SetPaymentOption sets the PaymentOption field's value.
91168func (s *HostOffering) SetPaymentOption(v string) *HostOffering {
91169	s.PaymentOption = &v
91170	return s
91171}
91172
91173// SetUpfrontPrice sets the UpfrontPrice field's value.
91174func (s *HostOffering) SetUpfrontPrice(v string) *HostOffering {
91175	s.UpfrontPrice = &v
91176	return s
91177}
91178
91179// Describes the properties of a Dedicated Host.
91180type HostProperties struct {
91181	_ struct{} `type:"structure"`
91182
91183	// The number of cores on the Dedicated Host.
91184	Cores *int64 `locationName:"cores" type:"integer"`
91185
91186	// The instance family supported by the Dedicated Host. For example, m5.
91187	InstanceFamily *string `locationName:"instanceFamily" type:"string"`
91188
91189	// The instance type supported by the Dedicated Host. For example, m5.large.
91190	// If the host supports multiple instance types, no instanceType is returned.
91191	InstanceType *string `locationName:"instanceType" type:"string"`
91192
91193	// The number of sockets on the Dedicated Host.
91194	Sockets *int64 `locationName:"sockets" type:"integer"`
91195
91196	// The total number of vCPUs on the Dedicated Host.
91197	TotalVCpus *int64 `locationName:"totalVCpus" type:"integer"`
91198}
91199
91200// String returns the string representation
91201func (s HostProperties) String() string {
91202	return awsutil.Prettify(s)
91203}
91204
91205// GoString returns the string representation
91206func (s HostProperties) GoString() string {
91207	return s.String()
91208}
91209
91210// SetCores sets the Cores field's value.
91211func (s *HostProperties) SetCores(v int64) *HostProperties {
91212	s.Cores = &v
91213	return s
91214}
91215
91216// SetInstanceFamily sets the InstanceFamily field's value.
91217func (s *HostProperties) SetInstanceFamily(v string) *HostProperties {
91218	s.InstanceFamily = &v
91219	return s
91220}
91221
91222// SetInstanceType sets the InstanceType field's value.
91223func (s *HostProperties) SetInstanceType(v string) *HostProperties {
91224	s.InstanceType = &v
91225	return s
91226}
91227
91228// SetSockets sets the Sockets field's value.
91229func (s *HostProperties) SetSockets(v int64) *HostProperties {
91230	s.Sockets = &v
91231	return s
91232}
91233
91234// SetTotalVCpus sets the TotalVCpus field's value.
91235func (s *HostProperties) SetTotalVCpus(v int64) *HostProperties {
91236	s.TotalVCpus = &v
91237	return s
91238}
91239
91240// Details about the Dedicated Host Reservation and associated Dedicated Hosts.
91241type HostReservation struct {
91242	_ struct{} `type:"structure"`
91243
91244	// The number of Dedicated Hosts the reservation is associated with.
91245	Count *int64 `locationName:"count" type:"integer"`
91246
91247	// The currency in which the upfrontPrice and hourlyPrice amounts are specified.
91248	// At this time, the only supported currency is USD.
91249	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
91250
91251	// The length of the reservation's term, specified in seconds. Can be 31536000
91252	// (1 year) | 94608000 (3 years).
91253	Duration *int64 `locationName:"duration" type:"integer"`
91254
91255	// The date and time that the reservation ends.
91256	End *time.Time `locationName:"end" type:"timestamp"`
91257
91258	// The IDs of the Dedicated Hosts associated with the reservation.
91259	HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
91260
91261	// The ID of the reservation that specifies the associated Dedicated Hosts.
91262	HostReservationId *string `locationName:"hostReservationId" type:"string"`
91263
91264	// The hourly price of the reservation.
91265	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
91266
91267	// The instance family of the Dedicated Host Reservation. The instance family
91268	// on the Dedicated Host must be the same in order for it to benefit from the
91269	// reservation.
91270	InstanceFamily *string `locationName:"instanceFamily" type:"string"`
91271
91272	// The ID of the reservation. This remains the same regardless of which Dedicated
91273	// Hosts are associated with it.
91274	OfferingId *string `locationName:"offeringId" type:"string"`
91275
91276	// The payment option selected for this reservation.
91277	PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
91278
91279	// The date and time that the reservation started.
91280	Start *time.Time `locationName:"start" type:"timestamp"`
91281
91282	// The state of the reservation.
91283	State *string `locationName:"state" type:"string" enum:"ReservationState"`
91284
91285	// Any tags assigned to the Dedicated Host Reservation.
91286	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
91287
91288	// The upfront price of the reservation.
91289	UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
91290}
91291
91292// String returns the string representation
91293func (s HostReservation) String() string {
91294	return awsutil.Prettify(s)
91295}
91296
91297// GoString returns the string representation
91298func (s HostReservation) GoString() string {
91299	return s.String()
91300}
91301
91302// SetCount sets the Count field's value.
91303func (s *HostReservation) SetCount(v int64) *HostReservation {
91304	s.Count = &v
91305	return s
91306}
91307
91308// SetCurrencyCode sets the CurrencyCode field's value.
91309func (s *HostReservation) SetCurrencyCode(v string) *HostReservation {
91310	s.CurrencyCode = &v
91311	return s
91312}
91313
91314// SetDuration sets the Duration field's value.
91315func (s *HostReservation) SetDuration(v int64) *HostReservation {
91316	s.Duration = &v
91317	return s
91318}
91319
91320// SetEnd sets the End field's value.
91321func (s *HostReservation) SetEnd(v time.Time) *HostReservation {
91322	s.End = &v
91323	return s
91324}
91325
91326// SetHostIdSet sets the HostIdSet field's value.
91327func (s *HostReservation) SetHostIdSet(v []*string) *HostReservation {
91328	s.HostIdSet = v
91329	return s
91330}
91331
91332// SetHostReservationId sets the HostReservationId field's value.
91333func (s *HostReservation) SetHostReservationId(v string) *HostReservation {
91334	s.HostReservationId = &v
91335	return s
91336}
91337
91338// SetHourlyPrice sets the HourlyPrice field's value.
91339func (s *HostReservation) SetHourlyPrice(v string) *HostReservation {
91340	s.HourlyPrice = &v
91341	return s
91342}
91343
91344// SetInstanceFamily sets the InstanceFamily field's value.
91345func (s *HostReservation) SetInstanceFamily(v string) *HostReservation {
91346	s.InstanceFamily = &v
91347	return s
91348}
91349
91350// SetOfferingId sets the OfferingId field's value.
91351func (s *HostReservation) SetOfferingId(v string) *HostReservation {
91352	s.OfferingId = &v
91353	return s
91354}
91355
91356// SetPaymentOption sets the PaymentOption field's value.
91357func (s *HostReservation) SetPaymentOption(v string) *HostReservation {
91358	s.PaymentOption = &v
91359	return s
91360}
91361
91362// SetStart sets the Start field's value.
91363func (s *HostReservation) SetStart(v time.Time) *HostReservation {
91364	s.Start = &v
91365	return s
91366}
91367
91368// SetState sets the State field's value.
91369func (s *HostReservation) SetState(v string) *HostReservation {
91370	s.State = &v
91371	return s
91372}
91373
91374// SetTags sets the Tags field's value.
91375func (s *HostReservation) SetTags(v []*Tag) *HostReservation {
91376	s.Tags = v
91377	return s
91378}
91379
91380// SetUpfrontPrice sets the UpfrontPrice field's value.
91381func (s *HostReservation) SetUpfrontPrice(v string) *HostReservation {
91382	s.UpfrontPrice = &v
91383	return s
91384}
91385
91386// The internet key exchange (IKE) version permitted for the VPN tunnel.
91387type IKEVersionsListValue struct {
91388	_ struct{} `type:"structure"`
91389
91390	// The IKE version.
91391	Value *string `locationName:"value" type:"string"`
91392}
91393
91394// String returns the string representation
91395func (s IKEVersionsListValue) String() string {
91396	return awsutil.Prettify(s)
91397}
91398
91399// GoString returns the string representation
91400func (s IKEVersionsListValue) GoString() string {
91401	return s.String()
91402}
91403
91404// SetValue sets the Value field's value.
91405func (s *IKEVersionsListValue) SetValue(v string) *IKEVersionsListValue {
91406	s.Value = &v
91407	return s
91408}
91409
91410// The IKE version that is permitted for the VPN tunnel.
91411type IKEVersionsRequestListValue struct {
91412	_ struct{} `type:"structure"`
91413
91414	// The IKE version.
91415	Value *string `type:"string"`
91416}
91417
91418// String returns the string representation
91419func (s IKEVersionsRequestListValue) String() string {
91420	return awsutil.Prettify(s)
91421}
91422
91423// GoString returns the string representation
91424func (s IKEVersionsRequestListValue) GoString() string {
91425	return s.String()
91426}
91427
91428// SetValue sets the Value field's value.
91429func (s *IKEVersionsRequestListValue) SetValue(v string) *IKEVersionsRequestListValue {
91430	s.Value = &v
91431	return s
91432}
91433
91434// Describes an IAM instance profile.
91435type IamInstanceProfile struct {
91436	_ struct{} `type:"structure"`
91437
91438	// The Amazon Resource Name (ARN) of the instance profile.
91439	Arn *string `locationName:"arn" type:"string"`
91440
91441	// The ID of the instance profile.
91442	Id *string `locationName:"id" type:"string"`
91443}
91444
91445// String returns the string representation
91446func (s IamInstanceProfile) String() string {
91447	return awsutil.Prettify(s)
91448}
91449
91450// GoString returns the string representation
91451func (s IamInstanceProfile) GoString() string {
91452	return s.String()
91453}
91454
91455// SetArn sets the Arn field's value.
91456func (s *IamInstanceProfile) SetArn(v string) *IamInstanceProfile {
91457	s.Arn = &v
91458	return s
91459}
91460
91461// SetId sets the Id field's value.
91462func (s *IamInstanceProfile) SetId(v string) *IamInstanceProfile {
91463	s.Id = &v
91464	return s
91465}
91466
91467// Describes an association between an IAM instance profile and an instance.
91468type IamInstanceProfileAssociation struct {
91469	_ struct{} `type:"structure"`
91470
91471	// The ID of the association.
91472	AssociationId *string `locationName:"associationId" type:"string"`
91473
91474	// The IAM instance profile.
91475	IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
91476
91477	// The ID of the instance.
91478	InstanceId *string `locationName:"instanceId" type:"string"`
91479
91480	// The state of the association.
91481	State *string `locationName:"state" type:"string" enum:"IamInstanceProfileAssociationState"`
91482
91483	// The time the IAM instance profile was associated with the instance.
91484	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
91485}
91486
91487// String returns the string representation
91488func (s IamInstanceProfileAssociation) String() string {
91489	return awsutil.Prettify(s)
91490}
91491
91492// GoString returns the string representation
91493func (s IamInstanceProfileAssociation) GoString() string {
91494	return s.String()
91495}
91496
91497// SetAssociationId sets the AssociationId field's value.
91498func (s *IamInstanceProfileAssociation) SetAssociationId(v string) *IamInstanceProfileAssociation {
91499	s.AssociationId = &v
91500	return s
91501}
91502
91503// SetIamInstanceProfile sets the IamInstanceProfile field's value.
91504func (s *IamInstanceProfileAssociation) SetIamInstanceProfile(v *IamInstanceProfile) *IamInstanceProfileAssociation {
91505	s.IamInstanceProfile = v
91506	return s
91507}
91508
91509// SetInstanceId sets the InstanceId field's value.
91510func (s *IamInstanceProfileAssociation) SetInstanceId(v string) *IamInstanceProfileAssociation {
91511	s.InstanceId = &v
91512	return s
91513}
91514
91515// SetState sets the State field's value.
91516func (s *IamInstanceProfileAssociation) SetState(v string) *IamInstanceProfileAssociation {
91517	s.State = &v
91518	return s
91519}
91520
91521// SetTimestamp sets the Timestamp field's value.
91522func (s *IamInstanceProfileAssociation) SetTimestamp(v time.Time) *IamInstanceProfileAssociation {
91523	s.Timestamp = &v
91524	return s
91525}
91526
91527// Describes an IAM instance profile.
91528type IamInstanceProfileSpecification struct {
91529	_ struct{} `type:"structure"`
91530
91531	// The Amazon Resource Name (ARN) of the instance profile.
91532	Arn *string `locationName:"arn" type:"string"`
91533
91534	// The name of the instance profile.
91535	Name *string `locationName:"name" type:"string"`
91536}
91537
91538// String returns the string representation
91539func (s IamInstanceProfileSpecification) String() string {
91540	return awsutil.Prettify(s)
91541}
91542
91543// GoString returns the string representation
91544func (s IamInstanceProfileSpecification) GoString() string {
91545	return s.String()
91546}
91547
91548// SetArn sets the Arn field's value.
91549func (s *IamInstanceProfileSpecification) SetArn(v string) *IamInstanceProfileSpecification {
91550	s.Arn = &v
91551	return s
91552}
91553
91554// SetName sets the Name field's value.
91555func (s *IamInstanceProfileSpecification) SetName(v string) *IamInstanceProfileSpecification {
91556	s.Name = &v
91557	return s
91558}
91559
91560// Describes the ICMP type and code.
91561type IcmpTypeCode struct {
91562	_ struct{} `type:"structure"`
91563
91564	// The ICMP code. A value of -1 means all codes for the specified ICMP type.
91565	Code *int64 `locationName:"code" type:"integer"`
91566
91567	// The ICMP type. A value of -1 means all types.
91568	Type *int64 `locationName:"type" type:"integer"`
91569}
91570
91571// String returns the string representation
91572func (s IcmpTypeCode) String() string {
91573	return awsutil.Prettify(s)
91574}
91575
91576// GoString returns the string representation
91577func (s IcmpTypeCode) GoString() string {
91578	return s.String()
91579}
91580
91581// SetCode sets the Code field's value.
91582func (s *IcmpTypeCode) SetCode(v int64) *IcmpTypeCode {
91583	s.Code = &v
91584	return s
91585}
91586
91587// SetType sets the Type field's value.
91588func (s *IcmpTypeCode) SetType(v int64) *IcmpTypeCode {
91589	s.Type = &v
91590	return s
91591}
91592
91593// Describes the ID format for a resource.
91594type IdFormat struct {
91595	_ struct{} `type:"structure"`
91596
91597	// The date in UTC at which you are permanently switched over to using longer
91598	// IDs. If a deadline is not yet available for this resource type, this field
91599	// is not returned.
91600	Deadline *time.Time `locationName:"deadline" type:"timestamp"`
91601
91602	// The type of resource.
91603	Resource *string `locationName:"resource" type:"string"`
91604
91605	// Indicates whether longer IDs (17-character IDs) are enabled for the resource.
91606	UseLongIds *bool `locationName:"useLongIds" type:"boolean"`
91607}
91608
91609// String returns the string representation
91610func (s IdFormat) String() string {
91611	return awsutil.Prettify(s)
91612}
91613
91614// GoString returns the string representation
91615func (s IdFormat) GoString() string {
91616	return s.String()
91617}
91618
91619// SetDeadline sets the Deadline field's value.
91620func (s *IdFormat) SetDeadline(v time.Time) *IdFormat {
91621	s.Deadline = &v
91622	return s
91623}
91624
91625// SetResource sets the Resource field's value.
91626func (s *IdFormat) SetResource(v string) *IdFormat {
91627	s.Resource = &v
91628	return s
91629}
91630
91631// SetUseLongIds sets the UseLongIds field's value.
91632func (s *IdFormat) SetUseLongIds(v bool) *IdFormat {
91633	s.UseLongIds = &v
91634	return s
91635}
91636
91637// Describes an image.
91638type Image struct {
91639	_ struct{} `type:"structure"`
91640
91641	// The architecture of the image.
91642	Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
91643
91644	// Any block device mapping entries.
91645	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
91646
91647	// The boot mode of the image. For more information, see Boot modes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-boot.html)
91648	// in the Amazon Elastic Compute Cloud User Guide.
91649	BootMode *string `locationName:"bootMode" type:"string" enum:"BootModeValues"`
91650
91651	// The date and time the image was created.
91652	CreationDate *string `locationName:"creationDate" type:"string"`
91653
91654	// The date and time to deprecate the AMI, in UTC, in the following format:
91655	// YYYY-MM-DDTHH:MM:SSZ. If you specified a value for seconds, Amazon EC2 rounds
91656	// the seconds to the nearest minute.
91657	DeprecationTime *string `locationName:"deprecationTime" type:"string"`
91658
91659	// The description of the AMI that was provided during image creation.
91660	Description *string `locationName:"description" type:"string"`
91661
91662	// Specifies whether enhanced networking with ENA is enabled.
91663	EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
91664
91665	// The hypervisor type of the image.
91666	Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
91667
91668	// The ID of the AMI.
91669	ImageId *string `locationName:"imageId" type:"string"`
91670
91671	// The location of the AMI.
91672	ImageLocation *string `locationName:"imageLocation" type:"string"`
91673
91674	// The AWS account alias (for example, amazon, self) or the AWS account ID of
91675	// the AMI owner.
91676	ImageOwnerAlias *string `locationName:"imageOwnerAlias" type:"string"`
91677
91678	// The type of image.
91679	ImageType *string `locationName:"imageType" type:"string" enum:"ImageTypeValues"`
91680
91681	// The kernel associated with the image, if any. Only applicable for machine
91682	// images.
91683	KernelId *string `locationName:"kernelId" type:"string"`
91684
91685	// The name of the AMI that was provided during image creation.
91686	Name *string `locationName:"name" type:"string"`
91687
91688	// The AWS account ID of the image owner.
91689	OwnerId *string `locationName:"imageOwnerId" type:"string"`
91690
91691	// This value is set to windows for Windows AMIs; otherwise, it is blank.
91692	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
91693
91694	// The platform details associated with the billing code of the AMI. For more
91695	// information, see Obtaining Billing Information (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html)
91696	// in the Amazon Elastic Compute Cloud User Guide.
91697	PlatformDetails *string `locationName:"platformDetails" type:"string"`
91698
91699	// Any product codes associated with the AMI.
91700	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
91701
91702	// Indicates whether the image has public launch permissions. The value is true
91703	// if this image has public launch permissions or false if it has only implicit
91704	// and explicit launch permissions.
91705	Public *bool `locationName:"isPublic" type:"boolean"`
91706
91707	// The RAM disk associated with the image, if any. Only applicable for machine
91708	// images.
91709	RamdiskId *string `locationName:"ramdiskId" type:"string"`
91710
91711	// The device name of the root device volume (for example, /dev/sda1).
91712	RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
91713
91714	// The type of root device used by the AMI. The AMI can use an EBS volume or
91715	// an instance store volume.
91716	RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
91717
91718	// Specifies whether enhanced networking with the Intel 82599 Virtual Function
91719	// interface is enabled.
91720	SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
91721
91722	// The current state of the AMI. If the state is available, the image is successfully
91723	// registered and can be used to launch an instance.
91724	State *string `locationName:"imageState" type:"string" enum:"ImageState"`
91725
91726	// The reason for the state change.
91727	StateReason *StateReason `locationName:"stateReason" type:"structure"`
91728
91729	// Any tags assigned to the image.
91730	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
91731
91732	// The operation of the Amazon EC2 instance and the billing code that is associated
91733	// with the AMI. usageOperation corresponds to the lineitem/Operation (https://docs.aws.amazon.com/cur/latest/userguide/Lineitem-columns.html#Lineitem-details-O-Operation)
91734	// 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).
91735	// For the list of UsageOperation codes, see Platform Details and Usage Operation
91736	// Billing Codes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html#billing-info)
91737	// in the Amazon Elastic Compute Cloud User Guide.
91738	UsageOperation *string `locationName:"usageOperation" type:"string"`
91739
91740	// The type of virtualization of the AMI.
91741	VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
91742}
91743
91744// String returns the string representation
91745func (s Image) String() string {
91746	return awsutil.Prettify(s)
91747}
91748
91749// GoString returns the string representation
91750func (s Image) GoString() string {
91751	return s.String()
91752}
91753
91754// SetArchitecture sets the Architecture field's value.
91755func (s *Image) SetArchitecture(v string) *Image {
91756	s.Architecture = &v
91757	return s
91758}
91759
91760// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
91761func (s *Image) SetBlockDeviceMappings(v []*BlockDeviceMapping) *Image {
91762	s.BlockDeviceMappings = v
91763	return s
91764}
91765
91766// SetBootMode sets the BootMode field's value.
91767func (s *Image) SetBootMode(v string) *Image {
91768	s.BootMode = &v
91769	return s
91770}
91771
91772// SetCreationDate sets the CreationDate field's value.
91773func (s *Image) SetCreationDate(v string) *Image {
91774	s.CreationDate = &v
91775	return s
91776}
91777
91778// SetDeprecationTime sets the DeprecationTime field's value.
91779func (s *Image) SetDeprecationTime(v string) *Image {
91780	s.DeprecationTime = &v
91781	return s
91782}
91783
91784// SetDescription sets the Description field's value.
91785func (s *Image) SetDescription(v string) *Image {
91786	s.Description = &v
91787	return s
91788}
91789
91790// SetEnaSupport sets the EnaSupport field's value.
91791func (s *Image) SetEnaSupport(v bool) *Image {
91792	s.EnaSupport = &v
91793	return s
91794}
91795
91796// SetHypervisor sets the Hypervisor field's value.
91797func (s *Image) SetHypervisor(v string) *Image {
91798	s.Hypervisor = &v
91799	return s
91800}
91801
91802// SetImageId sets the ImageId field's value.
91803func (s *Image) SetImageId(v string) *Image {
91804	s.ImageId = &v
91805	return s
91806}
91807
91808// SetImageLocation sets the ImageLocation field's value.
91809func (s *Image) SetImageLocation(v string) *Image {
91810	s.ImageLocation = &v
91811	return s
91812}
91813
91814// SetImageOwnerAlias sets the ImageOwnerAlias field's value.
91815func (s *Image) SetImageOwnerAlias(v string) *Image {
91816	s.ImageOwnerAlias = &v
91817	return s
91818}
91819
91820// SetImageType sets the ImageType field's value.
91821func (s *Image) SetImageType(v string) *Image {
91822	s.ImageType = &v
91823	return s
91824}
91825
91826// SetKernelId sets the KernelId field's value.
91827func (s *Image) SetKernelId(v string) *Image {
91828	s.KernelId = &v
91829	return s
91830}
91831
91832// SetName sets the Name field's value.
91833func (s *Image) SetName(v string) *Image {
91834	s.Name = &v
91835	return s
91836}
91837
91838// SetOwnerId sets the OwnerId field's value.
91839func (s *Image) SetOwnerId(v string) *Image {
91840	s.OwnerId = &v
91841	return s
91842}
91843
91844// SetPlatform sets the Platform field's value.
91845func (s *Image) SetPlatform(v string) *Image {
91846	s.Platform = &v
91847	return s
91848}
91849
91850// SetPlatformDetails sets the PlatformDetails field's value.
91851func (s *Image) SetPlatformDetails(v string) *Image {
91852	s.PlatformDetails = &v
91853	return s
91854}
91855
91856// SetProductCodes sets the ProductCodes field's value.
91857func (s *Image) SetProductCodes(v []*ProductCode) *Image {
91858	s.ProductCodes = v
91859	return s
91860}
91861
91862// SetPublic sets the Public field's value.
91863func (s *Image) SetPublic(v bool) *Image {
91864	s.Public = &v
91865	return s
91866}
91867
91868// SetRamdiskId sets the RamdiskId field's value.
91869func (s *Image) SetRamdiskId(v string) *Image {
91870	s.RamdiskId = &v
91871	return s
91872}
91873
91874// SetRootDeviceName sets the RootDeviceName field's value.
91875func (s *Image) SetRootDeviceName(v string) *Image {
91876	s.RootDeviceName = &v
91877	return s
91878}
91879
91880// SetRootDeviceType sets the RootDeviceType field's value.
91881func (s *Image) SetRootDeviceType(v string) *Image {
91882	s.RootDeviceType = &v
91883	return s
91884}
91885
91886// SetSriovNetSupport sets the SriovNetSupport field's value.
91887func (s *Image) SetSriovNetSupport(v string) *Image {
91888	s.SriovNetSupport = &v
91889	return s
91890}
91891
91892// SetState sets the State field's value.
91893func (s *Image) SetState(v string) *Image {
91894	s.State = &v
91895	return s
91896}
91897
91898// SetStateReason sets the StateReason field's value.
91899func (s *Image) SetStateReason(v *StateReason) *Image {
91900	s.StateReason = v
91901	return s
91902}
91903
91904// SetTags sets the Tags field's value.
91905func (s *Image) SetTags(v []*Tag) *Image {
91906	s.Tags = v
91907	return s
91908}
91909
91910// SetUsageOperation sets the UsageOperation field's value.
91911func (s *Image) SetUsageOperation(v string) *Image {
91912	s.UsageOperation = &v
91913	return s
91914}
91915
91916// SetVirtualizationType sets the VirtualizationType field's value.
91917func (s *Image) SetVirtualizationType(v string) *Image {
91918	s.VirtualizationType = &v
91919	return s
91920}
91921
91922// Describes the disk container object for an import image task.
91923type ImageDiskContainer struct {
91924	_ struct{} `type:"structure"`
91925
91926	// The description of the disk image.
91927	Description *string `type:"string"`
91928
91929	// The block device mapping for the disk.
91930	DeviceName *string `type:"string"`
91931
91932	// The format of the disk image being imported.
91933	//
91934	// Valid values: OVA | VHD | VHDX | VMDK | RAW
91935	Format *string `type:"string"`
91936
91937	// The ID of the EBS snapshot to be used for importing the snapshot.
91938	SnapshotId *string `type:"string"`
91939
91940	// The URL to the Amazon S3-based disk image being imported. The URL can either
91941	// be a https URL (https://..) or an Amazon S3 URL (s3://..)
91942	Url *string `type:"string"`
91943
91944	// The S3 bucket for the disk image.
91945	UserBucket *UserBucket `type:"structure"`
91946}
91947
91948// String returns the string representation
91949func (s ImageDiskContainer) String() string {
91950	return awsutil.Prettify(s)
91951}
91952
91953// GoString returns the string representation
91954func (s ImageDiskContainer) GoString() string {
91955	return s.String()
91956}
91957
91958// SetDescription sets the Description field's value.
91959func (s *ImageDiskContainer) SetDescription(v string) *ImageDiskContainer {
91960	s.Description = &v
91961	return s
91962}
91963
91964// SetDeviceName sets the DeviceName field's value.
91965func (s *ImageDiskContainer) SetDeviceName(v string) *ImageDiskContainer {
91966	s.DeviceName = &v
91967	return s
91968}
91969
91970// SetFormat sets the Format field's value.
91971func (s *ImageDiskContainer) SetFormat(v string) *ImageDiskContainer {
91972	s.Format = &v
91973	return s
91974}
91975
91976// SetSnapshotId sets the SnapshotId field's value.
91977func (s *ImageDiskContainer) SetSnapshotId(v string) *ImageDiskContainer {
91978	s.SnapshotId = &v
91979	return s
91980}
91981
91982// SetUrl sets the Url field's value.
91983func (s *ImageDiskContainer) SetUrl(v string) *ImageDiskContainer {
91984	s.Url = &v
91985	return s
91986}
91987
91988// SetUserBucket sets the UserBucket field's value.
91989func (s *ImageDiskContainer) SetUserBucket(v *UserBucket) *ImageDiskContainer {
91990	s.UserBucket = v
91991	return s
91992}
91993
91994type ImportClientVpnClientCertificateRevocationListInput struct {
91995	_ struct{} `type:"structure"`
91996
91997	// The client certificate revocation list file. For more information, see Generate
91998	// a Client Certificate Revocation List (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-certificates.html#cvpn-working-certificates-generate)
91999	// in the AWS Client VPN Administrator Guide.
92000	//
92001	// CertificateRevocationList is a required field
92002	CertificateRevocationList *string `type:"string" required:"true"`
92003
92004	// The ID of the Client VPN endpoint to which the client certificate revocation
92005	// list applies.
92006	//
92007	// ClientVpnEndpointId is a required field
92008	ClientVpnEndpointId *string `type:"string" required:"true"`
92009
92010	// Checks whether you have the required permissions for the action, without
92011	// actually making the request, and provides an error response. If you have
92012	// the required permissions, the error response is DryRunOperation. Otherwise,
92013	// it is UnauthorizedOperation.
92014	DryRun *bool `type:"boolean"`
92015}
92016
92017// String returns the string representation
92018func (s ImportClientVpnClientCertificateRevocationListInput) String() string {
92019	return awsutil.Prettify(s)
92020}
92021
92022// GoString returns the string representation
92023func (s ImportClientVpnClientCertificateRevocationListInput) GoString() string {
92024	return s.String()
92025}
92026
92027// Validate inspects the fields of the type to determine if they are valid.
92028func (s *ImportClientVpnClientCertificateRevocationListInput) Validate() error {
92029	invalidParams := request.ErrInvalidParams{Context: "ImportClientVpnClientCertificateRevocationListInput"}
92030	if s.CertificateRevocationList == nil {
92031		invalidParams.Add(request.NewErrParamRequired("CertificateRevocationList"))
92032	}
92033	if s.ClientVpnEndpointId == nil {
92034		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
92035	}
92036
92037	if invalidParams.Len() > 0 {
92038		return invalidParams
92039	}
92040	return nil
92041}
92042
92043// SetCertificateRevocationList sets the CertificateRevocationList field's value.
92044func (s *ImportClientVpnClientCertificateRevocationListInput) SetCertificateRevocationList(v string) *ImportClientVpnClientCertificateRevocationListInput {
92045	s.CertificateRevocationList = &v
92046	return s
92047}
92048
92049// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
92050func (s *ImportClientVpnClientCertificateRevocationListInput) SetClientVpnEndpointId(v string) *ImportClientVpnClientCertificateRevocationListInput {
92051	s.ClientVpnEndpointId = &v
92052	return s
92053}
92054
92055// SetDryRun sets the DryRun field's value.
92056func (s *ImportClientVpnClientCertificateRevocationListInput) SetDryRun(v bool) *ImportClientVpnClientCertificateRevocationListInput {
92057	s.DryRun = &v
92058	return s
92059}
92060
92061type ImportClientVpnClientCertificateRevocationListOutput struct {
92062	_ struct{} `type:"structure"`
92063
92064	// Returns true if the request succeeds; otherwise, it returns an error.
92065	Return *bool `locationName:"return" type:"boolean"`
92066}
92067
92068// String returns the string representation
92069func (s ImportClientVpnClientCertificateRevocationListOutput) String() string {
92070	return awsutil.Prettify(s)
92071}
92072
92073// GoString returns the string representation
92074func (s ImportClientVpnClientCertificateRevocationListOutput) GoString() string {
92075	return s.String()
92076}
92077
92078// SetReturn sets the Return field's value.
92079func (s *ImportClientVpnClientCertificateRevocationListOutput) SetReturn(v bool) *ImportClientVpnClientCertificateRevocationListOutput {
92080	s.Return = &v
92081	return s
92082}
92083
92084type ImportImageInput struct {
92085	_ struct{} `type:"structure"`
92086
92087	// The architecture of the virtual machine.
92088	//
92089	// Valid values: i386 | x86_64 | arm64
92090	Architecture *string `type:"string"`
92091
92092	// The boot mode of the virtual machine.
92093	BootMode *string `type:"string" enum:"BootModeValues"`
92094
92095	// The client-specific data.
92096	ClientData *ClientData `type:"structure"`
92097
92098	// The token to enable idempotency for VM import requests.
92099	ClientToken *string `type:"string"`
92100
92101	// A description string for the import image task.
92102	Description *string `type:"string"`
92103
92104	// Information about the disk containers.
92105	DiskContainers []*ImageDiskContainer `locationName:"DiskContainer" locationNameList:"item" type:"list"`
92106
92107	// Checks whether you have the required permissions for the action, without
92108	// actually making the request, and provides an error response. If you have
92109	// the required permissions, the error response is DryRunOperation. Otherwise,
92110	// it is UnauthorizedOperation.
92111	DryRun *bool `type:"boolean"`
92112
92113	// Specifies whether the destination AMI of the imported image should be encrypted.
92114	// The default KMS key for EBS is used unless you specify a non-default KMS
92115	// key using KmsKeyId. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
92116	// in the Amazon Elastic Compute Cloud User Guide.
92117	Encrypted *bool `type:"boolean"`
92118
92119	// The target hypervisor platform.
92120	//
92121	// Valid values: xen
92122	Hypervisor *string `type:"string"`
92123
92124	// An identifier for the symmetric KMS key to use when creating the encrypted
92125	// AMI. This parameter is only required if you want to use a non-default KMS
92126	// key; if this parameter is not specified, the default KMS key for EBS is used.
92127	// If a KmsKeyId is specified, the Encrypted flag must also be set.
92128	//
92129	// The KMS key identifier may be provided in any of the following formats:
92130	//
92131	//    * Key ID
92132	//
92133	//    * Key alias. The alias ARN contains the arn:aws:kms namespace, followed
92134	//    by the Region of the key, the Amazon Web Services account ID of the key
92135	//    owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
92136	//
92137	//    * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
92138	//    by the Region of the key, the Amazon Web Services account ID of the key
92139	//    owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
92140	//
92141	//    * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
92142	//    followed by the Region of the key, the Amazon Web Services account ID
92143	//    of the key owner, the alias namespace, and then the key alias. For example,
92144	//    arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
92145	//
92146	// Amazon Web Services parses KmsKeyId asynchronously, meaning that the action
92147	// you call may appear to complete even though you provided an invalid identifier.
92148	// This action will eventually report failure.
92149	//
92150	// The specified KMS key must exist in the Region that the AMI is being copied
92151	// to.
92152	//
92153	// Amazon EBS does not support asymmetric KMS keys.
92154	KmsKeyId *string `type:"string"`
92155
92156	// The ARNs of the license configurations.
92157	LicenseSpecifications []*ImportImageLicenseConfigurationRequest `locationNameList:"item" type:"list"`
92158
92159	// The license type to be used for the Amazon Machine Image (AMI) after importing.
92160	//
92161	// By default, we detect the source-system operating system (OS) and apply the
92162	// appropriate license. Specify AWS to replace the source-system license with
92163	// an Amazon Web Services license, if appropriate. Specify BYOL to retain the
92164	// source-system license, if appropriate.
92165	//
92166	// To use BYOL, you must have existing licenses with rights to use these licenses
92167	// in a third party cloud, such as Amazon Web Services. For more information,
92168	// see Prerequisites (https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#prerequisites-image)
92169	// in the VM Import/Export User Guide.
92170	LicenseType *string `type:"string"`
92171
92172	// The operating system of the virtual machine.
92173	//
92174	// Valid values: Windows | Linux
92175	Platform *string `type:"string"`
92176
92177	// The name of the role to use when not using the default role, 'vmimport'.
92178	RoleName *string `type:"string"`
92179
92180	// The tags to apply to the import image task during creation.
92181	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
92182
92183	// The usage operation value. For more information, see AMI billing information
92184	// fields (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/billing-info-fields.html)
92185	// in the Amazon Elastic Compute Cloud User Guide.
92186	UsageOperation *string `type:"string"`
92187}
92188
92189// String returns the string representation
92190func (s ImportImageInput) String() string {
92191	return awsutil.Prettify(s)
92192}
92193
92194// GoString returns the string representation
92195func (s ImportImageInput) GoString() string {
92196	return s.String()
92197}
92198
92199// SetArchitecture sets the Architecture field's value.
92200func (s *ImportImageInput) SetArchitecture(v string) *ImportImageInput {
92201	s.Architecture = &v
92202	return s
92203}
92204
92205// SetBootMode sets the BootMode field's value.
92206func (s *ImportImageInput) SetBootMode(v string) *ImportImageInput {
92207	s.BootMode = &v
92208	return s
92209}
92210
92211// SetClientData sets the ClientData field's value.
92212func (s *ImportImageInput) SetClientData(v *ClientData) *ImportImageInput {
92213	s.ClientData = v
92214	return s
92215}
92216
92217// SetClientToken sets the ClientToken field's value.
92218func (s *ImportImageInput) SetClientToken(v string) *ImportImageInput {
92219	s.ClientToken = &v
92220	return s
92221}
92222
92223// SetDescription sets the Description field's value.
92224func (s *ImportImageInput) SetDescription(v string) *ImportImageInput {
92225	s.Description = &v
92226	return s
92227}
92228
92229// SetDiskContainers sets the DiskContainers field's value.
92230func (s *ImportImageInput) SetDiskContainers(v []*ImageDiskContainer) *ImportImageInput {
92231	s.DiskContainers = v
92232	return s
92233}
92234
92235// SetDryRun sets the DryRun field's value.
92236func (s *ImportImageInput) SetDryRun(v bool) *ImportImageInput {
92237	s.DryRun = &v
92238	return s
92239}
92240
92241// SetEncrypted sets the Encrypted field's value.
92242func (s *ImportImageInput) SetEncrypted(v bool) *ImportImageInput {
92243	s.Encrypted = &v
92244	return s
92245}
92246
92247// SetHypervisor sets the Hypervisor field's value.
92248func (s *ImportImageInput) SetHypervisor(v string) *ImportImageInput {
92249	s.Hypervisor = &v
92250	return s
92251}
92252
92253// SetKmsKeyId sets the KmsKeyId field's value.
92254func (s *ImportImageInput) SetKmsKeyId(v string) *ImportImageInput {
92255	s.KmsKeyId = &v
92256	return s
92257}
92258
92259// SetLicenseSpecifications sets the LicenseSpecifications field's value.
92260func (s *ImportImageInput) SetLicenseSpecifications(v []*ImportImageLicenseConfigurationRequest) *ImportImageInput {
92261	s.LicenseSpecifications = v
92262	return s
92263}
92264
92265// SetLicenseType sets the LicenseType field's value.
92266func (s *ImportImageInput) SetLicenseType(v string) *ImportImageInput {
92267	s.LicenseType = &v
92268	return s
92269}
92270
92271// SetPlatform sets the Platform field's value.
92272func (s *ImportImageInput) SetPlatform(v string) *ImportImageInput {
92273	s.Platform = &v
92274	return s
92275}
92276
92277// SetRoleName sets the RoleName field's value.
92278func (s *ImportImageInput) SetRoleName(v string) *ImportImageInput {
92279	s.RoleName = &v
92280	return s
92281}
92282
92283// SetTagSpecifications sets the TagSpecifications field's value.
92284func (s *ImportImageInput) SetTagSpecifications(v []*TagSpecification) *ImportImageInput {
92285	s.TagSpecifications = v
92286	return s
92287}
92288
92289// SetUsageOperation sets the UsageOperation field's value.
92290func (s *ImportImageInput) SetUsageOperation(v string) *ImportImageInput {
92291	s.UsageOperation = &v
92292	return s
92293}
92294
92295// The request information of license configurations.
92296type ImportImageLicenseConfigurationRequest struct {
92297	_ struct{} `type:"structure"`
92298
92299	// The ARN of a license configuration.
92300	LicenseConfigurationArn *string `type:"string"`
92301}
92302
92303// String returns the string representation
92304func (s ImportImageLicenseConfigurationRequest) String() string {
92305	return awsutil.Prettify(s)
92306}
92307
92308// GoString returns the string representation
92309func (s ImportImageLicenseConfigurationRequest) GoString() string {
92310	return s.String()
92311}
92312
92313// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
92314func (s *ImportImageLicenseConfigurationRequest) SetLicenseConfigurationArn(v string) *ImportImageLicenseConfigurationRequest {
92315	s.LicenseConfigurationArn = &v
92316	return s
92317}
92318
92319// The response information for license configurations.
92320type ImportImageLicenseConfigurationResponse struct {
92321	_ struct{} `type:"structure"`
92322
92323	// The ARN of a license configuration.
92324	LicenseConfigurationArn *string `locationName:"licenseConfigurationArn" type:"string"`
92325}
92326
92327// String returns the string representation
92328func (s ImportImageLicenseConfigurationResponse) String() string {
92329	return awsutil.Prettify(s)
92330}
92331
92332// GoString returns the string representation
92333func (s ImportImageLicenseConfigurationResponse) GoString() string {
92334	return s.String()
92335}
92336
92337// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
92338func (s *ImportImageLicenseConfigurationResponse) SetLicenseConfigurationArn(v string) *ImportImageLicenseConfigurationResponse {
92339	s.LicenseConfigurationArn = &v
92340	return s
92341}
92342
92343type ImportImageOutput struct {
92344	_ struct{} `type:"structure"`
92345
92346	// The architecture of the virtual machine.
92347	Architecture *string `locationName:"architecture" type:"string"`
92348
92349	// A description of the import task.
92350	Description *string `locationName:"description" type:"string"`
92351
92352	// Indicates whether the AMI is encrypted.
92353	Encrypted *bool `locationName:"encrypted" type:"boolean"`
92354
92355	// The target hypervisor of the import task.
92356	Hypervisor *string `locationName:"hypervisor" type:"string"`
92357
92358	// The ID of the Amazon Machine Image (AMI) created by the import task.
92359	ImageId *string `locationName:"imageId" type:"string"`
92360
92361	// The task ID of the import image task.
92362	ImportTaskId *string `locationName:"importTaskId" type:"string"`
92363
92364	// The identifier for the symmetric KMS key that was used to create the encrypted
92365	// AMI.
92366	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
92367
92368	// The ARNs of the license configurations.
92369	LicenseSpecifications []*ImportImageLicenseConfigurationResponse `locationName:"licenseSpecifications" locationNameList:"item" type:"list"`
92370
92371	// The license type of the virtual machine.
92372	LicenseType *string `locationName:"licenseType" type:"string"`
92373
92374	// The operating system of the virtual machine.
92375	Platform *string `locationName:"platform" type:"string"`
92376
92377	// The progress of the task.
92378	Progress *string `locationName:"progress" type:"string"`
92379
92380	// Information about the snapshots.
92381	SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
92382
92383	// A brief status of the task.
92384	Status *string `locationName:"status" type:"string"`
92385
92386	// A detailed status message of the import task.
92387	StatusMessage *string `locationName:"statusMessage" type:"string"`
92388
92389	// Any tags assigned to the import image task.
92390	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
92391
92392	// The usage operation value.
92393	UsageOperation *string `locationName:"usageOperation" type:"string"`
92394}
92395
92396// String returns the string representation
92397func (s ImportImageOutput) String() string {
92398	return awsutil.Prettify(s)
92399}
92400
92401// GoString returns the string representation
92402func (s ImportImageOutput) GoString() string {
92403	return s.String()
92404}
92405
92406// SetArchitecture sets the Architecture field's value.
92407func (s *ImportImageOutput) SetArchitecture(v string) *ImportImageOutput {
92408	s.Architecture = &v
92409	return s
92410}
92411
92412// SetDescription sets the Description field's value.
92413func (s *ImportImageOutput) SetDescription(v string) *ImportImageOutput {
92414	s.Description = &v
92415	return s
92416}
92417
92418// SetEncrypted sets the Encrypted field's value.
92419func (s *ImportImageOutput) SetEncrypted(v bool) *ImportImageOutput {
92420	s.Encrypted = &v
92421	return s
92422}
92423
92424// SetHypervisor sets the Hypervisor field's value.
92425func (s *ImportImageOutput) SetHypervisor(v string) *ImportImageOutput {
92426	s.Hypervisor = &v
92427	return s
92428}
92429
92430// SetImageId sets the ImageId field's value.
92431func (s *ImportImageOutput) SetImageId(v string) *ImportImageOutput {
92432	s.ImageId = &v
92433	return s
92434}
92435
92436// SetImportTaskId sets the ImportTaskId field's value.
92437func (s *ImportImageOutput) SetImportTaskId(v string) *ImportImageOutput {
92438	s.ImportTaskId = &v
92439	return s
92440}
92441
92442// SetKmsKeyId sets the KmsKeyId field's value.
92443func (s *ImportImageOutput) SetKmsKeyId(v string) *ImportImageOutput {
92444	s.KmsKeyId = &v
92445	return s
92446}
92447
92448// SetLicenseSpecifications sets the LicenseSpecifications field's value.
92449func (s *ImportImageOutput) SetLicenseSpecifications(v []*ImportImageLicenseConfigurationResponse) *ImportImageOutput {
92450	s.LicenseSpecifications = v
92451	return s
92452}
92453
92454// SetLicenseType sets the LicenseType field's value.
92455func (s *ImportImageOutput) SetLicenseType(v string) *ImportImageOutput {
92456	s.LicenseType = &v
92457	return s
92458}
92459
92460// SetPlatform sets the Platform field's value.
92461func (s *ImportImageOutput) SetPlatform(v string) *ImportImageOutput {
92462	s.Platform = &v
92463	return s
92464}
92465
92466// SetProgress sets the Progress field's value.
92467func (s *ImportImageOutput) SetProgress(v string) *ImportImageOutput {
92468	s.Progress = &v
92469	return s
92470}
92471
92472// SetSnapshotDetails sets the SnapshotDetails field's value.
92473func (s *ImportImageOutput) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageOutput {
92474	s.SnapshotDetails = v
92475	return s
92476}
92477
92478// SetStatus sets the Status field's value.
92479func (s *ImportImageOutput) SetStatus(v string) *ImportImageOutput {
92480	s.Status = &v
92481	return s
92482}
92483
92484// SetStatusMessage sets the StatusMessage field's value.
92485func (s *ImportImageOutput) SetStatusMessage(v string) *ImportImageOutput {
92486	s.StatusMessage = &v
92487	return s
92488}
92489
92490// SetTags sets the Tags field's value.
92491func (s *ImportImageOutput) SetTags(v []*Tag) *ImportImageOutput {
92492	s.Tags = v
92493	return s
92494}
92495
92496// SetUsageOperation sets the UsageOperation field's value.
92497func (s *ImportImageOutput) SetUsageOperation(v string) *ImportImageOutput {
92498	s.UsageOperation = &v
92499	return s
92500}
92501
92502// Describes an import image task.
92503type ImportImageTask struct {
92504	_ struct{} `type:"structure"`
92505
92506	// The architecture of the virtual machine.
92507	//
92508	// Valid values: i386 | x86_64 | arm64
92509	Architecture *string `locationName:"architecture" type:"string"`
92510
92511	// The boot mode of the virtual machine.
92512	BootMode *string `locationName:"bootMode" type:"string" enum:"BootModeValues"`
92513
92514	// A description of the import task.
92515	Description *string `locationName:"description" type:"string"`
92516
92517	// Indicates whether the image is encrypted.
92518	Encrypted *bool `locationName:"encrypted" type:"boolean"`
92519
92520	// The target hypervisor for the import task.
92521	//
92522	// Valid values: xen
92523	Hypervisor *string `locationName:"hypervisor" type:"string"`
92524
92525	// The ID of the Amazon Machine Image (AMI) of the imported virtual machine.
92526	ImageId *string `locationName:"imageId" type:"string"`
92527
92528	// The ID of the import image task.
92529	ImportTaskId *string `locationName:"importTaskId" type:"string"`
92530
92531	// The identifier for the KMS key that was used to create the encrypted image.
92532	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
92533
92534	// The ARNs of the license configurations that are associated with the import
92535	// image task.
92536	LicenseSpecifications []*ImportImageLicenseConfigurationResponse `locationName:"licenseSpecifications" locationNameList:"item" type:"list"`
92537
92538	// The license type of the virtual machine.
92539	LicenseType *string `locationName:"licenseType" type:"string"`
92540
92541	// The description string for the import image task.
92542	Platform *string `locationName:"platform" type:"string"`
92543
92544	// The percentage of progress of the import image task.
92545	Progress *string `locationName:"progress" type:"string"`
92546
92547	// Information about the snapshots.
92548	SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
92549
92550	// A brief status for the import image task.
92551	Status *string `locationName:"status" type:"string"`
92552
92553	// A descriptive status message for the import image task.
92554	StatusMessage *string `locationName:"statusMessage" type:"string"`
92555
92556	// The tags for the import image task.
92557	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
92558
92559	// The usage operation value.
92560	UsageOperation *string `locationName:"usageOperation" type:"string"`
92561}
92562
92563// String returns the string representation
92564func (s ImportImageTask) String() string {
92565	return awsutil.Prettify(s)
92566}
92567
92568// GoString returns the string representation
92569func (s ImportImageTask) GoString() string {
92570	return s.String()
92571}
92572
92573// SetArchitecture sets the Architecture field's value.
92574func (s *ImportImageTask) SetArchitecture(v string) *ImportImageTask {
92575	s.Architecture = &v
92576	return s
92577}
92578
92579// SetBootMode sets the BootMode field's value.
92580func (s *ImportImageTask) SetBootMode(v string) *ImportImageTask {
92581	s.BootMode = &v
92582	return s
92583}
92584
92585// SetDescription sets the Description field's value.
92586func (s *ImportImageTask) SetDescription(v string) *ImportImageTask {
92587	s.Description = &v
92588	return s
92589}
92590
92591// SetEncrypted sets the Encrypted field's value.
92592func (s *ImportImageTask) SetEncrypted(v bool) *ImportImageTask {
92593	s.Encrypted = &v
92594	return s
92595}
92596
92597// SetHypervisor sets the Hypervisor field's value.
92598func (s *ImportImageTask) SetHypervisor(v string) *ImportImageTask {
92599	s.Hypervisor = &v
92600	return s
92601}
92602
92603// SetImageId sets the ImageId field's value.
92604func (s *ImportImageTask) SetImageId(v string) *ImportImageTask {
92605	s.ImageId = &v
92606	return s
92607}
92608
92609// SetImportTaskId sets the ImportTaskId field's value.
92610func (s *ImportImageTask) SetImportTaskId(v string) *ImportImageTask {
92611	s.ImportTaskId = &v
92612	return s
92613}
92614
92615// SetKmsKeyId sets the KmsKeyId field's value.
92616func (s *ImportImageTask) SetKmsKeyId(v string) *ImportImageTask {
92617	s.KmsKeyId = &v
92618	return s
92619}
92620
92621// SetLicenseSpecifications sets the LicenseSpecifications field's value.
92622func (s *ImportImageTask) SetLicenseSpecifications(v []*ImportImageLicenseConfigurationResponse) *ImportImageTask {
92623	s.LicenseSpecifications = v
92624	return s
92625}
92626
92627// SetLicenseType sets the LicenseType field's value.
92628func (s *ImportImageTask) SetLicenseType(v string) *ImportImageTask {
92629	s.LicenseType = &v
92630	return s
92631}
92632
92633// SetPlatform sets the Platform field's value.
92634func (s *ImportImageTask) SetPlatform(v string) *ImportImageTask {
92635	s.Platform = &v
92636	return s
92637}
92638
92639// SetProgress sets the Progress field's value.
92640func (s *ImportImageTask) SetProgress(v string) *ImportImageTask {
92641	s.Progress = &v
92642	return s
92643}
92644
92645// SetSnapshotDetails sets the SnapshotDetails field's value.
92646func (s *ImportImageTask) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageTask {
92647	s.SnapshotDetails = v
92648	return s
92649}
92650
92651// SetStatus sets the Status field's value.
92652func (s *ImportImageTask) SetStatus(v string) *ImportImageTask {
92653	s.Status = &v
92654	return s
92655}
92656
92657// SetStatusMessage sets the StatusMessage field's value.
92658func (s *ImportImageTask) SetStatusMessage(v string) *ImportImageTask {
92659	s.StatusMessage = &v
92660	return s
92661}
92662
92663// SetTags sets the Tags field's value.
92664func (s *ImportImageTask) SetTags(v []*Tag) *ImportImageTask {
92665	s.Tags = v
92666	return s
92667}
92668
92669// SetUsageOperation sets the UsageOperation field's value.
92670func (s *ImportImageTask) SetUsageOperation(v string) *ImportImageTask {
92671	s.UsageOperation = &v
92672	return s
92673}
92674
92675type ImportInstanceInput struct {
92676	_ struct{} `type:"structure"`
92677
92678	// A description for the instance being imported.
92679	Description *string `locationName:"description" type:"string"`
92680
92681	// The disk image.
92682	DiskImages []*DiskImage `locationName:"diskImage" type:"list"`
92683
92684	// Checks whether you have the required permissions for the action, without
92685	// actually making the request, and provides an error response. If you have
92686	// the required permissions, the error response is DryRunOperation. Otherwise,
92687	// it is UnauthorizedOperation.
92688	DryRun *bool `locationName:"dryRun" type:"boolean"`
92689
92690	// The launch specification.
92691	LaunchSpecification *ImportInstanceLaunchSpecification `locationName:"launchSpecification" type:"structure"`
92692
92693	// The instance operating system.
92694	//
92695	// Platform is a required field
92696	Platform *string `locationName:"platform" type:"string" required:"true" enum:"PlatformValues"`
92697}
92698
92699// String returns the string representation
92700func (s ImportInstanceInput) String() string {
92701	return awsutil.Prettify(s)
92702}
92703
92704// GoString returns the string representation
92705func (s ImportInstanceInput) GoString() string {
92706	return s.String()
92707}
92708
92709// Validate inspects the fields of the type to determine if they are valid.
92710func (s *ImportInstanceInput) Validate() error {
92711	invalidParams := request.ErrInvalidParams{Context: "ImportInstanceInput"}
92712	if s.Platform == nil {
92713		invalidParams.Add(request.NewErrParamRequired("Platform"))
92714	}
92715	if s.DiskImages != nil {
92716		for i, v := range s.DiskImages {
92717			if v == nil {
92718				continue
92719			}
92720			if err := v.Validate(); err != nil {
92721				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DiskImages", i), err.(request.ErrInvalidParams))
92722			}
92723		}
92724	}
92725
92726	if invalidParams.Len() > 0 {
92727		return invalidParams
92728	}
92729	return nil
92730}
92731
92732// SetDescription sets the Description field's value.
92733func (s *ImportInstanceInput) SetDescription(v string) *ImportInstanceInput {
92734	s.Description = &v
92735	return s
92736}
92737
92738// SetDiskImages sets the DiskImages field's value.
92739func (s *ImportInstanceInput) SetDiskImages(v []*DiskImage) *ImportInstanceInput {
92740	s.DiskImages = v
92741	return s
92742}
92743
92744// SetDryRun sets the DryRun field's value.
92745func (s *ImportInstanceInput) SetDryRun(v bool) *ImportInstanceInput {
92746	s.DryRun = &v
92747	return s
92748}
92749
92750// SetLaunchSpecification sets the LaunchSpecification field's value.
92751func (s *ImportInstanceInput) SetLaunchSpecification(v *ImportInstanceLaunchSpecification) *ImportInstanceInput {
92752	s.LaunchSpecification = v
92753	return s
92754}
92755
92756// SetPlatform sets the Platform field's value.
92757func (s *ImportInstanceInput) SetPlatform(v string) *ImportInstanceInput {
92758	s.Platform = &v
92759	return s
92760}
92761
92762// Describes the launch specification for VM import.
92763type ImportInstanceLaunchSpecification struct {
92764	_ struct{} `type:"structure"`
92765
92766	// Reserved.
92767	AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
92768
92769	// The architecture of the instance.
92770	Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
92771
92772	// The security group IDs.
92773	GroupIds []*string `locationName:"GroupId" locationNameList:"SecurityGroupId" type:"list"`
92774
92775	// The security group names.
92776	GroupNames []*string `locationName:"GroupName" locationNameList:"SecurityGroup" type:"list"`
92777
92778	// Indicates whether an instance stops or terminates when you initiate shutdown
92779	// from the instance (using the operating system command for system shutdown).
92780	InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
92781
92782	// The instance type. For more information about the instance types that you
92783	// can import, see Instance Types (https://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html#vmimport-instance-types)
92784	// in the VM Import/Export User Guide.
92785	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
92786
92787	// Indicates whether monitoring is enabled.
92788	Monitoring *bool `locationName:"monitoring" type:"boolean"`
92789
92790	// The placement information for the instance.
92791	Placement *Placement `locationName:"placement" type:"structure"`
92792
92793	// [EC2-VPC] An available IP address from the IP address range of the subnet.
92794	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
92795
92796	// [EC2-VPC] The ID of the subnet in which to launch the instance.
92797	SubnetId *string `locationName:"subnetId" type:"string"`
92798
92799	// The Base64-encoded user data to make available to the instance.
92800	UserData *UserData `locationName:"userData" type:"structure" sensitive:"true"`
92801}
92802
92803// String returns the string representation
92804func (s ImportInstanceLaunchSpecification) String() string {
92805	return awsutil.Prettify(s)
92806}
92807
92808// GoString returns the string representation
92809func (s ImportInstanceLaunchSpecification) GoString() string {
92810	return s.String()
92811}
92812
92813// SetAdditionalInfo sets the AdditionalInfo field's value.
92814func (s *ImportInstanceLaunchSpecification) SetAdditionalInfo(v string) *ImportInstanceLaunchSpecification {
92815	s.AdditionalInfo = &v
92816	return s
92817}
92818
92819// SetArchitecture sets the Architecture field's value.
92820func (s *ImportInstanceLaunchSpecification) SetArchitecture(v string) *ImportInstanceLaunchSpecification {
92821	s.Architecture = &v
92822	return s
92823}
92824
92825// SetGroupIds sets the GroupIds field's value.
92826func (s *ImportInstanceLaunchSpecification) SetGroupIds(v []*string) *ImportInstanceLaunchSpecification {
92827	s.GroupIds = v
92828	return s
92829}
92830
92831// SetGroupNames sets the GroupNames field's value.
92832func (s *ImportInstanceLaunchSpecification) SetGroupNames(v []*string) *ImportInstanceLaunchSpecification {
92833	s.GroupNames = v
92834	return s
92835}
92836
92837// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
92838func (s *ImportInstanceLaunchSpecification) SetInstanceInitiatedShutdownBehavior(v string) *ImportInstanceLaunchSpecification {
92839	s.InstanceInitiatedShutdownBehavior = &v
92840	return s
92841}
92842
92843// SetInstanceType sets the InstanceType field's value.
92844func (s *ImportInstanceLaunchSpecification) SetInstanceType(v string) *ImportInstanceLaunchSpecification {
92845	s.InstanceType = &v
92846	return s
92847}
92848
92849// SetMonitoring sets the Monitoring field's value.
92850func (s *ImportInstanceLaunchSpecification) SetMonitoring(v bool) *ImportInstanceLaunchSpecification {
92851	s.Monitoring = &v
92852	return s
92853}
92854
92855// SetPlacement sets the Placement field's value.
92856func (s *ImportInstanceLaunchSpecification) SetPlacement(v *Placement) *ImportInstanceLaunchSpecification {
92857	s.Placement = v
92858	return s
92859}
92860
92861// SetPrivateIpAddress sets the PrivateIpAddress field's value.
92862func (s *ImportInstanceLaunchSpecification) SetPrivateIpAddress(v string) *ImportInstanceLaunchSpecification {
92863	s.PrivateIpAddress = &v
92864	return s
92865}
92866
92867// SetSubnetId sets the SubnetId field's value.
92868func (s *ImportInstanceLaunchSpecification) SetSubnetId(v string) *ImportInstanceLaunchSpecification {
92869	s.SubnetId = &v
92870	return s
92871}
92872
92873// SetUserData sets the UserData field's value.
92874func (s *ImportInstanceLaunchSpecification) SetUserData(v *UserData) *ImportInstanceLaunchSpecification {
92875	s.UserData = v
92876	return s
92877}
92878
92879type ImportInstanceOutput struct {
92880	_ struct{} `type:"structure"`
92881
92882	// Information about the conversion task.
92883	ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
92884}
92885
92886// String returns the string representation
92887func (s ImportInstanceOutput) String() string {
92888	return awsutil.Prettify(s)
92889}
92890
92891// GoString returns the string representation
92892func (s ImportInstanceOutput) GoString() string {
92893	return s.String()
92894}
92895
92896// SetConversionTask sets the ConversionTask field's value.
92897func (s *ImportInstanceOutput) SetConversionTask(v *ConversionTask) *ImportInstanceOutput {
92898	s.ConversionTask = v
92899	return s
92900}
92901
92902// Describes an import instance task.
92903type ImportInstanceTaskDetails struct {
92904	_ struct{} `type:"structure"`
92905
92906	// A description of the task.
92907	Description *string `locationName:"description" type:"string"`
92908
92909	// The ID of the instance.
92910	InstanceId *string `locationName:"instanceId" type:"string"`
92911
92912	// The instance operating system.
92913	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
92914
92915	// The volumes.
92916	Volumes []*ImportInstanceVolumeDetailItem `locationName:"volumes" locationNameList:"item" type:"list"`
92917}
92918
92919// String returns the string representation
92920func (s ImportInstanceTaskDetails) String() string {
92921	return awsutil.Prettify(s)
92922}
92923
92924// GoString returns the string representation
92925func (s ImportInstanceTaskDetails) GoString() string {
92926	return s.String()
92927}
92928
92929// SetDescription sets the Description field's value.
92930func (s *ImportInstanceTaskDetails) SetDescription(v string) *ImportInstanceTaskDetails {
92931	s.Description = &v
92932	return s
92933}
92934
92935// SetInstanceId sets the InstanceId field's value.
92936func (s *ImportInstanceTaskDetails) SetInstanceId(v string) *ImportInstanceTaskDetails {
92937	s.InstanceId = &v
92938	return s
92939}
92940
92941// SetPlatform sets the Platform field's value.
92942func (s *ImportInstanceTaskDetails) SetPlatform(v string) *ImportInstanceTaskDetails {
92943	s.Platform = &v
92944	return s
92945}
92946
92947// SetVolumes sets the Volumes field's value.
92948func (s *ImportInstanceTaskDetails) SetVolumes(v []*ImportInstanceVolumeDetailItem) *ImportInstanceTaskDetails {
92949	s.Volumes = v
92950	return s
92951}
92952
92953// Describes an import volume task.
92954type ImportInstanceVolumeDetailItem struct {
92955	_ struct{} `type:"structure"`
92956
92957	// The Availability Zone where the resulting instance will reside.
92958	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
92959
92960	// The number of bytes converted so far.
92961	BytesConverted *int64 `locationName:"bytesConverted" type:"long"`
92962
92963	// A description of the task.
92964	Description *string `locationName:"description" type:"string"`
92965
92966	// The image.
92967	Image *DiskImageDescription `locationName:"image" type:"structure"`
92968
92969	// The status of the import of this particular disk image.
92970	Status *string `locationName:"status" type:"string"`
92971
92972	// The status information or errors related to the disk image.
92973	StatusMessage *string `locationName:"statusMessage" type:"string"`
92974
92975	// The volume.
92976	Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure"`
92977}
92978
92979// String returns the string representation
92980func (s ImportInstanceVolumeDetailItem) String() string {
92981	return awsutil.Prettify(s)
92982}
92983
92984// GoString returns the string representation
92985func (s ImportInstanceVolumeDetailItem) GoString() string {
92986	return s.String()
92987}
92988
92989// SetAvailabilityZone sets the AvailabilityZone field's value.
92990func (s *ImportInstanceVolumeDetailItem) SetAvailabilityZone(v string) *ImportInstanceVolumeDetailItem {
92991	s.AvailabilityZone = &v
92992	return s
92993}
92994
92995// SetBytesConverted sets the BytesConverted field's value.
92996func (s *ImportInstanceVolumeDetailItem) SetBytesConverted(v int64) *ImportInstanceVolumeDetailItem {
92997	s.BytesConverted = &v
92998	return s
92999}
93000
93001// SetDescription sets the Description field's value.
93002func (s *ImportInstanceVolumeDetailItem) SetDescription(v string) *ImportInstanceVolumeDetailItem {
93003	s.Description = &v
93004	return s
93005}
93006
93007// SetImage sets the Image field's value.
93008func (s *ImportInstanceVolumeDetailItem) SetImage(v *DiskImageDescription) *ImportInstanceVolumeDetailItem {
93009	s.Image = v
93010	return s
93011}
93012
93013// SetStatus sets the Status field's value.
93014func (s *ImportInstanceVolumeDetailItem) SetStatus(v string) *ImportInstanceVolumeDetailItem {
93015	s.Status = &v
93016	return s
93017}
93018
93019// SetStatusMessage sets the StatusMessage field's value.
93020func (s *ImportInstanceVolumeDetailItem) SetStatusMessage(v string) *ImportInstanceVolumeDetailItem {
93021	s.StatusMessage = &v
93022	return s
93023}
93024
93025// SetVolume sets the Volume field's value.
93026func (s *ImportInstanceVolumeDetailItem) SetVolume(v *DiskImageVolumeDescription) *ImportInstanceVolumeDetailItem {
93027	s.Volume = v
93028	return s
93029}
93030
93031type ImportKeyPairInput struct {
93032	_ struct{} `type:"structure"`
93033
93034	// Checks whether you have the required permissions for the action, without
93035	// actually making the request, and provides an error response. If you have
93036	// the required permissions, the error response is DryRunOperation. Otherwise,
93037	// it is UnauthorizedOperation.
93038	DryRun *bool `locationName:"dryRun" type:"boolean"`
93039
93040	// A unique name for the key pair.
93041	//
93042	// KeyName is a required field
93043	KeyName *string `locationName:"keyName" type:"string" required:"true"`
93044
93045	// The public key. For API calls, the text must be base64-encoded. For command
93046	// line tools, base64 encoding is performed for you.
93047	//
93048	// PublicKeyMaterial is automatically base64 encoded/decoded by the SDK.
93049	//
93050	// PublicKeyMaterial is a required field
93051	PublicKeyMaterial []byte `locationName:"publicKeyMaterial" type:"blob" required:"true"`
93052
93053	// The tags to apply to the imported key pair.
93054	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
93055}
93056
93057// String returns the string representation
93058func (s ImportKeyPairInput) String() string {
93059	return awsutil.Prettify(s)
93060}
93061
93062// GoString returns the string representation
93063func (s ImportKeyPairInput) GoString() string {
93064	return s.String()
93065}
93066
93067// Validate inspects the fields of the type to determine if they are valid.
93068func (s *ImportKeyPairInput) Validate() error {
93069	invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
93070	if s.KeyName == nil {
93071		invalidParams.Add(request.NewErrParamRequired("KeyName"))
93072	}
93073	if s.PublicKeyMaterial == nil {
93074		invalidParams.Add(request.NewErrParamRequired("PublicKeyMaterial"))
93075	}
93076
93077	if invalidParams.Len() > 0 {
93078		return invalidParams
93079	}
93080	return nil
93081}
93082
93083// SetDryRun sets the DryRun field's value.
93084func (s *ImportKeyPairInput) SetDryRun(v bool) *ImportKeyPairInput {
93085	s.DryRun = &v
93086	return s
93087}
93088
93089// SetKeyName sets the KeyName field's value.
93090func (s *ImportKeyPairInput) SetKeyName(v string) *ImportKeyPairInput {
93091	s.KeyName = &v
93092	return s
93093}
93094
93095// SetPublicKeyMaterial sets the PublicKeyMaterial field's value.
93096func (s *ImportKeyPairInput) SetPublicKeyMaterial(v []byte) *ImportKeyPairInput {
93097	s.PublicKeyMaterial = v
93098	return s
93099}
93100
93101// SetTagSpecifications sets the TagSpecifications field's value.
93102func (s *ImportKeyPairInput) SetTagSpecifications(v []*TagSpecification) *ImportKeyPairInput {
93103	s.TagSpecifications = v
93104	return s
93105}
93106
93107type ImportKeyPairOutput struct {
93108	_ struct{} `type:"structure"`
93109
93110	// The MD5 public key fingerprint as specified in section 4 of RFC 4716.
93111	KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
93112
93113	// The key pair name that you provided.
93114	KeyName *string `locationName:"keyName" type:"string"`
93115
93116	// The ID of the resulting key pair.
93117	KeyPairId *string `locationName:"keyPairId" type:"string"`
93118
93119	// The tags applied to the imported key pair.
93120	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
93121}
93122
93123// String returns the string representation
93124func (s ImportKeyPairOutput) String() string {
93125	return awsutil.Prettify(s)
93126}
93127
93128// GoString returns the string representation
93129func (s ImportKeyPairOutput) GoString() string {
93130	return s.String()
93131}
93132
93133// SetKeyFingerprint sets the KeyFingerprint field's value.
93134func (s *ImportKeyPairOutput) SetKeyFingerprint(v string) *ImportKeyPairOutput {
93135	s.KeyFingerprint = &v
93136	return s
93137}
93138
93139// SetKeyName sets the KeyName field's value.
93140func (s *ImportKeyPairOutput) SetKeyName(v string) *ImportKeyPairOutput {
93141	s.KeyName = &v
93142	return s
93143}
93144
93145// SetKeyPairId sets the KeyPairId field's value.
93146func (s *ImportKeyPairOutput) SetKeyPairId(v string) *ImportKeyPairOutput {
93147	s.KeyPairId = &v
93148	return s
93149}
93150
93151// SetTags sets the Tags field's value.
93152func (s *ImportKeyPairOutput) SetTags(v []*Tag) *ImportKeyPairOutput {
93153	s.Tags = v
93154	return s
93155}
93156
93157type ImportSnapshotInput struct {
93158	_ struct{} `type:"structure"`
93159
93160	// The client-specific data.
93161	ClientData *ClientData `type:"structure"`
93162
93163	// Token to enable idempotency for VM import requests.
93164	ClientToken *string `type:"string"`
93165
93166	// The description string for the import snapshot task.
93167	Description *string `type:"string"`
93168
93169	// Information about the disk container.
93170	DiskContainer *SnapshotDiskContainer `type:"structure"`
93171
93172	// Checks whether you have the required permissions for the action, without
93173	// actually making the request, and provides an error response. If you have
93174	// the required permissions, the error response is DryRunOperation. Otherwise,
93175	// it is UnauthorizedOperation.
93176	DryRun *bool `type:"boolean"`
93177
93178	// Specifies whether the destination snapshot of the imported image should be
93179	// encrypted. The default KMS key for EBS is used unless you specify a non-default
93180	// KMS key using KmsKeyId. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
93181	// in the Amazon Elastic Compute Cloud User Guide.
93182	Encrypted *bool `type:"boolean"`
93183
93184	// An identifier for the symmetric KMS key to use when creating the encrypted
93185	// snapshot. This parameter is only required if you want to use a non-default
93186	// KMS key; if this parameter is not specified, the default KMS key for EBS
93187	// is used. If a KmsKeyId is specified, the Encrypted flag must also be set.
93188	//
93189	// The KMS key identifier may be provided in any of the following formats:
93190	//
93191	//    * Key ID
93192	//
93193	//    * Key alias. The alias ARN contains the arn:aws:kms namespace, followed
93194	//    by the Region of the key, the Amazon Web Services account ID of the key
93195	//    owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
93196	//
93197	//    * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
93198	//    by the Region of the key, the Amazon Web Services account ID of the key
93199	//    owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
93200	//
93201	//    * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
93202	//    followed by the Region of the key, the Amazon Web Services account ID
93203	//    of the key owner, the alias namespace, and then the key alias. For example,
93204	//    arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
93205	//
93206	// Amazon Web Services parses KmsKeyId asynchronously, meaning that the action
93207	// you call may appear to complete even though you provided an invalid identifier.
93208	// This action will eventually report failure.
93209	//
93210	// The specified KMS key must exist in the Region that the snapshot is being
93211	// copied to.
93212	//
93213	// Amazon EBS does not support asymmetric KMS keys.
93214	KmsKeyId *string `type:"string"`
93215
93216	// The name of the role to use when not using the default role, 'vmimport'.
93217	RoleName *string `type:"string"`
93218
93219	// The tags to apply to the import snapshot task during creation.
93220	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
93221}
93222
93223// String returns the string representation
93224func (s ImportSnapshotInput) String() string {
93225	return awsutil.Prettify(s)
93226}
93227
93228// GoString returns the string representation
93229func (s ImportSnapshotInput) GoString() string {
93230	return s.String()
93231}
93232
93233// SetClientData sets the ClientData field's value.
93234func (s *ImportSnapshotInput) SetClientData(v *ClientData) *ImportSnapshotInput {
93235	s.ClientData = v
93236	return s
93237}
93238
93239// SetClientToken sets the ClientToken field's value.
93240func (s *ImportSnapshotInput) SetClientToken(v string) *ImportSnapshotInput {
93241	s.ClientToken = &v
93242	return s
93243}
93244
93245// SetDescription sets the Description field's value.
93246func (s *ImportSnapshotInput) SetDescription(v string) *ImportSnapshotInput {
93247	s.Description = &v
93248	return s
93249}
93250
93251// SetDiskContainer sets the DiskContainer field's value.
93252func (s *ImportSnapshotInput) SetDiskContainer(v *SnapshotDiskContainer) *ImportSnapshotInput {
93253	s.DiskContainer = v
93254	return s
93255}
93256
93257// SetDryRun sets the DryRun field's value.
93258func (s *ImportSnapshotInput) SetDryRun(v bool) *ImportSnapshotInput {
93259	s.DryRun = &v
93260	return s
93261}
93262
93263// SetEncrypted sets the Encrypted field's value.
93264func (s *ImportSnapshotInput) SetEncrypted(v bool) *ImportSnapshotInput {
93265	s.Encrypted = &v
93266	return s
93267}
93268
93269// SetKmsKeyId sets the KmsKeyId field's value.
93270func (s *ImportSnapshotInput) SetKmsKeyId(v string) *ImportSnapshotInput {
93271	s.KmsKeyId = &v
93272	return s
93273}
93274
93275// SetRoleName sets the RoleName field's value.
93276func (s *ImportSnapshotInput) SetRoleName(v string) *ImportSnapshotInput {
93277	s.RoleName = &v
93278	return s
93279}
93280
93281// SetTagSpecifications sets the TagSpecifications field's value.
93282func (s *ImportSnapshotInput) SetTagSpecifications(v []*TagSpecification) *ImportSnapshotInput {
93283	s.TagSpecifications = v
93284	return s
93285}
93286
93287type ImportSnapshotOutput struct {
93288	_ struct{} `type:"structure"`
93289
93290	// A description of the import snapshot task.
93291	Description *string `locationName:"description" type:"string"`
93292
93293	// The ID of the import snapshot task.
93294	ImportTaskId *string `locationName:"importTaskId" type:"string"`
93295
93296	// Information about the import snapshot task.
93297	SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
93298
93299	// Any tags assigned to the import snapshot task.
93300	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
93301}
93302
93303// String returns the string representation
93304func (s ImportSnapshotOutput) String() string {
93305	return awsutil.Prettify(s)
93306}
93307
93308// GoString returns the string representation
93309func (s ImportSnapshotOutput) GoString() string {
93310	return s.String()
93311}
93312
93313// SetDescription sets the Description field's value.
93314func (s *ImportSnapshotOutput) SetDescription(v string) *ImportSnapshotOutput {
93315	s.Description = &v
93316	return s
93317}
93318
93319// SetImportTaskId sets the ImportTaskId field's value.
93320func (s *ImportSnapshotOutput) SetImportTaskId(v string) *ImportSnapshotOutput {
93321	s.ImportTaskId = &v
93322	return s
93323}
93324
93325// SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
93326func (s *ImportSnapshotOutput) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotOutput {
93327	s.SnapshotTaskDetail = v
93328	return s
93329}
93330
93331// SetTags sets the Tags field's value.
93332func (s *ImportSnapshotOutput) SetTags(v []*Tag) *ImportSnapshotOutput {
93333	s.Tags = v
93334	return s
93335}
93336
93337// Describes an import snapshot task.
93338type ImportSnapshotTask struct {
93339	_ struct{} `type:"structure"`
93340
93341	// A description of the import snapshot task.
93342	Description *string `locationName:"description" type:"string"`
93343
93344	// The ID of the import snapshot task.
93345	ImportTaskId *string `locationName:"importTaskId" type:"string"`
93346
93347	// Describes an import snapshot task.
93348	SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
93349
93350	// The tags for the import snapshot task.
93351	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
93352}
93353
93354// String returns the string representation
93355func (s ImportSnapshotTask) String() string {
93356	return awsutil.Prettify(s)
93357}
93358
93359// GoString returns the string representation
93360func (s ImportSnapshotTask) GoString() string {
93361	return s.String()
93362}
93363
93364// SetDescription sets the Description field's value.
93365func (s *ImportSnapshotTask) SetDescription(v string) *ImportSnapshotTask {
93366	s.Description = &v
93367	return s
93368}
93369
93370// SetImportTaskId sets the ImportTaskId field's value.
93371func (s *ImportSnapshotTask) SetImportTaskId(v string) *ImportSnapshotTask {
93372	s.ImportTaskId = &v
93373	return s
93374}
93375
93376// SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
93377func (s *ImportSnapshotTask) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotTask {
93378	s.SnapshotTaskDetail = v
93379	return s
93380}
93381
93382// SetTags sets the Tags field's value.
93383func (s *ImportSnapshotTask) SetTags(v []*Tag) *ImportSnapshotTask {
93384	s.Tags = v
93385	return s
93386}
93387
93388type ImportVolumeInput struct {
93389	_ struct{} `type:"structure"`
93390
93391	// The Availability Zone for the resulting EBS volume.
93392	//
93393	// AvailabilityZone is a required field
93394	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
93395
93396	// A description of the volume.
93397	Description *string `locationName:"description" type:"string"`
93398
93399	// Checks whether you have the required permissions for the action, without
93400	// actually making the request, and provides an error response. If you have
93401	// the required permissions, the error response is DryRunOperation. Otherwise,
93402	// it is UnauthorizedOperation.
93403	DryRun *bool `locationName:"dryRun" type:"boolean"`
93404
93405	// The disk image.
93406	//
93407	// Image is a required field
93408	Image *DiskImageDetail `locationName:"image" type:"structure" required:"true"`
93409
93410	// The volume size.
93411	//
93412	// Volume is a required field
93413	Volume *VolumeDetail `locationName:"volume" type:"structure" required:"true"`
93414}
93415
93416// String returns the string representation
93417func (s ImportVolumeInput) String() string {
93418	return awsutil.Prettify(s)
93419}
93420
93421// GoString returns the string representation
93422func (s ImportVolumeInput) GoString() string {
93423	return s.String()
93424}
93425
93426// Validate inspects the fields of the type to determine if they are valid.
93427func (s *ImportVolumeInput) Validate() error {
93428	invalidParams := request.ErrInvalidParams{Context: "ImportVolumeInput"}
93429	if s.AvailabilityZone == nil {
93430		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
93431	}
93432	if s.Image == nil {
93433		invalidParams.Add(request.NewErrParamRequired("Image"))
93434	}
93435	if s.Volume == nil {
93436		invalidParams.Add(request.NewErrParamRequired("Volume"))
93437	}
93438	if s.Image != nil {
93439		if err := s.Image.Validate(); err != nil {
93440			invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
93441		}
93442	}
93443	if s.Volume != nil {
93444		if err := s.Volume.Validate(); err != nil {
93445			invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
93446		}
93447	}
93448
93449	if invalidParams.Len() > 0 {
93450		return invalidParams
93451	}
93452	return nil
93453}
93454
93455// SetAvailabilityZone sets the AvailabilityZone field's value.
93456func (s *ImportVolumeInput) SetAvailabilityZone(v string) *ImportVolumeInput {
93457	s.AvailabilityZone = &v
93458	return s
93459}
93460
93461// SetDescription sets the Description field's value.
93462func (s *ImportVolumeInput) SetDescription(v string) *ImportVolumeInput {
93463	s.Description = &v
93464	return s
93465}
93466
93467// SetDryRun sets the DryRun field's value.
93468func (s *ImportVolumeInput) SetDryRun(v bool) *ImportVolumeInput {
93469	s.DryRun = &v
93470	return s
93471}
93472
93473// SetImage sets the Image field's value.
93474func (s *ImportVolumeInput) SetImage(v *DiskImageDetail) *ImportVolumeInput {
93475	s.Image = v
93476	return s
93477}
93478
93479// SetVolume sets the Volume field's value.
93480func (s *ImportVolumeInput) SetVolume(v *VolumeDetail) *ImportVolumeInput {
93481	s.Volume = v
93482	return s
93483}
93484
93485type ImportVolumeOutput struct {
93486	_ struct{} `type:"structure"`
93487
93488	// Information about the conversion task.
93489	ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
93490}
93491
93492// String returns the string representation
93493func (s ImportVolumeOutput) String() string {
93494	return awsutil.Prettify(s)
93495}
93496
93497// GoString returns the string representation
93498func (s ImportVolumeOutput) GoString() string {
93499	return s.String()
93500}
93501
93502// SetConversionTask sets the ConversionTask field's value.
93503func (s *ImportVolumeOutput) SetConversionTask(v *ConversionTask) *ImportVolumeOutput {
93504	s.ConversionTask = v
93505	return s
93506}
93507
93508// Describes an import volume task.
93509type ImportVolumeTaskDetails struct {
93510	_ struct{} `type:"structure"`
93511
93512	// The Availability Zone where the resulting volume will reside.
93513	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
93514
93515	// The number of bytes converted so far.
93516	BytesConverted *int64 `locationName:"bytesConverted" type:"long"`
93517
93518	// The description you provided when starting the import volume task.
93519	Description *string `locationName:"description" type:"string"`
93520
93521	// The image.
93522	Image *DiskImageDescription `locationName:"image" type:"structure"`
93523
93524	// The volume.
93525	Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure"`
93526}
93527
93528// String returns the string representation
93529func (s ImportVolumeTaskDetails) String() string {
93530	return awsutil.Prettify(s)
93531}
93532
93533// GoString returns the string representation
93534func (s ImportVolumeTaskDetails) GoString() string {
93535	return s.String()
93536}
93537
93538// SetAvailabilityZone sets the AvailabilityZone field's value.
93539func (s *ImportVolumeTaskDetails) SetAvailabilityZone(v string) *ImportVolumeTaskDetails {
93540	s.AvailabilityZone = &v
93541	return s
93542}
93543
93544// SetBytesConverted sets the BytesConverted field's value.
93545func (s *ImportVolumeTaskDetails) SetBytesConverted(v int64) *ImportVolumeTaskDetails {
93546	s.BytesConverted = &v
93547	return s
93548}
93549
93550// SetDescription sets the Description field's value.
93551func (s *ImportVolumeTaskDetails) SetDescription(v string) *ImportVolumeTaskDetails {
93552	s.Description = &v
93553	return s
93554}
93555
93556// SetImage sets the Image field's value.
93557func (s *ImportVolumeTaskDetails) SetImage(v *DiskImageDescription) *ImportVolumeTaskDetails {
93558	s.Image = v
93559	return s
93560}
93561
93562// SetVolume sets the Volume field's value.
93563func (s *ImportVolumeTaskDetails) SetVolume(v *DiskImageVolumeDescription) *ImportVolumeTaskDetails {
93564	s.Volume = v
93565	return s
93566}
93567
93568// Describes the Inference accelerators for the instance type.
93569type InferenceAcceleratorInfo struct {
93570	_ struct{} `type:"structure"`
93571
93572	// Describes the Inference accelerators for the instance type.
93573	Accelerators []*InferenceDeviceInfo `locationName:"accelerators" type:"list"`
93574}
93575
93576// String returns the string representation
93577func (s InferenceAcceleratorInfo) String() string {
93578	return awsutil.Prettify(s)
93579}
93580
93581// GoString returns the string representation
93582func (s InferenceAcceleratorInfo) GoString() string {
93583	return s.String()
93584}
93585
93586// SetAccelerators sets the Accelerators field's value.
93587func (s *InferenceAcceleratorInfo) SetAccelerators(v []*InferenceDeviceInfo) *InferenceAcceleratorInfo {
93588	s.Accelerators = v
93589	return s
93590}
93591
93592// Describes the Inference accelerators for the instance type.
93593type InferenceDeviceInfo struct {
93594	_ struct{} `type:"structure"`
93595
93596	// The number of Inference accelerators for the instance type.
93597	Count *int64 `locationName:"count" type:"integer"`
93598
93599	// The manufacturer of the Inference accelerator.
93600	Manufacturer *string `locationName:"manufacturer" type:"string"`
93601
93602	// The name of the Inference accelerator.
93603	Name *string `locationName:"name" type:"string"`
93604}
93605
93606// String returns the string representation
93607func (s InferenceDeviceInfo) String() string {
93608	return awsutil.Prettify(s)
93609}
93610
93611// GoString returns the string representation
93612func (s InferenceDeviceInfo) GoString() string {
93613	return s.String()
93614}
93615
93616// SetCount sets the Count field's value.
93617func (s *InferenceDeviceInfo) SetCount(v int64) *InferenceDeviceInfo {
93618	s.Count = &v
93619	return s
93620}
93621
93622// SetManufacturer sets the Manufacturer field's value.
93623func (s *InferenceDeviceInfo) SetManufacturer(v string) *InferenceDeviceInfo {
93624	s.Manufacturer = &v
93625	return s
93626}
93627
93628// SetName sets the Name field's value.
93629func (s *InferenceDeviceInfo) SetName(v string) *InferenceDeviceInfo {
93630	s.Name = &v
93631	return s
93632}
93633
93634// Describes an instance.
93635type Instance struct {
93636	_ struct{} `type:"structure"`
93637
93638	// The AMI launch index, which can be used to find this instance in the launch
93639	// group.
93640	AmiLaunchIndex *int64 `locationName:"amiLaunchIndex" type:"integer"`
93641
93642	// The architecture of the image.
93643	Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
93644
93645	// Any block device mapping entries for the instance.
93646	BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
93647
93648	// The boot mode of the instance. For more information, see Boot modes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-boot.html)
93649	// in the Amazon EC2 User Guide.
93650	BootMode *string `locationName:"bootMode" type:"string" enum:"BootModeValues"`
93651
93652	// The ID of the Capacity Reservation.
93653	CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
93654
93655	// Information about the Capacity Reservation targeting option.
93656	CapacityReservationSpecification *CapacityReservationSpecificationResponse `locationName:"capacityReservationSpecification" type:"structure"`
93657
93658	// The idempotency token you provided when you launched the instance, if applicable.
93659	ClientToken *string `locationName:"clientToken" type:"string"`
93660
93661	// The CPU options for the instance.
93662	CpuOptions *CpuOptions `locationName:"cpuOptions" type:"structure"`
93663
93664	// Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
93665	// provides dedicated throughput to Amazon EBS and an optimized configuration
93666	// stack to provide optimal I/O performance. This optimization isn't available
93667	// with all instance types. Additional usage charges apply when using an EBS
93668	// Optimized instance.
93669	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
93670
93671	// The Elastic GPU associated with the instance.
93672	ElasticGpuAssociations []*ElasticGpuAssociation `locationName:"elasticGpuAssociationSet" locationNameList:"item" type:"list"`
93673
93674	// The elastic inference accelerator associated with the instance.
93675	ElasticInferenceAcceleratorAssociations []*ElasticInferenceAcceleratorAssociation `locationName:"elasticInferenceAcceleratorAssociationSet" locationNameList:"item" type:"list"`
93676
93677	// Specifies whether enhanced networking with ENA is enabled.
93678	EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
93679
93680	// Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.
93681	EnclaveOptions *EnclaveOptions `locationName:"enclaveOptions" type:"structure"`
93682
93683	// Indicates whether the instance is enabled for hibernation.
93684	HibernationOptions *HibernationOptions `locationName:"hibernationOptions" type:"structure"`
93685
93686	// The hypervisor type of the instance. The value xen is used for both Xen and
93687	// Nitro hypervisors.
93688	Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
93689
93690	// The IAM instance profile associated with the instance, if applicable.
93691	IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
93692
93693	// The ID of the AMI used to launch the instance.
93694	ImageId *string `locationName:"imageId" type:"string"`
93695
93696	// The ID of the instance.
93697	InstanceId *string `locationName:"instanceId" type:"string"`
93698
93699	// Indicates whether this is a Spot Instance or a Scheduled Instance.
93700	InstanceLifecycle *string `locationName:"instanceLifecycle" type:"string" enum:"InstanceLifecycleType"`
93701
93702	// The instance type.
93703	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
93704
93705	// The kernel associated with this instance, if applicable.
93706	KernelId *string `locationName:"kernelId" type:"string"`
93707
93708	// The name of the key pair, if this instance was launched with an associated
93709	// key pair.
93710	KeyName *string `locationName:"keyName" type:"string"`
93711
93712	// The time the instance was launched.
93713	LaunchTime *time.Time `locationName:"launchTime" type:"timestamp"`
93714
93715	// The license configurations.
93716	Licenses []*LicenseConfiguration `locationName:"licenseSet" locationNameList:"item" type:"list"`
93717
93718	// The metadata options for the instance.
93719	MetadataOptions *InstanceMetadataOptionsResponse `locationName:"metadataOptions" type:"structure"`
93720
93721	// The monitoring for the instance.
93722	Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
93723
93724	// [EC2-VPC] The network interfaces for the instance.
93725	NetworkInterfaces []*InstanceNetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
93726
93727	// The Amazon Resource Name (ARN) of the Outpost.
93728	OutpostArn *string `locationName:"outpostArn" type:"string"`
93729
93730	// The location where the instance launched, if applicable.
93731	Placement *Placement `locationName:"placement" type:"structure"`
93732
93733	// The value is Windows for Windows instances; otherwise blank.
93734	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
93735
93736	// (IPv4 only) The private DNS hostname name assigned to the instance. This
93737	// DNS hostname can only be used inside the Amazon EC2 network. This name is
93738	// not available until the instance enters the running state.
93739	//
93740	// [EC2-VPC] The Amazon-provided DNS server resolves Amazon-provided private
93741	// DNS hostnames if you've enabled DNS resolution and DNS hostnames in your
93742	// VPC. If you are not using the Amazon-provided DNS server in your VPC, your
93743	// custom domain name servers must resolve the hostname as appropriate.
93744	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
93745
93746	// The private IPv4 address assigned to the instance.
93747	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
93748
93749	// The product codes attached to this instance, if applicable.
93750	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
93751
93752	// (IPv4 only) The public DNS name assigned to the instance. This name is not
93753	// available until the instance enters the running state. For EC2-VPC, this
93754	// name is only available if you've enabled DNS hostnames for your VPC.
93755	PublicDnsName *string `locationName:"dnsName" type:"string"`
93756
93757	// The public IPv4 address, or the Carrier IP address assigned to the instance,
93758	// if applicable.
93759	//
93760	// A Carrier IP address only applies to an instance launched in a subnet associated
93761	// with a Wavelength Zone.
93762	PublicIpAddress *string `locationName:"ipAddress" type:"string"`
93763
93764	// The RAM disk associated with this instance, if applicable.
93765	RamdiskId *string `locationName:"ramdiskId" type:"string"`
93766
93767	// The device name of the root device volume (for example, /dev/sda1).
93768	RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
93769
93770	// The root device type used by the AMI. The AMI can use an EBS volume or an
93771	// instance store volume.
93772	RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
93773
93774	// The security groups for the instance.
93775	SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
93776
93777	// Indicates whether source/destination checking is enabled.
93778	SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
93779
93780	// If the request is a Spot Instance request, the ID of the request.
93781	SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
93782
93783	// Specifies whether enhanced networking with the Intel 82599 Virtual Function
93784	// interface is enabled.
93785	SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
93786
93787	// The current state of the instance.
93788	State *InstanceState `locationName:"instanceState" type:"structure"`
93789
93790	// The reason for the most recent state transition.
93791	StateReason *StateReason `locationName:"stateReason" type:"structure"`
93792
93793	// The reason for the most recent state transition. This might be an empty string.
93794	StateTransitionReason *string `locationName:"reason" type:"string"`
93795
93796	// [EC2-VPC] The ID of the subnet in which the instance is running.
93797	SubnetId *string `locationName:"subnetId" type:"string"`
93798
93799	// Any tags assigned to the instance.
93800	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
93801
93802	// The virtualization type of the instance.
93803	VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
93804
93805	// [EC2-VPC] The ID of the VPC in which the instance is running.
93806	VpcId *string `locationName:"vpcId" type:"string"`
93807}
93808
93809// String returns the string representation
93810func (s Instance) String() string {
93811	return awsutil.Prettify(s)
93812}
93813
93814// GoString returns the string representation
93815func (s Instance) GoString() string {
93816	return s.String()
93817}
93818
93819// SetAmiLaunchIndex sets the AmiLaunchIndex field's value.
93820func (s *Instance) SetAmiLaunchIndex(v int64) *Instance {
93821	s.AmiLaunchIndex = &v
93822	return s
93823}
93824
93825// SetArchitecture sets the Architecture field's value.
93826func (s *Instance) SetArchitecture(v string) *Instance {
93827	s.Architecture = &v
93828	return s
93829}
93830
93831// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
93832func (s *Instance) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *Instance {
93833	s.BlockDeviceMappings = v
93834	return s
93835}
93836
93837// SetBootMode sets the BootMode field's value.
93838func (s *Instance) SetBootMode(v string) *Instance {
93839	s.BootMode = &v
93840	return s
93841}
93842
93843// SetCapacityReservationId sets the CapacityReservationId field's value.
93844func (s *Instance) SetCapacityReservationId(v string) *Instance {
93845	s.CapacityReservationId = &v
93846	return s
93847}
93848
93849// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
93850func (s *Instance) SetCapacityReservationSpecification(v *CapacityReservationSpecificationResponse) *Instance {
93851	s.CapacityReservationSpecification = v
93852	return s
93853}
93854
93855// SetClientToken sets the ClientToken field's value.
93856func (s *Instance) SetClientToken(v string) *Instance {
93857	s.ClientToken = &v
93858	return s
93859}
93860
93861// SetCpuOptions sets the CpuOptions field's value.
93862func (s *Instance) SetCpuOptions(v *CpuOptions) *Instance {
93863	s.CpuOptions = v
93864	return s
93865}
93866
93867// SetEbsOptimized sets the EbsOptimized field's value.
93868func (s *Instance) SetEbsOptimized(v bool) *Instance {
93869	s.EbsOptimized = &v
93870	return s
93871}
93872
93873// SetElasticGpuAssociations sets the ElasticGpuAssociations field's value.
93874func (s *Instance) SetElasticGpuAssociations(v []*ElasticGpuAssociation) *Instance {
93875	s.ElasticGpuAssociations = v
93876	return s
93877}
93878
93879// SetElasticInferenceAcceleratorAssociations sets the ElasticInferenceAcceleratorAssociations field's value.
93880func (s *Instance) SetElasticInferenceAcceleratorAssociations(v []*ElasticInferenceAcceleratorAssociation) *Instance {
93881	s.ElasticInferenceAcceleratorAssociations = v
93882	return s
93883}
93884
93885// SetEnaSupport sets the EnaSupport field's value.
93886func (s *Instance) SetEnaSupport(v bool) *Instance {
93887	s.EnaSupport = &v
93888	return s
93889}
93890
93891// SetEnclaveOptions sets the EnclaveOptions field's value.
93892func (s *Instance) SetEnclaveOptions(v *EnclaveOptions) *Instance {
93893	s.EnclaveOptions = v
93894	return s
93895}
93896
93897// SetHibernationOptions sets the HibernationOptions field's value.
93898func (s *Instance) SetHibernationOptions(v *HibernationOptions) *Instance {
93899	s.HibernationOptions = v
93900	return s
93901}
93902
93903// SetHypervisor sets the Hypervisor field's value.
93904func (s *Instance) SetHypervisor(v string) *Instance {
93905	s.Hypervisor = &v
93906	return s
93907}
93908
93909// SetIamInstanceProfile sets the IamInstanceProfile field's value.
93910func (s *Instance) SetIamInstanceProfile(v *IamInstanceProfile) *Instance {
93911	s.IamInstanceProfile = v
93912	return s
93913}
93914
93915// SetImageId sets the ImageId field's value.
93916func (s *Instance) SetImageId(v string) *Instance {
93917	s.ImageId = &v
93918	return s
93919}
93920
93921// SetInstanceId sets the InstanceId field's value.
93922func (s *Instance) SetInstanceId(v string) *Instance {
93923	s.InstanceId = &v
93924	return s
93925}
93926
93927// SetInstanceLifecycle sets the InstanceLifecycle field's value.
93928func (s *Instance) SetInstanceLifecycle(v string) *Instance {
93929	s.InstanceLifecycle = &v
93930	return s
93931}
93932
93933// SetInstanceType sets the InstanceType field's value.
93934func (s *Instance) SetInstanceType(v string) *Instance {
93935	s.InstanceType = &v
93936	return s
93937}
93938
93939// SetKernelId sets the KernelId field's value.
93940func (s *Instance) SetKernelId(v string) *Instance {
93941	s.KernelId = &v
93942	return s
93943}
93944
93945// SetKeyName sets the KeyName field's value.
93946func (s *Instance) SetKeyName(v string) *Instance {
93947	s.KeyName = &v
93948	return s
93949}
93950
93951// SetLaunchTime sets the LaunchTime field's value.
93952func (s *Instance) SetLaunchTime(v time.Time) *Instance {
93953	s.LaunchTime = &v
93954	return s
93955}
93956
93957// SetLicenses sets the Licenses field's value.
93958func (s *Instance) SetLicenses(v []*LicenseConfiguration) *Instance {
93959	s.Licenses = v
93960	return s
93961}
93962
93963// SetMetadataOptions sets the MetadataOptions field's value.
93964func (s *Instance) SetMetadataOptions(v *InstanceMetadataOptionsResponse) *Instance {
93965	s.MetadataOptions = v
93966	return s
93967}
93968
93969// SetMonitoring sets the Monitoring field's value.
93970func (s *Instance) SetMonitoring(v *Monitoring) *Instance {
93971	s.Monitoring = v
93972	return s
93973}
93974
93975// SetNetworkInterfaces sets the NetworkInterfaces field's value.
93976func (s *Instance) SetNetworkInterfaces(v []*InstanceNetworkInterface) *Instance {
93977	s.NetworkInterfaces = v
93978	return s
93979}
93980
93981// SetOutpostArn sets the OutpostArn field's value.
93982func (s *Instance) SetOutpostArn(v string) *Instance {
93983	s.OutpostArn = &v
93984	return s
93985}
93986
93987// SetPlacement sets the Placement field's value.
93988func (s *Instance) SetPlacement(v *Placement) *Instance {
93989	s.Placement = v
93990	return s
93991}
93992
93993// SetPlatform sets the Platform field's value.
93994func (s *Instance) SetPlatform(v string) *Instance {
93995	s.Platform = &v
93996	return s
93997}
93998
93999// SetPrivateDnsName sets the PrivateDnsName field's value.
94000func (s *Instance) SetPrivateDnsName(v string) *Instance {
94001	s.PrivateDnsName = &v
94002	return s
94003}
94004
94005// SetPrivateIpAddress sets the PrivateIpAddress field's value.
94006func (s *Instance) SetPrivateIpAddress(v string) *Instance {
94007	s.PrivateIpAddress = &v
94008	return s
94009}
94010
94011// SetProductCodes sets the ProductCodes field's value.
94012func (s *Instance) SetProductCodes(v []*ProductCode) *Instance {
94013	s.ProductCodes = v
94014	return s
94015}
94016
94017// SetPublicDnsName sets the PublicDnsName field's value.
94018func (s *Instance) SetPublicDnsName(v string) *Instance {
94019	s.PublicDnsName = &v
94020	return s
94021}
94022
94023// SetPublicIpAddress sets the PublicIpAddress field's value.
94024func (s *Instance) SetPublicIpAddress(v string) *Instance {
94025	s.PublicIpAddress = &v
94026	return s
94027}
94028
94029// SetRamdiskId sets the RamdiskId field's value.
94030func (s *Instance) SetRamdiskId(v string) *Instance {
94031	s.RamdiskId = &v
94032	return s
94033}
94034
94035// SetRootDeviceName sets the RootDeviceName field's value.
94036func (s *Instance) SetRootDeviceName(v string) *Instance {
94037	s.RootDeviceName = &v
94038	return s
94039}
94040
94041// SetRootDeviceType sets the RootDeviceType field's value.
94042func (s *Instance) SetRootDeviceType(v string) *Instance {
94043	s.RootDeviceType = &v
94044	return s
94045}
94046
94047// SetSecurityGroups sets the SecurityGroups field's value.
94048func (s *Instance) SetSecurityGroups(v []*GroupIdentifier) *Instance {
94049	s.SecurityGroups = v
94050	return s
94051}
94052
94053// SetSourceDestCheck sets the SourceDestCheck field's value.
94054func (s *Instance) SetSourceDestCheck(v bool) *Instance {
94055	s.SourceDestCheck = &v
94056	return s
94057}
94058
94059// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
94060func (s *Instance) SetSpotInstanceRequestId(v string) *Instance {
94061	s.SpotInstanceRequestId = &v
94062	return s
94063}
94064
94065// SetSriovNetSupport sets the SriovNetSupport field's value.
94066func (s *Instance) SetSriovNetSupport(v string) *Instance {
94067	s.SriovNetSupport = &v
94068	return s
94069}
94070
94071// SetState sets the State field's value.
94072func (s *Instance) SetState(v *InstanceState) *Instance {
94073	s.State = v
94074	return s
94075}
94076
94077// SetStateReason sets the StateReason field's value.
94078func (s *Instance) SetStateReason(v *StateReason) *Instance {
94079	s.StateReason = v
94080	return s
94081}
94082
94083// SetStateTransitionReason sets the StateTransitionReason field's value.
94084func (s *Instance) SetStateTransitionReason(v string) *Instance {
94085	s.StateTransitionReason = &v
94086	return s
94087}
94088
94089// SetSubnetId sets the SubnetId field's value.
94090func (s *Instance) SetSubnetId(v string) *Instance {
94091	s.SubnetId = &v
94092	return s
94093}
94094
94095// SetTags sets the Tags field's value.
94096func (s *Instance) SetTags(v []*Tag) *Instance {
94097	s.Tags = v
94098	return s
94099}
94100
94101// SetVirtualizationType sets the VirtualizationType field's value.
94102func (s *Instance) SetVirtualizationType(v string) *Instance {
94103	s.VirtualizationType = &v
94104	return s
94105}
94106
94107// SetVpcId sets the VpcId field's value.
94108func (s *Instance) SetVpcId(v string) *Instance {
94109	s.VpcId = &v
94110	return s
94111}
94112
94113// Describes a block device mapping.
94114type InstanceBlockDeviceMapping struct {
94115	_ struct{} `type:"structure"`
94116
94117	// The device name (for example, /dev/sdh or xvdh).
94118	DeviceName *string `locationName:"deviceName" type:"string"`
94119
94120	// Parameters used to automatically set up EBS volumes when the instance is
94121	// launched.
94122	Ebs *EbsInstanceBlockDevice `locationName:"ebs" type:"structure"`
94123}
94124
94125// String returns the string representation
94126func (s InstanceBlockDeviceMapping) String() string {
94127	return awsutil.Prettify(s)
94128}
94129
94130// GoString returns the string representation
94131func (s InstanceBlockDeviceMapping) GoString() string {
94132	return s.String()
94133}
94134
94135// SetDeviceName sets the DeviceName field's value.
94136func (s *InstanceBlockDeviceMapping) SetDeviceName(v string) *InstanceBlockDeviceMapping {
94137	s.DeviceName = &v
94138	return s
94139}
94140
94141// SetEbs sets the Ebs field's value.
94142func (s *InstanceBlockDeviceMapping) SetEbs(v *EbsInstanceBlockDevice) *InstanceBlockDeviceMapping {
94143	s.Ebs = v
94144	return s
94145}
94146
94147// Describes a block device mapping entry.
94148type InstanceBlockDeviceMappingSpecification struct {
94149	_ struct{} `type:"structure"`
94150
94151	// The device name (for example, /dev/sdh or xvdh).
94152	DeviceName *string `locationName:"deviceName" type:"string"`
94153
94154	// Parameters used to automatically set up EBS volumes when the instance is
94155	// launched.
94156	Ebs *EbsInstanceBlockDeviceSpecification `locationName:"ebs" type:"structure"`
94157
94158	// suppress the specified device included in the block device mapping.
94159	NoDevice *string `locationName:"noDevice" type:"string"`
94160
94161	// The virtual device name.
94162	VirtualName *string `locationName:"virtualName" type:"string"`
94163}
94164
94165// String returns the string representation
94166func (s InstanceBlockDeviceMappingSpecification) String() string {
94167	return awsutil.Prettify(s)
94168}
94169
94170// GoString returns the string representation
94171func (s InstanceBlockDeviceMappingSpecification) GoString() string {
94172	return s.String()
94173}
94174
94175// SetDeviceName sets the DeviceName field's value.
94176func (s *InstanceBlockDeviceMappingSpecification) SetDeviceName(v string) *InstanceBlockDeviceMappingSpecification {
94177	s.DeviceName = &v
94178	return s
94179}
94180
94181// SetEbs sets the Ebs field's value.
94182func (s *InstanceBlockDeviceMappingSpecification) SetEbs(v *EbsInstanceBlockDeviceSpecification) *InstanceBlockDeviceMappingSpecification {
94183	s.Ebs = v
94184	return s
94185}
94186
94187// SetNoDevice sets the NoDevice field's value.
94188func (s *InstanceBlockDeviceMappingSpecification) SetNoDevice(v string) *InstanceBlockDeviceMappingSpecification {
94189	s.NoDevice = &v
94190	return s
94191}
94192
94193// SetVirtualName sets the VirtualName field's value.
94194func (s *InstanceBlockDeviceMappingSpecification) SetVirtualName(v string) *InstanceBlockDeviceMappingSpecification {
94195	s.VirtualName = &v
94196	return s
94197}
94198
94199// Information about the number of instances that can be launched onto the Dedicated
94200// Host.
94201type InstanceCapacity struct {
94202	_ struct{} `type:"structure"`
94203
94204	// The number of instances that can be launched onto the Dedicated Host based
94205	// on the host's available capacity.
94206	AvailableCapacity *int64 `locationName:"availableCapacity" type:"integer"`
94207
94208	// The instance type supported by the Dedicated Host.
94209	InstanceType *string `locationName:"instanceType" type:"string"`
94210
94211	// The total number of instances that can be launched onto the Dedicated Host
94212	// if there are no instances running on it.
94213	TotalCapacity *int64 `locationName:"totalCapacity" type:"integer"`
94214}
94215
94216// String returns the string representation
94217func (s InstanceCapacity) String() string {
94218	return awsutil.Prettify(s)
94219}
94220
94221// GoString returns the string representation
94222func (s InstanceCapacity) GoString() string {
94223	return s.String()
94224}
94225
94226// SetAvailableCapacity sets the AvailableCapacity field's value.
94227func (s *InstanceCapacity) SetAvailableCapacity(v int64) *InstanceCapacity {
94228	s.AvailableCapacity = &v
94229	return s
94230}
94231
94232// SetInstanceType sets the InstanceType field's value.
94233func (s *InstanceCapacity) SetInstanceType(v string) *InstanceCapacity {
94234	s.InstanceType = &v
94235	return s
94236}
94237
94238// SetTotalCapacity sets the TotalCapacity field's value.
94239func (s *InstanceCapacity) SetTotalCapacity(v int64) *InstanceCapacity {
94240	s.TotalCapacity = &v
94241	return s
94242}
94243
94244// Describes a Reserved Instance listing state.
94245type InstanceCount struct {
94246	_ struct{} `type:"structure"`
94247
94248	// The number of listed Reserved Instances in the state specified by the state.
94249	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
94250
94251	// The states of the listed Reserved Instances.
94252	State *string `locationName:"state" type:"string" enum:"ListingState"`
94253}
94254
94255// String returns the string representation
94256func (s InstanceCount) String() string {
94257	return awsutil.Prettify(s)
94258}
94259
94260// GoString returns the string representation
94261func (s InstanceCount) GoString() string {
94262	return s.String()
94263}
94264
94265// SetInstanceCount sets the InstanceCount field's value.
94266func (s *InstanceCount) SetInstanceCount(v int64) *InstanceCount {
94267	s.InstanceCount = &v
94268	return s
94269}
94270
94271// SetState sets the State field's value.
94272func (s *InstanceCount) SetState(v string) *InstanceCount {
94273	s.State = &v
94274	return s
94275}
94276
94277// Describes the credit option for CPU usage of a burstable performance instance.
94278type InstanceCreditSpecification struct {
94279	_ struct{} `type:"structure"`
94280
94281	// The credit option for CPU usage of the instance. Valid values are standard
94282	// and unlimited.
94283	CpuCredits *string `locationName:"cpuCredits" type:"string"`
94284
94285	// The ID of the instance.
94286	InstanceId *string `locationName:"instanceId" type:"string"`
94287}
94288
94289// String returns the string representation
94290func (s InstanceCreditSpecification) String() string {
94291	return awsutil.Prettify(s)
94292}
94293
94294// GoString returns the string representation
94295func (s InstanceCreditSpecification) GoString() string {
94296	return s.String()
94297}
94298
94299// SetCpuCredits sets the CpuCredits field's value.
94300func (s *InstanceCreditSpecification) SetCpuCredits(v string) *InstanceCreditSpecification {
94301	s.CpuCredits = &v
94302	return s
94303}
94304
94305// SetInstanceId sets the InstanceId field's value.
94306func (s *InstanceCreditSpecification) SetInstanceId(v string) *InstanceCreditSpecification {
94307	s.InstanceId = &v
94308	return s
94309}
94310
94311// Describes the credit option for CPU usage of a burstable performance instance.
94312type InstanceCreditSpecificationRequest struct {
94313	_ struct{} `type:"structure"`
94314
94315	// The credit option for CPU usage of the instance. Valid values are standard
94316	// and unlimited.
94317	CpuCredits *string `type:"string"`
94318
94319	// The ID of the instance.
94320	InstanceId *string `type:"string"`
94321}
94322
94323// String returns the string representation
94324func (s InstanceCreditSpecificationRequest) String() string {
94325	return awsutil.Prettify(s)
94326}
94327
94328// GoString returns the string representation
94329func (s InstanceCreditSpecificationRequest) GoString() string {
94330	return s.String()
94331}
94332
94333// SetCpuCredits sets the CpuCredits field's value.
94334func (s *InstanceCreditSpecificationRequest) SetCpuCredits(v string) *InstanceCreditSpecificationRequest {
94335	s.CpuCredits = &v
94336	return s
94337}
94338
94339// SetInstanceId sets the InstanceId field's value.
94340func (s *InstanceCreditSpecificationRequest) SetInstanceId(v string) *InstanceCreditSpecificationRequest {
94341	s.InstanceId = &v
94342	return s
94343}
94344
94345// The event window.
94346type InstanceEventWindow struct {
94347	_ struct{} `type:"structure"`
94348
94349	// One or more targets associated with the event window.
94350	AssociationTarget *InstanceEventWindowAssociationTarget `locationName:"associationTarget" type:"structure"`
94351
94352	// The cron expression defined for the event window.
94353	CronExpression *string `locationName:"cronExpression" type:"string"`
94354
94355	// The ID of the event window.
94356	InstanceEventWindowId *string `locationName:"instanceEventWindowId" type:"string"`
94357
94358	// The name of the event window.
94359	Name *string `locationName:"name" type:"string"`
94360
94361	// The current state of the event window.
94362	State *string `locationName:"state" type:"string" enum:"InstanceEventWindowState"`
94363
94364	// The instance tags associated with the event window.
94365	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
94366
94367	// One or more time ranges defined for the event window.
94368	TimeRanges []*InstanceEventWindowTimeRange `locationName:"timeRangeSet" locationNameList:"item" type:"list"`
94369}
94370
94371// String returns the string representation
94372func (s InstanceEventWindow) String() string {
94373	return awsutil.Prettify(s)
94374}
94375
94376// GoString returns the string representation
94377func (s InstanceEventWindow) GoString() string {
94378	return s.String()
94379}
94380
94381// SetAssociationTarget sets the AssociationTarget field's value.
94382func (s *InstanceEventWindow) SetAssociationTarget(v *InstanceEventWindowAssociationTarget) *InstanceEventWindow {
94383	s.AssociationTarget = v
94384	return s
94385}
94386
94387// SetCronExpression sets the CronExpression field's value.
94388func (s *InstanceEventWindow) SetCronExpression(v string) *InstanceEventWindow {
94389	s.CronExpression = &v
94390	return s
94391}
94392
94393// SetInstanceEventWindowId sets the InstanceEventWindowId field's value.
94394func (s *InstanceEventWindow) SetInstanceEventWindowId(v string) *InstanceEventWindow {
94395	s.InstanceEventWindowId = &v
94396	return s
94397}
94398
94399// SetName sets the Name field's value.
94400func (s *InstanceEventWindow) SetName(v string) *InstanceEventWindow {
94401	s.Name = &v
94402	return s
94403}
94404
94405// SetState sets the State field's value.
94406func (s *InstanceEventWindow) SetState(v string) *InstanceEventWindow {
94407	s.State = &v
94408	return s
94409}
94410
94411// SetTags sets the Tags field's value.
94412func (s *InstanceEventWindow) SetTags(v []*Tag) *InstanceEventWindow {
94413	s.Tags = v
94414	return s
94415}
94416
94417// SetTimeRanges sets the TimeRanges field's value.
94418func (s *InstanceEventWindow) SetTimeRanges(v []*InstanceEventWindowTimeRange) *InstanceEventWindow {
94419	s.TimeRanges = v
94420	return s
94421}
94422
94423// One or more targets associated with the specified event window. Only one
94424// type of target (instance ID, instance tag, or Dedicated Host ID) can be associated
94425// with an event window.
94426type InstanceEventWindowAssociationRequest struct {
94427	_ struct{} `type:"structure"`
94428
94429	// The IDs of the Dedicated Hosts to associate with the event window.
94430	DedicatedHostIds []*string `locationName:"DedicatedHostId" locationNameList:"item" type:"list"`
94431
94432	// The IDs of the instances to associate with the event window. If the instance
94433	// is on a Dedicated Host, you can't specify the Instance ID parameter; you
94434	// must use the Dedicated Host ID parameter.
94435	InstanceIds []*string `locationName:"InstanceId" locationNameList:"item" type:"list"`
94436
94437	// The instance tags to associate with the event window. Any instances associated
94438	// with the tags will be associated with the event window.
94439	InstanceTags []*Tag `locationName:"InstanceTag" locationNameList:"item" type:"list"`
94440}
94441
94442// String returns the string representation
94443func (s InstanceEventWindowAssociationRequest) String() string {
94444	return awsutil.Prettify(s)
94445}
94446
94447// GoString returns the string representation
94448func (s InstanceEventWindowAssociationRequest) GoString() string {
94449	return s.String()
94450}
94451
94452// SetDedicatedHostIds sets the DedicatedHostIds field's value.
94453func (s *InstanceEventWindowAssociationRequest) SetDedicatedHostIds(v []*string) *InstanceEventWindowAssociationRequest {
94454	s.DedicatedHostIds = v
94455	return s
94456}
94457
94458// SetInstanceIds sets the InstanceIds field's value.
94459func (s *InstanceEventWindowAssociationRequest) SetInstanceIds(v []*string) *InstanceEventWindowAssociationRequest {
94460	s.InstanceIds = v
94461	return s
94462}
94463
94464// SetInstanceTags sets the InstanceTags field's value.
94465func (s *InstanceEventWindowAssociationRequest) SetInstanceTags(v []*Tag) *InstanceEventWindowAssociationRequest {
94466	s.InstanceTags = v
94467	return s
94468}
94469
94470// One or more targets associated with the event window.
94471type InstanceEventWindowAssociationTarget struct {
94472	_ struct{} `type:"structure"`
94473
94474	// The IDs of the Dedicated Hosts associated with the event window.
94475	DedicatedHostIds []*string `locationName:"dedicatedHostIdSet" locationNameList:"item" type:"list"`
94476
94477	// The IDs of the instances associated with the event window.
94478	InstanceIds []*string `locationName:"instanceIdSet" locationNameList:"item" type:"list"`
94479
94480	// The instance tags associated with the event window. Any instances associated
94481	// with the tags will be associated with the event window.
94482	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
94483}
94484
94485// String returns the string representation
94486func (s InstanceEventWindowAssociationTarget) String() string {
94487	return awsutil.Prettify(s)
94488}
94489
94490// GoString returns the string representation
94491func (s InstanceEventWindowAssociationTarget) GoString() string {
94492	return s.String()
94493}
94494
94495// SetDedicatedHostIds sets the DedicatedHostIds field's value.
94496func (s *InstanceEventWindowAssociationTarget) SetDedicatedHostIds(v []*string) *InstanceEventWindowAssociationTarget {
94497	s.DedicatedHostIds = v
94498	return s
94499}
94500
94501// SetInstanceIds sets the InstanceIds field's value.
94502func (s *InstanceEventWindowAssociationTarget) SetInstanceIds(v []*string) *InstanceEventWindowAssociationTarget {
94503	s.InstanceIds = v
94504	return s
94505}
94506
94507// SetTags sets the Tags field's value.
94508func (s *InstanceEventWindowAssociationTarget) SetTags(v []*Tag) *InstanceEventWindowAssociationTarget {
94509	s.Tags = v
94510	return s
94511}
94512
94513// The targets to disassociate from the specified event window.
94514type InstanceEventWindowDisassociationRequest struct {
94515	_ struct{} `type:"structure"`
94516
94517	// The IDs of the Dedicated Hosts to disassociate from the event window.
94518	DedicatedHostIds []*string `locationName:"DedicatedHostId" locationNameList:"item" type:"list"`
94519
94520	// The IDs of the instances to disassociate from the event window.
94521	InstanceIds []*string `locationName:"InstanceId" locationNameList:"item" type:"list"`
94522
94523	// The instance tags to disassociate from the event window. Any instances associated
94524	// with the tags will be disassociated from the event window.
94525	InstanceTags []*Tag `locationName:"InstanceTag" locationNameList:"item" type:"list"`
94526}
94527
94528// String returns the string representation
94529func (s InstanceEventWindowDisassociationRequest) String() string {
94530	return awsutil.Prettify(s)
94531}
94532
94533// GoString returns the string representation
94534func (s InstanceEventWindowDisassociationRequest) GoString() string {
94535	return s.String()
94536}
94537
94538// SetDedicatedHostIds sets the DedicatedHostIds field's value.
94539func (s *InstanceEventWindowDisassociationRequest) SetDedicatedHostIds(v []*string) *InstanceEventWindowDisassociationRequest {
94540	s.DedicatedHostIds = v
94541	return s
94542}
94543
94544// SetInstanceIds sets the InstanceIds field's value.
94545func (s *InstanceEventWindowDisassociationRequest) SetInstanceIds(v []*string) *InstanceEventWindowDisassociationRequest {
94546	s.InstanceIds = v
94547	return s
94548}
94549
94550// SetInstanceTags sets the InstanceTags field's value.
94551func (s *InstanceEventWindowDisassociationRequest) SetInstanceTags(v []*Tag) *InstanceEventWindowDisassociationRequest {
94552	s.InstanceTags = v
94553	return s
94554}
94555
94556// The state of the event window.
94557type InstanceEventWindowStateChange struct {
94558	_ struct{} `type:"structure"`
94559
94560	// The ID of the event window.
94561	InstanceEventWindowId *string `locationName:"instanceEventWindowId" type:"string"`
94562
94563	// The current state of the event window.
94564	State *string `locationName:"state" type:"string" enum:"InstanceEventWindowState"`
94565}
94566
94567// String returns the string representation
94568func (s InstanceEventWindowStateChange) String() string {
94569	return awsutil.Prettify(s)
94570}
94571
94572// GoString returns the string representation
94573func (s InstanceEventWindowStateChange) GoString() string {
94574	return s.String()
94575}
94576
94577// SetInstanceEventWindowId sets the InstanceEventWindowId field's value.
94578func (s *InstanceEventWindowStateChange) SetInstanceEventWindowId(v string) *InstanceEventWindowStateChange {
94579	s.InstanceEventWindowId = &v
94580	return s
94581}
94582
94583// SetState sets the State field's value.
94584func (s *InstanceEventWindowStateChange) SetState(v string) *InstanceEventWindowStateChange {
94585	s.State = &v
94586	return s
94587}
94588
94589// The start day and time and the end day and time of the time range, in UTC.
94590type InstanceEventWindowTimeRange struct {
94591	_ struct{} `type:"structure"`
94592
94593	// The hour when the time range ends.
94594	EndHour *int64 `locationName:"endHour" type:"integer"`
94595
94596	// The day on which the time range ends.
94597	EndWeekDay *string `locationName:"endWeekDay" type:"string" enum:"WeekDay"`
94598
94599	// The hour when the time range begins.
94600	StartHour *int64 `locationName:"startHour" type:"integer"`
94601
94602	// The day on which the time range begins.
94603	StartWeekDay *string `locationName:"startWeekDay" type:"string" enum:"WeekDay"`
94604}
94605
94606// String returns the string representation
94607func (s InstanceEventWindowTimeRange) String() string {
94608	return awsutil.Prettify(s)
94609}
94610
94611// GoString returns the string representation
94612func (s InstanceEventWindowTimeRange) GoString() string {
94613	return s.String()
94614}
94615
94616// SetEndHour sets the EndHour field's value.
94617func (s *InstanceEventWindowTimeRange) SetEndHour(v int64) *InstanceEventWindowTimeRange {
94618	s.EndHour = &v
94619	return s
94620}
94621
94622// SetEndWeekDay sets the EndWeekDay field's value.
94623func (s *InstanceEventWindowTimeRange) SetEndWeekDay(v string) *InstanceEventWindowTimeRange {
94624	s.EndWeekDay = &v
94625	return s
94626}
94627
94628// SetStartHour sets the StartHour field's value.
94629func (s *InstanceEventWindowTimeRange) SetStartHour(v int64) *InstanceEventWindowTimeRange {
94630	s.StartHour = &v
94631	return s
94632}
94633
94634// SetStartWeekDay sets the StartWeekDay field's value.
94635func (s *InstanceEventWindowTimeRange) SetStartWeekDay(v string) *InstanceEventWindowTimeRange {
94636	s.StartWeekDay = &v
94637	return s
94638}
94639
94640// The start day and time and the end day and time of the time range, in UTC.
94641type InstanceEventWindowTimeRangeRequest struct {
94642	_ struct{} `type:"structure"`
94643
94644	// The hour when the time range ends.
94645	EndHour *int64 `type:"integer"`
94646
94647	// The day on which the time range ends.
94648	EndWeekDay *string `type:"string" enum:"WeekDay"`
94649
94650	// The hour when the time range begins.
94651	StartHour *int64 `type:"integer"`
94652
94653	// The day on which the time range begins.
94654	StartWeekDay *string `type:"string" enum:"WeekDay"`
94655}
94656
94657// String returns the string representation
94658func (s InstanceEventWindowTimeRangeRequest) String() string {
94659	return awsutil.Prettify(s)
94660}
94661
94662// GoString returns the string representation
94663func (s InstanceEventWindowTimeRangeRequest) GoString() string {
94664	return s.String()
94665}
94666
94667// SetEndHour sets the EndHour field's value.
94668func (s *InstanceEventWindowTimeRangeRequest) SetEndHour(v int64) *InstanceEventWindowTimeRangeRequest {
94669	s.EndHour = &v
94670	return s
94671}
94672
94673// SetEndWeekDay sets the EndWeekDay field's value.
94674func (s *InstanceEventWindowTimeRangeRequest) SetEndWeekDay(v string) *InstanceEventWindowTimeRangeRequest {
94675	s.EndWeekDay = &v
94676	return s
94677}
94678
94679// SetStartHour sets the StartHour field's value.
94680func (s *InstanceEventWindowTimeRangeRequest) SetStartHour(v int64) *InstanceEventWindowTimeRangeRequest {
94681	s.StartHour = &v
94682	return s
94683}
94684
94685// SetStartWeekDay sets the StartWeekDay field's value.
94686func (s *InstanceEventWindowTimeRangeRequest) SetStartWeekDay(v string) *InstanceEventWindowTimeRangeRequest {
94687	s.StartWeekDay = &v
94688	return s
94689}
94690
94691// Describes an instance to export.
94692type InstanceExportDetails struct {
94693	_ struct{} `type:"structure"`
94694
94695	// The ID of the resource being exported.
94696	InstanceId *string `locationName:"instanceId" type:"string"`
94697
94698	// The target virtualization environment.
94699	TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
94700}
94701
94702// String returns the string representation
94703func (s InstanceExportDetails) String() string {
94704	return awsutil.Prettify(s)
94705}
94706
94707// GoString returns the string representation
94708func (s InstanceExportDetails) GoString() string {
94709	return s.String()
94710}
94711
94712// SetInstanceId sets the InstanceId field's value.
94713func (s *InstanceExportDetails) SetInstanceId(v string) *InstanceExportDetails {
94714	s.InstanceId = &v
94715	return s
94716}
94717
94718// SetTargetEnvironment sets the TargetEnvironment field's value.
94719func (s *InstanceExportDetails) SetTargetEnvironment(v string) *InstanceExportDetails {
94720	s.TargetEnvironment = &v
94721	return s
94722}
94723
94724// Describes the default credit option for CPU usage of a burstable performance
94725// instance family.
94726type InstanceFamilyCreditSpecification struct {
94727	_ struct{} `type:"structure"`
94728
94729	// The default credit option for CPU usage of the instance family. Valid values
94730	// are standard and unlimited.
94731	CpuCredits *string `locationName:"cpuCredits" type:"string"`
94732
94733	// The instance family.
94734	InstanceFamily *string `locationName:"instanceFamily" type:"string" enum:"UnlimitedSupportedInstanceFamily"`
94735}
94736
94737// String returns the string representation
94738func (s InstanceFamilyCreditSpecification) String() string {
94739	return awsutil.Prettify(s)
94740}
94741
94742// GoString returns the string representation
94743func (s InstanceFamilyCreditSpecification) GoString() string {
94744	return s.String()
94745}
94746
94747// SetCpuCredits sets the CpuCredits field's value.
94748func (s *InstanceFamilyCreditSpecification) SetCpuCredits(v string) *InstanceFamilyCreditSpecification {
94749	s.CpuCredits = &v
94750	return s
94751}
94752
94753// SetInstanceFamily sets the InstanceFamily field's value.
94754func (s *InstanceFamilyCreditSpecification) SetInstanceFamily(v string) *InstanceFamilyCreditSpecification {
94755	s.InstanceFamily = &v
94756	return s
94757}
94758
94759// Information about an IPv4 prefix.
94760type InstanceIpv4Prefix struct {
94761	_ struct{} `type:"structure"`
94762
94763	// One or more IPv4 prefixes assigned to the network interface.
94764	Ipv4Prefix *string `locationName:"ipv4Prefix" type:"string"`
94765}
94766
94767// String returns the string representation
94768func (s InstanceIpv4Prefix) String() string {
94769	return awsutil.Prettify(s)
94770}
94771
94772// GoString returns the string representation
94773func (s InstanceIpv4Prefix) GoString() string {
94774	return s.String()
94775}
94776
94777// SetIpv4Prefix sets the Ipv4Prefix field's value.
94778func (s *InstanceIpv4Prefix) SetIpv4Prefix(v string) *InstanceIpv4Prefix {
94779	s.Ipv4Prefix = &v
94780	return s
94781}
94782
94783// Describes an IPv6 address.
94784type InstanceIpv6Address struct {
94785	_ struct{} `type:"structure"`
94786
94787	// The IPv6 address.
94788	Ipv6Address *string `locationName:"ipv6Address" type:"string"`
94789}
94790
94791// String returns the string representation
94792func (s InstanceIpv6Address) String() string {
94793	return awsutil.Prettify(s)
94794}
94795
94796// GoString returns the string representation
94797func (s InstanceIpv6Address) GoString() string {
94798	return s.String()
94799}
94800
94801// SetIpv6Address sets the Ipv6Address field's value.
94802func (s *InstanceIpv6Address) SetIpv6Address(v string) *InstanceIpv6Address {
94803	s.Ipv6Address = &v
94804	return s
94805}
94806
94807// Describes an IPv6 address.
94808type InstanceIpv6AddressRequest struct {
94809	_ struct{} `type:"structure"`
94810
94811	// The IPv6 address.
94812	Ipv6Address *string `type:"string"`
94813}
94814
94815// String returns the string representation
94816func (s InstanceIpv6AddressRequest) String() string {
94817	return awsutil.Prettify(s)
94818}
94819
94820// GoString returns the string representation
94821func (s InstanceIpv6AddressRequest) GoString() string {
94822	return s.String()
94823}
94824
94825// SetIpv6Address sets the Ipv6Address field's value.
94826func (s *InstanceIpv6AddressRequest) SetIpv6Address(v string) *InstanceIpv6AddressRequest {
94827	s.Ipv6Address = &v
94828	return s
94829}
94830
94831// Information about an IPv6 prefix.
94832type InstanceIpv6Prefix struct {
94833	_ struct{} `type:"structure"`
94834
94835	// One or more IPv6 prefixes assigned to the network interface.
94836	Ipv6Prefix *string `locationName:"ipv6Prefix" type:"string"`
94837}
94838
94839// String returns the string representation
94840func (s InstanceIpv6Prefix) String() string {
94841	return awsutil.Prettify(s)
94842}
94843
94844// GoString returns the string representation
94845func (s InstanceIpv6Prefix) GoString() string {
94846	return s.String()
94847}
94848
94849// SetIpv6Prefix sets the Ipv6Prefix field's value.
94850func (s *InstanceIpv6Prefix) SetIpv6Prefix(v string) *InstanceIpv6Prefix {
94851	s.Ipv6Prefix = &v
94852	return s
94853}
94854
94855// Describes the market (purchasing) option for the instances.
94856type InstanceMarketOptionsRequest struct {
94857	_ struct{} `type:"structure"`
94858
94859	// The market type.
94860	MarketType *string `type:"string" enum:"MarketType"`
94861
94862	// The options for Spot Instances.
94863	SpotOptions *SpotMarketOptions `type:"structure"`
94864}
94865
94866// String returns the string representation
94867func (s InstanceMarketOptionsRequest) String() string {
94868	return awsutil.Prettify(s)
94869}
94870
94871// GoString returns the string representation
94872func (s InstanceMarketOptionsRequest) GoString() string {
94873	return s.String()
94874}
94875
94876// SetMarketType sets the MarketType field's value.
94877func (s *InstanceMarketOptionsRequest) SetMarketType(v string) *InstanceMarketOptionsRequest {
94878	s.MarketType = &v
94879	return s
94880}
94881
94882// SetSpotOptions sets the SpotOptions field's value.
94883func (s *InstanceMarketOptionsRequest) SetSpotOptions(v *SpotMarketOptions) *InstanceMarketOptionsRequest {
94884	s.SpotOptions = v
94885	return s
94886}
94887
94888// The metadata options for the instance.
94889type InstanceMetadataOptionsRequest struct {
94890	_ struct{} `type:"structure"`
94891
94892	// This parameter enables or disables the HTTP metadata endpoint on your instances.
94893	// If the parameter is not specified, the default state is enabled.
94894	//
94895	// If you specify a value of disabled, you will not be able to access your instance
94896	// metadata.
94897	HttpEndpoint *string `type:"string" enum:"InstanceMetadataEndpointState"`
94898
94899	// Enables or disables the IPv6 endpoint for the instance metadata service.
94900	HttpProtocolIpv6 *string `type:"string" enum:"InstanceMetadataProtocolState"`
94901
94902	// The desired HTTP PUT response hop limit for instance metadata requests. The
94903	// larger the number, the further instance metadata requests can travel.
94904	//
94905	// Default: 1
94906	//
94907	// Possible values: Integers from 1 to 64
94908	HttpPutResponseHopLimit *int64 `type:"integer"`
94909
94910	// The state of token usage for your instance metadata requests. If the parameter
94911	// is not specified in the request, the default state is optional.
94912	//
94913	// If the state is optional, you can choose to retrieve instance metadata with
94914	// or without a signed token header on your request. If you retrieve the IAM
94915	// role credentials without a token, the version 1.0 role credentials are returned.
94916	// If you retrieve the IAM role credentials using a valid signed token, the
94917	// version 2.0 role credentials are returned.
94918	//
94919	// If the state is required, you must send a signed token header with any instance
94920	// metadata retrieval requests. In this state, retrieving the IAM role credentials
94921	// always returns the version 2.0 credentials; the version 1.0 credentials are
94922	// not available.
94923	HttpTokens *string `type:"string" enum:"HttpTokensState"`
94924}
94925
94926// String returns the string representation
94927func (s InstanceMetadataOptionsRequest) String() string {
94928	return awsutil.Prettify(s)
94929}
94930
94931// GoString returns the string representation
94932func (s InstanceMetadataOptionsRequest) GoString() string {
94933	return s.String()
94934}
94935
94936// SetHttpEndpoint sets the HttpEndpoint field's value.
94937func (s *InstanceMetadataOptionsRequest) SetHttpEndpoint(v string) *InstanceMetadataOptionsRequest {
94938	s.HttpEndpoint = &v
94939	return s
94940}
94941
94942// SetHttpProtocolIpv6 sets the HttpProtocolIpv6 field's value.
94943func (s *InstanceMetadataOptionsRequest) SetHttpProtocolIpv6(v string) *InstanceMetadataOptionsRequest {
94944	s.HttpProtocolIpv6 = &v
94945	return s
94946}
94947
94948// SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
94949func (s *InstanceMetadataOptionsRequest) SetHttpPutResponseHopLimit(v int64) *InstanceMetadataOptionsRequest {
94950	s.HttpPutResponseHopLimit = &v
94951	return s
94952}
94953
94954// SetHttpTokens sets the HttpTokens field's value.
94955func (s *InstanceMetadataOptionsRequest) SetHttpTokens(v string) *InstanceMetadataOptionsRequest {
94956	s.HttpTokens = &v
94957	return s
94958}
94959
94960// The metadata options for the instance.
94961type InstanceMetadataOptionsResponse struct {
94962	_ struct{} `type:"structure"`
94963
94964	// This parameter enables or disables the HTTP metadata endpoint on your instances.
94965	// If the parameter is not specified, the default state is enabled.
94966	//
94967	// If you specify a value of disabled, you will not be able to access your instance
94968	// metadata.
94969	HttpEndpoint *string `locationName:"httpEndpoint" type:"string" enum:"InstanceMetadataEndpointState"`
94970
94971	// Whether or not the IPv6 endpoint for the instance metadata service is enabled
94972	// or disabled.
94973	HttpProtocolIpv6 *string `locationName:"httpProtocolIpv6" type:"string" enum:"InstanceMetadataProtocolState"`
94974
94975	// The desired HTTP PUT response hop limit for instance metadata requests. The
94976	// larger the number, the further instance metadata requests can travel.
94977	//
94978	// Default: 1
94979	//
94980	// Possible values: Integers from 1 to 64
94981	HttpPutResponseHopLimit *int64 `locationName:"httpPutResponseHopLimit" type:"integer"`
94982
94983	// The state of token usage for your instance metadata requests. If the parameter
94984	// is not specified in the request, the default state is optional.
94985	//
94986	// If the state is optional, you can choose to retrieve instance metadata with
94987	// or without a signed token header on your request. If you retrieve the IAM
94988	// role credentials without a token, the version 1.0 role credentials are returned.
94989	// If you retrieve the IAM role credentials using a valid signed token, the
94990	// version 2.0 role credentials are returned.
94991	//
94992	// If the state is required, you must send a signed token header with any instance
94993	// metadata retrieval requests. In this state, retrieving the IAM role credential
94994	// always returns the version 2.0 credentials; the version 1.0 credentials are
94995	// not available.
94996	HttpTokens *string `locationName:"httpTokens" type:"string" enum:"HttpTokensState"`
94997
94998	// The state of the metadata option changes.
94999	//
95000	// pending - The metadata options are being updated and the instance is not
95001	// ready to process metadata traffic with the new selection.
95002	//
95003	// applied - The metadata options have been successfully applied on the instance.
95004	State *string `locationName:"state" type:"string" enum:"InstanceMetadataOptionsState"`
95005}
95006
95007// String returns the string representation
95008func (s InstanceMetadataOptionsResponse) String() string {
95009	return awsutil.Prettify(s)
95010}
95011
95012// GoString returns the string representation
95013func (s InstanceMetadataOptionsResponse) GoString() string {
95014	return s.String()
95015}
95016
95017// SetHttpEndpoint sets the HttpEndpoint field's value.
95018func (s *InstanceMetadataOptionsResponse) SetHttpEndpoint(v string) *InstanceMetadataOptionsResponse {
95019	s.HttpEndpoint = &v
95020	return s
95021}
95022
95023// SetHttpProtocolIpv6 sets the HttpProtocolIpv6 field's value.
95024func (s *InstanceMetadataOptionsResponse) SetHttpProtocolIpv6(v string) *InstanceMetadataOptionsResponse {
95025	s.HttpProtocolIpv6 = &v
95026	return s
95027}
95028
95029// SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
95030func (s *InstanceMetadataOptionsResponse) SetHttpPutResponseHopLimit(v int64) *InstanceMetadataOptionsResponse {
95031	s.HttpPutResponseHopLimit = &v
95032	return s
95033}
95034
95035// SetHttpTokens sets the HttpTokens field's value.
95036func (s *InstanceMetadataOptionsResponse) SetHttpTokens(v string) *InstanceMetadataOptionsResponse {
95037	s.HttpTokens = &v
95038	return s
95039}
95040
95041// SetState sets the State field's value.
95042func (s *InstanceMetadataOptionsResponse) SetState(v string) *InstanceMetadataOptionsResponse {
95043	s.State = &v
95044	return s
95045}
95046
95047// Describes the monitoring of an instance.
95048type InstanceMonitoring struct {
95049	_ struct{} `type:"structure"`
95050
95051	// The ID of the instance.
95052	InstanceId *string `locationName:"instanceId" type:"string"`
95053
95054	// The monitoring for the instance.
95055	Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
95056}
95057
95058// String returns the string representation
95059func (s InstanceMonitoring) String() string {
95060	return awsutil.Prettify(s)
95061}
95062
95063// GoString returns the string representation
95064func (s InstanceMonitoring) GoString() string {
95065	return s.String()
95066}
95067
95068// SetInstanceId sets the InstanceId field's value.
95069func (s *InstanceMonitoring) SetInstanceId(v string) *InstanceMonitoring {
95070	s.InstanceId = &v
95071	return s
95072}
95073
95074// SetMonitoring sets the Monitoring field's value.
95075func (s *InstanceMonitoring) SetMonitoring(v *Monitoring) *InstanceMonitoring {
95076	s.Monitoring = v
95077	return s
95078}
95079
95080// Describes a network interface.
95081type InstanceNetworkInterface struct {
95082	_ struct{} `type:"structure"`
95083
95084	// The association information for an Elastic IPv4 associated with the network
95085	// interface.
95086	Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
95087
95088	// The network interface attachment.
95089	Attachment *InstanceNetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
95090
95091	// The description.
95092	Description *string `locationName:"description" type:"string"`
95093
95094	// One or more security groups.
95095	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
95096
95097	// Describes the type of network interface.
95098	//
95099	// Valid values: interface | efa | trunk
95100	InterfaceType *string `locationName:"interfaceType" type:"string"`
95101
95102	// The IPv4 delegated prefixes that are assigned to the network interface.
95103	Ipv4Prefixes []*InstanceIpv4Prefix `locationName:"ipv4PrefixSet" locationNameList:"item" type:"list"`
95104
95105	// One or more IPv6 addresses associated with the network interface.
95106	Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
95107
95108	// The IPv6 delegated prefixes that are assigned to the network interface.
95109	Ipv6Prefixes []*InstanceIpv6Prefix `locationName:"ipv6PrefixSet" locationNameList:"item" type:"list"`
95110
95111	// The MAC address.
95112	MacAddress *string `locationName:"macAddress" type:"string"`
95113
95114	// The ID of the network interface.
95115	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
95116
95117	// The ID of the Amazon Web Services account that created the network interface.
95118	OwnerId *string `locationName:"ownerId" type:"string"`
95119
95120	// The private DNS name.
95121	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
95122
95123	// The IPv4 address of the network interface within the subnet.
95124	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
95125
95126	// One or more private IPv4 addresses associated with the network interface.
95127	PrivateIpAddresses []*InstancePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
95128
95129	// Indicates whether source/destination checking is enabled.
95130	SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
95131
95132	// The status of the network interface.
95133	Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
95134
95135	// The ID of the subnet.
95136	SubnetId *string `locationName:"subnetId" type:"string"`
95137
95138	// The ID of the VPC.
95139	VpcId *string `locationName:"vpcId" type:"string"`
95140}
95141
95142// String returns the string representation
95143func (s InstanceNetworkInterface) String() string {
95144	return awsutil.Prettify(s)
95145}
95146
95147// GoString returns the string representation
95148func (s InstanceNetworkInterface) GoString() string {
95149	return s.String()
95150}
95151
95152// SetAssociation sets the Association field's value.
95153func (s *InstanceNetworkInterface) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstanceNetworkInterface {
95154	s.Association = v
95155	return s
95156}
95157
95158// SetAttachment sets the Attachment field's value.
95159func (s *InstanceNetworkInterface) SetAttachment(v *InstanceNetworkInterfaceAttachment) *InstanceNetworkInterface {
95160	s.Attachment = v
95161	return s
95162}
95163
95164// SetDescription sets the Description field's value.
95165func (s *InstanceNetworkInterface) SetDescription(v string) *InstanceNetworkInterface {
95166	s.Description = &v
95167	return s
95168}
95169
95170// SetGroups sets the Groups field's value.
95171func (s *InstanceNetworkInterface) SetGroups(v []*GroupIdentifier) *InstanceNetworkInterface {
95172	s.Groups = v
95173	return s
95174}
95175
95176// SetInterfaceType sets the InterfaceType field's value.
95177func (s *InstanceNetworkInterface) SetInterfaceType(v string) *InstanceNetworkInterface {
95178	s.InterfaceType = &v
95179	return s
95180}
95181
95182// SetIpv4Prefixes sets the Ipv4Prefixes field's value.
95183func (s *InstanceNetworkInterface) SetIpv4Prefixes(v []*InstanceIpv4Prefix) *InstanceNetworkInterface {
95184	s.Ipv4Prefixes = v
95185	return s
95186}
95187
95188// SetIpv6Addresses sets the Ipv6Addresses field's value.
95189func (s *InstanceNetworkInterface) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterface {
95190	s.Ipv6Addresses = v
95191	return s
95192}
95193
95194// SetIpv6Prefixes sets the Ipv6Prefixes field's value.
95195func (s *InstanceNetworkInterface) SetIpv6Prefixes(v []*InstanceIpv6Prefix) *InstanceNetworkInterface {
95196	s.Ipv6Prefixes = v
95197	return s
95198}
95199
95200// SetMacAddress sets the MacAddress field's value.
95201func (s *InstanceNetworkInterface) SetMacAddress(v string) *InstanceNetworkInterface {
95202	s.MacAddress = &v
95203	return s
95204}
95205
95206// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
95207func (s *InstanceNetworkInterface) SetNetworkInterfaceId(v string) *InstanceNetworkInterface {
95208	s.NetworkInterfaceId = &v
95209	return s
95210}
95211
95212// SetOwnerId sets the OwnerId field's value.
95213func (s *InstanceNetworkInterface) SetOwnerId(v string) *InstanceNetworkInterface {
95214	s.OwnerId = &v
95215	return s
95216}
95217
95218// SetPrivateDnsName sets the PrivateDnsName field's value.
95219func (s *InstanceNetworkInterface) SetPrivateDnsName(v string) *InstanceNetworkInterface {
95220	s.PrivateDnsName = &v
95221	return s
95222}
95223
95224// SetPrivateIpAddress sets the PrivateIpAddress field's value.
95225func (s *InstanceNetworkInterface) SetPrivateIpAddress(v string) *InstanceNetworkInterface {
95226	s.PrivateIpAddress = &v
95227	return s
95228}
95229
95230// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
95231func (s *InstanceNetworkInterface) SetPrivateIpAddresses(v []*InstancePrivateIpAddress) *InstanceNetworkInterface {
95232	s.PrivateIpAddresses = v
95233	return s
95234}
95235
95236// SetSourceDestCheck sets the SourceDestCheck field's value.
95237func (s *InstanceNetworkInterface) SetSourceDestCheck(v bool) *InstanceNetworkInterface {
95238	s.SourceDestCheck = &v
95239	return s
95240}
95241
95242// SetStatus sets the Status field's value.
95243func (s *InstanceNetworkInterface) SetStatus(v string) *InstanceNetworkInterface {
95244	s.Status = &v
95245	return s
95246}
95247
95248// SetSubnetId sets the SubnetId field's value.
95249func (s *InstanceNetworkInterface) SetSubnetId(v string) *InstanceNetworkInterface {
95250	s.SubnetId = &v
95251	return s
95252}
95253
95254// SetVpcId sets the VpcId field's value.
95255func (s *InstanceNetworkInterface) SetVpcId(v string) *InstanceNetworkInterface {
95256	s.VpcId = &v
95257	return s
95258}
95259
95260// Describes association information for an Elastic IP address (IPv4).
95261type InstanceNetworkInterfaceAssociation struct {
95262	_ struct{} `type:"structure"`
95263
95264	// The carrier IP address associated with the network interface.
95265	CarrierIp *string `locationName:"carrierIp" type:"string"`
95266
95267	// The ID of the owner of the Elastic IP address.
95268	IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
95269
95270	// The public DNS name.
95271	PublicDnsName *string `locationName:"publicDnsName" type:"string"`
95272
95273	// The public IP address or Elastic IP address bound to the network interface.
95274	PublicIp *string `locationName:"publicIp" type:"string"`
95275}
95276
95277// String returns the string representation
95278func (s InstanceNetworkInterfaceAssociation) String() string {
95279	return awsutil.Prettify(s)
95280}
95281
95282// GoString returns the string representation
95283func (s InstanceNetworkInterfaceAssociation) GoString() string {
95284	return s.String()
95285}
95286
95287// SetCarrierIp sets the CarrierIp field's value.
95288func (s *InstanceNetworkInterfaceAssociation) SetCarrierIp(v string) *InstanceNetworkInterfaceAssociation {
95289	s.CarrierIp = &v
95290	return s
95291}
95292
95293// SetIpOwnerId sets the IpOwnerId field's value.
95294func (s *InstanceNetworkInterfaceAssociation) SetIpOwnerId(v string) *InstanceNetworkInterfaceAssociation {
95295	s.IpOwnerId = &v
95296	return s
95297}
95298
95299// SetPublicDnsName sets the PublicDnsName field's value.
95300func (s *InstanceNetworkInterfaceAssociation) SetPublicDnsName(v string) *InstanceNetworkInterfaceAssociation {
95301	s.PublicDnsName = &v
95302	return s
95303}
95304
95305// SetPublicIp sets the PublicIp field's value.
95306func (s *InstanceNetworkInterfaceAssociation) SetPublicIp(v string) *InstanceNetworkInterfaceAssociation {
95307	s.PublicIp = &v
95308	return s
95309}
95310
95311// Describes a network interface attachment.
95312type InstanceNetworkInterfaceAttachment struct {
95313	_ struct{} `type:"structure"`
95314
95315	// The time stamp when the attachment initiated.
95316	AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
95317
95318	// The ID of the network interface attachment.
95319	AttachmentId *string `locationName:"attachmentId" type:"string"`
95320
95321	// Indicates whether the network interface is deleted when the instance is terminated.
95322	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
95323
95324	// The index of the device on the instance for the network interface attachment.
95325	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
95326
95327	// The index of the network card.
95328	NetworkCardIndex *int64 `locationName:"networkCardIndex" type:"integer"`
95329
95330	// The attachment state.
95331	Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
95332}
95333
95334// String returns the string representation
95335func (s InstanceNetworkInterfaceAttachment) String() string {
95336	return awsutil.Prettify(s)
95337}
95338
95339// GoString returns the string representation
95340func (s InstanceNetworkInterfaceAttachment) GoString() string {
95341	return s.String()
95342}
95343
95344// SetAttachTime sets the AttachTime field's value.
95345func (s *InstanceNetworkInterfaceAttachment) SetAttachTime(v time.Time) *InstanceNetworkInterfaceAttachment {
95346	s.AttachTime = &v
95347	return s
95348}
95349
95350// SetAttachmentId sets the AttachmentId field's value.
95351func (s *InstanceNetworkInterfaceAttachment) SetAttachmentId(v string) *InstanceNetworkInterfaceAttachment {
95352	s.AttachmentId = &v
95353	return s
95354}
95355
95356// SetDeleteOnTermination sets the DeleteOnTermination field's value.
95357func (s *InstanceNetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceAttachment {
95358	s.DeleteOnTermination = &v
95359	return s
95360}
95361
95362// SetDeviceIndex sets the DeviceIndex field's value.
95363func (s *InstanceNetworkInterfaceAttachment) SetDeviceIndex(v int64) *InstanceNetworkInterfaceAttachment {
95364	s.DeviceIndex = &v
95365	return s
95366}
95367
95368// SetNetworkCardIndex sets the NetworkCardIndex field's value.
95369func (s *InstanceNetworkInterfaceAttachment) SetNetworkCardIndex(v int64) *InstanceNetworkInterfaceAttachment {
95370	s.NetworkCardIndex = &v
95371	return s
95372}
95373
95374// SetStatus sets the Status field's value.
95375func (s *InstanceNetworkInterfaceAttachment) SetStatus(v string) *InstanceNetworkInterfaceAttachment {
95376	s.Status = &v
95377	return s
95378}
95379
95380// Describes a network interface.
95381type InstanceNetworkInterfaceSpecification struct {
95382	_ struct{} `type:"structure"`
95383
95384	// Indicates whether to assign a carrier IP address to the network interface.
95385	//
95386	// You can only assign a carrier IP address to a network interface that is in
95387	// a subnet in a Wavelength Zone. For more information about carrier IP addresses,
95388	// see Carrier IP addresses in the Amazon Web Services Wavelength Developer
95389	// Guide.
95390	AssociateCarrierIpAddress *bool `type:"boolean"`
95391
95392	// Indicates whether to assign a public IPv4 address to an instance you launch
95393	// in a VPC. The public IP address can only be assigned to a network interface
95394	// for eth0, and can only be assigned to a new network interface, not an existing
95395	// one. You cannot specify more than one network interface in the request. If
95396	// launching into a default subnet, the default value is true.
95397	AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
95398
95399	// If set to true, the interface is deleted when the instance is terminated.
95400	// You can specify true only if creating a new network interface when launching
95401	// an instance.
95402	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
95403
95404	// The description of the network interface. Applies only if creating a network
95405	// interface when launching an instance.
95406	Description *string `locationName:"description" type:"string"`
95407
95408	// The position of the network interface in the attachment order. A primary
95409	// network interface has a device index of 0.
95410	//
95411	// If you specify a network interface when launching an instance, you must specify
95412	// the device index.
95413	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
95414
95415	// The IDs of the security groups for the network interface. Applies only if
95416	// creating a network interface when launching an instance.
95417	Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
95418
95419	// The type of network interface.
95420	//
95421	// To create an Elastic Fabric Adapter (EFA), specify efa. For more information,
95422	// see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html)
95423	// in the Amazon Elastic Compute Cloud User Guide.
95424	//
95425	// Valid values: interface | efa
95426	InterfaceType *string `type:"string"`
95427
95428	// The number of IPv4 delegated prefixes to be automatically assigned to the
95429	// network interface. You cannot use this option if you use the Ipv4Prefix option.
95430	Ipv4PrefixCount *int64 `type:"integer"`
95431
95432	// One or more IPv4 delegated prefixes to be assigned to the network interface.
95433	// You cannot use this option if you use the Ipv4PrefixCount option.
95434	Ipv4Prefixes []*Ipv4PrefixSpecificationRequest `locationName:"Ipv4Prefix" locationNameList:"item" type:"list"`
95435
95436	// A number of IPv6 addresses to assign to the network interface. Amazon EC2
95437	// chooses the IPv6 addresses from the range of the subnet. You cannot specify
95438	// this option and the option to assign specific IPv6 addresses in the same
95439	// request. You can specify this option if you've specified a minimum number
95440	// of instances to launch.
95441	Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
95442
95443	// One or more IPv6 addresses to assign to the network interface. You cannot
95444	// specify this option and the option to assign a number of IPv6 addresses in
95445	// the same request. You cannot specify this option if you've specified a minimum
95446	// number of instances to launch.
95447	Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" queryName:"Ipv6Addresses" locationNameList:"item" type:"list"`
95448
95449	// The number of IPv6 delegated prefixes to be automatically assigned to the
95450	// network interface. You cannot use this option if you use the Ipv6Prefix option.
95451	Ipv6PrefixCount *int64 `type:"integer"`
95452
95453	// One or more IPv6 delegated prefixes to be assigned to the network interface.
95454	// You cannot use this option if you use the Ipv6PrefixCount option.
95455	Ipv6Prefixes []*Ipv6PrefixSpecificationRequest `locationName:"Ipv6Prefix" locationNameList:"item" type:"list"`
95456
95457	// The index of the network card. Some instance types support multiple network
95458	// cards. The primary network interface must be assigned to network card index
95459	// 0. The default is network card index 0.
95460	//
95461	// If you are using RequestSpotInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html)
95462	// to create Spot Instances, omit this parameter because you can’t specify
95463	// the network card index when using this API. To specify the network card index,
95464	// use RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html).
95465	NetworkCardIndex *int64 `type:"integer"`
95466
95467	// The ID of the network interface.
95468	//
95469	// If you are creating a Spot Fleet, omit this parameter because you can’t
95470	// specify a network interface ID in a launch specification.
95471	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
95472
95473	// The private IPv4 address of the network interface. Applies only if creating
95474	// a network interface when launching an instance. You cannot specify this option
95475	// if you're launching more than one instance in a RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)
95476	// request.
95477	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
95478
95479	// One or more private IPv4 addresses to assign to the network interface. Only
95480	// one private IPv4 address can be designated as primary. You cannot specify
95481	// this option if you're launching more than one instance in a RunInstances
95482	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)
95483	// request.
95484	PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" queryName:"PrivateIpAddresses" locationNameList:"item" type:"list"`
95485
95486	// The number of secondary private IPv4 addresses. You can't specify this option
95487	// and specify more than one private IP address using the private IP addresses
95488	// option. You cannot specify this option if you're launching more than one
95489	// instance in a RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)
95490	// request.
95491	SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
95492
95493	// The ID of the subnet associated with the network interface. Applies only
95494	// if creating a network interface when launching an instance.
95495	SubnetId *string `locationName:"subnetId" type:"string"`
95496}
95497
95498// String returns the string representation
95499func (s InstanceNetworkInterfaceSpecification) String() string {
95500	return awsutil.Prettify(s)
95501}
95502
95503// GoString returns the string representation
95504func (s InstanceNetworkInterfaceSpecification) GoString() string {
95505	return s.String()
95506}
95507
95508// SetAssociateCarrierIpAddress sets the AssociateCarrierIpAddress field's value.
95509func (s *InstanceNetworkInterfaceSpecification) SetAssociateCarrierIpAddress(v bool) *InstanceNetworkInterfaceSpecification {
95510	s.AssociateCarrierIpAddress = &v
95511	return s
95512}
95513
95514// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
95515func (s *InstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *InstanceNetworkInterfaceSpecification {
95516	s.AssociatePublicIpAddress = &v
95517	return s
95518}
95519
95520// SetDeleteOnTermination sets the DeleteOnTermination field's value.
95521func (s *InstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceSpecification {
95522	s.DeleteOnTermination = &v
95523	return s
95524}
95525
95526// SetDescription sets the Description field's value.
95527func (s *InstanceNetworkInterfaceSpecification) SetDescription(v string) *InstanceNetworkInterfaceSpecification {
95528	s.Description = &v
95529	return s
95530}
95531
95532// SetDeviceIndex sets the DeviceIndex field's value.
95533func (s *InstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *InstanceNetworkInterfaceSpecification {
95534	s.DeviceIndex = &v
95535	return s
95536}
95537
95538// SetGroups sets the Groups field's value.
95539func (s *InstanceNetworkInterfaceSpecification) SetGroups(v []*string) *InstanceNetworkInterfaceSpecification {
95540	s.Groups = v
95541	return s
95542}
95543
95544// SetInterfaceType sets the InterfaceType field's value.
95545func (s *InstanceNetworkInterfaceSpecification) SetInterfaceType(v string) *InstanceNetworkInterfaceSpecification {
95546	s.InterfaceType = &v
95547	return s
95548}
95549
95550// SetIpv4PrefixCount sets the Ipv4PrefixCount field's value.
95551func (s *InstanceNetworkInterfaceSpecification) SetIpv4PrefixCount(v int64) *InstanceNetworkInterfaceSpecification {
95552	s.Ipv4PrefixCount = &v
95553	return s
95554}
95555
95556// SetIpv4Prefixes sets the Ipv4Prefixes field's value.
95557func (s *InstanceNetworkInterfaceSpecification) SetIpv4Prefixes(v []*Ipv4PrefixSpecificationRequest) *InstanceNetworkInterfaceSpecification {
95558	s.Ipv4Prefixes = v
95559	return s
95560}
95561
95562// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
95563func (s *InstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *InstanceNetworkInterfaceSpecification {
95564	s.Ipv6AddressCount = &v
95565	return s
95566}
95567
95568// SetIpv6Addresses sets the Ipv6Addresses field's value.
95569func (s *InstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterfaceSpecification {
95570	s.Ipv6Addresses = v
95571	return s
95572}
95573
95574// SetIpv6PrefixCount sets the Ipv6PrefixCount field's value.
95575func (s *InstanceNetworkInterfaceSpecification) SetIpv6PrefixCount(v int64) *InstanceNetworkInterfaceSpecification {
95576	s.Ipv6PrefixCount = &v
95577	return s
95578}
95579
95580// SetIpv6Prefixes sets the Ipv6Prefixes field's value.
95581func (s *InstanceNetworkInterfaceSpecification) SetIpv6Prefixes(v []*Ipv6PrefixSpecificationRequest) *InstanceNetworkInterfaceSpecification {
95582	s.Ipv6Prefixes = v
95583	return s
95584}
95585
95586// SetNetworkCardIndex sets the NetworkCardIndex field's value.
95587func (s *InstanceNetworkInterfaceSpecification) SetNetworkCardIndex(v int64) *InstanceNetworkInterfaceSpecification {
95588	s.NetworkCardIndex = &v
95589	return s
95590}
95591
95592// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
95593func (s *InstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *InstanceNetworkInterfaceSpecification {
95594	s.NetworkInterfaceId = &v
95595	return s
95596}
95597
95598// SetPrivateIpAddress sets the PrivateIpAddress field's value.
95599func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *InstanceNetworkInterfaceSpecification {
95600	s.PrivateIpAddress = &v
95601	return s
95602}
95603
95604// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
95605func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *InstanceNetworkInterfaceSpecification {
95606	s.PrivateIpAddresses = v
95607	return s
95608}
95609
95610// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
95611func (s *InstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *InstanceNetworkInterfaceSpecification {
95612	s.SecondaryPrivateIpAddressCount = &v
95613	return s
95614}
95615
95616// SetSubnetId sets the SubnetId field's value.
95617func (s *InstanceNetworkInterfaceSpecification) SetSubnetId(v string) *InstanceNetworkInterfaceSpecification {
95618	s.SubnetId = &v
95619	return s
95620}
95621
95622// Describes a private IPv4 address.
95623type InstancePrivateIpAddress struct {
95624	_ struct{} `type:"structure"`
95625
95626	// The association information for an Elastic IP address for the network interface.
95627	Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
95628
95629	// Indicates whether this IPv4 address is the primary private IP address of
95630	// the network interface.
95631	Primary *bool `locationName:"primary" type:"boolean"`
95632
95633	// The private IPv4 DNS name.
95634	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
95635
95636	// The private IPv4 address of the network interface.
95637	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
95638}
95639
95640// String returns the string representation
95641func (s InstancePrivateIpAddress) String() string {
95642	return awsutil.Prettify(s)
95643}
95644
95645// GoString returns the string representation
95646func (s InstancePrivateIpAddress) GoString() string {
95647	return s.String()
95648}
95649
95650// SetAssociation sets the Association field's value.
95651func (s *InstancePrivateIpAddress) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstancePrivateIpAddress {
95652	s.Association = v
95653	return s
95654}
95655
95656// SetPrimary sets the Primary field's value.
95657func (s *InstancePrivateIpAddress) SetPrimary(v bool) *InstancePrivateIpAddress {
95658	s.Primary = &v
95659	return s
95660}
95661
95662// SetPrivateDnsName sets the PrivateDnsName field's value.
95663func (s *InstancePrivateIpAddress) SetPrivateDnsName(v string) *InstancePrivateIpAddress {
95664	s.PrivateDnsName = &v
95665	return s
95666}
95667
95668// SetPrivateIpAddress sets the PrivateIpAddress field's value.
95669func (s *InstancePrivateIpAddress) SetPrivateIpAddress(v string) *InstancePrivateIpAddress {
95670	s.PrivateIpAddress = &v
95671	return s
95672}
95673
95674// The instance details to specify which volumes should be snapshotted.
95675type InstanceSpecification struct {
95676	_ struct{} `type:"structure"`
95677
95678	// Excludes the root volume from being snapshotted.
95679	ExcludeBootVolume *bool `type:"boolean"`
95680
95681	// The instance to specify which volumes should be snapshotted.
95682	InstanceId *string `type:"string"`
95683}
95684
95685// String returns the string representation
95686func (s InstanceSpecification) String() string {
95687	return awsutil.Prettify(s)
95688}
95689
95690// GoString returns the string representation
95691func (s InstanceSpecification) GoString() string {
95692	return s.String()
95693}
95694
95695// SetExcludeBootVolume sets the ExcludeBootVolume field's value.
95696func (s *InstanceSpecification) SetExcludeBootVolume(v bool) *InstanceSpecification {
95697	s.ExcludeBootVolume = &v
95698	return s
95699}
95700
95701// SetInstanceId sets the InstanceId field's value.
95702func (s *InstanceSpecification) SetInstanceId(v string) *InstanceSpecification {
95703	s.InstanceId = &v
95704	return s
95705}
95706
95707// Describes the current state of an instance.
95708type InstanceState struct {
95709	_ struct{} `type:"structure"`
95710
95711	// The state of the instance as a 16-bit unsigned integer.
95712	//
95713	// The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal
95714	// values between 256 and 65,535. These numerical values are used for internal
95715	// purposes and should be ignored.
95716	//
95717	// The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal
95718	// values between 0 and 255.
95719	//
95720	// The valid values for instance-state-code will all be in the range of the
95721	// low byte and they are:
95722	//
95723	//    * 0 : pending
95724	//
95725	//    * 16 : running
95726	//
95727	//    * 32 : shutting-down
95728	//
95729	//    * 48 : terminated
95730	//
95731	//    * 64 : stopping
95732	//
95733	//    * 80 : stopped
95734	//
95735	// You can ignore the high byte value by zeroing out all of the bits above 2^8
95736	// or 256 in decimal.
95737	Code *int64 `locationName:"code" type:"integer"`
95738
95739	// The current state of the instance.
95740	Name *string `locationName:"name" type:"string" enum:"InstanceStateName"`
95741}
95742
95743// String returns the string representation
95744func (s InstanceState) String() string {
95745	return awsutil.Prettify(s)
95746}
95747
95748// GoString returns the string representation
95749func (s InstanceState) GoString() string {
95750	return s.String()
95751}
95752
95753// SetCode sets the Code field's value.
95754func (s *InstanceState) SetCode(v int64) *InstanceState {
95755	s.Code = &v
95756	return s
95757}
95758
95759// SetName sets the Name field's value.
95760func (s *InstanceState) SetName(v string) *InstanceState {
95761	s.Name = &v
95762	return s
95763}
95764
95765// Describes an instance state change.
95766type InstanceStateChange struct {
95767	_ struct{} `type:"structure"`
95768
95769	// The current state of the instance.
95770	CurrentState *InstanceState `locationName:"currentState" type:"structure"`
95771
95772	// The ID of the instance.
95773	InstanceId *string `locationName:"instanceId" type:"string"`
95774
95775	// The previous state of the instance.
95776	PreviousState *InstanceState `locationName:"previousState" type:"structure"`
95777}
95778
95779// String returns the string representation
95780func (s InstanceStateChange) String() string {
95781	return awsutil.Prettify(s)
95782}
95783
95784// GoString returns the string representation
95785func (s InstanceStateChange) GoString() string {
95786	return s.String()
95787}
95788
95789// SetCurrentState sets the CurrentState field's value.
95790func (s *InstanceStateChange) SetCurrentState(v *InstanceState) *InstanceStateChange {
95791	s.CurrentState = v
95792	return s
95793}
95794
95795// SetInstanceId sets the InstanceId field's value.
95796func (s *InstanceStateChange) SetInstanceId(v string) *InstanceStateChange {
95797	s.InstanceId = &v
95798	return s
95799}
95800
95801// SetPreviousState sets the PreviousState field's value.
95802func (s *InstanceStateChange) SetPreviousState(v *InstanceState) *InstanceStateChange {
95803	s.PreviousState = v
95804	return s
95805}
95806
95807// Describes the status of an instance.
95808type InstanceStatus struct {
95809	_ struct{} `type:"structure"`
95810
95811	// The Availability Zone of the instance.
95812	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
95813
95814	// Any scheduled events associated with the instance.
95815	Events []*InstanceStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
95816
95817	// The ID of the instance.
95818	InstanceId *string `locationName:"instanceId" type:"string"`
95819
95820	// The intended state of the instance. DescribeInstanceStatus requires that
95821	// an instance be in the running state.
95822	InstanceState *InstanceState `locationName:"instanceState" type:"structure"`
95823
95824	// Reports impaired functionality that stems from issues internal to the instance,
95825	// such as impaired reachability.
95826	InstanceStatus *InstanceStatusSummary `locationName:"instanceStatus" type:"structure"`
95827
95828	// The Amazon Resource Name (ARN) of the Outpost.
95829	OutpostArn *string `locationName:"outpostArn" type:"string"`
95830
95831	// Reports impaired functionality that stems from issues related to the systems
95832	// that support an instance, such as hardware failures and network connectivity
95833	// problems.
95834	SystemStatus *InstanceStatusSummary `locationName:"systemStatus" type:"structure"`
95835}
95836
95837// String returns the string representation
95838func (s InstanceStatus) String() string {
95839	return awsutil.Prettify(s)
95840}
95841
95842// GoString returns the string representation
95843func (s InstanceStatus) GoString() string {
95844	return s.String()
95845}
95846
95847// SetAvailabilityZone sets the AvailabilityZone field's value.
95848func (s *InstanceStatus) SetAvailabilityZone(v string) *InstanceStatus {
95849	s.AvailabilityZone = &v
95850	return s
95851}
95852
95853// SetEvents sets the Events field's value.
95854func (s *InstanceStatus) SetEvents(v []*InstanceStatusEvent) *InstanceStatus {
95855	s.Events = v
95856	return s
95857}
95858
95859// SetInstanceId sets the InstanceId field's value.
95860func (s *InstanceStatus) SetInstanceId(v string) *InstanceStatus {
95861	s.InstanceId = &v
95862	return s
95863}
95864
95865// SetInstanceState sets the InstanceState field's value.
95866func (s *InstanceStatus) SetInstanceState(v *InstanceState) *InstanceStatus {
95867	s.InstanceState = v
95868	return s
95869}
95870
95871// SetInstanceStatus sets the InstanceStatus field's value.
95872func (s *InstanceStatus) SetInstanceStatus(v *InstanceStatusSummary) *InstanceStatus {
95873	s.InstanceStatus = v
95874	return s
95875}
95876
95877// SetOutpostArn sets the OutpostArn field's value.
95878func (s *InstanceStatus) SetOutpostArn(v string) *InstanceStatus {
95879	s.OutpostArn = &v
95880	return s
95881}
95882
95883// SetSystemStatus sets the SystemStatus field's value.
95884func (s *InstanceStatus) SetSystemStatus(v *InstanceStatusSummary) *InstanceStatus {
95885	s.SystemStatus = v
95886	return s
95887}
95888
95889// Describes the instance status.
95890type InstanceStatusDetails struct {
95891	_ struct{} `type:"structure"`
95892
95893	// The time when a status check failed. For an instance that was launched and
95894	// impaired, this is the time when the instance was launched.
95895	ImpairedSince *time.Time `locationName:"impairedSince" type:"timestamp"`
95896
95897	// The type of instance status.
95898	Name *string `locationName:"name" type:"string" enum:"StatusName"`
95899
95900	// The status.
95901	Status *string `locationName:"status" type:"string" enum:"StatusType"`
95902}
95903
95904// String returns the string representation
95905func (s InstanceStatusDetails) String() string {
95906	return awsutil.Prettify(s)
95907}
95908
95909// GoString returns the string representation
95910func (s InstanceStatusDetails) GoString() string {
95911	return s.String()
95912}
95913
95914// SetImpairedSince sets the ImpairedSince field's value.
95915func (s *InstanceStatusDetails) SetImpairedSince(v time.Time) *InstanceStatusDetails {
95916	s.ImpairedSince = &v
95917	return s
95918}
95919
95920// SetName sets the Name field's value.
95921func (s *InstanceStatusDetails) SetName(v string) *InstanceStatusDetails {
95922	s.Name = &v
95923	return s
95924}
95925
95926// SetStatus sets the Status field's value.
95927func (s *InstanceStatusDetails) SetStatus(v string) *InstanceStatusDetails {
95928	s.Status = &v
95929	return s
95930}
95931
95932// Describes a scheduled event for an instance.
95933type InstanceStatusEvent struct {
95934	_ struct{} `type:"structure"`
95935
95936	// The event code.
95937	Code *string `locationName:"code" type:"string" enum:"EventCode"`
95938
95939	// A description of the event.
95940	//
95941	// After a scheduled event is completed, it can still be described for up to
95942	// a week. If the event has been completed, this description starts with the
95943	// following text: [Completed].
95944	Description *string `locationName:"description" type:"string"`
95945
95946	// The ID of the event.
95947	InstanceEventId *string `locationName:"instanceEventId" type:"string"`
95948
95949	// The latest scheduled end time for the event.
95950	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
95951
95952	// The earliest scheduled start time for the event.
95953	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
95954
95955	// The deadline for starting the event.
95956	NotBeforeDeadline *time.Time `locationName:"notBeforeDeadline" type:"timestamp"`
95957}
95958
95959// String returns the string representation
95960func (s InstanceStatusEvent) String() string {
95961	return awsutil.Prettify(s)
95962}
95963
95964// GoString returns the string representation
95965func (s InstanceStatusEvent) GoString() string {
95966	return s.String()
95967}
95968
95969// SetCode sets the Code field's value.
95970func (s *InstanceStatusEvent) SetCode(v string) *InstanceStatusEvent {
95971	s.Code = &v
95972	return s
95973}
95974
95975// SetDescription sets the Description field's value.
95976func (s *InstanceStatusEvent) SetDescription(v string) *InstanceStatusEvent {
95977	s.Description = &v
95978	return s
95979}
95980
95981// SetInstanceEventId sets the InstanceEventId field's value.
95982func (s *InstanceStatusEvent) SetInstanceEventId(v string) *InstanceStatusEvent {
95983	s.InstanceEventId = &v
95984	return s
95985}
95986
95987// SetNotAfter sets the NotAfter field's value.
95988func (s *InstanceStatusEvent) SetNotAfter(v time.Time) *InstanceStatusEvent {
95989	s.NotAfter = &v
95990	return s
95991}
95992
95993// SetNotBefore sets the NotBefore field's value.
95994func (s *InstanceStatusEvent) SetNotBefore(v time.Time) *InstanceStatusEvent {
95995	s.NotBefore = &v
95996	return s
95997}
95998
95999// SetNotBeforeDeadline sets the NotBeforeDeadline field's value.
96000func (s *InstanceStatusEvent) SetNotBeforeDeadline(v time.Time) *InstanceStatusEvent {
96001	s.NotBeforeDeadline = &v
96002	return s
96003}
96004
96005// Describes the status of an instance.
96006type InstanceStatusSummary struct {
96007	_ struct{} `type:"structure"`
96008
96009	// The system instance health or application instance health.
96010	Details []*InstanceStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
96011
96012	// The status.
96013	Status *string `locationName:"status" type:"string" enum:"SummaryStatus"`
96014}
96015
96016// String returns the string representation
96017func (s InstanceStatusSummary) String() string {
96018	return awsutil.Prettify(s)
96019}
96020
96021// GoString returns the string representation
96022func (s InstanceStatusSummary) GoString() string {
96023	return s.String()
96024}
96025
96026// SetDetails sets the Details field's value.
96027func (s *InstanceStatusSummary) SetDetails(v []*InstanceStatusDetails) *InstanceStatusSummary {
96028	s.Details = v
96029	return s
96030}
96031
96032// SetStatus sets the Status field's value.
96033func (s *InstanceStatusSummary) SetStatus(v string) *InstanceStatusSummary {
96034	s.Status = &v
96035	return s
96036}
96037
96038// Describes the disks that are available for the instance type.
96039type InstanceStorageInfo struct {
96040	_ struct{} `type:"structure"`
96041
96042	// Describes the disks that are available for the instance type.
96043	Disks []*DiskInfo `locationName:"disks" locationNameList:"item" type:"list"`
96044
96045	// Indicates whether non-volatile memory express (NVMe) is supported for instance
96046	// store.
96047	NvmeSupport *string `locationName:"nvmeSupport" type:"string" enum:"EphemeralNvmeSupport"`
96048
96049	// The total size of the disks, in GB.
96050	TotalSizeInGB *int64 `locationName:"totalSizeInGB" type:"long"`
96051}
96052
96053// String returns the string representation
96054func (s InstanceStorageInfo) String() string {
96055	return awsutil.Prettify(s)
96056}
96057
96058// GoString returns the string representation
96059func (s InstanceStorageInfo) GoString() string {
96060	return s.String()
96061}
96062
96063// SetDisks sets the Disks field's value.
96064func (s *InstanceStorageInfo) SetDisks(v []*DiskInfo) *InstanceStorageInfo {
96065	s.Disks = v
96066	return s
96067}
96068
96069// SetNvmeSupport sets the NvmeSupport field's value.
96070func (s *InstanceStorageInfo) SetNvmeSupport(v string) *InstanceStorageInfo {
96071	s.NvmeSupport = &v
96072	return s
96073}
96074
96075// SetTotalSizeInGB sets the TotalSizeInGB field's value.
96076func (s *InstanceStorageInfo) SetTotalSizeInGB(v int64) *InstanceStorageInfo {
96077	s.TotalSizeInGB = &v
96078	return s
96079}
96080
96081// Describes the registered tag keys for the current Region.
96082type InstanceTagNotificationAttribute struct {
96083	_ struct{} `type:"structure"`
96084
96085	// Indicates wheter all tag keys in the current Region are registered to appear
96086	// in scheduled event notifications. true indicates that all tag keys in the
96087	// current Region are registered.
96088	IncludeAllTagsOfInstance *bool `locationName:"includeAllTagsOfInstance" type:"boolean"`
96089
96090	// The registered tag keys.
96091	InstanceTagKeys []*string `locationName:"instanceTagKeySet" locationNameList:"item" type:"list"`
96092}
96093
96094// String returns the string representation
96095func (s InstanceTagNotificationAttribute) String() string {
96096	return awsutil.Prettify(s)
96097}
96098
96099// GoString returns the string representation
96100func (s InstanceTagNotificationAttribute) GoString() string {
96101	return s.String()
96102}
96103
96104// SetIncludeAllTagsOfInstance sets the IncludeAllTagsOfInstance field's value.
96105func (s *InstanceTagNotificationAttribute) SetIncludeAllTagsOfInstance(v bool) *InstanceTagNotificationAttribute {
96106	s.IncludeAllTagsOfInstance = &v
96107	return s
96108}
96109
96110// SetInstanceTagKeys sets the InstanceTagKeys field's value.
96111func (s *InstanceTagNotificationAttribute) SetInstanceTagKeys(v []*string) *InstanceTagNotificationAttribute {
96112	s.InstanceTagKeys = v
96113	return s
96114}
96115
96116// Describes the instance type.
96117type InstanceTypeInfo struct {
96118	_ struct{} `type:"structure"`
96119
96120	// Indicates whether auto recovery is supported.
96121	AutoRecoverySupported *bool `locationName:"autoRecoverySupported" type:"boolean"`
96122
96123	// Indicates whether the instance is a bare metal instance type.
96124	BareMetal *bool `locationName:"bareMetal" type:"boolean"`
96125
96126	// Indicates whether the instance type is a burstable performance instance type.
96127	BurstablePerformanceSupported *bool `locationName:"burstablePerformanceSupported" type:"boolean"`
96128
96129	// Indicates whether the instance type is current generation.
96130	CurrentGeneration *bool `locationName:"currentGeneration" type:"boolean"`
96131
96132	// Indicates whether Dedicated Hosts are supported on the instance type.
96133	DedicatedHostsSupported *bool `locationName:"dedicatedHostsSupported" type:"boolean"`
96134
96135	// Describes the Amazon EBS settings for the instance type.
96136	EbsInfo *EbsInfo `locationName:"ebsInfo" type:"structure"`
96137
96138	// Describes the FPGA accelerator settings for the instance type.
96139	FpgaInfo *FpgaInfo `locationName:"fpgaInfo" type:"structure"`
96140
96141	// Indicates whether the instance type is eligible for the free tier.
96142	FreeTierEligible *bool `locationName:"freeTierEligible" type:"boolean"`
96143
96144	// Describes the GPU accelerator settings for the instance type.
96145	GpuInfo *GpuInfo `locationName:"gpuInfo" type:"structure"`
96146
96147	// Indicates whether On-Demand hibernation is supported.
96148	HibernationSupported *bool `locationName:"hibernationSupported" type:"boolean"`
96149
96150	// The hypervisor for the instance type.
96151	Hypervisor *string `locationName:"hypervisor" type:"string" enum:"InstanceTypeHypervisor"`
96152
96153	// Describes the Inference accelerator settings for the instance type.
96154	InferenceAcceleratorInfo *InferenceAcceleratorInfo `locationName:"inferenceAcceleratorInfo" type:"structure"`
96155
96156	// Describes the instance storage for the instance type.
96157	InstanceStorageInfo *InstanceStorageInfo `locationName:"instanceStorageInfo" type:"structure"`
96158
96159	// Indicates whether instance storage is supported.
96160	InstanceStorageSupported *bool `locationName:"instanceStorageSupported" type:"boolean"`
96161
96162	// The instance type. For more information, see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
96163	// in the Amazon EC2 User Guide.
96164	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
96165
96166	// Describes the memory for the instance type.
96167	MemoryInfo *MemoryInfo `locationName:"memoryInfo" type:"structure"`
96168
96169	// Describes the network settings for the instance type.
96170	NetworkInfo *NetworkInfo `locationName:"networkInfo" type:"structure"`
96171
96172	// Describes the placement group settings for the instance type.
96173	PlacementGroupInfo *PlacementGroupInfo `locationName:"placementGroupInfo" type:"structure"`
96174
96175	// Describes the processor.
96176	ProcessorInfo *ProcessorInfo `locationName:"processorInfo" type:"structure"`
96177
96178	// The supported boot modes. For more information, see Boot modes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-boot.html)
96179	// in the Amazon EC2 User Guide.
96180	SupportedBootModes []*string `locationName:"supportedBootModes" locationNameList:"item" type:"list"`
96181
96182	// The supported root device types.
96183	SupportedRootDeviceTypes []*string `locationName:"supportedRootDeviceTypes" locationNameList:"item" type:"list"`
96184
96185	// Indicates whether the instance type is offered for spot or On-Demand.
96186	SupportedUsageClasses []*string `locationName:"supportedUsageClasses" locationNameList:"item" type:"list"`
96187
96188	// The supported virtualization types.
96189	SupportedVirtualizationTypes []*string `locationName:"supportedVirtualizationTypes" locationNameList:"item" type:"list"`
96190
96191	// Describes the vCPU configurations for the instance type.
96192	VCpuInfo *VCpuInfo `locationName:"vCpuInfo" type:"structure"`
96193}
96194
96195// String returns the string representation
96196func (s InstanceTypeInfo) String() string {
96197	return awsutil.Prettify(s)
96198}
96199
96200// GoString returns the string representation
96201func (s InstanceTypeInfo) GoString() string {
96202	return s.String()
96203}
96204
96205// SetAutoRecoverySupported sets the AutoRecoverySupported field's value.
96206func (s *InstanceTypeInfo) SetAutoRecoverySupported(v bool) *InstanceTypeInfo {
96207	s.AutoRecoverySupported = &v
96208	return s
96209}
96210
96211// SetBareMetal sets the BareMetal field's value.
96212func (s *InstanceTypeInfo) SetBareMetal(v bool) *InstanceTypeInfo {
96213	s.BareMetal = &v
96214	return s
96215}
96216
96217// SetBurstablePerformanceSupported sets the BurstablePerformanceSupported field's value.
96218func (s *InstanceTypeInfo) SetBurstablePerformanceSupported(v bool) *InstanceTypeInfo {
96219	s.BurstablePerformanceSupported = &v
96220	return s
96221}
96222
96223// SetCurrentGeneration sets the CurrentGeneration field's value.
96224func (s *InstanceTypeInfo) SetCurrentGeneration(v bool) *InstanceTypeInfo {
96225	s.CurrentGeneration = &v
96226	return s
96227}
96228
96229// SetDedicatedHostsSupported sets the DedicatedHostsSupported field's value.
96230func (s *InstanceTypeInfo) SetDedicatedHostsSupported(v bool) *InstanceTypeInfo {
96231	s.DedicatedHostsSupported = &v
96232	return s
96233}
96234
96235// SetEbsInfo sets the EbsInfo field's value.
96236func (s *InstanceTypeInfo) SetEbsInfo(v *EbsInfo) *InstanceTypeInfo {
96237	s.EbsInfo = v
96238	return s
96239}
96240
96241// SetFpgaInfo sets the FpgaInfo field's value.
96242func (s *InstanceTypeInfo) SetFpgaInfo(v *FpgaInfo) *InstanceTypeInfo {
96243	s.FpgaInfo = v
96244	return s
96245}
96246
96247// SetFreeTierEligible sets the FreeTierEligible field's value.
96248func (s *InstanceTypeInfo) SetFreeTierEligible(v bool) *InstanceTypeInfo {
96249	s.FreeTierEligible = &v
96250	return s
96251}
96252
96253// SetGpuInfo sets the GpuInfo field's value.
96254func (s *InstanceTypeInfo) SetGpuInfo(v *GpuInfo) *InstanceTypeInfo {
96255	s.GpuInfo = v
96256	return s
96257}
96258
96259// SetHibernationSupported sets the HibernationSupported field's value.
96260func (s *InstanceTypeInfo) SetHibernationSupported(v bool) *InstanceTypeInfo {
96261	s.HibernationSupported = &v
96262	return s
96263}
96264
96265// SetHypervisor sets the Hypervisor field's value.
96266func (s *InstanceTypeInfo) SetHypervisor(v string) *InstanceTypeInfo {
96267	s.Hypervisor = &v
96268	return s
96269}
96270
96271// SetInferenceAcceleratorInfo sets the InferenceAcceleratorInfo field's value.
96272func (s *InstanceTypeInfo) SetInferenceAcceleratorInfo(v *InferenceAcceleratorInfo) *InstanceTypeInfo {
96273	s.InferenceAcceleratorInfo = v
96274	return s
96275}
96276
96277// SetInstanceStorageInfo sets the InstanceStorageInfo field's value.
96278func (s *InstanceTypeInfo) SetInstanceStorageInfo(v *InstanceStorageInfo) *InstanceTypeInfo {
96279	s.InstanceStorageInfo = v
96280	return s
96281}
96282
96283// SetInstanceStorageSupported sets the InstanceStorageSupported field's value.
96284func (s *InstanceTypeInfo) SetInstanceStorageSupported(v bool) *InstanceTypeInfo {
96285	s.InstanceStorageSupported = &v
96286	return s
96287}
96288
96289// SetInstanceType sets the InstanceType field's value.
96290func (s *InstanceTypeInfo) SetInstanceType(v string) *InstanceTypeInfo {
96291	s.InstanceType = &v
96292	return s
96293}
96294
96295// SetMemoryInfo sets the MemoryInfo field's value.
96296func (s *InstanceTypeInfo) SetMemoryInfo(v *MemoryInfo) *InstanceTypeInfo {
96297	s.MemoryInfo = v
96298	return s
96299}
96300
96301// SetNetworkInfo sets the NetworkInfo field's value.
96302func (s *InstanceTypeInfo) SetNetworkInfo(v *NetworkInfo) *InstanceTypeInfo {
96303	s.NetworkInfo = v
96304	return s
96305}
96306
96307// SetPlacementGroupInfo sets the PlacementGroupInfo field's value.
96308func (s *InstanceTypeInfo) SetPlacementGroupInfo(v *PlacementGroupInfo) *InstanceTypeInfo {
96309	s.PlacementGroupInfo = v
96310	return s
96311}
96312
96313// SetProcessorInfo sets the ProcessorInfo field's value.
96314func (s *InstanceTypeInfo) SetProcessorInfo(v *ProcessorInfo) *InstanceTypeInfo {
96315	s.ProcessorInfo = v
96316	return s
96317}
96318
96319// SetSupportedBootModes sets the SupportedBootModes field's value.
96320func (s *InstanceTypeInfo) SetSupportedBootModes(v []*string) *InstanceTypeInfo {
96321	s.SupportedBootModes = v
96322	return s
96323}
96324
96325// SetSupportedRootDeviceTypes sets the SupportedRootDeviceTypes field's value.
96326func (s *InstanceTypeInfo) SetSupportedRootDeviceTypes(v []*string) *InstanceTypeInfo {
96327	s.SupportedRootDeviceTypes = v
96328	return s
96329}
96330
96331// SetSupportedUsageClasses sets the SupportedUsageClasses field's value.
96332func (s *InstanceTypeInfo) SetSupportedUsageClasses(v []*string) *InstanceTypeInfo {
96333	s.SupportedUsageClasses = v
96334	return s
96335}
96336
96337// SetSupportedVirtualizationTypes sets the SupportedVirtualizationTypes field's value.
96338func (s *InstanceTypeInfo) SetSupportedVirtualizationTypes(v []*string) *InstanceTypeInfo {
96339	s.SupportedVirtualizationTypes = v
96340	return s
96341}
96342
96343// SetVCpuInfo sets the VCpuInfo field's value.
96344func (s *InstanceTypeInfo) SetVCpuInfo(v *VCpuInfo) *InstanceTypeInfo {
96345	s.VCpuInfo = v
96346	return s
96347}
96348
96349// The instance types offered.
96350type InstanceTypeOffering struct {
96351	_ struct{} `type:"structure"`
96352
96353	// The instance type. For more information, see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
96354	// in the Amazon EC2 User Guide.
96355	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
96356
96357	// The identifier for the location. This depends on the location type. For example,
96358	// if the location type is region, the location is the Region code (for example,
96359	// us-east-2.)
96360	Location *string `locationName:"location" type:"string"`
96361
96362	// The location type.
96363	LocationType *string `locationName:"locationType" type:"string" enum:"LocationType"`
96364}
96365
96366// String returns the string representation
96367func (s InstanceTypeOffering) String() string {
96368	return awsutil.Prettify(s)
96369}
96370
96371// GoString returns the string representation
96372func (s InstanceTypeOffering) GoString() string {
96373	return s.String()
96374}
96375
96376// SetInstanceType sets the InstanceType field's value.
96377func (s *InstanceTypeOffering) SetInstanceType(v string) *InstanceTypeOffering {
96378	s.InstanceType = &v
96379	return s
96380}
96381
96382// SetLocation sets the Location field's value.
96383func (s *InstanceTypeOffering) SetLocation(v string) *InstanceTypeOffering {
96384	s.Location = &v
96385	return s
96386}
96387
96388// SetLocationType sets the LocationType field's value.
96389func (s *InstanceTypeOffering) SetLocationType(v string) *InstanceTypeOffering {
96390	s.LocationType = &v
96391	return s
96392}
96393
96394// Information about the Capacity Reservation usage.
96395type InstanceUsage struct {
96396	_ struct{} `type:"structure"`
96397
96398	// The ID of the Amazon Web Services account that is making use of the Capacity
96399	// Reservation.
96400	AccountId *string `locationName:"accountId" type:"string"`
96401
96402	// The number of instances the Amazon Web Services account currently has in
96403	// the Capacity Reservation.
96404	UsedInstanceCount *int64 `locationName:"usedInstanceCount" type:"integer"`
96405}
96406
96407// String returns the string representation
96408func (s InstanceUsage) String() string {
96409	return awsutil.Prettify(s)
96410}
96411
96412// GoString returns the string representation
96413func (s InstanceUsage) GoString() string {
96414	return s.String()
96415}
96416
96417// SetAccountId sets the AccountId field's value.
96418func (s *InstanceUsage) SetAccountId(v string) *InstanceUsage {
96419	s.AccountId = &v
96420	return s
96421}
96422
96423// SetUsedInstanceCount sets the UsedInstanceCount field's value.
96424func (s *InstanceUsage) SetUsedInstanceCount(v int64) *InstanceUsage {
96425	s.UsedInstanceCount = &v
96426	return s
96427}
96428
96429// Describes service integrations with VPC Flow logs.
96430type IntegrateServices struct {
96431	_ struct{} `type:"structure"`
96432
96433	// Information about the integration with Amazon Athena.
96434	AthenaIntegrations []*AthenaIntegration `locationName:"AthenaIntegration" locationNameList:"item" min:"1" type:"list"`
96435}
96436
96437// String returns the string representation
96438func (s IntegrateServices) String() string {
96439	return awsutil.Prettify(s)
96440}
96441
96442// GoString returns the string representation
96443func (s IntegrateServices) GoString() string {
96444	return s.String()
96445}
96446
96447// Validate inspects the fields of the type to determine if they are valid.
96448func (s *IntegrateServices) Validate() error {
96449	invalidParams := request.ErrInvalidParams{Context: "IntegrateServices"}
96450	if s.AthenaIntegrations != nil && len(s.AthenaIntegrations) < 1 {
96451		invalidParams.Add(request.NewErrParamMinLen("AthenaIntegrations", 1))
96452	}
96453	if s.AthenaIntegrations != nil {
96454		for i, v := range s.AthenaIntegrations {
96455			if v == nil {
96456				continue
96457			}
96458			if err := v.Validate(); err != nil {
96459				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AthenaIntegrations", i), err.(request.ErrInvalidParams))
96460			}
96461		}
96462	}
96463
96464	if invalidParams.Len() > 0 {
96465		return invalidParams
96466	}
96467	return nil
96468}
96469
96470// SetAthenaIntegrations sets the AthenaIntegrations field's value.
96471func (s *IntegrateServices) SetAthenaIntegrations(v []*AthenaIntegration) *IntegrateServices {
96472	s.AthenaIntegrations = v
96473	return s
96474}
96475
96476// Describes an internet gateway.
96477type InternetGateway struct {
96478	_ struct{} `type:"structure"`
96479
96480	// Any VPCs attached to the internet gateway.
96481	Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
96482
96483	// The ID of the internet gateway.
96484	InternetGatewayId *string `locationName:"internetGatewayId" type:"string"`
96485
96486	// The ID of the Amazon Web Services account that owns the internet gateway.
96487	OwnerId *string `locationName:"ownerId" type:"string"`
96488
96489	// Any tags assigned to the internet gateway.
96490	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
96491}
96492
96493// String returns the string representation
96494func (s InternetGateway) String() string {
96495	return awsutil.Prettify(s)
96496}
96497
96498// GoString returns the string representation
96499func (s InternetGateway) GoString() string {
96500	return s.String()
96501}
96502
96503// SetAttachments sets the Attachments field's value.
96504func (s *InternetGateway) SetAttachments(v []*InternetGatewayAttachment) *InternetGateway {
96505	s.Attachments = v
96506	return s
96507}
96508
96509// SetInternetGatewayId sets the InternetGatewayId field's value.
96510func (s *InternetGateway) SetInternetGatewayId(v string) *InternetGateway {
96511	s.InternetGatewayId = &v
96512	return s
96513}
96514
96515// SetOwnerId sets the OwnerId field's value.
96516func (s *InternetGateway) SetOwnerId(v string) *InternetGateway {
96517	s.OwnerId = &v
96518	return s
96519}
96520
96521// SetTags sets the Tags field's value.
96522func (s *InternetGateway) SetTags(v []*Tag) *InternetGateway {
96523	s.Tags = v
96524	return s
96525}
96526
96527// Describes the attachment of a VPC to an internet gateway or an egress-only
96528// internet gateway.
96529type InternetGatewayAttachment struct {
96530	_ struct{} `type:"structure"`
96531
96532	// The current state of the attachment. For an internet gateway, the state is
96533	// available when attached to a VPC; otherwise, this value is not returned.
96534	State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
96535
96536	// The ID of the VPC.
96537	VpcId *string `locationName:"vpcId" type:"string"`
96538}
96539
96540// String returns the string representation
96541func (s InternetGatewayAttachment) String() string {
96542	return awsutil.Prettify(s)
96543}
96544
96545// GoString returns the string representation
96546func (s InternetGatewayAttachment) GoString() string {
96547	return s.String()
96548}
96549
96550// SetState sets the State field's value.
96551func (s *InternetGatewayAttachment) SetState(v string) *InternetGatewayAttachment {
96552	s.State = &v
96553	return s
96554}
96555
96556// SetVpcId sets the VpcId field's value.
96557func (s *InternetGatewayAttachment) SetVpcId(v string) *InternetGatewayAttachment {
96558	s.VpcId = &v
96559	return s
96560}
96561
96562// Describes a set of permissions for a security group rule.
96563type IpPermission struct {
96564	_ struct{} `type:"structure"`
96565
96566	// The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6
96567	// type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify
96568	// all ICMP/ICMPv6 types, you must specify all codes.
96569	FromPort *int64 `locationName:"fromPort" type:"integer"`
96570
96571	// The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers
96572	// (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
96573	//
96574	// [VPC only] Use -1 to specify all protocols. When authorizing security group
96575	// rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6
96576	// allows traffic on all ports, regardless of any port range you specify. For
96577	// tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range
96578	// is optional; if you omit the port range, traffic for all types and codes
96579	// is allowed.
96580	IpProtocol *string `locationName:"ipProtocol" type:"string"`
96581
96582	// The IPv4 ranges.
96583	IpRanges []*IpRange `locationName:"ipRanges" locationNameList:"item" type:"list"`
96584
96585	// [VPC only] The IPv6 ranges.
96586	Ipv6Ranges []*Ipv6Range `locationName:"ipv6Ranges" locationNameList:"item" type:"list"`
96587
96588	// [VPC only] The prefix list IDs.
96589	PrefixListIds []*PrefixListId `locationName:"prefixListIds" locationNameList:"item" type:"list"`
96590
96591	// The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.
96592	// A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6
96593	// types, you must specify all codes.
96594	ToPort *int64 `locationName:"toPort" type:"integer"`
96595
96596	// The security group and Amazon Web Services account ID pairs.
96597	UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
96598}
96599
96600// String returns the string representation
96601func (s IpPermission) String() string {
96602	return awsutil.Prettify(s)
96603}
96604
96605// GoString returns the string representation
96606func (s IpPermission) GoString() string {
96607	return s.String()
96608}
96609
96610// SetFromPort sets the FromPort field's value.
96611func (s *IpPermission) SetFromPort(v int64) *IpPermission {
96612	s.FromPort = &v
96613	return s
96614}
96615
96616// SetIpProtocol sets the IpProtocol field's value.
96617func (s *IpPermission) SetIpProtocol(v string) *IpPermission {
96618	s.IpProtocol = &v
96619	return s
96620}
96621
96622// SetIpRanges sets the IpRanges field's value.
96623func (s *IpPermission) SetIpRanges(v []*IpRange) *IpPermission {
96624	s.IpRanges = v
96625	return s
96626}
96627
96628// SetIpv6Ranges sets the Ipv6Ranges field's value.
96629func (s *IpPermission) SetIpv6Ranges(v []*Ipv6Range) *IpPermission {
96630	s.Ipv6Ranges = v
96631	return s
96632}
96633
96634// SetPrefixListIds sets the PrefixListIds field's value.
96635func (s *IpPermission) SetPrefixListIds(v []*PrefixListId) *IpPermission {
96636	s.PrefixListIds = v
96637	return s
96638}
96639
96640// SetToPort sets the ToPort field's value.
96641func (s *IpPermission) SetToPort(v int64) *IpPermission {
96642	s.ToPort = &v
96643	return s
96644}
96645
96646// SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
96647func (s *IpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *IpPermission {
96648	s.UserIdGroupPairs = v
96649	return s
96650}
96651
96652// Describes an IPv4 range.
96653type IpRange struct {
96654	_ struct{} `type:"structure"`
96655
96656	// The IPv4 CIDR range. You can either specify a CIDR range or a source security
96657	// group, not both. To specify a single IPv4 address, use the /32 prefix length.
96658	CidrIp *string `locationName:"cidrIp" type:"string"`
96659
96660	// A description for the security group rule that references this IPv4 address
96661	// range.
96662	//
96663	// Constraints: Up to 255 characters in length. Allowed characters are a-z,
96664	// A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
96665	Description *string `locationName:"description" type:"string"`
96666}
96667
96668// String returns the string representation
96669func (s IpRange) String() string {
96670	return awsutil.Prettify(s)
96671}
96672
96673// GoString returns the string representation
96674func (s IpRange) GoString() string {
96675	return s.String()
96676}
96677
96678// SetCidrIp sets the CidrIp field's value.
96679func (s *IpRange) SetCidrIp(v string) *IpRange {
96680	s.CidrIp = &v
96681	return s
96682}
96683
96684// SetDescription sets the Description field's value.
96685func (s *IpRange) SetDescription(v string) *IpRange {
96686	s.Description = &v
96687	return s
96688}
96689
96690// Describes an IPv4 prefix.
96691type Ipv4PrefixSpecification struct {
96692	_ struct{} `type:"structure"`
96693
96694	// The IPv4 prefix. For information, see Assigning prefixes to Amazon EC2 network
96695	// interfaces (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-prefix-eni.html)
96696	// in the Amazon Elastic Compute Cloud User Guide.
96697	Ipv4Prefix *string `locationName:"ipv4Prefix" type:"string"`
96698}
96699
96700// String returns the string representation
96701func (s Ipv4PrefixSpecification) String() string {
96702	return awsutil.Prettify(s)
96703}
96704
96705// GoString returns the string representation
96706func (s Ipv4PrefixSpecification) GoString() string {
96707	return s.String()
96708}
96709
96710// SetIpv4Prefix sets the Ipv4Prefix field's value.
96711func (s *Ipv4PrefixSpecification) SetIpv4Prefix(v string) *Ipv4PrefixSpecification {
96712	s.Ipv4Prefix = &v
96713	return s
96714}
96715
96716// Describes the IPv4 prefix option for a network interface.
96717type Ipv4PrefixSpecificationRequest struct {
96718	_ struct{} `type:"structure"`
96719
96720	// The IPv4 prefix. For information, see Assigning prefixes to Amazon EC2 network
96721	// interfaces (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-prefix-eni.html)
96722	// in the Amazon Elastic Compute Cloud User Guide.
96723	Ipv4Prefix *string `type:"string"`
96724}
96725
96726// String returns the string representation
96727func (s Ipv4PrefixSpecificationRequest) String() string {
96728	return awsutil.Prettify(s)
96729}
96730
96731// GoString returns the string representation
96732func (s Ipv4PrefixSpecificationRequest) GoString() string {
96733	return s.String()
96734}
96735
96736// SetIpv4Prefix sets the Ipv4Prefix field's value.
96737func (s *Ipv4PrefixSpecificationRequest) SetIpv4Prefix(v string) *Ipv4PrefixSpecificationRequest {
96738	s.Ipv4Prefix = &v
96739	return s
96740}
96741
96742// Information about the IPv4 delegated prefixes assigned to a network interface.
96743type Ipv4PrefixSpecificationResponse struct {
96744	_ struct{} `type:"structure"`
96745
96746	// One or more IPv4 delegated prefixes assigned to the network interface.
96747	Ipv4Prefix *string `locationName:"ipv4Prefix" type:"string"`
96748}
96749
96750// String returns the string representation
96751func (s Ipv4PrefixSpecificationResponse) String() string {
96752	return awsutil.Prettify(s)
96753}
96754
96755// GoString returns the string representation
96756func (s Ipv4PrefixSpecificationResponse) GoString() string {
96757	return s.String()
96758}
96759
96760// SetIpv4Prefix sets the Ipv4Prefix field's value.
96761func (s *Ipv4PrefixSpecificationResponse) SetIpv4Prefix(v string) *Ipv4PrefixSpecificationResponse {
96762	s.Ipv4Prefix = &v
96763	return s
96764}
96765
96766// Describes an IPv6 CIDR block association.
96767type Ipv6CidrAssociation struct {
96768	_ struct{} `type:"structure"`
96769
96770	// The resource that's associated with the IPv6 CIDR block.
96771	AssociatedResource *string `locationName:"associatedResource" type:"string"`
96772
96773	// The IPv6 CIDR block.
96774	Ipv6Cidr *string `locationName:"ipv6Cidr" type:"string"`
96775}
96776
96777// String returns the string representation
96778func (s Ipv6CidrAssociation) String() string {
96779	return awsutil.Prettify(s)
96780}
96781
96782// GoString returns the string representation
96783func (s Ipv6CidrAssociation) GoString() string {
96784	return s.String()
96785}
96786
96787// SetAssociatedResource sets the AssociatedResource field's value.
96788func (s *Ipv6CidrAssociation) SetAssociatedResource(v string) *Ipv6CidrAssociation {
96789	s.AssociatedResource = &v
96790	return s
96791}
96792
96793// SetIpv6Cidr sets the Ipv6Cidr field's value.
96794func (s *Ipv6CidrAssociation) SetIpv6Cidr(v string) *Ipv6CidrAssociation {
96795	s.Ipv6Cidr = &v
96796	return s
96797}
96798
96799// Describes an IPv6 CIDR block.
96800type Ipv6CidrBlock struct {
96801	_ struct{} `type:"structure"`
96802
96803	// The IPv6 CIDR block.
96804	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
96805}
96806
96807// String returns the string representation
96808func (s Ipv6CidrBlock) String() string {
96809	return awsutil.Prettify(s)
96810}
96811
96812// GoString returns the string representation
96813func (s Ipv6CidrBlock) GoString() string {
96814	return s.String()
96815}
96816
96817// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
96818func (s *Ipv6CidrBlock) SetIpv6CidrBlock(v string) *Ipv6CidrBlock {
96819	s.Ipv6CidrBlock = &v
96820	return s
96821}
96822
96823// Describes an IPv6 address pool.
96824type Ipv6Pool struct {
96825	_ struct{} `type:"structure"`
96826
96827	// The description for the address pool.
96828	Description *string `locationName:"description" type:"string"`
96829
96830	// The CIDR blocks for the address pool.
96831	PoolCidrBlocks []*PoolCidrBlock `locationName:"poolCidrBlockSet" locationNameList:"item" type:"list"`
96832
96833	// The ID of the address pool.
96834	PoolId *string `locationName:"poolId" type:"string"`
96835
96836	// Any tags for the address pool.
96837	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
96838}
96839
96840// String returns the string representation
96841func (s Ipv6Pool) String() string {
96842	return awsutil.Prettify(s)
96843}
96844
96845// GoString returns the string representation
96846func (s Ipv6Pool) GoString() string {
96847	return s.String()
96848}
96849
96850// SetDescription sets the Description field's value.
96851func (s *Ipv6Pool) SetDescription(v string) *Ipv6Pool {
96852	s.Description = &v
96853	return s
96854}
96855
96856// SetPoolCidrBlocks sets the PoolCidrBlocks field's value.
96857func (s *Ipv6Pool) SetPoolCidrBlocks(v []*PoolCidrBlock) *Ipv6Pool {
96858	s.PoolCidrBlocks = v
96859	return s
96860}
96861
96862// SetPoolId sets the PoolId field's value.
96863func (s *Ipv6Pool) SetPoolId(v string) *Ipv6Pool {
96864	s.PoolId = &v
96865	return s
96866}
96867
96868// SetTags sets the Tags field's value.
96869func (s *Ipv6Pool) SetTags(v []*Tag) *Ipv6Pool {
96870	s.Tags = v
96871	return s
96872}
96873
96874// Describes the IPv6 prefix.
96875type Ipv6PrefixSpecification struct {
96876	_ struct{} `type:"structure"`
96877
96878	// The IPv6 prefix.
96879	Ipv6Prefix *string `locationName:"ipv6Prefix" type:"string"`
96880}
96881
96882// String returns the string representation
96883func (s Ipv6PrefixSpecification) String() string {
96884	return awsutil.Prettify(s)
96885}
96886
96887// GoString returns the string representation
96888func (s Ipv6PrefixSpecification) GoString() string {
96889	return s.String()
96890}
96891
96892// SetIpv6Prefix sets the Ipv6Prefix field's value.
96893func (s *Ipv6PrefixSpecification) SetIpv6Prefix(v string) *Ipv6PrefixSpecification {
96894	s.Ipv6Prefix = &v
96895	return s
96896}
96897
96898// Describes the IPv4 prefix option for a network interface.
96899type Ipv6PrefixSpecificationRequest struct {
96900	_ struct{} `type:"structure"`
96901
96902	// The IPv6 prefix.
96903	Ipv6Prefix *string `type:"string"`
96904}
96905
96906// String returns the string representation
96907func (s Ipv6PrefixSpecificationRequest) String() string {
96908	return awsutil.Prettify(s)
96909}
96910
96911// GoString returns the string representation
96912func (s Ipv6PrefixSpecificationRequest) GoString() string {
96913	return s.String()
96914}
96915
96916// SetIpv6Prefix sets the Ipv6Prefix field's value.
96917func (s *Ipv6PrefixSpecificationRequest) SetIpv6Prefix(v string) *Ipv6PrefixSpecificationRequest {
96918	s.Ipv6Prefix = &v
96919	return s
96920}
96921
96922// Information about the IPv6 delegated prefixes assigned to a network interface.
96923type Ipv6PrefixSpecificationResponse struct {
96924	_ struct{} `type:"structure"`
96925
96926	// One or more IPv6 delegated prefixes assigned to the network interface.
96927	Ipv6Prefix *string `locationName:"ipv6Prefix" type:"string"`
96928}
96929
96930// String returns the string representation
96931func (s Ipv6PrefixSpecificationResponse) String() string {
96932	return awsutil.Prettify(s)
96933}
96934
96935// GoString returns the string representation
96936func (s Ipv6PrefixSpecificationResponse) GoString() string {
96937	return s.String()
96938}
96939
96940// SetIpv6Prefix sets the Ipv6Prefix field's value.
96941func (s *Ipv6PrefixSpecificationResponse) SetIpv6Prefix(v string) *Ipv6PrefixSpecificationResponse {
96942	s.Ipv6Prefix = &v
96943	return s
96944}
96945
96946// [EC2-VPC only] Describes an IPv6 range.
96947type Ipv6Range struct {
96948	_ struct{} `type:"structure"`
96949
96950	// The IPv6 CIDR range. You can either specify a CIDR range or a source security
96951	// group, not both. To specify a single IPv6 address, use the /128 prefix length.
96952	CidrIpv6 *string `locationName:"cidrIpv6" type:"string"`
96953
96954	// A description for the security group rule that references this IPv6 address
96955	// range.
96956	//
96957	// Constraints: Up to 255 characters in length. Allowed characters are a-z,
96958	// A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
96959	Description *string `locationName:"description" type:"string"`
96960}
96961
96962// String returns the string representation
96963func (s Ipv6Range) String() string {
96964	return awsutil.Prettify(s)
96965}
96966
96967// GoString returns the string representation
96968func (s Ipv6Range) GoString() string {
96969	return s.String()
96970}
96971
96972// SetCidrIpv6 sets the CidrIpv6 field's value.
96973func (s *Ipv6Range) SetCidrIpv6(v string) *Ipv6Range {
96974	s.CidrIpv6 = &v
96975	return s
96976}
96977
96978// SetDescription sets the Description field's value.
96979func (s *Ipv6Range) SetDescription(v string) *Ipv6Range {
96980	s.Description = &v
96981	return s
96982}
96983
96984// Describes a key pair.
96985type KeyPairInfo struct {
96986	_ struct{} `type:"structure"`
96987
96988	// If you used CreateKeyPair to create the key pair:
96989	//
96990	//    * For RSA key pairs, the key fingerprint is the SHA-1 digest of the DER
96991	//    encoded private key.
96992	//
96993	//    * For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256
96994	//    digest, which is the default for OpenSSH, starting with OpenSSH 6.8 (http://www.openssh.com/txt/release-6.8).
96995	//
96996	// If you used ImportKeyPair to provide Amazon Web Services the public key:
96997	//
96998	//    * For RSA key pairs, the key fingerprint is the MD5 public key fingerprint
96999	//    as specified in section 4 of RFC4716.
97000	//
97001	//    * For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256
97002	//    digest, which is the default for OpenSSH, starting with OpenSSH 6.8 (http://www.openssh.com/txt/release-6.8).
97003	KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
97004
97005	// The name of the key pair.
97006	KeyName *string `locationName:"keyName" type:"string"`
97007
97008	// The ID of the key pair.
97009	KeyPairId *string `locationName:"keyPairId" type:"string"`
97010
97011	// The type of key pair.
97012	KeyType *string `locationName:"keyType" type:"string" enum:"KeyType"`
97013
97014	// Any tags applied to the key pair.
97015	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
97016}
97017
97018// String returns the string representation
97019func (s KeyPairInfo) String() string {
97020	return awsutil.Prettify(s)
97021}
97022
97023// GoString returns the string representation
97024func (s KeyPairInfo) GoString() string {
97025	return s.String()
97026}
97027
97028// SetKeyFingerprint sets the KeyFingerprint field's value.
97029func (s *KeyPairInfo) SetKeyFingerprint(v string) *KeyPairInfo {
97030	s.KeyFingerprint = &v
97031	return s
97032}
97033
97034// SetKeyName sets the KeyName field's value.
97035func (s *KeyPairInfo) SetKeyName(v string) *KeyPairInfo {
97036	s.KeyName = &v
97037	return s
97038}
97039
97040// SetKeyPairId sets the KeyPairId field's value.
97041func (s *KeyPairInfo) SetKeyPairId(v string) *KeyPairInfo {
97042	s.KeyPairId = &v
97043	return s
97044}
97045
97046// SetKeyType sets the KeyType field's value.
97047func (s *KeyPairInfo) SetKeyType(v string) *KeyPairInfo {
97048	s.KeyType = &v
97049	return s
97050}
97051
97052// SetTags sets the Tags field's value.
97053func (s *KeyPairInfo) SetTags(v []*Tag) *KeyPairInfo {
97054	s.Tags = v
97055	return s
97056}
97057
97058// The last error that occurred for a VPC endpoint.
97059type LastError struct {
97060	_ struct{} `type:"structure"`
97061
97062	// The error code for the VPC endpoint error.
97063	Code *string `locationName:"code" type:"string"`
97064
97065	// The error message for the VPC endpoint error.
97066	Message *string `locationName:"message" type:"string"`
97067}
97068
97069// String returns the string representation
97070func (s LastError) String() string {
97071	return awsutil.Prettify(s)
97072}
97073
97074// GoString returns the string representation
97075func (s LastError) GoString() string {
97076	return s.String()
97077}
97078
97079// SetCode sets the Code field's value.
97080func (s *LastError) SetCode(v string) *LastError {
97081	s.Code = &v
97082	return s
97083}
97084
97085// SetMessage sets the Message field's value.
97086func (s *LastError) SetMessage(v string) *LastError {
97087	s.Message = &v
97088	return s
97089}
97090
97091// Describes a launch permission.
97092type LaunchPermission struct {
97093	_ struct{} `type:"structure"`
97094
97095	// The name of the group.
97096	Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
97097
97098	// The AWS account ID.
97099	//
97100	// Constraints: Up to 10 000 account IDs can be specified in a single request.
97101	UserId *string `locationName:"userId" type:"string"`
97102}
97103
97104// String returns the string representation
97105func (s LaunchPermission) String() string {
97106	return awsutil.Prettify(s)
97107}
97108
97109// GoString returns the string representation
97110func (s LaunchPermission) GoString() string {
97111	return s.String()
97112}
97113
97114// SetGroup sets the Group field's value.
97115func (s *LaunchPermission) SetGroup(v string) *LaunchPermission {
97116	s.Group = &v
97117	return s
97118}
97119
97120// SetUserId sets the UserId field's value.
97121func (s *LaunchPermission) SetUserId(v string) *LaunchPermission {
97122	s.UserId = &v
97123	return s
97124}
97125
97126// Describes a launch permission modification.
97127type LaunchPermissionModifications struct {
97128	_ struct{} `type:"structure"`
97129
97130	// The AWS account ID to add to the list of launch permissions for the AMI.
97131	Add []*LaunchPermission `locationNameList:"item" type:"list"`
97132
97133	// The AWS account ID to remove from the list of launch permissions for the
97134	// AMI.
97135	Remove []*LaunchPermission `locationNameList:"item" type:"list"`
97136}
97137
97138// String returns the string representation
97139func (s LaunchPermissionModifications) String() string {
97140	return awsutil.Prettify(s)
97141}
97142
97143// GoString returns the string representation
97144func (s LaunchPermissionModifications) GoString() string {
97145	return s.String()
97146}
97147
97148// SetAdd sets the Add field's value.
97149func (s *LaunchPermissionModifications) SetAdd(v []*LaunchPermission) *LaunchPermissionModifications {
97150	s.Add = v
97151	return s
97152}
97153
97154// SetRemove sets the Remove field's value.
97155func (s *LaunchPermissionModifications) SetRemove(v []*LaunchPermission) *LaunchPermissionModifications {
97156	s.Remove = v
97157	return s
97158}
97159
97160// Describes the launch specification for an instance.
97161type LaunchSpecification struct {
97162	_ struct{} `type:"structure"`
97163
97164	// Deprecated.
97165	AddressingType *string `locationName:"addressingType" type:"string"`
97166
97167	// One or more block device mapping entries.
97168	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
97169
97170	// Indicates whether the instance is optimized for EBS I/O. This optimization
97171	// provides dedicated throughput to Amazon EBS and an optimized configuration
97172	// stack to provide optimal EBS I/O performance. This optimization isn't available
97173	// with all instance types. Additional usage charges apply when using an EBS
97174	// Optimized instance.
97175	//
97176	// Default: false
97177	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
97178
97179	// The IAM instance profile.
97180	IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
97181
97182	// The ID of the AMI.
97183	ImageId *string `locationName:"imageId" type:"string"`
97184
97185	// The instance type.
97186	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
97187
97188	// The ID of the kernel.
97189	KernelId *string `locationName:"kernelId" type:"string"`
97190
97191	// The name of the key pair.
97192	KeyName *string `locationName:"keyName" type:"string"`
97193
97194	// Describes the monitoring of an instance.
97195	Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
97196
97197	// One or more network interfaces. If you specify a network interface, you must
97198	// specify subnet IDs and security group IDs using the network interface.
97199	NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
97200
97201	// The placement information for the instance.
97202	Placement *SpotPlacement `locationName:"placement" type:"structure"`
97203
97204	// The ID of the RAM disk.
97205	RamdiskId *string `locationName:"ramdiskId" type:"string"`
97206
97207	// One or more security groups. When requesting instances in a VPC, you must
97208	// specify the IDs of the security groups. When requesting instances in EC2-Classic,
97209	// you can specify the names or the IDs of the security groups.
97210	SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
97211
97212	// The ID of the subnet in which to launch the instance.
97213	SubnetId *string `locationName:"subnetId" type:"string"`
97214
97215	// The Base64-encoded user data for the instance.
97216	UserData *string `locationName:"userData" type:"string"`
97217}
97218
97219// String returns the string representation
97220func (s LaunchSpecification) String() string {
97221	return awsutil.Prettify(s)
97222}
97223
97224// GoString returns the string representation
97225func (s LaunchSpecification) GoString() string {
97226	return s.String()
97227}
97228
97229// SetAddressingType sets the AddressingType field's value.
97230func (s *LaunchSpecification) SetAddressingType(v string) *LaunchSpecification {
97231	s.AddressingType = &v
97232	return s
97233}
97234
97235// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
97236func (s *LaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *LaunchSpecification {
97237	s.BlockDeviceMappings = v
97238	return s
97239}
97240
97241// SetEbsOptimized sets the EbsOptimized field's value.
97242func (s *LaunchSpecification) SetEbsOptimized(v bool) *LaunchSpecification {
97243	s.EbsOptimized = &v
97244	return s
97245}
97246
97247// SetIamInstanceProfile sets the IamInstanceProfile field's value.
97248func (s *LaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *LaunchSpecification {
97249	s.IamInstanceProfile = v
97250	return s
97251}
97252
97253// SetImageId sets the ImageId field's value.
97254func (s *LaunchSpecification) SetImageId(v string) *LaunchSpecification {
97255	s.ImageId = &v
97256	return s
97257}
97258
97259// SetInstanceType sets the InstanceType field's value.
97260func (s *LaunchSpecification) SetInstanceType(v string) *LaunchSpecification {
97261	s.InstanceType = &v
97262	return s
97263}
97264
97265// SetKernelId sets the KernelId field's value.
97266func (s *LaunchSpecification) SetKernelId(v string) *LaunchSpecification {
97267	s.KernelId = &v
97268	return s
97269}
97270
97271// SetKeyName sets the KeyName field's value.
97272func (s *LaunchSpecification) SetKeyName(v string) *LaunchSpecification {
97273	s.KeyName = &v
97274	return s
97275}
97276
97277// SetMonitoring sets the Monitoring field's value.
97278func (s *LaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *LaunchSpecification {
97279	s.Monitoring = v
97280	return s
97281}
97282
97283// SetNetworkInterfaces sets the NetworkInterfaces field's value.
97284func (s *LaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *LaunchSpecification {
97285	s.NetworkInterfaces = v
97286	return s
97287}
97288
97289// SetPlacement sets the Placement field's value.
97290func (s *LaunchSpecification) SetPlacement(v *SpotPlacement) *LaunchSpecification {
97291	s.Placement = v
97292	return s
97293}
97294
97295// SetRamdiskId sets the RamdiskId field's value.
97296func (s *LaunchSpecification) SetRamdiskId(v string) *LaunchSpecification {
97297	s.RamdiskId = &v
97298	return s
97299}
97300
97301// SetSecurityGroups sets the SecurityGroups field's value.
97302func (s *LaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *LaunchSpecification {
97303	s.SecurityGroups = v
97304	return s
97305}
97306
97307// SetSubnetId sets the SubnetId field's value.
97308func (s *LaunchSpecification) SetSubnetId(v string) *LaunchSpecification {
97309	s.SubnetId = &v
97310	return s
97311}
97312
97313// SetUserData sets the UserData field's value.
97314func (s *LaunchSpecification) SetUserData(v string) *LaunchSpecification {
97315	s.UserData = &v
97316	return s
97317}
97318
97319// Describes a launch template.
97320type LaunchTemplate struct {
97321	_ struct{} `type:"structure"`
97322
97323	// The time launch template was created.
97324	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
97325
97326	// The principal that created the launch template.
97327	CreatedBy *string `locationName:"createdBy" type:"string"`
97328
97329	// The version number of the default version of the launch template.
97330	DefaultVersionNumber *int64 `locationName:"defaultVersionNumber" type:"long"`
97331
97332	// The version number of the latest version of the launch template.
97333	LatestVersionNumber *int64 `locationName:"latestVersionNumber" type:"long"`
97334
97335	// The ID of the launch template.
97336	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
97337
97338	// The name of the launch template.
97339	LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
97340
97341	// The tags for the launch template.
97342	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
97343}
97344
97345// String returns the string representation
97346func (s LaunchTemplate) String() string {
97347	return awsutil.Prettify(s)
97348}
97349
97350// GoString returns the string representation
97351func (s LaunchTemplate) GoString() string {
97352	return s.String()
97353}
97354
97355// SetCreateTime sets the CreateTime field's value.
97356func (s *LaunchTemplate) SetCreateTime(v time.Time) *LaunchTemplate {
97357	s.CreateTime = &v
97358	return s
97359}
97360
97361// SetCreatedBy sets the CreatedBy field's value.
97362func (s *LaunchTemplate) SetCreatedBy(v string) *LaunchTemplate {
97363	s.CreatedBy = &v
97364	return s
97365}
97366
97367// SetDefaultVersionNumber sets the DefaultVersionNumber field's value.
97368func (s *LaunchTemplate) SetDefaultVersionNumber(v int64) *LaunchTemplate {
97369	s.DefaultVersionNumber = &v
97370	return s
97371}
97372
97373// SetLatestVersionNumber sets the LatestVersionNumber field's value.
97374func (s *LaunchTemplate) SetLatestVersionNumber(v int64) *LaunchTemplate {
97375	s.LatestVersionNumber = &v
97376	return s
97377}
97378
97379// SetLaunchTemplateId sets the LaunchTemplateId field's value.
97380func (s *LaunchTemplate) SetLaunchTemplateId(v string) *LaunchTemplate {
97381	s.LaunchTemplateId = &v
97382	return s
97383}
97384
97385// SetLaunchTemplateName sets the LaunchTemplateName field's value.
97386func (s *LaunchTemplate) SetLaunchTemplateName(v string) *LaunchTemplate {
97387	s.LaunchTemplateName = &v
97388	return s
97389}
97390
97391// SetTags sets the Tags field's value.
97392func (s *LaunchTemplate) SetTags(v []*Tag) *LaunchTemplate {
97393	s.Tags = v
97394	return s
97395}
97396
97397// Describes a launch template and overrides.
97398type LaunchTemplateAndOverridesResponse struct {
97399	_ struct{} `type:"structure"`
97400
97401	// The launch template.
97402	LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
97403
97404	// Any parameters that you specify override the same parameters in the launch
97405	// template.
97406	Overrides *FleetLaunchTemplateOverrides `locationName:"overrides" type:"structure"`
97407}
97408
97409// String returns the string representation
97410func (s LaunchTemplateAndOverridesResponse) String() string {
97411	return awsutil.Prettify(s)
97412}
97413
97414// GoString returns the string representation
97415func (s LaunchTemplateAndOverridesResponse) GoString() string {
97416	return s.String()
97417}
97418
97419// SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
97420func (s *LaunchTemplateAndOverridesResponse) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *LaunchTemplateAndOverridesResponse {
97421	s.LaunchTemplateSpecification = v
97422	return s
97423}
97424
97425// SetOverrides sets the Overrides field's value.
97426func (s *LaunchTemplateAndOverridesResponse) SetOverrides(v *FleetLaunchTemplateOverrides) *LaunchTemplateAndOverridesResponse {
97427	s.Overrides = v
97428	return s
97429}
97430
97431// Describes a block device mapping.
97432type LaunchTemplateBlockDeviceMapping struct {
97433	_ struct{} `type:"structure"`
97434
97435	// The device name.
97436	DeviceName *string `locationName:"deviceName" type:"string"`
97437
97438	// Information about the block device for an EBS volume.
97439	Ebs *LaunchTemplateEbsBlockDevice `locationName:"ebs" type:"structure"`
97440
97441	// To omit the device from the block device mapping, specify an empty string.
97442	NoDevice *string `locationName:"noDevice" type:"string"`
97443
97444	// The virtual device name (ephemeralN).
97445	VirtualName *string `locationName:"virtualName" type:"string"`
97446}
97447
97448// String returns the string representation
97449func (s LaunchTemplateBlockDeviceMapping) String() string {
97450	return awsutil.Prettify(s)
97451}
97452
97453// GoString returns the string representation
97454func (s LaunchTemplateBlockDeviceMapping) GoString() string {
97455	return s.String()
97456}
97457
97458// SetDeviceName sets the DeviceName field's value.
97459func (s *LaunchTemplateBlockDeviceMapping) SetDeviceName(v string) *LaunchTemplateBlockDeviceMapping {
97460	s.DeviceName = &v
97461	return s
97462}
97463
97464// SetEbs sets the Ebs field's value.
97465func (s *LaunchTemplateBlockDeviceMapping) SetEbs(v *LaunchTemplateEbsBlockDevice) *LaunchTemplateBlockDeviceMapping {
97466	s.Ebs = v
97467	return s
97468}
97469
97470// SetNoDevice sets the NoDevice field's value.
97471func (s *LaunchTemplateBlockDeviceMapping) SetNoDevice(v string) *LaunchTemplateBlockDeviceMapping {
97472	s.NoDevice = &v
97473	return s
97474}
97475
97476// SetVirtualName sets the VirtualName field's value.
97477func (s *LaunchTemplateBlockDeviceMapping) SetVirtualName(v string) *LaunchTemplateBlockDeviceMapping {
97478	s.VirtualName = &v
97479	return s
97480}
97481
97482// Describes a block device mapping.
97483type LaunchTemplateBlockDeviceMappingRequest struct {
97484	_ struct{} `type:"structure"`
97485
97486	// The device name (for example, /dev/sdh or xvdh).
97487	DeviceName *string `type:"string"`
97488
97489	// Parameters used to automatically set up EBS volumes when the instance is
97490	// launched.
97491	Ebs *LaunchTemplateEbsBlockDeviceRequest `type:"structure"`
97492
97493	// To omit the device from the block device mapping, specify an empty string.
97494	NoDevice *string `type:"string"`
97495
97496	// The virtual device name (ephemeralN). Instance store volumes are numbered
97497	// starting from 0. An instance type with 2 available instance store volumes
97498	// can specify mappings for ephemeral0 and ephemeral1. The number of available
97499	// instance store volumes depends on the instance type. After you connect to
97500	// the instance, you must mount the volume.
97501	VirtualName *string `type:"string"`
97502}
97503
97504// String returns the string representation
97505func (s LaunchTemplateBlockDeviceMappingRequest) String() string {
97506	return awsutil.Prettify(s)
97507}
97508
97509// GoString returns the string representation
97510func (s LaunchTemplateBlockDeviceMappingRequest) GoString() string {
97511	return s.String()
97512}
97513
97514// SetDeviceName sets the DeviceName field's value.
97515func (s *LaunchTemplateBlockDeviceMappingRequest) SetDeviceName(v string) *LaunchTemplateBlockDeviceMappingRequest {
97516	s.DeviceName = &v
97517	return s
97518}
97519
97520// SetEbs sets the Ebs field's value.
97521func (s *LaunchTemplateBlockDeviceMappingRequest) SetEbs(v *LaunchTemplateEbsBlockDeviceRequest) *LaunchTemplateBlockDeviceMappingRequest {
97522	s.Ebs = v
97523	return s
97524}
97525
97526// SetNoDevice sets the NoDevice field's value.
97527func (s *LaunchTemplateBlockDeviceMappingRequest) SetNoDevice(v string) *LaunchTemplateBlockDeviceMappingRequest {
97528	s.NoDevice = &v
97529	return s
97530}
97531
97532// SetVirtualName sets the VirtualName field's value.
97533func (s *LaunchTemplateBlockDeviceMappingRequest) SetVirtualName(v string) *LaunchTemplateBlockDeviceMappingRequest {
97534	s.VirtualName = &v
97535	return s
97536}
97537
97538// Describes an instance's Capacity Reservation targeting option. You can specify
97539// only one option at a time. Use the CapacityReservationPreference parameter
97540// to configure the instance to run in On-Demand capacity or to run in any open
97541// Capacity Reservation that has matching attributes (instance type, platform,
97542// Availability Zone). Use the CapacityReservationTarget parameter to explicitly
97543// target a specific Capacity Reservation or a Capacity Reservation group.
97544type LaunchTemplateCapacityReservationSpecificationRequest struct {
97545	_ struct{} `type:"structure"`
97546
97547	// Indicates the instance's Capacity Reservation preferences. Possible preferences
97548	// include:
97549	//
97550	//    * open - The instance can run in any open Capacity Reservation that has
97551	//    matching attributes (instance type, platform, Availability Zone).
97552	//
97553	//    * none - The instance avoids running in a Capacity Reservation even if
97554	//    one is available. The instance runs in On-Demand capacity.
97555	CapacityReservationPreference *string `type:"string" enum:"CapacityReservationPreference"`
97556
97557	// Information about the target Capacity Reservation or Capacity Reservation
97558	// group.
97559	CapacityReservationTarget *CapacityReservationTarget `type:"structure"`
97560}
97561
97562// String returns the string representation
97563func (s LaunchTemplateCapacityReservationSpecificationRequest) String() string {
97564	return awsutil.Prettify(s)
97565}
97566
97567// GoString returns the string representation
97568func (s LaunchTemplateCapacityReservationSpecificationRequest) GoString() string {
97569	return s.String()
97570}
97571
97572// SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
97573func (s *LaunchTemplateCapacityReservationSpecificationRequest) SetCapacityReservationPreference(v string) *LaunchTemplateCapacityReservationSpecificationRequest {
97574	s.CapacityReservationPreference = &v
97575	return s
97576}
97577
97578// SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
97579func (s *LaunchTemplateCapacityReservationSpecificationRequest) SetCapacityReservationTarget(v *CapacityReservationTarget) *LaunchTemplateCapacityReservationSpecificationRequest {
97580	s.CapacityReservationTarget = v
97581	return s
97582}
97583
97584// Information about the Capacity Reservation targeting option.
97585type LaunchTemplateCapacityReservationSpecificationResponse struct {
97586	_ struct{} `type:"structure"`
97587
97588	// Indicates the instance's Capacity Reservation preferences. Possible preferences
97589	// include:
97590	//
97591	//    * open - The instance can run in any open Capacity Reservation that has
97592	//    matching attributes (instance type, platform, Availability Zone).
97593	//
97594	//    * none - The instance avoids running in a Capacity Reservation even if
97595	//    one is available. The instance runs in On-Demand capacity.
97596	CapacityReservationPreference *string `locationName:"capacityReservationPreference" type:"string" enum:"CapacityReservationPreference"`
97597
97598	// Information about the target Capacity Reservation or Capacity Reservation
97599	// group.
97600	CapacityReservationTarget *CapacityReservationTargetResponse `locationName:"capacityReservationTarget" type:"structure"`
97601}
97602
97603// String returns the string representation
97604func (s LaunchTemplateCapacityReservationSpecificationResponse) String() string {
97605	return awsutil.Prettify(s)
97606}
97607
97608// GoString returns the string representation
97609func (s LaunchTemplateCapacityReservationSpecificationResponse) GoString() string {
97610	return s.String()
97611}
97612
97613// SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
97614func (s *LaunchTemplateCapacityReservationSpecificationResponse) SetCapacityReservationPreference(v string) *LaunchTemplateCapacityReservationSpecificationResponse {
97615	s.CapacityReservationPreference = &v
97616	return s
97617}
97618
97619// SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
97620func (s *LaunchTemplateCapacityReservationSpecificationResponse) SetCapacityReservationTarget(v *CapacityReservationTargetResponse) *LaunchTemplateCapacityReservationSpecificationResponse {
97621	s.CapacityReservationTarget = v
97622	return s
97623}
97624
97625// Describes a launch template and overrides.
97626type LaunchTemplateConfig struct {
97627	_ struct{} `type:"structure"`
97628
97629	// The launch template.
97630	LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
97631
97632	// Any parameters that you specify override the same parameters in the launch
97633	// template.
97634	Overrides []*LaunchTemplateOverrides `locationName:"overrides" locationNameList:"item" type:"list"`
97635}
97636
97637// String returns the string representation
97638func (s LaunchTemplateConfig) String() string {
97639	return awsutil.Prettify(s)
97640}
97641
97642// GoString returns the string representation
97643func (s LaunchTemplateConfig) GoString() string {
97644	return s.String()
97645}
97646
97647// Validate inspects the fields of the type to determine if they are valid.
97648func (s *LaunchTemplateConfig) Validate() error {
97649	invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateConfig"}
97650	if s.LaunchTemplateSpecification != nil {
97651		if err := s.LaunchTemplateSpecification.Validate(); err != nil {
97652			invalidParams.AddNested("LaunchTemplateSpecification", err.(request.ErrInvalidParams))
97653		}
97654	}
97655
97656	if invalidParams.Len() > 0 {
97657		return invalidParams
97658	}
97659	return nil
97660}
97661
97662// SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
97663func (s *LaunchTemplateConfig) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *LaunchTemplateConfig {
97664	s.LaunchTemplateSpecification = v
97665	return s
97666}
97667
97668// SetOverrides sets the Overrides field's value.
97669func (s *LaunchTemplateConfig) SetOverrides(v []*LaunchTemplateOverrides) *LaunchTemplateConfig {
97670	s.Overrides = v
97671	return s
97672}
97673
97674// The CPU options for the instance.
97675type LaunchTemplateCpuOptions struct {
97676	_ struct{} `type:"structure"`
97677
97678	// The number of CPU cores for the instance.
97679	CoreCount *int64 `locationName:"coreCount" type:"integer"`
97680
97681	// The number of threads per CPU core.
97682	ThreadsPerCore *int64 `locationName:"threadsPerCore" type:"integer"`
97683}
97684
97685// String returns the string representation
97686func (s LaunchTemplateCpuOptions) String() string {
97687	return awsutil.Prettify(s)
97688}
97689
97690// GoString returns the string representation
97691func (s LaunchTemplateCpuOptions) GoString() string {
97692	return s.String()
97693}
97694
97695// SetCoreCount sets the CoreCount field's value.
97696func (s *LaunchTemplateCpuOptions) SetCoreCount(v int64) *LaunchTemplateCpuOptions {
97697	s.CoreCount = &v
97698	return s
97699}
97700
97701// SetThreadsPerCore sets the ThreadsPerCore field's value.
97702func (s *LaunchTemplateCpuOptions) SetThreadsPerCore(v int64) *LaunchTemplateCpuOptions {
97703	s.ThreadsPerCore = &v
97704	return s
97705}
97706
97707// The CPU options for the instance. Both the core count and threads per core
97708// must be specified in the request.
97709type LaunchTemplateCpuOptionsRequest struct {
97710	_ struct{} `type:"structure"`
97711
97712	// The number of CPU cores for the instance.
97713	CoreCount *int64 `type:"integer"`
97714
97715	// The number of threads per CPU core. To disable multithreading for the instance,
97716	// specify a value of 1. Otherwise, specify the default value of 2.
97717	ThreadsPerCore *int64 `type:"integer"`
97718}
97719
97720// String returns the string representation
97721func (s LaunchTemplateCpuOptionsRequest) String() string {
97722	return awsutil.Prettify(s)
97723}
97724
97725// GoString returns the string representation
97726func (s LaunchTemplateCpuOptionsRequest) GoString() string {
97727	return s.String()
97728}
97729
97730// SetCoreCount sets the CoreCount field's value.
97731func (s *LaunchTemplateCpuOptionsRequest) SetCoreCount(v int64) *LaunchTemplateCpuOptionsRequest {
97732	s.CoreCount = &v
97733	return s
97734}
97735
97736// SetThreadsPerCore sets the ThreadsPerCore field's value.
97737func (s *LaunchTemplateCpuOptionsRequest) SetThreadsPerCore(v int64) *LaunchTemplateCpuOptionsRequest {
97738	s.ThreadsPerCore = &v
97739	return s
97740}
97741
97742// Describes a block device for an EBS volume.
97743type LaunchTemplateEbsBlockDevice struct {
97744	_ struct{} `type:"structure"`
97745
97746	// Indicates whether the EBS volume is deleted on instance termination.
97747	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
97748
97749	// Indicates whether the EBS volume is encrypted.
97750	Encrypted *bool `locationName:"encrypted" type:"boolean"`
97751
97752	// The number of I/O operations per second (IOPS) that the volume supports.
97753	Iops *int64 `locationName:"iops" type:"integer"`
97754
97755	// The ARN of the Key Management Service (KMS) CMK used for encryption.
97756	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
97757
97758	// The ID of the snapshot.
97759	SnapshotId *string `locationName:"snapshotId" type:"string"`
97760
97761	// The throughput that the volume supports, in MiB/s.
97762	Throughput *int64 `locationName:"throughput" type:"integer"`
97763
97764	// The size of the volume, in GiB.
97765	VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
97766
97767	// The volume type.
97768	VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
97769}
97770
97771// String returns the string representation
97772func (s LaunchTemplateEbsBlockDevice) String() string {
97773	return awsutil.Prettify(s)
97774}
97775
97776// GoString returns the string representation
97777func (s LaunchTemplateEbsBlockDevice) GoString() string {
97778	return s.String()
97779}
97780
97781// SetDeleteOnTermination sets the DeleteOnTermination field's value.
97782func (s *LaunchTemplateEbsBlockDevice) SetDeleteOnTermination(v bool) *LaunchTemplateEbsBlockDevice {
97783	s.DeleteOnTermination = &v
97784	return s
97785}
97786
97787// SetEncrypted sets the Encrypted field's value.
97788func (s *LaunchTemplateEbsBlockDevice) SetEncrypted(v bool) *LaunchTemplateEbsBlockDevice {
97789	s.Encrypted = &v
97790	return s
97791}
97792
97793// SetIops sets the Iops field's value.
97794func (s *LaunchTemplateEbsBlockDevice) SetIops(v int64) *LaunchTemplateEbsBlockDevice {
97795	s.Iops = &v
97796	return s
97797}
97798
97799// SetKmsKeyId sets the KmsKeyId field's value.
97800func (s *LaunchTemplateEbsBlockDevice) SetKmsKeyId(v string) *LaunchTemplateEbsBlockDevice {
97801	s.KmsKeyId = &v
97802	return s
97803}
97804
97805// SetSnapshotId sets the SnapshotId field's value.
97806func (s *LaunchTemplateEbsBlockDevice) SetSnapshotId(v string) *LaunchTemplateEbsBlockDevice {
97807	s.SnapshotId = &v
97808	return s
97809}
97810
97811// SetThroughput sets the Throughput field's value.
97812func (s *LaunchTemplateEbsBlockDevice) SetThroughput(v int64) *LaunchTemplateEbsBlockDevice {
97813	s.Throughput = &v
97814	return s
97815}
97816
97817// SetVolumeSize sets the VolumeSize field's value.
97818func (s *LaunchTemplateEbsBlockDevice) SetVolumeSize(v int64) *LaunchTemplateEbsBlockDevice {
97819	s.VolumeSize = &v
97820	return s
97821}
97822
97823// SetVolumeType sets the VolumeType field's value.
97824func (s *LaunchTemplateEbsBlockDevice) SetVolumeType(v string) *LaunchTemplateEbsBlockDevice {
97825	s.VolumeType = &v
97826	return s
97827}
97828
97829// The parameters for a block device for an EBS volume.
97830type LaunchTemplateEbsBlockDeviceRequest struct {
97831	_ struct{} `type:"structure"`
97832
97833	// Indicates whether the EBS volume is deleted on instance termination.
97834	DeleteOnTermination *bool `type:"boolean"`
97835
97836	// Indicates whether the EBS volume is encrypted. Encrypted volumes can only
97837	// be attached to instances that support Amazon EBS encryption. If you are creating
97838	// a volume from a snapshot, you can't specify an encryption value.
97839	Encrypted *bool `type:"boolean"`
97840
97841	// The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes,
97842	// this represents the number of IOPS that are provisioned for the volume. For
97843	// gp2 volumes, this represents the baseline performance of the volume and the
97844	// rate at which the volume accumulates I/O credits for bursting.
97845	//
97846	// The following are the supported values for each volume type:
97847	//
97848	//    * gp3: 3,000-16,000 IOPS
97849	//
97850	//    * io1: 100-64,000 IOPS
97851	//
97852	//    * io2: 100-64,000 IOPS
97853	//
97854	// For io1 and io2 volumes, we guarantee 64,000 IOPS only for Instances built
97855	// on the Nitro System (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
97856	// Other instance families guarantee performance up to 32,000 IOPS.
97857	//
97858	// This parameter is supported for io1, io2, and gp3 volumes only. This parameter
97859	// is not supported for gp2, st1, sc1, or standard volumes.
97860	Iops *int64 `type:"integer"`
97861
97862	// The ARN of the symmetric Key Management Service (KMS) CMK used for encryption.
97863	KmsKeyId *string `type:"string"`
97864
97865	// The ID of the snapshot.
97866	SnapshotId *string `type:"string"`
97867
97868	// The throughput to provision for a gp3 volume, with a maximum of 1,000 MiB/s.
97869	//
97870	// Valid Range: Minimum value of 125. Maximum value of 1000.
97871	Throughput *int64 `type:"integer"`
97872
97873	// The size of the volume, in GiBs. You must specify either a snapshot ID or
97874	// a volume size. The following are the supported volumes sizes for each volume
97875	// type:
97876	//
97877	//    * gp2 and gp3: 1-16,384
97878	//
97879	//    * io1 and io2: 4-16,384
97880	//
97881	//    * st1 and sc1: 125-16,384
97882	//
97883	//    * standard: 1-1,024
97884	VolumeSize *int64 `type:"integer"`
97885
97886	// The volume type. For more information, see Amazon EBS volume types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
97887	// in the Amazon Elastic Compute Cloud User Guide.
97888	VolumeType *string `type:"string" enum:"VolumeType"`
97889}
97890
97891// String returns the string representation
97892func (s LaunchTemplateEbsBlockDeviceRequest) String() string {
97893	return awsutil.Prettify(s)
97894}
97895
97896// GoString returns the string representation
97897func (s LaunchTemplateEbsBlockDeviceRequest) GoString() string {
97898	return s.String()
97899}
97900
97901// SetDeleteOnTermination sets the DeleteOnTermination field's value.
97902func (s *LaunchTemplateEbsBlockDeviceRequest) SetDeleteOnTermination(v bool) *LaunchTemplateEbsBlockDeviceRequest {
97903	s.DeleteOnTermination = &v
97904	return s
97905}
97906
97907// SetEncrypted sets the Encrypted field's value.
97908func (s *LaunchTemplateEbsBlockDeviceRequest) SetEncrypted(v bool) *LaunchTemplateEbsBlockDeviceRequest {
97909	s.Encrypted = &v
97910	return s
97911}
97912
97913// SetIops sets the Iops field's value.
97914func (s *LaunchTemplateEbsBlockDeviceRequest) SetIops(v int64) *LaunchTemplateEbsBlockDeviceRequest {
97915	s.Iops = &v
97916	return s
97917}
97918
97919// SetKmsKeyId sets the KmsKeyId field's value.
97920func (s *LaunchTemplateEbsBlockDeviceRequest) SetKmsKeyId(v string) *LaunchTemplateEbsBlockDeviceRequest {
97921	s.KmsKeyId = &v
97922	return s
97923}
97924
97925// SetSnapshotId sets the SnapshotId field's value.
97926func (s *LaunchTemplateEbsBlockDeviceRequest) SetSnapshotId(v string) *LaunchTemplateEbsBlockDeviceRequest {
97927	s.SnapshotId = &v
97928	return s
97929}
97930
97931// SetThroughput sets the Throughput field's value.
97932func (s *LaunchTemplateEbsBlockDeviceRequest) SetThroughput(v int64) *LaunchTemplateEbsBlockDeviceRequest {
97933	s.Throughput = &v
97934	return s
97935}
97936
97937// SetVolumeSize sets the VolumeSize field's value.
97938func (s *LaunchTemplateEbsBlockDeviceRequest) SetVolumeSize(v int64) *LaunchTemplateEbsBlockDeviceRequest {
97939	s.VolumeSize = &v
97940	return s
97941}
97942
97943// SetVolumeType sets the VolumeType field's value.
97944func (s *LaunchTemplateEbsBlockDeviceRequest) SetVolumeType(v string) *LaunchTemplateEbsBlockDeviceRequest {
97945	s.VolumeType = &v
97946	return s
97947}
97948
97949// Describes an elastic inference accelerator.
97950type LaunchTemplateElasticInferenceAccelerator struct {
97951	_ struct{} `type:"structure"`
97952
97953	// The number of elastic inference accelerators to attach to the instance.
97954	//
97955	// Default: 1
97956	Count *int64 `min:"1" type:"integer"`
97957
97958	// The type of elastic inference accelerator. The possible values are eia1.medium,
97959	// eia1.large, and eia1.xlarge.
97960	//
97961	// Type is a required field
97962	Type *string `type:"string" required:"true"`
97963}
97964
97965// String returns the string representation
97966func (s LaunchTemplateElasticInferenceAccelerator) String() string {
97967	return awsutil.Prettify(s)
97968}
97969
97970// GoString returns the string representation
97971func (s LaunchTemplateElasticInferenceAccelerator) GoString() string {
97972	return s.String()
97973}
97974
97975// Validate inspects the fields of the type to determine if they are valid.
97976func (s *LaunchTemplateElasticInferenceAccelerator) Validate() error {
97977	invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateElasticInferenceAccelerator"}
97978	if s.Count != nil && *s.Count < 1 {
97979		invalidParams.Add(request.NewErrParamMinValue("Count", 1))
97980	}
97981	if s.Type == nil {
97982		invalidParams.Add(request.NewErrParamRequired("Type"))
97983	}
97984
97985	if invalidParams.Len() > 0 {
97986		return invalidParams
97987	}
97988	return nil
97989}
97990
97991// SetCount sets the Count field's value.
97992func (s *LaunchTemplateElasticInferenceAccelerator) SetCount(v int64) *LaunchTemplateElasticInferenceAccelerator {
97993	s.Count = &v
97994	return s
97995}
97996
97997// SetType sets the Type field's value.
97998func (s *LaunchTemplateElasticInferenceAccelerator) SetType(v string) *LaunchTemplateElasticInferenceAccelerator {
97999	s.Type = &v
98000	return s
98001}
98002
98003// Describes an elastic inference accelerator.
98004type LaunchTemplateElasticInferenceAcceleratorResponse struct {
98005	_ struct{} `type:"structure"`
98006
98007	// The number of elastic inference accelerators to attach to the instance.
98008	//
98009	// Default: 1
98010	Count *int64 `locationName:"count" type:"integer"`
98011
98012	// The type of elastic inference accelerator. The possible values are eia1.medium,
98013	// eia1.large, and eia1.xlarge.
98014	Type *string `locationName:"type" type:"string"`
98015}
98016
98017// String returns the string representation
98018func (s LaunchTemplateElasticInferenceAcceleratorResponse) String() string {
98019	return awsutil.Prettify(s)
98020}
98021
98022// GoString returns the string representation
98023func (s LaunchTemplateElasticInferenceAcceleratorResponse) GoString() string {
98024	return s.String()
98025}
98026
98027// SetCount sets the Count field's value.
98028func (s *LaunchTemplateElasticInferenceAcceleratorResponse) SetCount(v int64) *LaunchTemplateElasticInferenceAcceleratorResponse {
98029	s.Count = &v
98030	return s
98031}
98032
98033// SetType sets the Type field's value.
98034func (s *LaunchTemplateElasticInferenceAcceleratorResponse) SetType(v string) *LaunchTemplateElasticInferenceAcceleratorResponse {
98035	s.Type = &v
98036	return s
98037}
98038
98039// Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.
98040type LaunchTemplateEnclaveOptions struct {
98041	_ struct{} `type:"structure"`
98042
98043	// If this parameter is set to true, the instance is enabled for Amazon Web
98044	// Services Nitro Enclaves; otherwise, it is not enabled for Amazon Web Services
98045	// Nitro Enclaves.
98046	Enabled *bool `locationName:"enabled" type:"boolean"`
98047}
98048
98049// String returns the string representation
98050func (s LaunchTemplateEnclaveOptions) String() string {
98051	return awsutil.Prettify(s)
98052}
98053
98054// GoString returns the string representation
98055func (s LaunchTemplateEnclaveOptions) GoString() string {
98056	return s.String()
98057}
98058
98059// SetEnabled sets the Enabled field's value.
98060func (s *LaunchTemplateEnclaveOptions) SetEnabled(v bool) *LaunchTemplateEnclaveOptions {
98061	s.Enabled = &v
98062	return s
98063}
98064
98065// Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.
98066// For more information, see What is Amazon Web Services Nitro Enclaves? (https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html)
98067// in the Amazon Web Services Nitro Enclaves User Guide.
98068type LaunchTemplateEnclaveOptionsRequest struct {
98069	_ struct{} `type:"structure"`
98070
98071	// To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter
98072	// to true.
98073	Enabled *bool `type:"boolean"`
98074}
98075
98076// String returns the string representation
98077func (s LaunchTemplateEnclaveOptionsRequest) String() string {
98078	return awsutil.Prettify(s)
98079}
98080
98081// GoString returns the string representation
98082func (s LaunchTemplateEnclaveOptionsRequest) GoString() string {
98083	return s.String()
98084}
98085
98086// SetEnabled sets the Enabled field's value.
98087func (s *LaunchTemplateEnclaveOptionsRequest) SetEnabled(v bool) *LaunchTemplateEnclaveOptionsRequest {
98088	s.Enabled = &v
98089	return s
98090}
98091
98092// Indicates whether an instance is configured for hibernation.
98093type LaunchTemplateHibernationOptions struct {
98094	_ struct{} `type:"structure"`
98095
98096	// If this parameter is set to true, the instance is enabled for hibernation;
98097	// otherwise, it is not enabled for hibernation.
98098	Configured *bool `locationName:"configured" type:"boolean"`
98099}
98100
98101// String returns the string representation
98102func (s LaunchTemplateHibernationOptions) String() string {
98103	return awsutil.Prettify(s)
98104}
98105
98106// GoString returns the string representation
98107func (s LaunchTemplateHibernationOptions) GoString() string {
98108	return s.String()
98109}
98110
98111// SetConfigured sets the Configured field's value.
98112func (s *LaunchTemplateHibernationOptions) SetConfigured(v bool) *LaunchTemplateHibernationOptions {
98113	s.Configured = &v
98114	return s
98115}
98116
98117// Indicates whether the instance is configured for hibernation. This parameter
98118// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
98119type LaunchTemplateHibernationOptionsRequest struct {
98120	_ struct{} `type:"structure"`
98121
98122	// If you set this parameter to true, the instance is enabled for hibernation.
98123	//
98124	// Default: false
98125	Configured *bool `type:"boolean"`
98126}
98127
98128// String returns the string representation
98129func (s LaunchTemplateHibernationOptionsRequest) String() string {
98130	return awsutil.Prettify(s)
98131}
98132
98133// GoString returns the string representation
98134func (s LaunchTemplateHibernationOptionsRequest) GoString() string {
98135	return s.String()
98136}
98137
98138// SetConfigured sets the Configured field's value.
98139func (s *LaunchTemplateHibernationOptionsRequest) SetConfigured(v bool) *LaunchTemplateHibernationOptionsRequest {
98140	s.Configured = &v
98141	return s
98142}
98143
98144// Describes an IAM instance profile.
98145type LaunchTemplateIamInstanceProfileSpecification struct {
98146	_ struct{} `type:"structure"`
98147
98148	// The Amazon Resource Name (ARN) of the instance profile.
98149	Arn *string `locationName:"arn" type:"string"`
98150
98151	// The name of the instance profile.
98152	Name *string `locationName:"name" type:"string"`
98153}
98154
98155// String returns the string representation
98156func (s LaunchTemplateIamInstanceProfileSpecification) String() string {
98157	return awsutil.Prettify(s)
98158}
98159
98160// GoString returns the string representation
98161func (s LaunchTemplateIamInstanceProfileSpecification) GoString() string {
98162	return s.String()
98163}
98164
98165// SetArn sets the Arn field's value.
98166func (s *LaunchTemplateIamInstanceProfileSpecification) SetArn(v string) *LaunchTemplateIamInstanceProfileSpecification {
98167	s.Arn = &v
98168	return s
98169}
98170
98171// SetName sets the Name field's value.
98172func (s *LaunchTemplateIamInstanceProfileSpecification) SetName(v string) *LaunchTemplateIamInstanceProfileSpecification {
98173	s.Name = &v
98174	return s
98175}
98176
98177// An IAM instance profile.
98178type LaunchTemplateIamInstanceProfileSpecificationRequest struct {
98179	_ struct{} `type:"structure"`
98180
98181	// The Amazon Resource Name (ARN) of the instance profile.
98182	Arn *string `type:"string"`
98183
98184	// The name of the instance profile.
98185	Name *string `type:"string"`
98186}
98187
98188// String returns the string representation
98189func (s LaunchTemplateIamInstanceProfileSpecificationRequest) String() string {
98190	return awsutil.Prettify(s)
98191}
98192
98193// GoString returns the string representation
98194func (s LaunchTemplateIamInstanceProfileSpecificationRequest) GoString() string {
98195	return s.String()
98196}
98197
98198// SetArn sets the Arn field's value.
98199func (s *LaunchTemplateIamInstanceProfileSpecificationRequest) SetArn(v string) *LaunchTemplateIamInstanceProfileSpecificationRequest {
98200	s.Arn = &v
98201	return s
98202}
98203
98204// SetName sets the Name field's value.
98205func (s *LaunchTemplateIamInstanceProfileSpecificationRequest) SetName(v string) *LaunchTemplateIamInstanceProfileSpecificationRequest {
98206	s.Name = &v
98207	return s
98208}
98209
98210// The market (purchasing) option for the instances.
98211type LaunchTemplateInstanceMarketOptions struct {
98212	_ struct{} `type:"structure"`
98213
98214	// The market type.
98215	MarketType *string `locationName:"marketType" type:"string" enum:"MarketType"`
98216
98217	// The options for Spot Instances.
98218	SpotOptions *LaunchTemplateSpotMarketOptions `locationName:"spotOptions" type:"structure"`
98219}
98220
98221// String returns the string representation
98222func (s LaunchTemplateInstanceMarketOptions) String() string {
98223	return awsutil.Prettify(s)
98224}
98225
98226// GoString returns the string representation
98227func (s LaunchTemplateInstanceMarketOptions) GoString() string {
98228	return s.String()
98229}
98230
98231// SetMarketType sets the MarketType field's value.
98232func (s *LaunchTemplateInstanceMarketOptions) SetMarketType(v string) *LaunchTemplateInstanceMarketOptions {
98233	s.MarketType = &v
98234	return s
98235}
98236
98237// SetSpotOptions sets the SpotOptions field's value.
98238func (s *LaunchTemplateInstanceMarketOptions) SetSpotOptions(v *LaunchTemplateSpotMarketOptions) *LaunchTemplateInstanceMarketOptions {
98239	s.SpotOptions = v
98240	return s
98241}
98242
98243// The market (purchasing) option for the instances.
98244type LaunchTemplateInstanceMarketOptionsRequest struct {
98245	_ struct{} `type:"structure"`
98246
98247	// The market type.
98248	MarketType *string `type:"string" enum:"MarketType"`
98249
98250	// The options for Spot Instances.
98251	SpotOptions *LaunchTemplateSpotMarketOptionsRequest `type:"structure"`
98252}
98253
98254// String returns the string representation
98255func (s LaunchTemplateInstanceMarketOptionsRequest) String() string {
98256	return awsutil.Prettify(s)
98257}
98258
98259// GoString returns the string representation
98260func (s LaunchTemplateInstanceMarketOptionsRequest) GoString() string {
98261	return s.String()
98262}
98263
98264// SetMarketType sets the MarketType field's value.
98265func (s *LaunchTemplateInstanceMarketOptionsRequest) SetMarketType(v string) *LaunchTemplateInstanceMarketOptionsRequest {
98266	s.MarketType = &v
98267	return s
98268}
98269
98270// SetSpotOptions sets the SpotOptions field's value.
98271func (s *LaunchTemplateInstanceMarketOptionsRequest) SetSpotOptions(v *LaunchTemplateSpotMarketOptionsRequest) *LaunchTemplateInstanceMarketOptionsRequest {
98272	s.SpotOptions = v
98273	return s
98274}
98275
98276// The metadata options for the instance. For more information, see Instance
98277// Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
98278// in the Amazon Elastic Compute Cloud User Guide.
98279type LaunchTemplateInstanceMetadataOptions struct {
98280	_ struct{} `type:"structure"`
98281
98282	// This parameter enables or disables the HTTP metadata endpoint on your instances.
98283	// If the parameter is not specified, the default state is enabled.
98284	//
98285	// If you specify a value of disabled, you will not be able to access your instance
98286	// metadata.
98287	HttpEndpoint *string `locationName:"httpEndpoint" type:"string" enum:"LaunchTemplateInstanceMetadataEndpointState"`
98288
98289	// Enables or disables the IPv6 endpoint for the instance metadata service.
98290	//
98291	// Default: disabled
98292	HttpProtocolIpv6 *string `locationName:"httpProtocolIpv6" type:"string" enum:"LaunchTemplateInstanceMetadataProtocolIpv6"`
98293
98294	// The desired HTTP PUT response hop limit for instance metadata requests. The
98295	// larger the number, the further instance metadata requests can travel.
98296	//
98297	// Default: 1
98298	//
98299	// Possible values: Integers from 1 to 64
98300	HttpPutResponseHopLimit *int64 `locationName:"httpPutResponseHopLimit" type:"integer"`
98301
98302	// The state of token usage for your instance metadata requests. If the parameter
98303	// is not specified in the request, the default state is optional.
98304	//
98305	// If the state is optional, you can choose to retrieve instance metadata with
98306	// or without a signed token header on your request. If you retrieve the IAM
98307	// role credentials without a token, the version 1.0 role credentials are returned.
98308	// If you retrieve the IAM role credentials using a valid signed token, the
98309	// version 2.0 role credentials are returned.
98310	//
98311	// If the state is required, you must send a signed token header with any instance
98312	// metadata retrieval requests. In this state, retrieving the IAM role credentials
98313	// always returns the version 2.0 credentials; the version 1.0 credentials are
98314	// not available.
98315	HttpTokens *string `locationName:"httpTokens" type:"string" enum:"LaunchTemplateHttpTokensState"`
98316
98317	// The state of the metadata option changes.
98318	//
98319	// pending - The metadata options are being updated and the instance is not
98320	// ready to process metadata traffic with the new selection.
98321	//
98322	// applied - The metadata options have been successfully applied on the instance.
98323	State *string `locationName:"state" type:"string" enum:"LaunchTemplateInstanceMetadataOptionsState"`
98324}
98325
98326// String returns the string representation
98327func (s LaunchTemplateInstanceMetadataOptions) String() string {
98328	return awsutil.Prettify(s)
98329}
98330
98331// GoString returns the string representation
98332func (s LaunchTemplateInstanceMetadataOptions) GoString() string {
98333	return s.String()
98334}
98335
98336// SetHttpEndpoint sets the HttpEndpoint field's value.
98337func (s *LaunchTemplateInstanceMetadataOptions) SetHttpEndpoint(v string) *LaunchTemplateInstanceMetadataOptions {
98338	s.HttpEndpoint = &v
98339	return s
98340}
98341
98342// SetHttpProtocolIpv6 sets the HttpProtocolIpv6 field's value.
98343func (s *LaunchTemplateInstanceMetadataOptions) SetHttpProtocolIpv6(v string) *LaunchTemplateInstanceMetadataOptions {
98344	s.HttpProtocolIpv6 = &v
98345	return s
98346}
98347
98348// SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
98349func (s *LaunchTemplateInstanceMetadataOptions) SetHttpPutResponseHopLimit(v int64) *LaunchTemplateInstanceMetadataOptions {
98350	s.HttpPutResponseHopLimit = &v
98351	return s
98352}
98353
98354// SetHttpTokens sets the HttpTokens field's value.
98355func (s *LaunchTemplateInstanceMetadataOptions) SetHttpTokens(v string) *LaunchTemplateInstanceMetadataOptions {
98356	s.HttpTokens = &v
98357	return s
98358}
98359
98360// SetState sets the State field's value.
98361func (s *LaunchTemplateInstanceMetadataOptions) SetState(v string) *LaunchTemplateInstanceMetadataOptions {
98362	s.State = &v
98363	return s
98364}
98365
98366// The metadata options for the instance. For more information, see Instance
98367// Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
98368// in the Amazon Elastic Compute Cloud User Guide.
98369type LaunchTemplateInstanceMetadataOptionsRequest struct {
98370	_ struct{} `type:"structure"`
98371
98372	// This parameter enables or disables the HTTP metadata endpoint on your instances.
98373	// If the parameter is not specified, the default state is enabled.
98374	//
98375	// If you specify a value of disabled, you will not be able to access your instance
98376	// metadata.
98377	HttpEndpoint *string `type:"string" enum:"LaunchTemplateInstanceMetadataEndpointState"`
98378
98379	// Enables or disables the IPv6 endpoint for the instance metadata service.
98380	//
98381	// Default: disabled
98382	HttpProtocolIpv6 *string `type:"string" enum:"LaunchTemplateInstanceMetadataProtocolIpv6"`
98383
98384	// The desired HTTP PUT response hop limit for instance metadata requests. The
98385	// larger the number, the further instance metadata requests can travel.
98386	//
98387	// Default: 1
98388	//
98389	// Possible values: Integers from 1 to 64
98390	HttpPutResponseHopLimit *int64 `type:"integer"`
98391
98392	// The state of token usage for your instance metadata requests. If the parameter
98393	// is not specified in the request, the default state is optional.
98394	//
98395	// If the state is optional, you can choose to retrieve instance metadata with
98396	// or without a signed token header on your request. If you retrieve the IAM
98397	// role credentials without a token, the version 1.0 role credentials are returned.
98398	// If you retrieve the IAM role credentials using a valid signed token, the
98399	// version 2.0 role credentials are returned.
98400	//
98401	// If the state is required, you must send a signed token header with any instance
98402	// metadata retrieval requests. In this state, retrieving the IAM role credentials
98403	// always returns the version 2.0 credentials; the version 1.0 credentials are
98404	// not available.
98405	HttpTokens *string `type:"string" enum:"LaunchTemplateHttpTokensState"`
98406}
98407
98408// String returns the string representation
98409func (s LaunchTemplateInstanceMetadataOptionsRequest) String() string {
98410	return awsutil.Prettify(s)
98411}
98412
98413// GoString returns the string representation
98414func (s LaunchTemplateInstanceMetadataOptionsRequest) GoString() string {
98415	return s.String()
98416}
98417
98418// SetHttpEndpoint sets the HttpEndpoint field's value.
98419func (s *LaunchTemplateInstanceMetadataOptionsRequest) SetHttpEndpoint(v string) *LaunchTemplateInstanceMetadataOptionsRequest {
98420	s.HttpEndpoint = &v
98421	return s
98422}
98423
98424// SetHttpProtocolIpv6 sets the HttpProtocolIpv6 field's value.
98425func (s *LaunchTemplateInstanceMetadataOptionsRequest) SetHttpProtocolIpv6(v string) *LaunchTemplateInstanceMetadataOptionsRequest {
98426	s.HttpProtocolIpv6 = &v
98427	return s
98428}
98429
98430// SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
98431func (s *LaunchTemplateInstanceMetadataOptionsRequest) SetHttpPutResponseHopLimit(v int64) *LaunchTemplateInstanceMetadataOptionsRequest {
98432	s.HttpPutResponseHopLimit = &v
98433	return s
98434}
98435
98436// SetHttpTokens sets the HttpTokens field's value.
98437func (s *LaunchTemplateInstanceMetadataOptionsRequest) SetHttpTokens(v string) *LaunchTemplateInstanceMetadataOptionsRequest {
98438	s.HttpTokens = &v
98439	return s
98440}
98441
98442// Describes a network interface.
98443type LaunchTemplateInstanceNetworkInterfaceSpecification struct {
98444	_ struct{} `type:"structure"`
98445
98446	// Indicates whether to associate a Carrier IP address with eth0 for a new network
98447	// interface.
98448	//
98449	// Use this option when you launch an instance in a Wavelength Zone and want
98450	// to associate a Carrier IP address with the network interface. For more information
98451	// about Carrier IP addresses, see Carrier IP addresses (https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip)
98452	// in the Wavelength Developer Guide.
98453	AssociateCarrierIpAddress *bool `locationName:"associateCarrierIpAddress" type:"boolean"`
98454
98455	// Indicates whether to associate a public IPv4 address with eth0 for a new
98456	// network interface.
98457	AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
98458
98459	// Indicates whether the network interface is deleted when the instance is terminated.
98460	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
98461
98462	// A description for the network interface.
98463	Description *string `locationName:"description" type:"string"`
98464
98465	// The device index for the network interface attachment.
98466	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
98467
98468	// The IDs of one or more security groups.
98469	Groups []*string `locationName:"groupSet" locationNameList:"groupId" type:"list"`
98470
98471	// The type of network interface.
98472	InterfaceType *string `locationName:"interfaceType" type:"string"`
98473
98474	// The number of IPv4 prefixes that Amazon Web Services automatically assigned
98475	// to the network interface.
98476	Ipv4PrefixCount *int64 `locationName:"ipv4PrefixCount" type:"integer"`
98477
98478	// One or more IPv4 prefixes assigned to the network interface.
98479	Ipv4Prefixes []*Ipv4PrefixSpecificationResponse `locationName:"ipv4PrefixSet" locationNameList:"item" type:"list"`
98480
98481	// The number of IPv6 addresses for the network interface.
98482	Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
98483
98484	// The IPv6 addresses for the network interface.
98485	Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
98486
98487	// The number of IPv6 prefixes that Amazon Web Services automatically assigned
98488	// to the network interface.
98489	Ipv6PrefixCount *int64 `locationName:"ipv6PrefixCount" type:"integer"`
98490
98491	// One or more IPv6 prefixes assigned to the network interface.
98492	Ipv6Prefixes []*Ipv6PrefixSpecificationResponse `locationName:"ipv6PrefixSet" locationNameList:"item" type:"list"`
98493
98494	// The index of the network card.
98495	NetworkCardIndex *int64 `locationName:"networkCardIndex" type:"integer"`
98496
98497	// The ID of the network interface.
98498	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
98499
98500	// The primary private IPv4 address of the network interface.
98501	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
98502
98503	// One or more private IPv4 addresses.
98504	PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
98505
98506	// The number of secondary private IPv4 addresses for the network interface.
98507	SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
98508
98509	// The ID of the subnet for the network interface.
98510	SubnetId *string `locationName:"subnetId" type:"string"`
98511}
98512
98513// String returns the string representation
98514func (s LaunchTemplateInstanceNetworkInterfaceSpecification) String() string {
98515	return awsutil.Prettify(s)
98516}
98517
98518// GoString returns the string representation
98519func (s LaunchTemplateInstanceNetworkInterfaceSpecification) GoString() string {
98520	return s.String()
98521}
98522
98523// SetAssociateCarrierIpAddress sets the AssociateCarrierIpAddress field's value.
98524func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetAssociateCarrierIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification {
98525	s.AssociateCarrierIpAddress = &v
98526	return s
98527}
98528
98529// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
98530func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification {
98531	s.AssociatePublicIpAddress = &v
98532	return s
98533}
98534
98535// SetDeleteOnTermination sets the DeleteOnTermination field's value.
98536func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification {
98537	s.DeleteOnTermination = &v
98538	return s
98539}
98540
98541// SetDescription sets the Description field's value.
98542func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDescription(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
98543	s.Description = &v
98544	return s
98545}
98546
98547// SetDeviceIndex sets the DeviceIndex field's value.
98548func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
98549	s.DeviceIndex = &v
98550	return s
98551}
98552
98553// SetGroups sets the Groups field's value.
98554func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetGroups(v []*string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
98555	s.Groups = v
98556	return s
98557}
98558
98559// SetInterfaceType sets the InterfaceType field's value.
98560func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetInterfaceType(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
98561	s.InterfaceType = &v
98562	return s
98563}
98564
98565// SetIpv4PrefixCount sets the Ipv4PrefixCount field's value.
98566func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv4PrefixCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
98567	s.Ipv4PrefixCount = &v
98568	return s
98569}
98570
98571// SetIpv4Prefixes sets the Ipv4Prefixes field's value.
98572func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv4Prefixes(v []*Ipv4PrefixSpecificationResponse) *LaunchTemplateInstanceNetworkInterfaceSpecification {
98573	s.Ipv4Prefixes = v
98574	return s
98575}
98576
98577// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
98578func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
98579	s.Ipv6AddressCount = &v
98580	return s
98581}
98582
98583// SetIpv6Addresses sets the Ipv6Addresses field's value.
98584func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *LaunchTemplateInstanceNetworkInterfaceSpecification {
98585	s.Ipv6Addresses = v
98586	return s
98587}
98588
98589// SetIpv6PrefixCount sets the Ipv6PrefixCount field's value.
98590func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6PrefixCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
98591	s.Ipv6PrefixCount = &v
98592	return s
98593}
98594
98595// SetIpv6Prefixes sets the Ipv6Prefixes field's value.
98596func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6Prefixes(v []*Ipv6PrefixSpecificationResponse) *LaunchTemplateInstanceNetworkInterfaceSpecification {
98597	s.Ipv6Prefixes = v
98598	return s
98599}
98600
98601// SetNetworkCardIndex sets the NetworkCardIndex field's value.
98602func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetNetworkCardIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
98603	s.NetworkCardIndex = &v
98604	return s
98605}
98606
98607// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
98608func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
98609	s.NetworkInterfaceId = &v
98610	return s
98611}
98612
98613// SetPrivateIpAddress sets the PrivateIpAddress field's value.
98614func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
98615	s.PrivateIpAddress = &v
98616	return s
98617}
98618
98619// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
98620func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *LaunchTemplateInstanceNetworkInterfaceSpecification {
98621	s.PrivateIpAddresses = v
98622	return s
98623}
98624
98625// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
98626func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
98627	s.SecondaryPrivateIpAddressCount = &v
98628	return s
98629}
98630
98631// SetSubnetId sets the SubnetId field's value.
98632func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetSubnetId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
98633	s.SubnetId = &v
98634	return s
98635}
98636
98637// The parameters for a network interface.
98638type LaunchTemplateInstanceNetworkInterfaceSpecificationRequest struct {
98639	_ struct{} `type:"structure"`
98640
98641	// Associates a Carrier IP address with eth0 for a new network interface.
98642	//
98643	// Use this option when you launch an instance in a Wavelength Zone and want
98644	// to associate a Carrier IP address with the network interface. For more information
98645	// about Carrier IP addresses, see Carrier IP addresses (https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip)
98646	// in the Wavelength Developer Guide.
98647	AssociateCarrierIpAddress *bool `type:"boolean"`
98648
98649	// Associates a public IPv4 address with eth0 for a new network interface.
98650	AssociatePublicIpAddress *bool `type:"boolean"`
98651
98652	// Indicates whether the network interface is deleted when the instance is terminated.
98653	DeleteOnTermination *bool `type:"boolean"`
98654
98655	// A description for the network interface.
98656	Description *string `type:"string"`
98657
98658	// The device index for the network interface attachment.
98659	DeviceIndex *int64 `type:"integer"`
98660
98661	// The IDs of one or more security groups.
98662	Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
98663
98664	// The type of network interface. To create an Elastic Fabric Adapter (EFA),
98665	// specify efa. For more information, see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html)
98666	// in the Amazon Elastic Compute Cloud User Guide.
98667	//
98668	// If you are not creating an EFA, specify interface or omit this parameter.
98669	//
98670	// Valid values: interface | efa
98671	InterfaceType *string `type:"string"`
98672
98673	// The number of IPv4 prefixes to be automatically assigned to the network interface.
98674	// You cannot use this option if you use the Ipv4Prefix option.
98675	Ipv4PrefixCount *int64 `type:"integer"`
98676
98677	// One or more IPv4 prefixes to be assigned to the network interface. You cannot
98678	// use this option if you use the Ipv4PrefixCount option.
98679	Ipv4Prefixes []*Ipv4PrefixSpecificationRequest `locationName:"Ipv4Prefix" locationNameList:"item" type:"list"`
98680
98681	// The number of IPv6 addresses to assign to a network interface. Amazon EC2
98682	// automatically selects the IPv6 addresses from the subnet range. You can't
98683	// use this option if specifying specific IPv6 addresses.
98684	Ipv6AddressCount *int64 `type:"integer"`
98685
98686	// One or more specific IPv6 addresses from the IPv6 CIDR block range of your
98687	// subnet. You can't use this option if you're specifying a number of IPv6 addresses.
98688	Ipv6Addresses []*InstanceIpv6AddressRequest `locationNameList:"InstanceIpv6Address" type:"list"`
98689
98690	// The number of IPv6 prefixes to be automatically assigned to the network interface.
98691	// You cannot use this option if you use the Ipv6Prefix option.
98692	Ipv6PrefixCount *int64 `type:"integer"`
98693
98694	// One or more IPv6 prefixes to be assigned to the network interface. You cannot
98695	// use this option if you use the Ipv6PrefixCount option.
98696	Ipv6Prefixes []*Ipv6PrefixSpecificationRequest `locationName:"Ipv6Prefix" locationNameList:"item" type:"list"`
98697
98698	// The index of the network card. Some instance types support multiple network
98699	// cards. The primary network interface must be assigned to network card index
98700	// 0. The default is network card index 0.
98701	NetworkCardIndex *int64 `type:"integer"`
98702
98703	// The ID of the network interface.
98704	NetworkInterfaceId *string `type:"string"`
98705
98706	// The primary private IPv4 address of the network interface.
98707	PrivateIpAddress *string `type:"string"`
98708
98709	// One or more private IPv4 addresses.
98710	PrivateIpAddresses []*PrivateIpAddressSpecification `locationNameList:"item" type:"list"`
98711
98712	// The number of secondary private IPv4 addresses to assign to a network interface.
98713	SecondaryPrivateIpAddressCount *int64 `type:"integer"`
98714
98715	// The ID of the subnet for the network interface.
98716	SubnetId *string `type:"string"`
98717}
98718
98719// String returns the string representation
98720func (s LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) String() string {
98721	return awsutil.Prettify(s)
98722}
98723
98724// GoString returns the string representation
98725func (s LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) GoString() string {
98726	return s.String()
98727}
98728
98729// SetAssociateCarrierIpAddress sets the AssociateCarrierIpAddress field's value.
98730func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetAssociateCarrierIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
98731	s.AssociateCarrierIpAddress = &v
98732	return s
98733}
98734
98735// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
98736func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetAssociatePublicIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
98737	s.AssociatePublicIpAddress = &v
98738	return s
98739}
98740
98741// SetDeleteOnTermination sets the DeleteOnTermination field's value.
98742func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDeleteOnTermination(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
98743	s.DeleteOnTermination = &v
98744	return s
98745}
98746
98747// SetDescription sets the Description field's value.
98748func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDescription(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
98749	s.Description = &v
98750	return s
98751}
98752
98753// SetDeviceIndex sets the DeviceIndex field's value.
98754func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDeviceIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
98755	s.DeviceIndex = &v
98756	return s
98757}
98758
98759// SetGroups sets the Groups field's value.
98760func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetGroups(v []*string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
98761	s.Groups = v
98762	return s
98763}
98764
98765// SetInterfaceType sets the InterfaceType field's value.
98766func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetInterfaceType(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
98767	s.InterfaceType = &v
98768	return s
98769}
98770
98771// SetIpv4PrefixCount sets the Ipv4PrefixCount field's value.
98772func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv4PrefixCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
98773	s.Ipv4PrefixCount = &v
98774	return s
98775}
98776
98777// SetIpv4Prefixes sets the Ipv4Prefixes field's value.
98778func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv4Prefixes(v []*Ipv4PrefixSpecificationRequest) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
98779	s.Ipv4Prefixes = v
98780	return s
98781}
98782
98783// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
98784func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6AddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
98785	s.Ipv6AddressCount = &v
98786	return s
98787}
98788
98789// SetIpv6Addresses sets the Ipv6Addresses field's value.
98790func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6Addresses(v []*InstanceIpv6AddressRequest) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
98791	s.Ipv6Addresses = v
98792	return s
98793}
98794
98795// SetIpv6PrefixCount sets the Ipv6PrefixCount field's value.
98796func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6PrefixCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
98797	s.Ipv6PrefixCount = &v
98798	return s
98799}
98800
98801// SetIpv6Prefixes sets the Ipv6Prefixes field's value.
98802func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6Prefixes(v []*Ipv6PrefixSpecificationRequest) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
98803	s.Ipv6Prefixes = v
98804	return s
98805}
98806
98807// SetNetworkCardIndex sets the NetworkCardIndex field's value.
98808func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetNetworkCardIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
98809	s.NetworkCardIndex = &v
98810	return s
98811}
98812
98813// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
98814func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetNetworkInterfaceId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
98815	s.NetworkInterfaceId = &v
98816	return s
98817}
98818
98819// SetPrivateIpAddress sets the PrivateIpAddress field's value.
98820func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetPrivateIpAddress(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
98821	s.PrivateIpAddress = &v
98822	return s
98823}
98824
98825// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
98826func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
98827	s.PrivateIpAddresses = v
98828	return s
98829}
98830
98831// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
98832func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetSecondaryPrivateIpAddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
98833	s.SecondaryPrivateIpAddressCount = &v
98834	return s
98835}
98836
98837// SetSubnetId sets the SubnetId field's value.
98838func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetSubnetId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
98839	s.SubnetId = &v
98840	return s
98841}
98842
98843// Describes a license configuration.
98844type LaunchTemplateLicenseConfiguration struct {
98845	_ struct{} `type:"structure"`
98846
98847	// The Amazon Resource Name (ARN) of the license configuration.
98848	LicenseConfigurationArn *string `locationName:"licenseConfigurationArn" type:"string"`
98849}
98850
98851// String returns the string representation
98852func (s LaunchTemplateLicenseConfiguration) String() string {
98853	return awsutil.Prettify(s)
98854}
98855
98856// GoString returns the string representation
98857func (s LaunchTemplateLicenseConfiguration) GoString() string {
98858	return s.String()
98859}
98860
98861// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
98862func (s *LaunchTemplateLicenseConfiguration) SetLicenseConfigurationArn(v string) *LaunchTemplateLicenseConfiguration {
98863	s.LicenseConfigurationArn = &v
98864	return s
98865}
98866
98867// Describes a license configuration.
98868type LaunchTemplateLicenseConfigurationRequest struct {
98869	_ struct{} `type:"structure"`
98870
98871	// The Amazon Resource Name (ARN) of the license configuration.
98872	LicenseConfigurationArn *string `type:"string"`
98873}
98874
98875// String returns the string representation
98876func (s LaunchTemplateLicenseConfigurationRequest) String() string {
98877	return awsutil.Prettify(s)
98878}
98879
98880// GoString returns the string representation
98881func (s LaunchTemplateLicenseConfigurationRequest) GoString() string {
98882	return s.String()
98883}
98884
98885// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
98886func (s *LaunchTemplateLicenseConfigurationRequest) SetLicenseConfigurationArn(v string) *LaunchTemplateLicenseConfigurationRequest {
98887	s.LicenseConfigurationArn = &v
98888	return s
98889}
98890
98891// Describes overrides for a launch template.
98892type LaunchTemplateOverrides struct {
98893	_ struct{} `type:"structure"`
98894
98895	// The Availability Zone in which to launch the instances.
98896	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
98897
98898	// The instance type.
98899	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
98900
98901	// The priority for the launch template override. The highest priority is launched
98902	// first.
98903	//
98904	// If OnDemandAllocationStrategy is set to prioritized, Spot Fleet uses priority
98905	// to determine which launch template override to use first in fulfilling On-Demand
98906	// capacity.
98907	//
98908	// If the Spot AllocationStrategy is set to capacityOptimizedPrioritized, Spot
98909	// Fleet uses priority on a best-effort basis to determine which launch template
98910	// override to use in fulfilling Spot capacity, but optimizes for capacity first.
98911	//
98912	// Valid values are whole numbers starting at 0. The lower the number, the higher
98913	// the priority. If no number is set, the launch template override has the lowest
98914	// priority. You can set the same priority for different launch template overrides.
98915	Priority *float64 `locationName:"priority" type:"double"`
98916
98917	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
98918	SpotPrice *string `locationName:"spotPrice" type:"string"`
98919
98920	// The ID of the subnet in which to launch the instances.
98921	SubnetId *string `locationName:"subnetId" type:"string"`
98922
98923	// The number of units provided by the specified instance type.
98924	WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
98925}
98926
98927// String returns the string representation
98928func (s LaunchTemplateOverrides) String() string {
98929	return awsutil.Prettify(s)
98930}
98931
98932// GoString returns the string representation
98933func (s LaunchTemplateOverrides) GoString() string {
98934	return s.String()
98935}
98936
98937// SetAvailabilityZone sets the AvailabilityZone field's value.
98938func (s *LaunchTemplateOverrides) SetAvailabilityZone(v string) *LaunchTemplateOverrides {
98939	s.AvailabilityZone = &v
98940	return s
98941}
98942
98943// SetInstanceType sets the InstanceType field's value.
98944func (s *LaunchTemplateOverrides) SetInstanceType(v string) *LaunchTemplateOverrides {
98945	s.InstanceType = &v
98946	return s
98947}
98948
98949// SetPriority sets the Priority field's value.
98950func (s *LaunchTemplateOverrides) SetPriority(v float64) *LaunchTemplateOverrides {
98951	s.Priority = &v
98952	return s
98953}
98954
98955// SetSpotPrice sets the SpotPrice field's value.
98956func (s *LaunchTemplateOverrides) SetSpotPrice(v string) *LaunchTemplateOverrides {
98957	s.SpotPrice = &v
98958	return s
98959}
98960
98961// SetSubnetId sets the SubnetId field's value.
98962func (s *LaunchTemplateOverrides) SetSubnetId(v string) *LaunchTemplateOverrides {
98963	s.SubnetId = &v
98964	return s
98965}
98966
98967// SetWeightedCapacity sets the WeightedCapacity field's value.
98968func (s *LaunchTemplateOverrides) SetWeightedCapacity(v float64) *LaunchTemplateOverrides {
98969	s.WeightedCapacity = &v
98970	return s
98971}
98972
98973// Describes the placement of an instance.
98974type LaunchTemplatePlacement struct {
98975	_ struct{} `type:"structure"`
98976
98977	// The affinity setting for the instance on the Dedicated Host.
98978	Affinity *string `locationName:"affinity" type:"string"`
98979
98980	// The Availability Zone of the instance.
98981	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
98982
98983	// The name of the placement group for the instance.
98984	GroupName *string `locationName:"groupName" type:"string"`
98985
98986	// The ID of the Dedicated Host for the instance.
98987	HostId *string `locationName:"hostId" type:"string"`
98988
98989	// The ARN of the host resource group in which to launch the instances.
98990	HostResourceGroupArn *string `locationName:"hostResourceGroupArn" type:"string"`
98991
98992	// The number of the partition the instance should launch in. Valid only if
98993	// the placement group strategy is set to partition.
98994	PartitionNumber *int64 `locationName:"partitionNumber" type:"integer"`
98995
98996	// Reserved for future use.
98997	SpreadDomain *string `locationName:"spreadDomain" type:"string"`
98998
98999	// The tenancy of the instance (if the instance is running in a VPC). An instance
99000	// with a tenancy of dedicated runs on single-tenant hardware.
99001	Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
99002}
99003
99004// String returns the string representation
99005func (s LaunchTemplatePlacement) String() string {
99006	return awsutil.Prettify(s)
99007}
99008
99009// GoString returns the string representation
99010func (s LaunchTemplatePlacement) GoString() string {
99011	return s.String()
99012}
99013
99014// SetAffinity sets the Affinity field's value.
99015func (s *LaunchTemplatePlacement) SetAffinity(v string) *LaunchTemplatePlacement {
99016	s.Affinity = &v
99017	return s
99018}
99019
99020// SetAvailabilityZone sets the AvailabilityZone field's value.
99021func (s *LaunchTemplatePlacement) SetAvailabilityZone(v string) *LaunchTemplatePlacement {
99022	s.AvailabilityZone = &v
99023	return s
99024}
99025
99026// SetGroupName sets the GroupName field's value.
99027func (s *LaunchTemplatePlacement) SetGroupName(v string) *LaunchTemplatePlacement {
99028	s.GroupName = &v
99029	return s
99030}
99031
99032// SetHostId sets the HostId field's value.
99033func (s *LaunchTemplatePlacement) SetHostId(v string) *LaunchTemplatePlacement {
99034	s.HostId = &v
99035	return s
99036}
99037
99038// SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
99039func (s *LaunchTemplatePlacement) SetHostResourceGroupArn(v string) *LaunchTemplatePlacement {
99040	s.HostResourceGroupArn = &v
99041	return s
99042}
99043
99044// SetPartitionNumber sets the PartitionNumber field's value.
99045func (s *LaunchTemplatePlacement) SetPartitionNumber(v int64) *LaunchTemplatePlacement {
99046	s.PartitionNumber = &v
99047	return s
99048}
99049
99050// SetSpreadDomain sets the SpreadDomain field's value.
99051func (s *LaunchTemplatePlacement) SetSpreadDomain(v string) *LaunchTemplatePlacement {
99052	s.SpreadDomain = &v
99053	return s
99054}
99055
99056// SetTenancy sets the Tenancy field's value.
99057func (s *LaunchTemplatePlacement) SetTenancy(v string) *LaunchTemplatePlacement {
99058	s.Tenancy = &v
99059	return s
99060}
99061
99062// Describes the placement of an instance.
99063type LaunchTemplatePlacementRequest struct {
99064	_ struct{} `type:"structure"`
99065
99066	// The affinity setting for an instance on a Dedicated Host.
99067	Affinity *string `type:"string"`
99068
99069	// The Availability Zone for the instance.
99070	AvailabilityZone *string `type:"string"`
99071
99072	// The name of the placement group for the instance.
99073	GroupName *string `type:"string"`
99074
99075	// The ID of the Dedicated Host for the instance.
99076	HostId *string `type:"string"`
99077
99078	// The ARN of the host resource group in which to launch the instances. If you
99079	// specify a host resource group ARN, omit the Tenancy parameter or set it to
99080	// host.
99081	HostResourceGroupArn *string `type:"string"`
99082
99083	// The number of the partition the instance should launch in. Valid only if
99084	// the placement group strategy is set to partition.
99085	PartitionNumber *int64 `type:"integer"`
99086
99087	// Reserved for future use.
99088	SpreadDomain *string `type:"string"`
99089
99090	// The tenancy of the instance (if the instance is running in a VPC). An instance
99091	// with a tenancy of dedicated runs on single-tenant hardware.
99092	Tenancy *string `type:"string" enum:"Tenancy"`
99093}
99094
99095// String returns the string representation
99096func (s LaunchTemplatePlacementRequest) String() string {
99097	return awsutil.Prettify(s)
99098}
99099
99100// GoString returns the string representation
99101func (s LaunchTemplatePlacementRequest) GoString() string {
99102	return s.String()
99103}
99104
99105// SetAffinity sets the Affinity field's value.
99106func (s *LaunchTemplatePlacementRequest) SetAffinity(v string) *LaunchTemplatePlacementRequest {
99107	s.Affinity = &v
99108	return s
99109}
99110
99111// SetAvailabilityZone sets the AvailabilityZone field's value.
99112func (s *LaunchTemplatePlacementRequest) SetAvailabilityZone(v string) *LaunchTemplatePlacementRequest {
99113	s.AvailabilityZone = &v
99114	return s
99115}
99116
99117// SetGroupName sets the GroupName field's value.
99118func (s *LaunchTemplatePlacementRequest) SetGroupName(v string) *LaunchTemplatePlacementRequest {
99119	s.GroupName = &v
99120	return s
99121}
99122
99123// SetHostId sets the HostId field's value.
99124func (s *LaunchTemplatePlacementRequest) SetHostId(v string) *LaunchTemplatePlacementRequest {
99125	s.HostId = &v
99126	return s
99127}
99128
99129// SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
99130func (s *LaunchTemplatePlacementRequest) SetHostResourceGroupArn(v string) *LaunchTemplatePlacementRequest {
99131	s.HostResourceGroupArn = &v
99132	return s
99133}
99134
99135// SetPartitionNumber sets the PartitionNumber field's value.
99136func (s *LaunchTemplatePlacementRequest) SetPartitionNumber(v int64) *LaunchTemplatePlacementRequest {
99137	s.PartitionNumber = &v
99138	return s
99139}
99140
99141// SetSpreadDomain sets the SpreadDomain field's value.
99142func (s *LaunchTemplatePlacementRequest) SetSpreadDomain(v string) *LaunchTemplatePlacementRequest {
99143	s.SpreadDomain = &v
99144	return s
99145}
99146
99147// SetTenancy sets the Tenancy field's value.
99148func (s *LaunchTemplatePlacementRequest) SetTenancy(v string) *LaunchTemplatePlacementRequest {
99149	s.Tenancy = &v
99150	return s
99151}
99152
99153// The launch template to use. You must specify either the launch template ID
99154// or launch template name in the request, but not both.
99155type LaunchTemplateSpecification struct {
99156	_ struct{} `type:"structure"`
99157
99158	// The ID of the launch template.
99159	LaunchTemplateId *string `type:"string"`
99160
99161	// The name of the launch template.
99162	LaunchTemplateName *string `type:"string"`
99163
99164	// The version number of the launch template.
99165	//
99166	// Default: The default version for the launch template.
99167	Version *string `type:"string"`
99168}
99169
99170// String returns the string representation
99171func (s LaunchTemplateSpecification) String() string {
99172	return awsutil.Prettify(s)
99173}
99174
99175// GoString returns the string representation
99176func (s LaunchTemplateSpecification) GoString() string {
99177	return s.String()
99178}
99179
99180// SetLaunchTemplateId sets the LaunchTemplateId field's value.
99181func (s *LaunchTemplateSpecification) SetLaunchTemplateId(v string) *LaunchTemplateSpecification {
99182	s.LaunchTemplateId = &v
99183	return s
99184}
99185
99186// SetLaunchTemplateName sets the LaunchTemplateName field's value.
99187func (s *LaunchTemplateSpecification) SetLaunchTemplateName(v string) *LaunchTemplateSpecification {
99188	s.LaunchTemplateName = &v
99189	return s
99190}
99191
99192// SetVersion sets the Version field's value.
99193func (s *LaunchTemplateSpecification) SetVersion(v string) *LaunchTemplateSpecification {
99194	s.Version = &v
99195	return s
99196}
99197
99198// The options for Spot Instances.
99199type LaunchTemplateSpotMarketOptions struct {
99200	_ struct{} `type:"structure"`
99201
99202	// The required duration for the Spot Instances (also known as Spot blocks),
99203	// in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
99204	// or 360).
99205	BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
99206
99207	// The behavior when a Spot Instance is interrupted.
99208	InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
99209
99210	// The maximum hourly price you're willing to pay for the Spot Instances.
99211	MaxPrice *string `locationName:"maxPrice" type:"string"`
99212
99213	// The Spot Instance request type.
99214	SpotInstanceType *string `locationName:"spotInstanceType" type:"string" enum:"SpotInstanceType"`
99215
99216	// The end date of the request. For a one-time request, the request remains
99217	// active until all instances launch, the request is canceled, or this date
99218	// is reached. If the request is persistent, it remains active until it is canceled
99219	// or this date and time is reached.
99220	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
99221}
99222
99223// String returns the string representation
99224func (s LaunchTemplateSpotMarketOptions) String() string {
99225	return awsutil.Prettify(s)
99226}
99227
99228// GoString returns the string representation
99229func (s LaunchTemplateSpotMarketOptions) GoString() string {
99230	return s.String()
99231}
99232
99233// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
99234func (s *LaunchTemplateSpotMarketOptions) SetBlockDurationMinutes(v int64) *LaunchTemplateSpotMarketOptions {
99235	s.BlockDurationMinutes = &v
99236	return s
99237}
99238
99239// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
99240func (s *LaunchTemplateSpotMarketOptions) SetInstanceInterruptionBehavior(v string) *LaunchTemplateSpotMarketOptions {
99241	s.InstanceInterruptionBehavior = &v
99242	return s
99243}
99244
99245// SetMaxPrice sets the MaxPrice field's value.
99246func (s *LaunchTemplateSpotMarketOptions) SetMaxPrice(v string) *LaunchTemplateSpotMarketOptions {
99247	s.MaxPrice = &v
99248	return s
99249}
99250
99251// SetSpotInstanceType sets the SpotInstanceType field's value.
99252func (s *LaunchTemplateSpotMarketOptions) SetSpotInstanceType(v string) *LaunchTemplateSpotMarketOptions {
99253	s.SpotInstanceType = &v
99254	return s
99255}
99256
99257// SetValidUntil sets the ValidUntil field's value.
99258func (s *LaunchTemplateSpotMarketOptions) SetValidUntil(v time.Time) *LaunchTemplateSpotMarketOptions {
99259	s.ValidUntil = &v
99260	return s
99261}
99262
99263// The options for Spot Instances.
99264type LaunchTemplateSpotMarketOptionsRequest struct {
99265	_ struct{} `type:"structure"`
99266
99267	// The required duration for the Spot Instances (also known as Spot blocks),
99268	// in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
99269	// or 360).
99270	BlockDurationMinutes *int64 `type:"integer"`
99271
99272	// The behavior when a Spot Instance is interrupted. The default is terminate.
99273	InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
99274
99275	// The maximum hourly price you're willing to pay for the Spot Instances.
99276	MaxPrice *string `type:"string"`
99277
99278	// The Spot Instance request type.
99279	SpotInstanceType *string `type:"string" enum:"SpotInstanceType"`
99280
99281	// The end date of the request. For a one-time request, the request remains
99282	// active until all instances launch, the request is canceled, or this date
99283	// is reached. If the request is persistent, it remains active until it is canceled
99284	// or this date and time is reached. The default end date is 7 days from the
99285	// current date.
99286	ValidUntil *time.Time `type:"timestamp"`
99287}
99288
99289// String returns the string representation
99290func (s LaunchTemplateSpotMarketOptionsRequest) String() string {
99291	return awsutil.Prettify(s)
99292}
99293
99294// GoString returns the string representation
99295func (s LaunchTemplateSpotMarketOptionsRequest) GoString() string {
99296	return s.String()
99297}
99298
99299// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
99300func (s *LaunchTemplateSpotMarketOptionsRequest) SetBlockDurationMinutes(v int64) *LaunchTemplateSpotMarketOptionsRequest {
99301	s.BlockDurationMinutes = &v
99302	return s
99303}
99304
99305// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
99306func (s *LaunchTemplateSpotMarketOptionsRequest) SetInstanceInterruptionBehavior(v string) *LaunchTemplateSpotMarketOptionsRequest {
99307	s.InstanceInterruptionBehavior = &v
99308	return s
99309}
99310
99311// SetMaxPrice sets the MaxPrice field's value.
99312func (s *LaunchTemplateSpotMarketOptionsRequest) SetMaxPrice(v string) *LaunchTemplateSpotMarketOptionsRequest {
99313	s.MaxPrice = &v
99314	return s
99315}
99316
99317// SetSpotInstanceType sets the SpotInstanceType field's value.
99318func (s *LaunchTemplateSpotMarketOptionsRequest) SetSpotInstanceType(v string) *LaunchTemplateSpotMarketOptionsRequest {
99319	s.SpotInstanceType = &v
99320	return s
99321}
99322
99323// SetValidUntil sets the ValidUntil field's value.
99324func (s *LaunchTemplateSpotMarketOptionsRequest) SetValidUntil(v time.Time) *LaunchTemplateSpotMarketOptionsRequest {
99325	s.ValidUntil = &v
99326	return s
99327}
99328
99329// The tag specification for the launch template.
99330type LaunchTemplateTagSpecification struct {
99331	_ struct{} `type:"structure"`
99332
99333	// The type of resource.
99334	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
99335
99336	// The tags for the resource.
99337	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
99338}
99339
99340// String returns the string representation
99341func (s LaunchTemplateTagSpecification) String() string {
99342	return awsutil.Prettify(s)
99343}
99344
99345// GoString returns the string representation
99346func (s LaunchTemplateTagSpecification) GoString() string {
99347	return s.String()
99348}
99349
99350// SetResourceType sets the ResourceType field's value.
99351func (s *LaunchTemplateTagSpecification) SetResourceType(v string) *LaunchTemplateTagSpecification {
99352	s.ResourceType = &v
99353	return s
99354}
99355
99356// SetTags sets the Tags field's value.
99357func (s *LaunchTemplateTagSpecification) SetTags(v []*Tag) *LaunchTemplateTagSpecification {
99358	s.Tags = v
99359	return s
99360}
99361
99362// The tags specification for the launch template.
99363type LaunchTemplateTagSpecificationRequest struct {
99364	_ struct{} `type:"structure"`
99365
99366	// The type of resource to tag. Currently, the resource types that support tagging
99367	// on creation are instance and volume. To tag a resource after it has been
99368	// created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
99369	ResourceType *string `type:"string" enum:"ResourceType"`
99370
99371	// The tags to apply to the resource.
99372	Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
99373}
99374
99375// String returns the string representation
99376func (s LaunchTemplateTagSpecificationRequest) String() string {
99377	return awsutil.Prettify(s)
99378}
99379
99380// GoString returns the string representation
99381func (s LaunchTemplateTagSpecificationRequest) GoString() string {
99382	return s.String()
99383}
99384
99385// SetResourceType sets the ResourceType field's value.
99386func (s *LaunchTemplateTagSpecificationRequest) SetResourceType(v string) *LaunchTemplateTagSpecificationRequest {
99387	s.ResourceType = &v
99388	return s
99389}
99390
99391// SetTags sets the Tags field's value.
99392func (s *LaunchTemplateTagSpecificationRequest) SetTags(v []*Tag) *LaunchTemplateTagSpecificationRequest {
99393	s.Tags = v
99394	return s
99395}
99396
99397// Describes a launch template version.
99398type LaunchTemplateVersion struct {
99399	_ struct{} `type:"structure"`
99400
99401	// The time the version was created.
99402	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
99403
99404	// The principal that created the version.
99405	CreatedBy *string `locationName:"createdBy" type:"string"`
99406
99407	// Indicates whether the version is the default version.
99408	DefaultVersion *bool `locationName:"defaultVersion" type:"boolean"`
99409
99410	// Information about the launch template.
99411	LaunchTemplateData *ResponseLaunchTemplateData `locationName:"launchTemplateData" type:"structure"`
99412
99413	// The ID of the launch template.
99414	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
99415
99416	// The name of the launch template.
99417	LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
99418
99419	// The description for the version.
99420	VersionDescription *string `locationName:"versionDescription" type:"string"`
99421
99422	// The version number.
99423	VersionNumber *int64 `locationName:"versionNumber" type:"long"`
99424}
99425
99426// String returns the string representation
99427func (s LaunchTemplateVersion) String() string {
99428	return awsutil.Prettify(s)
99429}
99430
99431// GoString returns the string representation
99432func (s LaunchTemplateVersion) GoString() string {
99433	return s.String()
99434}
99435
99436// SetCreateTime sets the CreateTime field's value.
99437func (s *LaunchTemplateVersion) SetCreateTime(v time.Time) *LaunchTemplateVersion {
99438	s.CreateTime = &v
99439	return s
99440}
99441
99442// SetCreatedBy sets the CreatedBy field's value.
99443func (s *LaunchTemplateVersion) SetCreatedBy(v string) *LaunchTemplateVersion {
99444	s.CreatedBy = &v
99445	return s
99446}
99447
99448// SetDefaultVersion sets the DefaultVersion field's value.
99449func (s *LaunchTemplateVersion) SetDefaultVersion(v bool) *LaunchTemplateVersion {
99450	s.DefaultVersion = &v
99451	return s
99452}
99453
99454// SetLaunchTemplateData sets the LaunchTemplateData field's value.
99455func (s *LaunchTemplateVersion) SetLaunchTemplateData(v *ResponseLaunchTemplateData) *LaunchTemplateVersion {
99456	s.LaunchTemplateData = v
99457	return s
99458}
99459
99460// SetLaunchTemplateId sets the LaunchTemplateId field's value.
99461func (s *LaunchTemplateVersion) SetLaunchTemplateId(v string) *LaunchTemplateVersion {
99462	s.LaunchTemplateId = &v
99463	return s
99464}
99465
99466// SetLaunchTemplateName sets the LaunchTemplateName field's value.
99467func (s *LaunchTemplateVersion) SetLaunchTemplateName(v string) *LaunchTemplateVersion {
99468	s.LaunchTemplateName = &v
99469	return s
99470}
99471
99472// SetVersionDescription sets the VersionDescription field's value.
99473func (s *LaunchTemplateVersion) SetVersionDescription(v string) *LaunchTemplateVersion {
99474	s.VersionDescription = &v
99475	return s
99476}
99477
99478// SetVersionNumber sets the VersionNumber field's value.
99479func (s *LaunchTemplateVersion) SetVersionNumber(v int64) *LaunchTemplateVersion {
99480	s.VersionNumber = &v
99481	return s
99482}
99483
99484// Describes the monitoring for the instance.
99485type LaunchTemplatesMonitoring struct {
99486	_ struct{} `type:"structure"`
99487
99488	// Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
99489	// is enabled.
99490	Enabled *bool `locationName:"enabled" type:"boolean"`
99491}
99492
99493// String returns the string representation
99494func (s LaunchTemplatesMonitoring) String() string {
99495	return awsutil.Prettify(s)
99496}
99497
99498// GoString returns the string representation
99499func (s LaunchTemplatesMonitoring) GoString() string {
99500	return s.String()
99501}
99502
99503// SetEnabled sets the Enabled field's value.
99504func (s *LaunchTemplatesMonitoring) SetEnabled(v bool) *LaunchTemplatesMonitoring {
99505	s.Enabled = &v
99506	return s
99507}
99508
99509// Describes the monitoring for the instance.
99510type LaunchTemplatesMonitoringRequest struct {
99511	_ struct{} `type:"structure"`
99512
99513	// Specify true to enable detailed monitoring. Otherwise, basic monitoring is
99514	// enabled.
99515	Enabled *bool `type:"boolean"`
99516}
99517
99518// String returns the string representation
99519func (s LaunchTemplatesMonitoringRequest) String() string {
99520	return awsutil.Prettify(s)
99521}
99522
99523// GoString returns the string representation
99524func (s LaunchTemplatesMonitoringRequest) GoString() string {
99525	return s.String()
99526}
99527
99528// SetEnabled sets the Enabled field's value.
99529func (s *LaunchTemplatesMonitoringRequest) SetEnabled(v bool) *LaunchTemplatesMonitoringRequest {
99530	s.Enabled = &v
99531	return s
99532}
99533
99534// Describes a license configuration.
99535type LicenseConfiguration struct {
99536	_ struct{} `type:"structure"`
99537
99538	// The Amazon Resource Name (ARN) of the license configuration.
99539	LicenseConfigurationArn *string `locationName:"licenseConfigurationArn" type:"string"`
99540}
99541
99542// String returns the string representation
99543func (s LicenseConfiguration) String() string {
99544	return awsutil.Prettify(s)
99545}
99546
99547// GoString returns the string representation
99548func (s LicenseConfiguration) GoString() string {
99549	return s.String()
99550}
99551
99552// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
99553func (s *LicenseConfiguration) SetLicenseConfigurationArn(v string) *LicenseConfiguration {
99554	s.LicenseConfigurationArn = &v
99555	return s
99556}
99557
99558// Describes a license configuration.
99559type LicenseConfigurationRequest struct {
99560	_ struct{} `type:"structure"`
99561
99562	// The Amazon Resource Name (ARN) of the license configuration.
99563	LicenseConfigurationArn *string `type:"string"`
99564}
99565
99566// String returns the string representation
99567func (s LicenseConfigurationRequest) String() string {
99568	return awsutil.Prettify(s)
99569}
99570
99571// GoString returns the string representation
99572func (s LicenseConfigurationRequest) GoString() string {
99573	return s.String()
99574}
99575
99576// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
99577func (s *LicenseConfigurationRequest) SetLicenseConfigurationArn(v string) *LicenseConfigurationRequest {
99578	s.LicenseConfigurationArn = &v
99579	return s
99580}
99581
99582// Describes the Classic Load Balancers and target groups to attach to a Spot
99583// Fleet request.
99584type LoadBalancersConfig struct {
99585	_ struct{} `type:"structure"`
99586
99587	// The Classic Load Balancers.
99588	ClassicLoadBalancersConfig *ClassicLoadBalancersConfig `locationName:"classicLoadBalancersConfig" type:"structure"`
99589
99590	// The target groups.
99591	TargetGroupsConfig *TargetGroupsConfig `locationName:"targetGroupsConfig" type:"structure"`
99592}
99593
99594// String returns the string representation
99595func (s LoadBalancersConfig) String() string {
99596	return awsutil.Prettify(s)
99597}
99598
99599// GoString returns the string representation
99600func (s LoadBalancersConfig) GoString() string {
99601	return s.String()
99602}
99603
99604// Validate inspects the fields of the type to determine if they are valid.
99605func (s *LoadBalancersConfig) Validate() error {
99606	invalidParams := request.ErrInvalidParams{Context: "LoadBalancersConfig"}
99607	if s.ClassicLoadBalancersConfig != nil {
99608		if err := s.ClassicLoadBalancersConfig.Validate(); err != nil {
99609			invalidParams.AddNested("ClassicLoadBalancersConfig", err.(request.ErrInvalidParams))
99610		}
99611	}
99612	if s.TargetGroupsConfig != nil {
99613		if err := s.TargetGroupsConfig.Validate(); err != nil {
99614			invalidParams.AddNested("TargetGroupsConfig", err.(request.ErrInvalidParams))
99615		}
99616	}
99617
99618	if invalidParams.Len() > 0 {
99619		return invalidParams
99620	}
99621	return nil
99622}
99623
99624// SetClassicLoadBalancersConfig sets the ClassicLoadBalancersConfig field's value.
99625func (s *LoadBalancersConfig) SetClassicLoadBalancersConfig(v *ClassicLoadBalancersConfig) *LoadBalancersConfig {
99626	s.ClassicLoadBalancersConfig = v
99627	return s
99628}
99629
99630// SetTargetGroupsConfig sets the TargetGroupsConfig field's value.
99631func (s *LoadBalancersConfig) SetTargetGroupsConfig(v *TargetGroupsConfig) *LoadBalancersConfig {
99632	s.TargetGroupsConfig = v
99633	return s
99634}
99635
99636// Describes a load permission.
99637type LoadPermission struct {
99638	_ struct{} `type:"structure"`
99639
99640	// The name of the group.
99641	Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
99642
99643	// The AWS account ID.
99644	UserId *string `locationName:"userId" type:"string"`
99645}
99646
99647// String returns the string representation
99648func (s LoadPermission) String() string {
99649	return awsutil.Prettify(s)
99650}
99651
99652// GoString returns the string representation
99653func (s LoadPermission) GoString() string {
99654	return s.String()
99655}
99656
99657// SetGroup sets the Group field's value.
99658func (s *LoadPermission) SetGroup(v string) *LoadPermission {
99659	s.Group = &v
99660	return s
99661}
99662
99663// SetUserId sets the UserId field's value.
99664func (s *LoadPermission) SetUserId(v string) *LoadPermission {
99665	s.UserId = &v
99666	return s
99667}
99668
99669// Describes modifications to the load permissions of an Amazon FPGA image (AFI).
99670type LoadPermissionModifications struct {
99671	_ struct{} `type:"structure"`
99672
99673	// The load permissions to add.
99674	Add []*LoadPermissionRequest `locationNameList:"item" type:"list"`
99675
99676	// The load permissions to remove.
99677	Remove []*LoadPermissionRequest `locationNameList:"item" type:"list"`
99678}
99679
99680// String returns the string representation
99681func (s LoadPermissionModifications) String() string {
99682	return awsutil.Prettify(s)
99683}
99684
99685// GoString returns the string representation
99686func (s LoadPermissionModifications) GoString() string {
99687	return s.String()
99688}
99689
99690// SetAdd sets the Add field's value.
99691func (s *LoadPermissionModifications) SetAdd(v []*LoadPermissionRequest) *LoadPermissionModifications {
99692	s.Add = v
99693	return s
99694}
99695
99696// SetRemove sets the Remove field's value.
99697func (s *LoadPermissionModifications) SetRemove(v []*LoadPermissionRequest) *LoadPermissionModifications {
99698	s.Remove = v
99699	return s
99700}
99701
99702// Describes a load permission.
99703type LoadPermissionRequest struct {
99704	_ struct{} `type:"structure"`
99705
99706	// The name of the group.
99707	Group *string `type:"string" enum:"PermissionGroup"`
99708
99709	// The AWS account ID.
99710	UserId *string `type:"string"`
99711}
99712
99713// String returns the string representation
99714func (s LoadPermissionRequest) String() string {
99715	return awsutil.Prettify(s)
99716}
99717
99718// GoString returns the string representation
99719func (s LoadPermissionRequest) GoString() string {
99720	return s.String()
99721}
99722
99723// SetGroup sets the Group field's value.
99724func (s *LoadPermissionRequest) SetGroup(v string) *LoadPermissionRequest {
99725	s.Group = &v
99726	return s
99727}
99728
99729// SetUserId sets the UserId field's value.
99730func (s *LoadPermissionRequest) SetUserId(v string) *LoadPermissionRequest {
99731	s.UserId = &v
99732	return s
99733}
99734
99735// Describes a local gateway.
99736type LocalGateway struct {
99737	_ struct{} `type:"structure"`
99738
99739	// The ID of the local gateway.
99740	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
99741
99742	// The Amazon Resource Name (ARN) of the Outpost.
99743	OutpostArn *string `locationName:"outpostArn" type:"string"`
99744
99745	// The AWS account ID that owns the local gateway.
99746	OwnerId *string `locationName:"ownerId" type:"string"`
99747
99748	// The state of the local gateway.
99749	State *string `locationName:"state" type:"string"`
99750
99751	// The tags assigned to the local gateway.
99752	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
99753}
99754
99755// String returns the string representation
99756func (s LocalGateway) String() string {
99757	return awsutil.Prettify(s)
99758}
99759
99760// GoString returns the string representation
99761func (s LocalGateway) GoString() string {
99762	return s.String()
99763}
99764
99765// SetLocalGatewayId sets the LocalGatewayId field's value.
99766func (s *LocalGateway) SetLocalGatewayId(v string) *LocalGateway {
99767	s.LocalGatewayId = &v
99768	return s
99769}
99770
99771// SetOutpostArn sets the OutpostArn field's value.
99772func (s *LocalGateway) SetOutpostArn(v string) *LocalGateway {
99773	s.OutpostArn = &v
99774	return s
99775}
99776
99777// SetOwnerId sets the OwnerId field's value.
99778func (s *LocalGateway) SetOwnerId(v string) *LocalGateway {
99779	s.OwnerId = &v
99780	return s
99781}
99782
99783// SetState sets the State field's value.
99784func (s *LocalGateway) SetState(v string) *LocalGateway {
99785	s.State = &v
99786	return s
99787}
99788
99789// SetTags sets the Tags field's value.
99790func (s *LocalGateway) SetTags(v []*Tag) *LocalGateway {
99791	s.Tags = v
99792	return s
99793}
99794
99795// Describes a route for a local gateway route table.
99796type LocalGatewayRoute struct {
99797	_ struct{} `type:"structure"`
99798
99799	// The CIDR block used for destination matches.
99800	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
99801
99802	// The Amazon Resource Name (ARN) of the local gateway route table.
99803	LocalGatewayRouteTableArn *string `locationName:"localGatewayRouteTableArn" min:"1" type:"string"`
99804
99805	// The ID of the local gateway route table.
99806	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
99807
99808	// The ID of the virtual interface group.
99809	LocalGatewayVirtualInterfaceGroupId *string `locationName:"localGatewayVirtualInterfaceGroupId" type:"string"`
99810
99811	// The AWS account ID that owns the local gateway route.
99812	OwnerId *string `locationName:"ownerId" type:"string"`
99813
99814	// The state of the route.
99815	State *string `locationName:"state" type:"string" enum:"LocalGatewayRouteState"`
99816
99817	// The route type.
99818	Type *string `locationName:"type" type:"string" enum:"LocalGatewayRouteType"`
99819}
99820
99821// String returns the string representation
99822func (s LocalGatewayRoute) String() string {
99823	return awsutil.Prettify(s)
99824}
99825
99826// GoString returns the string representation
99827func (s LocalGatewayRoute) GoString() string {
99828	return s.String()
99829}
99830
99831// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
99832func (s *LocalGatewayRoute) SetDestinationCidrBlock(v string) *LocalGatewayRoute {
99833	s.DestinationCidrBlock = &v
99834	return s
99835}
99836
99837// SetLocalGatewayRouteTableArn sets the LocalGatewayRouteTableArn field's value.
99838func (s *LocalGatewayRoute) SetLocalGatewayRouteTableArn(v string) *LocalGatewayRoute {
99839	s.LocalGatewayRouteTableArn = &v
99840	return s
99841}
99842
99843// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
99844func (s *LocalGatewayRoute) SetLocalGatewayRouteTableId(v string) *LocalGatewayRoute {
99845	s.LocalGatewayRouteTableId = &v
99846	return s
99847}
99848
99849// SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
99850func (s *LocalGatewayRoute) SetLocalGatewayVirtualInterfaceGroupId(v string) *LocalGatewayRoute {
99851	s.LocalGatewayVirtualInterfaceGroupId = &v
99852	return s
99853}
99854
99855// SetOwnerId sets the OwnerId field's value.
99856func (s *LocalGatewayRoute) SetOwnerId(v string) *LocalGatewayRoute {
99857	s.OwnerId = &v
99858	return s
99859}
99860
99861// SetState sets the State field's value.
99862func (s *LocalGatewayRoute) SetState(v string) *LocalGatewayRoute {
99863	s.State = &v
99864	return s
99865}
99866
99867// SetType sets the Type field's value.
99868func (s *LocalGatewayRoute) SetType(v string) *LocalGatewayRoute {
99869	s.Type = &v
99870	return s
99871}
99872
99873// Describes a local gateway route table.
99874type LocalGatewayRouteTable struct {
99875	_ struct{} `type:"structure"`
99876
99877	// The ID of the local gateway.
99878	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
99879
99880	// The Amazon Resource Name (ARN) of the local gateway route table.
99881	LocalGatewayRouteTableArn *string `locationName:"localGatewayRouteTableArn" min:"1" type:"string"`
99882
99883	// The ID of the local gateway route table.
99884	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
99885
99886	// The Amazon Resource Name (ARN) of the Outpost.
99887	OutpostArn *string `locationName:"outpostArn" type:"string"`
99888
99889	// The AWS account ID that owns the local gateway route table.
99890	OwnerId *string `locationName:"ownerId" type:"string"`
99891
99892	// The state of the local gateway route table.
99893	State *string `locationName:"state" type:"string"`
99894
99895	// The tags assigned to the local gateway route table.
99896	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
99897}
99898
99899// String returns the string representation
99900func (s LocalGatewayRouteTable) String() string {
99901	return awsutil.Prettify(s)
99902}
99903
99904// GoString returns the string representation
99905func (s LocalGatewayRouteTable) GoString() string {
99906	return s.String()
99907}
99908
99909// SetLocalGatewayId sets the LocalGatewayId field's value.
99910func (s *LocalGatewayRouteTable) SetLocalGatewayId(v string) *LocalGatewayRouteTable {
99911	s.LocalGatewayId = &v
99912	return s
99913}
99914
99915// SetLocalGatewayRouteTableArn sets the LocalGatewayRouteTableArn field's value.
99916func (s *LocalGatewayRouteTable) SetLocalGatewayRouteTableArn(v string) *LocalGatewayRouteTable {
99917	s.LocalGatewayRouteTableArn = &v
99918	return s
99919}
99920
99921// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
99922func (s *LocalGatewayRouteTable) SetLocalGatewayRouteTableId(v string) *LocalGatewayRouteTable {
99923	s.LocalGatewayRouteTableId = &v
99924	return s
99925}
99926
99927// SetOutpostArn sets the OutpostArn field's value.
99928func (s *LocalGatewayRouteTable) SetOutpostArn(v string) *LocalGatewayRouteTable {
99929	s.OutpostArn = &v
99930	return s
99931}
99932
99933// SetOwnerId sets the OwnerId field's value.
99934func (s *LocalGatewayRouteTable) SetOwnerId(v string) *LocalGatewayRouteTable {
99935	s.OwnerId = &v
99936	return s
99937}
99938
99939// SetState sets the State field's value.
99940func (s *LocalGatewayRouteTable) SetState(v string) *LocalGatewayRouteTable {
99941	s.State = &v
99942	return s
99943}
99944
99945// SetTags sets the Tags field's value.
99946func (s *LocalGatewayRouteTable) SetTags(v []*Tag) *LocalGatewayRouteTable {
99947	s.Tags = v
99948	return s
99949}
99950
99951// Describes an association between a local gateway route table and a virtual
99952// interface group.
99953type LocalGatewayRouteTableVirtualInterfaceGroupAssociation struct {
99954	_ struct{} `type:"structure"`
99955
99956	// The ID of the local gateway.
99957	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
99958
99959	// The Amazon Resource Name (ARN) of the local gateway route table for the virtual
99960	// interface group.
99961	LocalGatewayRouteTableArn *string `locationName:"localGatewayRouteTableArn" min:"1" type:"string"`
99962
99963	// The ID of the local gateway route table.
99964	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
99965
99966	// The ID of the association.
99967	LocalGatewayRouteTableVirtualInterfaceGroupAssociationId *string `locationName:"localGatewayRouteTableVirtualInterfaceGroupAssociationId" type:"string"`
99968
99969	// The ID of the virtual interface group.
99970	LocalGatewayVirtualInterfaceGroupId *string `locationName:"localGatewayVirtualInterfaceGroupId" type:"string"`
99971
99972	// The AWS account ID that owns the local gateway virtual interface group association.
99973	OwnerId *string `locationName:"ownerId" type:"string"`
99974
99975	// The state of the association.
99976	State *string `locationName:"state" type:"string"`
99977
99978	// The tags assigned to the association.
99979	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
99980}
99981
99982// String returns the string representation
99983func (s LocalGatewayRouteTableVirtualInterfaceGroupAssociation) String() string {
99984	return awsutil.Prettify(s)
99985}
99986
99987// GoString returns the string representation
99988func (s LocalGatewayRouteTableVirtualInterfaceGroupAssociation) GoString() string {
99989	return s.String()
99990}
99991
99992// SetLocalGatewayId sets the LocalGatewayId field's value.
99993func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
99994	s.LocalGatewayId = &v
99995	return s
99996}
99997
99998// SetLocalGatewayRouteTableArn sets the LocalGatewayRouteTableArn field's value.
99999func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayRouteTableArn(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
100000	s.LocalGatewayRouteTableArn = &v
100001	return s
100002}
100003
100004// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
100005func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayRouteTableId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
100006	s.LocalGatewayRouteTableId = &v
100007	return s
100008}
100009
100010// SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationId sets the LocalGatewayRouteTableVirtualInterfaceGroupAssociationId field's value.
100011func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
100012	s.LocalGatewayRouteTableVirtualInterfaceGroupAssociationId = &v
100013	return s
100014}
100015
100016// SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
100017func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayVirtualInterfaceGroupId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
100018	s.LocalGatewayVirtualInterfaceGroupId = &v
100019	return s
100020}
100021
100022// SetOwnerId sets the OwnerId field's value.
100023func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetOwnerId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
100024	s.OwnerId = &v
100025	return s
100026}
100027
100028// SetState sets the State field's value.
100029func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetState(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
100030	s.State = &v
100031	return s
100032}
100033
100034// SetTags sets the Tags field's value.
100035func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetTags(v []*Tag) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
100036	s.Tags = v
100037	return s
100038}
100039
100040// Describes an association between a local gateway route table and a VPC.
100041type LocalGatewayRouteTableVpcAssociation struct {
100042	_ struct{} `type:"structure"`
100043
100044	// The ID of the local gateway.
100045	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
100046
100047	// The Amazon Resource Name (ARN) of the local gateway route table for the association.
100048	LocalGatewayRouteTableArn *string `locationName:"localGatewayRouteTableArn" min:"1" type:"string"`
100049
100050	// The ID of the local gateway route table.
100051	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
100052
100053	// The ID of the association.
100054	LocalGatewayRouteTableVpcAssociationId *string `locationName:"localGatewayRouteTableVpcAssociationId" type:"string"`
100055
100056	// The AWS account ID that owns the local gateway route table for the association.
100057	OwnerId *string `locationName:"ownerId" type:"string"`
100058
100059	// The state of the association.
100060	State *string `locationName:"state" type:"string"`
100061
100062	// The tags assigned to the association.
100063	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
100064
100065	// The ID of the VPC.
100066	VpcId *string `locationName:"vpcId" type:"string"`
100067}
100068
100069// String returns the string representation
100070func (s LocalGatewayRouteTableVpcAssociation) String() string {
100071	return awsutil.Prettify(s)
100072}
100073
100074// GoString returns the string representation
100075func (s LocalGatewayRouteTableVpcAssociation) GoString() string {
100076	return s.String()
100077}
100078
100079// SetLocalGatewayId sets the LocalGatewayId field's value.
100080func (s *LocalGatewayRouteTableVpcAssociation) SetLocalGatewayId(v string) *LocalGatewayRouteTableVpcAssociation {
100081	s.LocalGatewayId = &v
100082	return s
100083}
100084
100085// SetLocalGatewayRouteTableArn sets the LocalGatewayRouteTableArn field's value.
100086func (s *LocalGatewayRouteTableVpcAssociation) SetLocalGatewayRouteTableArn(v string) *LocalGatewayRouteTableVpcAssociation {
100087	s.LocalGatewayRouteTableArn = &v
100088	return s
100089}
100090
100091// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
100092func (s *LocalGatewayRouteTableVpcAssociation) SetLocalGatewayRouteTableId(v string) *LocalGatewayRouteTableVpcAssociation {
100093	s.LocalGatewayRouteTableId = &v
100094	return s
100095}
100096
100097// SetLocalGatewayRouteTableVpcAssociationId sets the LocalGatewayRouteTableVpcAssociationId field's value.
100098func (s *LocalGatewayRouteTableVpcAssociation) SetLocalGatewayRouteTableVpcAssociationId(v string) *LocalGatewayRouteTableVpcAssociation {
100099	s.LocalGatewayRouteTableVpcAssociationId = &v
100100	return s
100101}
100102
100103// SetOwnerId sets the OwnerId field's value.
100104func (s *LocalGatewayRouteTableVpcAssociation) SetOwnerId(v string) *LocalGatewayRouteTableVpcAssociation {
100105	s.OwnerId = &v
100106	return s
100107}
100108
100109// SetState sets the State field's value.
100110func (s *LocalGatewayRouteTableVpcAssociation) SetState(v string) *LocalGatewayRouteTableVpcAssociation {
100111	s.State = &v
100112	return s
100113}
100114
100115// SetTags sets the Tags field's value.
100116func (s *LocalGatewayRouteTableVpcAssociation) SetTags(v []*Tag) *LocalGatewayRouteTableVpcAssociation {
100117	s.Tags = v
100118	return s
100119}
100120
100121// SetVpcId sets the VpcId field's value.
100122func (s *LocalGatewayRouteTableVpcAssociation) SetVpcId(v string) *LocalGatewayRouteTableVpcAssociation {
100123	s.VpcId = &v
100124	return s
100125}
100126
100127// Describes a local gateway virtual interface.
100128type LocalGatewayVirtualInterface struct {
100129	_ struct{} `type:"structure"`
100130
100131	// The local address.
100132	LocalAddress *string `locationName:"localAddress" type:"string"`
100133
100134	// The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local
100135	// gateway.
100136	LocalBgpAsn *int64 `locationName:"localBgpAsn" type:"integer"`
100137
100138	// The ID of the local gateway.
100139	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
100140
100141	// The ID of the virtual interface.
100142	LocalGatewayVirtualInterfaceId *string `locationName:"localGatewayVirtualInterfaceId" type:"string"`
100143
100144	// The AWS account ID that owns the local gateway virtual interface.
100145	OwnerId *string `locationName:"ownerId" type:"string"`
100146
100147	// The peer address.
100148	PeerAddress *string `locationName:"peerAddress" type:"string"`
100149
100150	// The peer BGP ASN.
100151	PeerBgpAsn *int64 `locationName:"peerBgpAsn" type:"integer"`
100152
100153	// The tags assigned to the virtual interface.
100154	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
100155
100156	// The ID of the VLAN.
100157	Vlan *int64 `locationName:"vlan" type:"integer"`
100158}
100159
100160// String returns the string representation
100161func (s LocalGatewayVirtualInterface) String() string {
100162	return awsutil.Prettify(s)
100163}
100164
100165// GoString returns the string representation
100166func (s LocalGatewayVirtualInterface) GoString() string {
100167	return s.String()
100168}
100169
100170// SetLocalAddress sets the LocalAddress field's value.
100171func (s *LocalGatewayVirtualInterface) SetLocalAddress(v string) *LocalGatewayVirtualInterface {
100172	s.LocalAddress = &v
100173	return s
100174}
100175
100176// SetLocalBgpAsn sets the LocalBgpAsn field's value.
100177func (s *LocalGatewayVirtualInterface) SetLocalBgpAsn(v int64) *LocalGatewayVirtualInterface {
100178	s.LocalBgpAsn = &v
100179	return s
100180}
100181
100182// SetLocalGatewayId sets the LocalGatewayId field's value.
100183func (s *LocalGatewayVirtualInterface) SetLocalGatewayId(v string) *LocalGatewayVirtualInterface {
100184	s.LocalGatewayId = &v
100185	return s
100186}
100187
100188// SetLocalGatewayVirtualInterfaceId sets the LocalGatewayVirtualInterfaceId field's value.
100189func (s *LocalGatewayVirtualInterface) SetLocalGatewayVirtualInterfaceId(v string) *LocalGatewayVirtualInterface {
100190	s.LocalGatewayVirtualInterfaceId = &v
100191	return s
100192}
100193
100194// SetOwnerId sets the OwnerId field's value.
100195func (s *LocalGatewayVirtualInterface) SetOwnerId(v string) *LocalGatewayVirtualInterface {
100196	s.OwnerId = &v
100197	return s
100198}
100199
100200// SetPeerAddress sets the PeerAddress field's value.
100201func (s *LocalGatewayVirtualInterface) SetPeerAddress(v string) *LocalGatewayVirtualInterface {
100202	s.PeerAddress = &v
100203	return s
100204}
100205
100206// SetPeerBgpAsn sets the PeerBgpAsn field's value.
100207func (s *LocalGatewayVirtualInterface) SetPeerBgpAsn(v int64) *LocalGatewayVirtualInterface {
100208	s.PeerBgpAsn = &v
100209	return s
100210}
100211
100212// SetTags sets the Tags field's value.
100213func (s *LocalGatewayVirtualInterface) SetTags(v []*Tag) *LocalGatewayVirtualInterface {
100214	s.Tags = v
100215	return s
100216}
100217
100218// SetVlan sets the Vlan field's value.
100219func (s *LocalGatewayVirtualInterface) SetVlan(v int64) *LocalGatewayVirtualInterface {
100220	s.Vlan = &v
100221	return s
100222}
100223
100224// Describes a local gateway virtual interface group.
100225type LocalGatewayVirtualInterfaceGroup struct {
100226	_ struct{} `type:"structure"`
100227
100228	// The ID of the local gateway.
100229	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
100230
100231	// The ID of the virtual interface group.
100232	LocalGatewayVirtualInterfaceGroupId *string `locationName:"localGatewayVirtualInterfaceGroupId" type:"string"`
100233
100234	// The IDs of the virtual interfaces.
100235	LocalGatewayVirtualInterfaceIds []*string `locationName:"localGatewayVirtualInterfaceIdSet" locationNameList:"item" type:"list"`
100236
100237	// The AWS account ID that owns the local gateway virtual interface group.
100238	OwnerId *string `locationName:"ownerId" type:"string"`
100239
100240	// The tags assigned to the virtual interface group.
100241	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
100242}
100243
100244// String returns the string representation
100245func (s LocalGatewayVirtualInterfaceGroup) String() string {
100246	return awsutil.Prettify(s)
100247}
100248
100249// GoString returns the string representation
100250func (s LocalGatewayVirtualInterfaceGroup) GoString() string {
100251	return s.String()
100252}
100253
100254// SetLocalGatewayId sets the LocalGatewayId field's value.
100255func (s *LocalGatewayVirtualInterfaceGroup) SetLocalGatewayId(v string) *LocalGatewayVirtualInterfaceGroup {
100256	s.LocalGatewayId = &v
100257	return s
100258}
100259
100260// SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
100261func (s *LocalGatewayVirtualInterfaceGroup) SetLocalGatewayVirtualInterfaceGroupId(v string) *LocalGatewayVirtualInterfaceGroup {
100262	s.LocalGatewayVirtualInterfaceGroupId = &v
100263	return s
100264}
100265
100266// SetLocalGatewayVirtualInterfaceIds sets the LocalGatewayVirtualInterfaceIds field's value.
100267func (s *LocalGatewayVirtualInterfaceGroup) SetLocalGatewayVirtualInterfaceIds(v []*string) *LocalGatewayVirtualInterfaceGroup {
100268	s.LocalGatewayVirtualInterfaceIds = v
100269	return s
100270}
100271
100272// SetOwnerId sets the OwnerId field's value.
100273func (s *LocalGatewayVirtualInterfaceGroup) SetOwnerId(v string) *LocalGatewayVirtualInterfaceGroup {
100274	s.OwnerId = &v
100275	return s
100276}
100277
100278// SetTags sets the Tags field's value.
100279func (s *LocalGatewayVirtualInterfaceGroup) SetTags(v []*Tag) *LocalGatewayVirtualInterfaceGroup {
100280	s.Tags = v
100281	return s
100282}
100283
100284// Describes a managed prefix list.
100285type ManagedPrefixList struct {
100286	_ struct{} `type:"structure"`
100287
100288	// The IP address version.
100289	AddressFamily *string `locationName:"addressFamily" type:"string"`
100290
100291	// The maximum number of entries for the prefix list.
100292	MaxEntries *int64 `locationName:"maxEntries" type:"integer"`
100293
100294	// The ID of the owner of the prefix list.
100295	OwnerId *string `locationName:"ownerId" type:"string"`
100296
100297	// The Amazon Resource Name (ARN) for the prefix list.
100298	PrefixListArn *string `locationName:"prefixListArn" min:"1" type:"string"`
100299
100300	// The ID of the prefix list.
100301	PrefixListId *string `locationName:"prefixListId" type:"string"`
100302
100303	// The name of the prefix list.
100304	PrefixListName *string `locationName:"prefixListName" type:"string"`
100305
100306	// The state of the prefix list.
100307	State *string `locationName:"state" type:"string" enum:"PrefixListState"`
100308
100309	// The state message.
100310	StateMessage *string `locationName:"stateMessage" type:"string"`
100311
100312	// The tags for the prefix list.
100313	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
100314
100315	// The version of the prefix list.
100316	Version *int64 `locationName:"version" type:"long"`
100317}
100318
100319// String returns the string representation
100320func (s ManagedPrefixList) String() string {
100321	return awsutil.Prettify(s)
100322}
100323
100324// GoString returns the string representation
100325func (s ManagedPrefixList) GoString() string {
100326	return s.String()
100327}
100328
100329// SetAddressFamily sets the AddressFamily field's value.
100330func (s *ManagedPrefixList) SetAddressFamily(v string) *ManagedPrefixList {
100331	s.AddressFamily = &v
100332	return s
100333}
100334
100335// SetMaxEntries sets the MaxEntries field's value.
100336func (s *ManagedPrefixList) SetMaxEntries(v int64) *ManagedPrefixList {
100337	s.MaxEntries = &v
100338	return s
100339}
100340
100341// SetOwnerId sets the OwnerId field's value.
100342func (s *ManagedPrefixList) SetOwnerId(v string) *ManagedPrefixList {
100343	s.OwnerId = &v
100344	return s
100345}
100346
100347// SetPrefixListArn sets the PrefixListArn field's value.
100348func (s *ManagedPrefixList) SetPrefixListArn(v string) *ManagedPrefixList {
100349	s.PrefixListArn = &v
100350	return s
100351}
100352
100353// SetPrefixListId sets the PrefixListId field's value.
100354func (s *ManagedPrefixList) SetPrefixListId(v string) *ManagedPrefixList {
100355	s.PrefixListId = &v
100356	return s
100357}
100358
100359// SetPrefixListName sets the PrefixListName field's value.
100360func (s *ManagedPrefixList) SetPrefixListName(v string) *ManagedPrefixList {
100361	s.PrefixListName = &v
100362	return s
100363}
100364
100365// SetState sets the State field's value.
100366func (s *ManagedPrefixList) SetState(v string) *ManagedPrefixList {
100367	s.State = &v
100368	return s
100369}
100370
100371// SetStateMessage sets the StateMessage field's value.
100372func (s *ManagedPrefixList) SetStateMessage(v string) *ManagedPrefixList {
100373	s.StateMessage = &v
100374	return s
100375}
100376
100377// SetTags sets the Tags field's value.
100378func (s *ManagedPrefixList) SetTags(v []*Tag) *ManagedPrefixList {
100379	s.Tags = v
100380	return s
100381}
100382
100383// SetVersion sets the Version field's value.
100384func (s *ManagedPrefixList) SetVersion(v int64) *ManagedPrefixList {
100385	s.Version = &v
100386	return s
100387}
100388
100389// Describes the memory for the instance type.
100390type MemoryInfo struct {
100391	_ struct{} `type:"structure"`
100392
100393	// The size of the memory, in MiB.
100394	SizeInMiB *int64 `locationName:"sizeInMiB" type:"long"`
100395}
100396
100397// String returns the string representation
100398func (s MemoryInfo) String() string {
100399	return awsutil.Prettify(s)
100400}
100401
100402// GoString returns the string representation
100403func (s MemoryInfo) GoString() string {
100404	return s.String()
100405}
100406
100407// SetSizeInMiB sets the SizeInMiB field's value.
100408func (s *MemoryInfo) SetSizeInMiB(v int64) *MemoryInfo {
100409	s.SizeInMiB = &v
100410	return s
100411}
100412
100413type ModifyAddressAttributeInput struct {
100414	_ struct{} `type:"structure"`
100415
100416	// [EC2-VPC] The allocation ID.
100417	//
100418	// AllocationId is a required field
100419	AllocationId *string `type:"string" required:"true"`
100420
100421	// The domain name to modify for the IP address.
100422	DomainName *string `type:"string"`
100423
100424	// Checks whether you have the required permissions for the action, without
100425	// actually making the request, and provides an error response. If you have
100426	// the required permissions, the error response is DryRunOperation. Otherwise,
100427	// it is UnauthorizedOperation.
100428	DryRun *bool `type:"boolean"`
100429}
100430
100431// String returns the string representation
100432func (s ModifyAddressAttributeInput) String() string {
100433	return awsutil.Prettify(s)
100434}
100435
100436// GoString returns the string representation
100437func (s ModifyAddressAttributeInput) GoString() string {
100438	return s.String()
100439}
100440
100441// Validate inspects the fields of the type to determine if they are valid.
100442func (s *ModifyAddressAttributeInput) Validate() error {
100443	invalidParams := request.ErrInvalidParams{Context: "ModifyAddressAttributeInput"}
100444	if s.AllocationId == nil {
100445		invalidParams.Add(request.NewErrParamRequired("AllocationId"))
100446	}
100447
100448	if invalidParams.Len() > 0 {
100449		return invalidParams
100450	}
100451	return nil
100452}
100453
100454// SetAllocationId sets the AllocationId field's value.
100455func (s *ModifyAddressAttributeInput) SetAllocationId(v string) *ModifyAddressAttributeInput {
100456	s.AllocationId = &v
100457	return s
100458}
100459
100460// SetDomainName sets the DomainName field's value.
100461func (s *ModifyAddressAttributeInput) SetDomainName(v string) *ModifyAddressAttributeInput {
100462	s.DomainName = &v
100463	return s
100464}
100465
100466// SetDryRun sets the DryRun field's value.
100467func (s *ModifyAddressAttributeInput) SetDryRun(v bool) *ModifyAddressAttributeInput {
100468	s.DryRun = &v
100469	return s
100470}
100471
100472type ModifyAddressAttributeOutput struct {
100473	_ struct{} `type:"structure"`
100474
100475	// Information about the Elastic IP address.
100476	Address *AddressAttribute `locationName:"address" type:"structure"`
100477}
100478
100479// String returns the string representation
100480func (s ModifyAddressAttributeOutput) String() string {
100481	return awsutil.Prettify(s)
100482}
100483
100484// GoString returns the string representation
100485func (s ModifyAddressAttributeOutput) GoString() string {
100486	return s.String()
100487}
100488
100489// SetAddress sets the Address field's value.
100490func (s *ModifyAddressAttributeOutput) SetAddress(v *AddressAttribute) *ModifyAddressAttributeOutput {
100491	s.Address = v
100492	return s
100493}
100494
100495type ModifyAvailabilityZoneGroupInput struct {
100496	_ struct{} `type:"structure"`
100497
100498	// Checks whether you have the required permissions for the action, without
100499	// actually making the request, and provides an error response. If you have
100500	// the required permissions, the error response is DryRunOperation. Otherwise,
100501	// it is UnauthorizedOperation.
100502	DryRun *bool `type:"boolean"`
100503
100504	// The name of the Availability Zone group, Local Zone group, or Wavelength
100505	// Zone group.
100506	//
100507	// GroupName is a required field
100508	GroupName *string `type:"string" required:"true"`
100509
100510	// Indicates whether you are opted in to the Local Zone group or Wavelength
100511	// Zone group. The only valid value is opted-in. You must contact AWS Support
100512	// (https://console.aws.amazon.com/support/home#/case/create%3FissueType=customer-service%26serviceCode=general-info%26getting-started%26categoryCode=using-aws%26services)
100513	// to opt out of a Local Zone group, or Wavelength Zone group.
100514	//
100515	// OptInStatus is a required field
100516	OptInStatus *string `type:"string" required:"true" enum:"ModifyAvailabilityZoneOptInStatus"`
100517}
100518
100519// String returns the string representation
100520func (s ModifyAvailabilityZoneGroupInput) String() string {
100521	return awsutil.Prettify(s)
100522}
100523
100524// GoString returns the string representation
100525func (s ModifyAvailabilityZoneGroupInput) GoString() string {
100526	return s.String()
100527}
100528
100529// Validate inspects the fields of the type to determine if they are valid.
100530func (s *ModifyAvailabilityZoneGroupInput) Validate() error {
100531	invalidParams := request.ErrInvalidParams{Context: "ModifyAvailabilityZoneGroupInput"}
100532	if s.GroupName == nil {
100533		invalidParams.Add(request.NewErrParamRequired("GroupName"))
100534	}
100535	if s.OptInStatus == nil {
100536		invalidParams.Add(request.NewErrParamRequired("OptInStatus"))
100537	}
100538
100539	if invalidParams.Len() > 0 {
100540		return invalidParams
100541	}
100542	return nil
100543}
100544
100545// SetDryRun sets the DryRun field's value.
100546func (s *ModifyAvailabilityZoneGroupInput) SetDryRun(v bool) *ModifyAvailabilityZoneGroupInput {
100547	s.DryRun = &v
100548	return s
100549}
100550
100551// SetGroupName sets the GroupName field's value.
100552func (s *ModifyAvailabilityZoneGroupInput) SetGroupName(v string) *ModifyAvailabilityZoneGroupInput {
100553	s.GroupName = &v
100554	return s
100555}
100556
100557// SetOptInStatus sets the OptInStatus field's value.
100558func (s *ModifyAvailabilityZoneGroupInput) SetOptInStatus(v string) *ModifyAvailabilityZoneGroupInput {
100559	s.OptInStatus = &v
100560	return s
100561}
100562
100563type ModifyAvailabilityZoneGroupOutput struct {
100564	_ struct{} `type:"structure"`
100565
100566	// Is true if the request succeeds, and an error otherwise.
100567	Return *bool `locationName:"return" type:"boolean"`
100568}
100569
100570// String returns the string representation
100571func (s ModifyAvailabilityZoneGroupOutput) String() string {
100572	return awsutil.Prettify(s)
100573}
100574
100575// GoString returns the string representation
100576func (s ModifyAvailabilityZoneGroupOutput) GoString() string {
100577	return s.String()
100578}
100579
100580// SetReturn sets the Return field's value.
100581func (s *ModifyAvailabilityZoneGroupOutput) SetReturn(v bool) *ModifyAvailabilityZoneGroupOutput {
100582	s.Return = &v
100583	return s
100584}
100585
100586type ModifyCapacityReservationInput struct {
100587	_ struct{} `type:"structure"`
100588
100589	// Reserved. Capacity Reservations you have created are accepted by default.
100590	Accept *bool `type:"boolean"`
100591
100592	// The ID of the Capacity Reservation.
100593	//
100594	// CapacityReservationId is a required field
100595	CapacityReservationId *string `type:"string" required:"true"`
100596
100597	// Checks whether you have the required permissions for the action, without
100598	// actually making the request, and provides an error response. If you have
100599	// the required permissions, the error response is DryRunOperation. Otherwise,
100600	// it is UnauthorizedOperation.
100601	DryRun *bool `type:"boolean"`
100602
100603	// The date and time at which the Capacity Reservation expires. When a Capacity
100604	// Reservation expires, the reserved capacity is released and you can no longer
100605	// launch instances into it. The Capacity Reservation's state changes to expired
100606	// when it reaches its end date and time.
100607	//
100608	// The Capacity Reservation is cancelled within an hour from the specified time.
100609	// For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation
100610	// is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.
100611	//
100612	// You must provide an EndDate value if EndDateType is limited. Omit EndDate
100613	// if EndDateType is unlimited.
100614	EndDate *time.Time `type:"timestamp"`
100615
100616	// Indicates the way in which the Capacity Reservation ends. A Capacity Reservation
100617	// can have one of the following end types:
100618	//
100619	//    * unlimited - The Capacity Reservation remains active until you explicitly
100620	//    cancel it. Do not provide an EndDate value if EndDateType is unlimited.
100621	//
100622	//    * limited - The Capacity Reservation expires automatically at a specified
100623	//    date and time. You must provide an EndDate value if EndDateType is limited.
100624	EndDateType *string `type:"string" enum:"EndDateType"`
100625
100626	// The number of instances for which to reserve capacity.
100627	//
100628	// Valid range: 1 - 1000
100629	InstanceCount *int64 `type:"integer"`
100630}
100631
100632// String returns the string representation
100633func (s ModifyCapacityReservationInput) String() string {
100634	return awsutil.Prettify(s)
100635}
100636
100637// GoString returns the string representation
100638func (s ModifyCapacityReservationInput) GoString() string {
100639	return s.String()
100640}
100641
100642// Validate inspects the fields of the type to determine if they are valid.
100643func (s *ModifyCapacityReservationInput) Validate() error {
100644	invalidParams := request.ErrInvalidParams{Context: "ModifyCapacityReservationInput"}
100645	if s.CapacityReservationId == nil {
100646		invalidParams.Add(request.NewErrParamRequired("CapacityReservationId"))
100647	}
100648
100649	if invalidParams.Len() > 0 {
100650		return invalidParams
100651	}
100652	return nil
100653}
100654
100655// SetAccept sets the Accept field's value.
100656func (s *ModifyCapacityReservationInput) SetAccept(v bool) *ModifyCapacityReservationInput {
100657	s.Accept = &v
100658	return s
100659}
100660
100661// SetCapacityReservationId sets the CapacityReservationId field's value.
100662func (s *ModifyCapacityReservationInput) SetCapacityReservationId(v string) *ModifyCapacityReservationInput {
100663	s.CapacityReservationId = &v
100664	return s
100665}
100666
100667// SetDryRun sets the DryRun field's value.
100668func (s *ModifyCapacityReservationInput) SetDryRun(v bool) *ModifyCapacityReservationInput {
100669	s.DryRun = &v
100670	return s
100671}
100672
100673// SetEndDate sets the EndDate field's value.
100674func (s *ModifyCapacityReservationInput) SetEndDate(v time.Time) *ModifyCapacityReservationInput {
100675	s.EndDate = &v
100676	return s
100677}
100678
100679// SetEndDateType sets the EndDateType field's value.
100680func (s *ModifyCapacityReservationInput) SetEndDateType(v string) *ModifyCapacityReservationInput {
100681	s.EndDateType = &v
100682	return s
100683}
100684
100685// SetInstanceCount sets the InstanceCount field's value.
100686func (s *ModifyCapacityReservationInput) SetInstanceCount(v int64) *ModifyCapacityReservationInput {
100687	s.InstanceCount = &v
100688	return s
100689}
100690
100691type ModifyCapacityReservationOutput struct {
100692	_ struct{} `type:"structure"`
100693
100694	// Returns true if the request succeeds; otherwise, it returns an error.
100695	Return *bool `locationName:"return" type:"boolean"`
100696}
100697
100698// String returns the string representation
100699func (s ModifyCapacityReservationOutput) String() string {
100700	return awsutil.Prettify(s)
100701}
100702
100703// GoString returns the string representation
100704func (s ModifyCapacityReservationOutput) GoString() string {
100705	return s.String()
100706}
100707
100708// SetReturn sets the Return field's value.
100709func (s *ModifyCapacityReservationOutput) SetReturn(v bool) *ModifyCapacityReservationOutput {
100710	s.Return = &v
100711	return s
100712}
100713
100714type ModifyClientVpnEndpointInput struct {
100715	_ struct{} `type:"structure"`
100716
100717	// The options for managing connection authorization for new client connections.
100718	ClientConnectOptions *ClientConnectOptions `type:"structure"`
100719
100720	// The ID of the Client VPN endpoint to modify.
100721	//
100722	// ClientVpnEndpointId is a required field
100723	ClientVpnEndpointId *string `type:"string" required:"true"`
100724
100725	// Information about the client connection logging options.
100726	//
100727	// If you enable client connection logging, data about client connections is
100728	// sent to a Cloudwatch Logs log stream. The following information is logged:
100729	//
100730	//    * Client connection requests
100731	//
100732	//    * Client connection results (successful and unsuccessful)
100733	//
100734	//    * Reasons for unsuccessful client connection requests
100735	//
100736	//    * Client connection termination time
100737	ConnectionLogOptions *ConnectionLogOptions `type:"structure"`
100738
100739	// A brief description of the Client VPN endpoint.
100740	Description *string `type:"string"`
100741
100742	// Information about the DNS servers to be used by Client VPN connections. A
100743	// Client VPN endpoint can have up to two DNS servers.
100744	DnsServers *DnsServersOptionsModifyStructure `type:"structure"`
100745
100746	// Checks whether you have the required permissions for the action, without
100747	// actually making the request, and provides an error response. If you have
100748	// the required permissions, the error response is DryRunOperation. Otherwise,
100749	// it is UnauthorizedOperation.
100750	DryRun *bool `type:"boolean"`
100751
100752	// The IDs of one or more security groups to apply to the target network.
100753	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
100754
100755	// Specify whether to enable the self-service portal for the Client VPN endpoint.
100756	SelfServicePortal *string `type:"string" enum:"SelfServicePortal"`
100757
100758	// The ARN of the server certificate to be used. The server certificate must
100759	// be provisioned in AWS Certificate Manager (ACM).
100760	ServerCertificateArn *string `type:"string"`
100761
100762	// Indicates whether the VPN is split-tunnel.
100763	//
100764	// For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client
100765	// VPN Endpoint (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html)
100766	// in the AWS Client VPN Administrator Guide.
100767	SplitTunnel *bool `type:"boolean"`
100768
100769	// The ID of the VPC to associate with the Client VPN endpoint.
100770	VpcId *string `type:"string"`
100771
100772	// The port number to assign to the Client VPN endpoint for TCP and UDP traffic.
100773	//
100774	// Valid Values: 443 | 1194
100775	//
100776	// Default Value: 443
100777	VpnPort *int64 `type:"integer"`
100778}
100779
100780// String returns the string representation
100781func (s ModifyClientVpnEndpointInput) String() string {
100782	return awsutil.Prettify(s)
100783}
100784
100785// GoString returns the string representation
100786func (s ModifyClientVpnEndpointInput) GoString() string {
100787	return s.String()
100788}
100789
100790// Validate inspects the fields of the type to determine if they are valid.
100791func (s *ModifyClientVpnEndpointInput) Validate() error {
100792	invalidParams := request.ErrInvalidParams{Context: "ModifyClientVpnEndpointInput"}
100793	if s.ClientVpnEndpointId == nil {
100794		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
100795	}
100796
100797	if invalidParams.Len() > 0 {
100798		return invalidParams
100799	}
100800	return nil
100801}
100802
100803// SetClientConnectOptions sets the ClientConnectOptions field's value.
100804func (s *ModifyClientVpnEndpointInput) SetClientConnectOptions(v *ClientConnectOptions) *ModifyClientVpnEndpointInput {
100805	s.ClientConnectOptions = v
100806	return s
100807}
100808
100809// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
100810func (s *ModifyClientVpnEndpointInput) SetClientVpnEndpointId(v string) *ModifyClientVpnEndpointInput {
100811	s.ClientVpnEndpointId = &v
100812	return s
100813}
100814
100815// SetConnectionLogOptions sets the ConnectionLogOptions field's value.
100816func (s *ModifyClientVpnEndpointInput) SetConnectionLogOptions(v *ConnectionLogOptions) *ModifyClientVpnEndpointInput {
100817	s.ConnectionLogOptions = v
100818	return s
100819}
100820
100821// SetDescription sets the Description field's value.
100822func (s *ModifyClientVpnEndpointInput) SetDescription(v string) *ModifyClientVpnEndpointInput {
100823	s.Description = &v
100824	return s
100825}
100826
100827// SetDnsServers sets the DnsServers field's value.
100828func (s *ModifyClientVpnEndpointInput) SetDnsServers(v *DnsServersOptionsModifyStructure) *ModifyClientVpnEndpointInput {
100829	s.DnsServers = v
100830	return s
100831}
100832
100833// SetDryRun sets the DryRun field's value.
100834func (s *ModifyClientVpnEndpointInput) SetDryRun(v bool) *ModifyClientVpnEndpointInput {
100835	s.DryRun = &v
100836	return s
100837}
100838
100839// SetSecurityGroupIds sets the SecurityGroupIds field's value.
100840func (s *ModifyClientVpnEndpointInput) SetSecurityGroupIds(v []*string) *ModifyClientVpnEndpointInput {
100841	s.SecurityGroupIds = v
100842	return s
100843}
100844
100845// SetSelfServicePortal sets the SelfServicePortal field's value.
100846func (s *ModifyClientVpnEndpointInput) SetSelfServicePortal(v string) *ModifyClientVpnEndpointInput {
100847	s.SelfServicePortal = &v
100848	return s
100849}
100850
100851// SetServerCertificateArn sets the ServerCertificateArn field's value.
100852func (s *ModifyClientVpnEndpointInput) SetServerCertificateArn(v string) *ModifyClientVpnEndpointInput {
100853	s.ServerCertificateArn = &v
100854	return s
100855}
100856
100857// SetSplitTunnel sets the SplitTunnel field's value.
100858func (s *ModifyClientVpnEndpointInput) SetSplitTunnel(v bool) *ModifyClientVpnEndpointInput {
100859	s.SplitTunnel = &v
100860	return s
100861}
100862
100863// SetVpcId sets the VpcId field's value.
100864func (s *ModifyClientVpnEndpointInput) SetVpcId(v string) *ModifyClientVpnEndpointInput {
100865	s.VpcId = &v
100866	return s
100867}
100868
100869// SetVpnPort sets the VpnPort field's value.
100870func (s *ModifyClientVpnEndpointInput) SetVpnPort(v int64) *ModifyClientVpnEndpointInput {
100871	s.VpnPort = &v
100872	return s
100873}
100874
100875type ModifyClientVpnEndpointOutput struct {
100876	_ struct{} `type:"structure"`
100877
100878	// Returns true if the request succeeds; otherwise, it returns an error.
100879	Return *bool `locationName:"return" type:"boolean"`
100880}
100881
100882// String returns the string representation
100883func (s ModifyClientVpnEndpointOutput) String() string {
100884	return awsutil.Prettify(s)
100885}
100886
100887// GoString returns the string representation
100888func (s ModifyClientVpnEndpointOutput) GoString() string {
100889	return s.String()
100890}
100891
100892// SetReturn sets the Return field's value.
100893func (s *ModifyClientVpnEndpointOutput) SetReturn(v bool) *ModifyClientVpnEndpointOutput {
100894	s.Return = &v
100895	return s
100896}
100897
100898type ModifyDefaultCreditSpecificationInput struct {
100899	_ struct{} `type:"structure"`
100900
100901	// The credit option for CPU usage of the instance family.
100902	//
100903	// Valid Values: standard | unlimited
100904	//
100905	// CpuCredits is a required field
100906	CpuCredits *string `type:"string" required:"true"`
100907
100908	// Checks whether you have the required permissions for the action, without
100909	// actually making the request, and provides an error response. If you have
100910	// the required permissions, the error response is DryRunOperation. Otherwise,
100911	// it is UnauthorizedOperation.
100912	DryRun *bool `type:"boolean"`
100913
100914	// The instance family.
100915	//
100916	// InstanceFamily is a required field
100917	InstanceFamily *string `type:"string" required:"true" enum:"UnlimitedSupportedInstanceFamily"`
100918}
100919
100920// String returns the string representation
100921func (s ModifyDefaultCreditSpecificationInput) String() string {
100922	return awsutil.Prettify(s)
100923}
100924
100925// GoString returns the string representation
100926func (s ModifyDefaultCreditSpecificationInput) GoString() string {
100927	return s.String()
100928}
100929
100930// Validate inspects the fields of the type to determine if they are valid.
100931func (s *ModifyDefaultCreditSpecificationInput) Validate() error {
100932	invalidParams := request.ErrInvalidParams{Context: "ModifyDefaultCreditSpecificationInput"}
100933	if s.CpuCredits == nil {
100934		invalidParams.Add(request.NewErrParamRequired("CpuCredits"))
100935	}
100936	if s.InstanceFamily == nil {
100937		invalidParams.Add(request.NewErrParamRequired("InstanceFamily"))
100938	}
100939
100940	if invalidParams.Len() > 0 {
100941		return invalidParams
100942	}
100943	return nil
100944}
100945
100946// SetCpuCredits sets the CpuCredits field's value.
100947func (s *ModifyDefaultCreditSpecificationInput) SetCpuCredits(v string) *ModifyDefaultCreditSpecificationInput {
100948	s.CpuCredits = &v
100949	return s
100950}
100951
100952// SetDryRun sets the DryRun field's value.
100953func (s *ModifyDefaultCreditSpecificationInput) SetDryRun(v bool) *ModifyDefaultCreditSpecificationInput {
100954	s.DryRun = &v
100955	return s
100956}
100957
100958// SetInstanceFamily sets the InstanceFamily field's value.
100959func (s *ModifyDefaultCreditSpecificationInput) SetInstanceFamily(v string) *ModifyDefaultCreditSpecificationInput {
100960	s.InstanceFamily = &v
100961	return s
100962}
100963
100964type ModifyDefaultCreditSpecificationOutput struct {
100965	_ struct{} `type:"structure"`
100966
100967	// The default credit option for CPU usage of the instance family.
100968	InstanceFamilyCreditSpecification *InstanceFamilyCreditSpecification `locationName:"instanceFamilyCreditSpecification" type:"structure"`
100969}
100970
100971// String returns the string representation
100972func (s ModifyDefaultCreditSpecificationOutput) String() string {
100973	return awsutil.Prettify(s)
100974}
100975
100976// GoString returns the string representation
100977func (s ModifyDefaultCreditSpecificationOutput) GoString() string {
100978	return s.String()
100979}
100980
100981// SetInstanceFamilyCreditSpecification sets the InstanceFamilyCreditSpecification field's value.
100982func (s *ModifyDefaultCreditSpecificationOutput) SetInstanceFamilyCreditSpecification(v *InstanceFamilyCreditSpecification) *ModifyDefaultCreditSpecificationOutput {
100983	s.InstanceFamilyCreditSpecification = v
100984	return s
100985}
100986
100987type ModifyEbsDefaultKmsKeyIdInput struct {
100988	_ struct{} `type:"structure"`
100989
100990	// Checks whether you have the required permissions for the action, without
100991	// actually making the request, and provides an error response. If you have
100992	// the required permissions, the error response is DryRunOperation. Otherwise,
100993	// it is UnauthorizedOperation.
100994	DryRun *bool `type:"boolean"`
100995
100996	// The identifier of the Key Management Service (KMS) KMS key to use for Amazon
100997	// EBS encryption. If this parameter is not specified, your KMS key for Amazon
100998	// EBS is used. If KmsKeyId is specified, the encrypted state must be true.
100999	//
101000	// You can specify the KMS key using any of the following:
101001	//
101002	//    * Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.
101003	//
101004	//    * Key alias. For example, alias/ExampleAlias.
101005	//
101006	//    * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.
101007	//
101008	//    * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
101009	//
101010	// Amazon Web Services authenticates the KMS key asynchronously. Therefore,
101011	// if you specify an ID, alias, or ARN that is not valid, the action can appear
101012	// to complete, but eventually fails.
101013	//
101014	// Amazon EBS does not support asymmetric KMS keys.
101015	//
101016	// KmsKeyId is a required field
101017	KmsKeyId *string `type:"string" required:"true"`
101018}
101019
101020// String returns the string representation
101021func (s ModifyEbsDefaultKmsKeyIdInput) String() string {
101022	return awsutil.Prettify(s)
101023}
101024
101025// GoString returns the string representation
101026func (s ModifyEbsDefaultKmsKeyIdInput) GoString() string {
101027	return s.String()
101028}
101029
101030// Validate inspects the fields of the type to determine if they are valid.
101031func (s *ModifyEbsDefaultKmsKeyIdInput) Validate() error {
101032	invalidParams := request.ErrInvalidParams{Context: "ModifyEbsDefaultKmsKeyIdInput"}
101033	if s.KmsKeyId == nil {
101034		invalidParams.Add(request.NewErrParamRequired("KmsKeyId"))
101035	}
101036
101037	if invalidParams.Len() > 0 {
101038		return invalidParams
101039	}
101040	return nil
101041}
101042
101043// SetDryRun sets the DryRun field's value.
101044func (s *ModifyEbsDefaultKmsKeyIdInput) SetDryRun(v bool) *ModifyEbsDefaultKmsKeyIdInput {
101045	s.DryRun = &v
101046	return s
101047}
101048
101049// SetKmsKeyId sets the KmsKeyId field's value.
101050func (s *ModifyEbsDefaultKmsKeyIdInput) SetKmsKeyId(v string) *ModifyEbsDefaultKmsKeyIdInput {
101051	s.KmsKeyId = &v
101052	return s
101053}
101054
101055type ModifyEbsDefaultKmsKeyIdOutput struct {
101056	_ struct{} `type:"structure"`
101057
101058	// The Amazon Resource Name (ARN) of the default KMS key for encryption by default.
101059	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
101060}
101061
101062// String returns the string representation
101063func (s ModifyEbsDefaultKmsKeyIdOutput) String() string {
101064	return awsutil.Prettify(s)
101065}
101066
101067// GoString returns the string representation
101068func (s ModifyEbsDefaultKmsKeyIdOutput) GoString() string {
101069	return s.String()
101070}
101071
101072// SetKmsKeyId sets the KmsKeyId field's value.
101073func (s *ModifyEbsDefaultKmsKeyIdOutput) SetKmsKeyId(v string) *ModifyEbsDefaultKmsKeyIdOutput {
101074	s.KmsKeyId = &v
101075	return s
101076}
101077
101078type ModifyFleetInput struct {
101079	_ struct{} `type:"structure"`
101080
101081	// Reserved.
101082	Context *string `type:"string"`
101083
101084	// Checks whether you have the required permissions for the action, without
101085	// actually making the request, and provides an error response. If you have
101086	// the required permissions, the error response is DryRunOperation. Otherwise,
101087	// it is UnauthorizedOperation.
101088	DryRun *bool `type:"boolean"`
101089
101090	// Indicates whether running instances should be terminated if the total target
101091	// capacity of the EC2 Fleet is decreased below the current size of the EC2
101092	// Fleet.
101093	ExcessCapacityTerminationPolicy *string `type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
101094
101095	// The ID of the EC2 Fleet.
101096	//
101097	// FleetId is a required field
101098	FleetId *string `type:"string" required:"true"`
101099
101100	// The launch template and overrides.
101101	LaunchTemplateConfigs []*FleetLaunchTemplateConfigRequest `locationName:"LaunchTemplateConfig" locationNameList:"item" type:"list"`
101102
101103	// The size of the EC2 Fleet.
101104	TargetCapacitySpecification *TargetCapacitySpecificationRequest `type:"structure"`
101105}
101106
101107// String returns the string representation
101108func (s ModifyFleetInput) String() string {
101109	return awsutil.Prettify(s)
101110}
101111
101112// GoString returns the string representation
101113func (s ModifyFleetInput) GoString() string {
101114	return s.String()
101115}
101116
101117// Validate inspects the fields of the type to determine if they are valid.
101118func (s *ModifyFleetInput) Validate() error {
101119	invalidParams := request.ErrInvalidParams{Context: "ModifyFleetInput"}
101120	if s.FleetId == nil {
101121		invalidParams.Add(request.NewErrParamRequired("FleetId"))
101122	}
101123	if s.LaunchTemplateConfigs != nil {
101124		for i, v := range s.LaunchTemplateConfigs {
101125			if v == nil {
101126				continue
101127			}
101128			if err := v.Validate(); err != nil {
101129				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigs", i), err.(request.ErrInvalidParams))
101130			}
101131		}
101132	}
101133	if s.TargetCapacitySpecification != nil {
101134		if err := s.TargetCapacitySpecification.Validate(); err != nil {
101135			invalidParams.AddNested("TargetCapacitySpecification", err.(request.ErrInvalidParams))
101136		}
101137	}
101138
101139	if invalidParams.Len() > 0 {
101140		return invalidParams
101141	}
101142	return nil
101143}
101144
101145// SetContext sets the Context field's value.
101146func (s *ModifyFleetInput) SetContext(v string) *ModifyFleetInput {
101147	s.Context = &v
101148	return s
101149}
101150
101151// SetDryRun sets the DryRun field's value.
101152func (s *ModifyFleetInput) SetDryRun(v bool) *ModifyFleetInput {
101153	s.DryRun = &v
101154	return s
101155}
101156
101157// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
101158func (s *ModifyFleetInput) SetExcessCapacityTerminationPolicy(v string) *ModifyFleetInput {
101159	s.ExcessCapacityTerminationPolicy = &v
101160	return s
101161}
101162
101163// SetFleetId sets the FleetId field's value.
101164func (s *ModifyFleetInput) SetFleetId(v string) *ModifyFleetInput {
101165	s.FleetId = &v
101166	return s
101167}
101168
101169// SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
101170func (s *ModifyFleetInput) SetLaunchTemplateConfigs(v []*FleetLaunchTemplateConfigRequest) *ModifyFleetInput {
101171	s.LaunchTemplateConfigs = v
101172	return s
101173}
101174
101175// SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
101176func (s *ModifyFleetInput) SetTargetCapacitySpecification(v *TargetCapacitySpecificationRequest) *ModifyFleetInput {
101177	s.TargetCapacitySpecification = v
101178	return s
101179}
101180
101181type ModifyFleetOutput struct {
101182	_ struct{} `type:"structure"`
101183
101184	// Is true if the request succeeds, and an error otherwise.
101185	Return *bool `locationName:"return" type:"boolean"`
101186}
101187
101188// String returns the string representation
101189func (s ModifyFleetOutput) String() string {
101190	return awsutil.Prettify(s)
101191}
101192
101193// GoString returns the string representation
101194func (s ModifyFleetOutput) GoString() string {
101195	return s.String()
101196}
101197
101198// SetReturn sets the Return field's value.
101199func (s *ModifyFleetOutput) SetReturn(v bool) *ModifyFleetOutput {
101200	s.Return = &v
101201	return s
101202}
101203
101204type ModifyFpgaImageAttributeInput struct {
101205	_ struct{} `type:"structure"`
101206
101207	// The name of the attribute.
101208	Attribute *string `type:"string" enum:"FpgaImageAttributeName"`
101209
101210	// A description for the AFI.
101211	Description *string `type:"string"`
101212
101213	// Checks whether you have the required permissions for the action, without
101214	// actually making the request, and provides an error response. If you have
101215	// the required permissions, the error response is DryRunOperation. Otherwise,
101216	// it is UnauthorizedOperation.
101217	DryRun *bool `type:"boolean"`
101218
101219	// The ID of the AFI.
101220	//
101221	// FpgaImageId is a required field
101222	FpgaImageId *string `type:"string" required:"true"`
101223
101224	// The load permission for the AFI.
101225	LoadPermission *LoadPermissionModifications `type:"structure"`
101226
101227	// A name for the AFI.
101228	Name *string `type:"string"`
101229
101230	// The operation type.
101231	OperationType *string `type:"string" enum:"OperationType"`
101232
101233	// The product codes. After you add a product code to an AFI, it can't be removed.
101234	// This parameter is valid only when modifying the productCodes attribute.
101235	ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
101236
101237	// The user groups. This parameter is valid only when modifying the loadPermission
101238	// attribute.
101239	UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
101240
101241	// The AWS account IDs. This parameter is valid only when modifying the loadPermission
101242	// attribute.
101243	UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
101244}
101245
101246// String returns the string representation
101247func (s ModifyFpgaImageAttributeInput) String() string {
101248	return awsutil.Prettify(s)
101249}
101250
101251// GoString returns the string representation
101252func (s ModifyFpgaImageAttributeInput) GoString() string {
101253	return s.String()
101254}
101255
101256// Validate inspects the fields of the type to determine if they are valid.
101257func (s *ModifyFpgaImageAttributeInput) Validate() error {
101258	invalidParams := request.ErrInvalidParams{Context: "ModifyFpgaImageAttributeInput"}
101259	if s.FpgaImageId == nil {
101260		invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
101261	}
101262
101263	if invalidParams.Len() > 0 {
101264		return invalidParams
101265	}
101266	return nil
101267}
101268
101269// SetAttribute sets the Attribute field's value.
101270func (s *ModifyFpgaImageAttributeInput) SetAttribute(v string) *ModifyFpgaImageAttributeInput {
101271	s.Attribute = &v
101272	return s
101273}
101274
101275// SetDescription sets the Description field's value.
101276func (s *ModifyFpgaImageAttributeInput) SetDescription(v string) *ModifyFpgaImageAttributeInput {
101277	s.Description = &v
101278	return s
101279}
101280
101281// SetDryRun sets the DryRun field's value.
101282func (s *ModifyFpgaImageAttributeInput) SetDryRun(v bool) *ModifyFpgaImageAttributeInput {
101283	s.DryRun = &v
101284	return s
101285}
101286
101287// SetFpgaImageId sets the FpgaImageId field's value.
101288func (s *ModifyFpgaImageAttributeInput) SetFpgaImageId(v string) *ModifyFpgaImageAttributeInput {
101289	s.FpgaImageId = &v
101290	return s
101291}
101292
101293// SetLoadPermission sets the LoadPermission field's value.
101294func (s *ModifyFpgaImageAttributeInput) SetLoadPermission(v *LoadPermissionModifications) *ModifyFpgaImageAttributeInput {
101295	s.LoadPermission = v
101296	return s
101297}
101298
101299// SetName sets the Name field's value.
101300func (s *ModifyFpgaImageAttributeInput) SetName(v string) *ModifyFpgaImageAttributeInput {
101301	s.Name = &v
101302	return s
101303}
101304
101305// SetOperationType sets the OperationType field's value.
101306func (s *ModifyFpgaImageAttributeInput) SetOperationType(v string) *ModifyFpgaImageAttributeInput {
101307	s.OperationType = &v
101308	return s
101309}
101310
101311// SetProductCodes sets the ProductCodes field's value.
101312func (s *ModifyFpgaImageAttributeInput) SetProductCodes(v []*string) *ModifyFpgaImageAttributeInput {
101313	s.ProductCodes = v
101314	return s
101315}
101316
101317// SetUserGroups sets the UserGroups field's value.
101318func (s *ModifyFpgaImageAttributeInput) SetUserGroups(v []*string) *ModifyFpgaImageAttributeInput {
101319	s.UserGroups = v
101320	return s
101321}
101322
101323// SetUserIds sets the UserIds field's value.
101324func (s *ModifyFpgaImageAttributeInput) SetUserIds(v []*string) *ModifyFpgaImageAttributeInput {
101325	s.UserIds = v
101326	return s
101327}
101328
101329type ModifyFpgaImageAttributeOutput struct {
101330	_ struct{} `type:"structure"`
101331
101332	// Information about the attribute.
101333	FpgaImageAttribute *FpgaImageAttribute `locationName:"fpgaImageAttribute" type:"structure"`
101334}
101335
101336// String returns the string representation
101337func (s ModifyFpgaImageAttributeOutput) String() string {
101338	return awsutil.Prettify(s)
101339}
101340
101341// GoString returns the string representation
101342func (s ModifyFpgaImageAttributeOutput) GoString() string {
101343	return s.String()
101344}
101345
101346// SetFpgaImageAttribute sets the FpgaImageAttribute field's value.
101347func (s *ModifyFpgaImageAttributeOutput) SetFpgaImageAttribute(v *FpgaImageAttribute) *ModifyFpgaImageAttributeOutput {
101348	s.FpgaImageAttribute = v
101349	return s
101350}
101351
101352type ModifyHostsInput struct {
101353	_ struct{} `type:"structure"`
101354
101355	// Specify whether to enable or disable auto-placement.
101356	AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
101357
101358	// The IDs of the Dedicated Hosts to modify.
101359	//
101360	// HostIds is a required field
101361	HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
101362
101363	// Indicates whether to enable or disable host recovery for the Dedicated Host.
101364	// For more information, see Host recovery (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html)
101365	// in the Amazon EC2 User Guide.
101366	HostRecovery *string `type:"string" enum:"HostRecovery"`
101367
101368	// Specifies the instance family to be supported by the Dedicated Host. Specify
101369	// this parameter to modify a Dedicated Host to support multiple instance types
101370	// within its current instance family.
101371	//
101372	// If you want to modify a Dedicated Host to support a specific instance type
101373	// only, omit this parameter and specify InstanceType instead. You cannot specify
101374	// InstanceFamily and InstanceType in the same request.
101375	InstanceFamily *string `type:"string"`
101376
101377	// Specifies the instance type to be supported by the Dedicated Host. Specify
101378	// this parameter to modify a Dedicated Host to support only a specific instance
101379	// type.
101380	//
101381	// If you want to modify a Dedicated Host to support multiple instance types
101382	// in its current instance family, omit this parameter and specify InstanceFamily
101383	// instead. You cannot specify InstanceType and InstanceFamily in the same request.
101384	InstanceType *string `type:"string"`
101385}
101386
101387// String returns the string representation
101388func (s ModifyHostsInput) String() string {
101389	return awsutil.Prettify(s)
101390}
101391
101392// GoString returns the string representation
101393func (s ModifyHostsInput) GoString() string {
101394	return s.String()
101395}
101396
101397// Validate inspects the fields of the type to determine if they are valid.
101398func (s *ModifyHostsInput) Validate() error {
101399	invalidParams := request.ErrInvalidParams{Context: "ModifyHostsInput"}
101400	if s.HostIds == nil {
101401		invalidParams.Add(request.NewErrParamRequired("HostIds"))
101402	}
101403
101404	if invalidParams.Len() > 0 {
101405		return invalidParams
101406	}
101407	return nil
101408}
101409
101410// SetAutoPlacement sets the AutoPlacement field's value.
101411func (s *ModifyHostsInput) SetAutoPlacement(v string) *ModifyHostsInput {
101412	s.AutoPlacement = &v
101413	return s
101414}
101415
101416// SetHostIds sets the HostIds field's value.
101417func (s *ModifyHostsInput) SetHostIds(v []*string) *ModifyHostsInput {
101418	s.HostIds = v
101419	return s
101420}
101421
101422// SetHostRecovery sets the HostRecovery field's value.
101423func (s *ModifyHostsInput) SetHostRecovery(v string) *ModifyHostsInput {
101424	s.HostRecovery = &v
101425	return s
101426}
101427
101428// SetInstanceFamily sets the InstanceFamily field's value.
101429func (s *ModifyHostsInput) SetInstanceFamily(v string) *ModifyHostsInput {
101430	s.InstanceFamily = &v
101431	return s
101432}
101433
101434// SetInstanceType sets the InstanceType field's value.
101435func (s *ModifyHostsInput) SetInstanceType(v string) *ModifyHostsInput {
101436	s.InstanceType = &v
101437	return s
101438}
101439
101440type ModifyHostsOutput struct {
101441	_ struct{} `type:"structure"`
101442
101443	// The IDs of the Dedicated Hosts that were successfully modified.
101444	Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
101445
101446	// The IDs of the Dedicated Hosts that could not be modified. Check whether
101447	// the setting you requested can be used.
101448	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
101449}
101450
101451// String returns the string representation
101452func (s ModifyHostsOutput) String() string {
101453	return awsutil.Prettify(s)
101454}
101455
101456// GoString returns the string representation
101457func (s ModifyHostsOutput) GoString() string {
101458	return s.String()
101459}
101460
101461// SetSuccessful sets the Successful field's value.
101462func (s *ModifyHostsOutput) SetSuccessful(v []*string) *ModifyHostsOutput {
101463	s.Successful = v
101464	return s
101465}
101466
101467// SetUnsuccessful sets the Unsuccessful field's value.
101468func (s *ModifyHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ModifyHostsOutput {
101469	s.Unsuccessful = v
101470	return s
101471}
101472
101473type ModifyIdFormatInput struct {
101474	_ struct{} `type:"structure"`
101475
101476	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
101477	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
101478	// | image | import-task | internet-gateway | network-acl | network-acl-association
101479	// | network-interface | network-interface-attachment | prefix-list | route-table
101480	// | route-table-association | security-group | subnet | subnet-cidr-block-association
101481	// | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection
101482	// | vpn-connection | vpn-gateway.
101483	//
101484	// Alternatively, use the all-current option to include all resource types that
101485	// are currently within their opt-in period for longer IDs.
101486	//
101487	// Resource is a required field
101488	Resource *string `type:"string" required:"true"`
101489
101490	// Indicate whether the resource should use longer IDs (17-character IDs).
101491	//
101492	// UseLongIds is a required field
101493	UseLongIds *bool `type:"boolean" required:"true"`
101494}
101495
101496// String returns the string representation
101497func (s ModifyIdFormatInput) String() string {
101498	return awsutil.Prettify(s)
101499}
101500
101501// GoString returns the string representation
101502func (s ModifyIdFormatInput) GoString() string {
101503	return s.String()
101504}
101505
101506// Validate inspects the fields of the type to determine if they are valid.
101507func (s *ModifyIdFormatInput) Validate() error {
101508	invalidParams := request.ErrInvalidParams{Context: "ModifyIdFormatInput"}
101509	if s.Resource == nil {
101510		invalidParams.Add(request.NewErrParamRequired("Resource"))
101511	}
101512	if s.UseLongIds == nil {
101513		invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
101514	}
101515
101516	if invalidParams.Len() > 0 {
101517		return invalidParams
101518	}
101519	return nil
101520}
101521
101522// SetResource sets the Resource field's value.
101523func (s *ModifyIdFormatInput) SetResource(v string) *ModifyIdFormatInput {
101524	s.Resource = &v
101525	return s
101526}
101527
101528// SetUseLongIds sets the UseLongIds field's value.
101529func (s *ModifyIdFormatInput) SetUseLongIds(v bool) *ModifyIdFormatInput {
101530	s.UseLongIds = &v
101531	return s
101532}
101533
101534type ModifyIdFormatOutput struct {
101535	_ struct{} `type:"structure"`
101536}
101537
101538// String returns the string representation
101539func (s ModifyIdFormatOutput) String() string {
101540	return awsutil.Prettify(s)
101541}
101542
101543// GoString returns the string representation
101544func (s ModifyIdFormatOutput) GoString() string {
101545	return s.String()
101546}
101547
101548type ModifyIdentityIdFormatInput struct {
101549	_ struct{} `type:"structure"`
101550
101551	// The ARN of the principal, which can be an IAM user, IAM role, or the root
101552	// user. Specify all to modify the ID format for all IAM users, IAM roles, and
101553	// the root user of the account.
101554	//
101555	// PrincipalArn is a required field
101556	PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
101557
101558	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
101559	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
101560	// | image | import-task | internet-gateway | network-acl | network-acl-association
101561	// | network-interface | network-interface-attachment | prefix-list | route-table
101562	// | route-table-association | security-group | subnet | subnet-cidr-block-association
101563	// | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection
101564	// | vpn-connection | vpn-gateway.
101565	//
101566	// Alternatively, use the all-current option to include all resource types that
101567	// are currently within their opt-in period for longer IDs.
101568	//
101569	// Resource is a required field
101570	Resource *string `locationName:"resource" type:"string" required:"true"`
101571
101572	// Indicates whether the resource should use longer IDs (17-character IDs)
101573	//
101574	// UseLongIds is a required field
101575	UseLongIds *bool `locationName:"useLongIds" type:"boolean" required:"true"`
101576}
101577
101578// String returns the string representation
101579func (s ModifyIdentityIdFormatInput) String() string {
101580	return awsutil.Prettify(s)
101581}
101582
101583// GoString returns the string representation
101584func (s ModifyIdentityIdFormatInput) GoString() string {
101585	return s.String()
101586}
101587
101588// Validate inspects the fields of the type to determine if they are valid.
101589func (s *ModifyIdentityIdFormatInput) Validate() error {
101590	invalidParams := request.ErrInvalidParams{Context: "ModifyIdentityIdFormatInput"}
101591	if s.PrincipalArn == nil {
101592		invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
101593	}
101594	if s.Resource == nil {
101595		invalidParams.Add(request.NewErrParamRequired("Resource"))
101596	}
101597	if s.UseLongIds == nil {
101598		invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
101599	}
101600
101601	if invalidParams.Len() > 0 {
101602		return invalidParams
101603	}
101604	return nil
101605}
101606
101607// SetPrincipalArn sets the PrincipalArn field's value.
101608func (s *ModifyIdentityIdFormatInput) SetPrincipalArn(v string) *ModifyIdentityIdFormatInput {
101609	s.PrincipalArn = &v
101610	return s
101611}
101612
101613// SetResource sets the Resource field's value.
101614func (s *ModifyIdentityIdFormatInput) SetResource(v string) *ModifyIdentityIdFormatInput {
101615	s.Resource = &v
101616	return s
101617}
101618
101619// SetUseLongIds sets the UseLongIds field's value.
101620func (s *ModifyIdentityIdFormatInput) SetUseLongIds(v bool) *ModifyIdentityIdFormatInput {
101621	s.UseLongIds = &v
101622	return s
101623}
101624
101625type ModifyIdentityIdFormatOutput struct {
101626	_ struct{} `type:"structure"`
101627}
101628
101629// String returns the string representation
101630func (s ModifyIdentityIdFormatOutput) String() string {
101631	return awsutil.Prettify(s)
101632}
101633
101634// GoString returns the string representation
101635func (s ModifyIdentityIdFormatOutput) GoString() string {
101636	return s.String()
101637}
101638
101639// Contains the parameters for ModifyImageAttribute.
101640type ModifyImageAttributeInput struct {
101641	_ struct{} `type:"structure"`
101642
101643	// The name of the attribute to modify. The valid values are description, launchPermission,
101644	// and productCodes.
101645	Attribute *string `type:"string"`
101646
101647	// A new description for the AMI.
101648	Description *AttributeValue `type:"structure"`
101649
101650	// Checks whether you have the required permissions for the action, without
101651	// actually making the request, and provides an error response. If you have
101652	// the required permissions, the error response is DryRunOperation. Otherwise,
101653	// it is UnauthorizedOperation.
101654	DryRun *bool `locationName:"dryRun" type:"boolean"`
101655
101656	// The ID of the AMI.
101657	//
101658	// ImageId is a required field
101659	ImageId *string `type:"string" required:"true"`
101660
101661	// A new launch permission for the AMI.
101662	LaunchPermission *LaunchPermissionModifications `type:"structure"`
101663
101664	// The operation type. This parameter can be used only when the Attribute parameter
101665	// is launchPermission.
101666	OperationType *string `type:"string" enum:"OperationType"`
101667
101668	// The DevPay product codes. After you add a product code to an AMI, it can't
101669	// be removed.
101670	ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
101671
101672	// The user groups. This parameter can be used only when the Attribute parameter
101673	// is launchPermission.
101674	UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
101675
101676	// The AWS account IDs. This parameter can be used only when the Attribute parameter
101677	// is launchPermission.
101678	UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
101679
101680	// The value of the attribute being modified. This parameter can be used only
101681	// when the Attribute parameter is description or productCodes.
101682	Value *string `type:"string"`
101683}
101684
101685// String returns the string representation
101686func (s ModifyImageAttributeInput) String() string {
101687	return awsutil.Prettify(s)
101688}
101689
101690// GoString returns the string representation
101691func (s ModifyImageAttributeInput) GoString() string {
101692	return s.String()
101693}
101694
101695// Validate inspects the fields of the type to determine if they are valid.
101696func (s *ModifyImageAttributeInput) Validate() error {
101697	invalidParams := request.ErrInvalidParams{Context: "ModifyImageAttributeInput"}
101698	if s.ImageId == nil {
101699		invalidParams.Add(request.NewErrParamRequired("ImageId"))
101700	}
101701
101702	if invalidParams.Len() > 0 {
101703		return invalidParams
101704	}
101705	return nil
101706}
101707
101708// SetAttribute sets the Attribute field's value.
101709func (s *ModifyImageAttributeInput) SetAttribute(v string) *ModifyImageAttributeInput {
101710	s.Attribute = &v
101711	return s
101712}
101713
101714// SetDescription sets the Description field's value.
101715func (s *ModifyImageAttributeInput) SetDescription(v *AttributeValue) *ModifyImageAttributeInput {
101716	s.Description = v
101717	return s
101718}
101719
101720// SetDryRun sets the DryRun field's value.
101721func (s *ModifyImageAttributeInput) SetDryRun(v bool) *ModifyImageAttributeInput {
101722	s.DryRun = &v
101723	return s
101724}
101725
101726// SetImageId sets the ImageId field's value.
101727func (s *ModifyImageAttributeInput) SetImageId(v string) *ModifyImageAttributeInput {
101728	s.ImageId = &v
101729	return s
101730}
101731
101732// SetLaunchPermission sets the LaunchPermission field's value.
101733func (s *ModifyImageAttributeInput) SetLaunchPermission(v *LaunchPermissionModifications) *ModifyImageAttributeInput {
101734	s.LaunchPermission = v
101735	return s
101736}
101737
101738// SetOperationType sets the OperationType field's value.
101739func (s *ModifyImageAttributeInput) SetOperationType(v string) *ModifyImageAttributeInput {
101740	s.OperationType = &v
101741	return s
101742}
101743
101744// SetProductCodes sets the ProductCodes field's value.
101745func (s *ModifyImageAttributeInput) SetProductCodes(v []*string) *ModifyImageAttributeInput {
101746	s.ProductCodes = v
101747	return s
101748}
101749
101750// SetUserGroups sets the UserGroups field's value.
101751func (s *ModifyImageAttributeInput) SetUserGroups(v []*string) *ModifyImageAttributeInput {
101752	s.UserGroups = v
101753	return s
101754}
101755
101756// SetUserIds sets the UserIds field's value.
101757func (s *ModifyImageAttributeInput) SetUserIds(v []*string) *ModifyImageAttributeInput {
101758	s.UserIds = v
101759	return s
101760}
101761
101762// SetValue sets the Value field's value.
101763func (s *ModifyImageAttributeInput) SetValue(v string) *ModifyImageAttributeInput {
101764	s.Value = &v
101765	return s
101766}
101767
101768type ModifyImageAttributeOutput struct {
101769	_ struct{} `type:"structure"`
101770}
101771
101772// String returns the string representation
101773func (s ModifyImageAttributeOutput) String() string {
101774	return awsutil.Prettify(s)
101775}
101776
101777// GoString returns the string representation
101778func (s ModifyImageAttributeOutput) GoString() string {
101779	return s.String()
101780}
101781
101782type ModifyInstanceAttributeInput struct {
101783	_ struct{} `type:"structure"`
101784
101785	// The name of the attribute.
101786	Attribute *string `locationName:"attribute" type:"string" enum:"InstanceAttributeName"`
101787
101788	// Modifies the DeleteOnTermination attribute for volumes that are currently
101789	// attached. The volume must be owned by the caller. If no value is specified
101790	// for DeleteOnTermination, the default is true and the volume is deleted when
101791	// the instance is terminated.
101792	//
101793	// To add instance store volumes to an Amazon EBS-backed instance, you must
101794	// add them when you launch the instance. For more information, see Updating
101795	// the block device mapping when launching an instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM)
101796	// in the Amazon EC2 User Guide.
101797	BlockDeviceMappings []*InstanceBlockDeviceMappingSpecification `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
101798
101799	// If the value is true, you can't terminate the instance using the Amazon EC2
101800	// console, CLI, or API; otherwise, you can. You cannot use this parameter for
101801	// Spot Instances.
101802	DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
101803
101804	// Checks whether you have the required permissions for the action, without
101805	// actually making the request, and provides an error response. If you have
101806	// the required permissions, the error response is DryRunOperation. Otherwise,
101807	// it is UnauthorizedOperation.
101808	DryRun *bool `locationName:"dryRun" type:"boolean"`
101809
101810	// Specifies whether the instance is optimized for Amazon EBS I/O. This optimization
101811	// provides dedicated throughput to Amazon EBS and an optimized configuration
101812	// stack to provide optimal EBS I/O performance. This optimization isn't available
101813	// with all instance types. Additional usage charges apply when using an EBS
101814	// Optimized instance.
101815	EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
101816
101817	// Set to true to enable enhanced networking with ENA for the instance.
101818	//
101819	// This option is supported only for HVM instances. Specifying this option with
101820	// a PV instance can make it unreachable.
101821	EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
101822
101823	// [EC2-VPC] Replaces the security groups of the instance with the specified
101824	// security groups. You must specify at least one security group, even if it's
101825	// just the default security group for the VPC. You must specify the security
101826	// group ID, not the security group name.
101827	Groups []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
101828
101829	// The ID of the instance.
101830	//
101831	// InstanceId is a required field
101832	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
101833
101834	// Specifies whether an instance stops or terminates when you initiate shutdown
101835	// from the instance (using the operating system command for system shutdown).
101836	InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
101837
101838	// Changes the instance type to the specified value. For more information, see
101839	// Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
101840	// in the Amazon EC2 User Guide. If the instance type is not valid, the error
101841	// returned is InvalidInstanceAttributeValue.
101842	InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
101843
101844	// Changes the instance's kernel to the specified value. We recommend that you
101845	// use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB
101846	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
101847	Kernel *AttributeValue `locationName:"kernel" type:"structure"`
101848
101849	// Changes the instance's RAM disk to the specified value. We recommend that
101850	// you use PV-GRUB instead of kernels and RAM disks. For more information, see
101851	// PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
101852	Ramdisk *AttributeValue `locationName:"ramdisk" type:"structure"`
101853
101854	// Enable or disable source/destination checks, which ensure that the instance
101855	// is either the source or the destination of any traffic that it receives.
101856	// If the value is true, source/destination checks are enabled; otherwise, they
101857	// are disabled. The default value is true. You must disable source/destination
101858	// checks if the instance runs services such as network address translation,
101859	// routing, or firewalls.
101860	SourceDestCheck *AttributeBooleanValue `type:"structure"`
101861
101862	// Set to simple to enable enhanced networking with the Intel 82599 Virtual
101863	// Function interface for the instance.
101864	//
101865	// There is no way to disable enhanced networking with the Intel 82599 Virtual
101866	// Function interface at this time.
101867	//
101868	// This option is supported only for HVM instances. Specifying this option with
101869	// a PV instance can make it unreachable.
101870	SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
101871
101872	// Changes the instance's user data to the specified value. If you are using
101873	// an Amazon Web Services SDK or command line tool, base64-encoding is performed
101874	// for you, and you can load the text from a file. Otherwise, you must provide
101875	// base64-encoded text.
101876	UserData *BlobAttributeValue `locationName:"userData" type:"structure"`
101877
101878	// A new value for the attribute. Use only with the kernel, ramdisk, userData,
101879	// disableApiTermination, or instanceInitiatedShutdownBehavior attribute.
101880	Value *string `locationName:"value" type:"string"`
101881}
101882
101883// String returns the string representation
101884func (s ModifyInstanceAttributeInput) String() string {
101885	return awsutil.Prettify(s)
101886}
101887
101888// GoString returns the string representation
101889func (s ModifyInstanceAttributeInput) GoString() string {
101890	return s.String()
101891}
101892
101893// Validate inspects the fields of the type to determine if they are valid.
101894func (s *ModifyInstanceAttributeInput) Validate() error {
101895	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceAttributeInput"}
101896	if s.InstanceId == nil {
101897		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
101898	}
101899
101900	if invalidParams.Len() > 0 {
101901		return invalidParams
101902	}
101903	return nil
101904}
101905
101906// SetAttribute sets the Attribute field's value.
101907func (s *ModifyInstanceAttributeInput) SetAttribute(v string) *ModifyInstanceAttributeInput {
101908	s.Attribute = &v
101909	return s
101910}
101911
101912// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
101913func (s *ModifyInstanceAttributeInput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMappingSpecification) *ModifyInstanceAttributeInput {
101914	s.BlockDeviceMappings = v
101915	return s
101916}
101917
101918// SetDisableApiTermination sets the DisableApiTermination field's value.
101919func (s *ModifyInstanceAttributeInput) SetDisableApiTermination(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
101920	s.DisableApiTermination = v
101921	return s
101922}
101923
101924// SetDryRun sets the DryRun field's value.
101925func (s *ModifyInstanceAttributeInput) SetDryRun(v bool) *ModifyInstanceAttributeInput {
101926	s.DryRun = &v
101927	return s
101928}
101929
101930// SetEbsOptimized sets the EbsOptimized field's value.
101931func (s *ModifyInstanceAttributeInput) SetEbsOptimized(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
101932	s.EbsOptimized = v
101933	return s
101934}
101935
101936// SetEnaSupport sets the EnaSupport field's value.
101937func (s *ModifyInstanceAttributeInput) SetEnaSupport(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
101938	s.EnaSupport = v
101939	return s
101940}
101941
101942// SetGroups sets the Groups field's value.
101943func (s *ModifyInstanceAttributeInput) SetGroups(v []*string) *ModifyInstanceAttributeInput {
101944	s.Groups = v
101945	return s
101946}
101947
101948// SetInstanceId sets the InstanceId field's value.
101949func (s *ModifyInstanceAttributeInput) SetInstanceId(v string) *ModifyInstanceAttributeInput {
101950	s.InstanceId = &v
101951	return s
101952}
101953
101954// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
101955func (s *ModifyInstanceAttributeInput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *ModifyInstanceAttributeInput {
101956	s.InstanceInitiatedShutdownBehavior = v
101957	return s
101958}
101959
101960// SetInstanceType sets the InstanceType field's value.
101961func (s *ModifyInstanceAttributeInput) SetInstanceType(v *AttributeValue) *ModifyInstanceAttributeInput {
101962	s.InstanceType = v
101963	return s
101964}
101965
101966// SetKernel sets the Kernel field's value.
101967func (s *ModifyInstanceAttributeInput) SetKernel(v *AttributeValue) *ModifyInstanceAttributeInput {
101968	s.Kernel = v
101969	return s
101970}
101971
101972// SetRamdisk sets the Ramdisk field's value.
101973func (s *ModifyInstanceAttributeInput) SetRamdisk(v *AttributeValue) *ModifyInstanceAttributeInput {
101974	s.Ramdisk = v
101975	return s
101976}
101977
101978// SetSourceDestCheck sets the SourceDestCheck field's value.
101979func (s *ModifyInstanceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
101980	s.SourceDestCheck = v
101981	return s
101982}
101983
101984// SetSriovNetSupport sets the SriovNetSupport field's value.
101985func (s *ModifyInstanceAttributeInput) SetSriovNetSupport(v *AttributeValue) *ModifyInstanceAttributeInput {
101986	s.SriovNetSupport = v
101987	return s
101988}
101989
101990// SetUserData sets the UserData field's value.
101991func (s *ModifyInstanceAttributeInput) SetUserData(v *BlobAttributeValue) *ModifyInstanceAttributeInput {
101992	s.UserData = v
101993	return s
101994}
101995
101996// SetValue sets the Value field's value.
101997func (s *ModifyInstanceAttributeInput) SetValue(v string) *ModifyInstanceAttributeInput {
101998	s.Value = &v
101999	return s
102000}
102001
102002type ModifyInstanceAttributeOutput struct {
102003	_ struct{} `type:"structure"`
102004}
102005
102006// String returns the string representation
102007func (s ModifyInstanceAttributeOutput) String() string {
102008	return awsutil.Prettify(s)
102009}
102010
102011// GoString returns the string representation
102012func (s ModifyInstanceAttributeOutput) GoString() string {
102013	return s.String()
102014}
102015
102016type ModifyInstanceCapacityReservationAttributesInput struct {
102017	_ struct{} `type:"structure"`
102018
102019	// Information about the Capacity Reservation targeting option.
102020	//
102021	// CapacityReservationSpecification is a required field
102022	CapacityReservationSpecification *CapacityReservationSpecification `type:"structure" required:"true"`
102023
102024	// Checks whether you have the required permissions for the action, without
102025	// actually making the request, and provides an error response. If you have
102026	// the required permissions, the error response is DryRunOperation. Otherwise,
102027	// it is UnauthorizedOperation.
102028	DryRun *bool `type:"boolean"`
102029
102030	// The ID of the instance to be modified.
102031	//
102032	// InstanceId is a required field
102033	InstanceId *string `type:"string" required:"true"`
102034}
102035
102036// String returns the string representation
102037func (s ModifyInstanceCapacityReservationAttributesInput) String() string {
102038	return awsutil.Prettify(s)
102039}
102040
102041// GoString returns the string representation
102042func (s ModifyInstanceCapacityReservationAttributesInput) GoString() string {
102043	return s.String()
102044}
102045
102046// Validate inspects the fields of the type to determine if they are valid.
102047func (s *ModifyInstanceCapacityReservationAttributesInput) Validate() error {
102048	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceCapacityReservationAttributesInput"}
102049	if s.CapacityReservationSpecification == nil {
102050		invalidParams.Add(request.NewErrParamRequired("CapacityReservationSpecification"))
102051	}
102052	if s.InstanceId == nil {
102053		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
102054	}
102055
102056	if invalidParams.Len() > 0 {
102057		return invalidParams
102058	}
102059	return nil
102060}
102061
102062// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
102063func (s *ModifyInstanceCapacityReservationAttributesInput) SetCapacityReservationSpecification(v *CapacityReservationSpecification) *ModifyInstanceCapacityReservationAttributesInput {
102064	s.CapacityReservationSpecification = v
102065	return s
102066}
102067
102068// SetDryRun sets the DryRun field's value.
102069func (s *ModifyInstanceCapacityReservationAttributesInput) SetDryRun(v bool) *ModifyInstanceCapacityReservationAttributesInput {
102070	s.DryRun = &v
102071	return s
102072}
102073
102074// SetInstanceId sets the InstanceId field's value.
102075func (s *ModifyInstanceCapacityReservationAttributesInput) SetInstanceId(v string) *ModifyInstanceCapacityReservationAttributesInput {
102076	s.InstanceId = &v
102077	return s
102078}
102079
102080type ModifyInstanceCapacityReservationAttributesOutput struct {
102081	_ struct{} `type:"structure"`
102082
102083	// Returns true if the request succeeds; otherwise, it returns an error.
102084	Return *bool `locationName:"return" type:"boolean"`
102085}
102086
102087// String returns the string representation
102088func (s ModifyInstanceCapacityReservationAttributesOutput) String() string {
102089	return awsutil.Prettify(s)
102090}
102091
102092// GoString returns the string representation
102093func (s ModifyInstanceCapacityReservationAttributesOutput) GoString() string {
102094	return s.String()
102095}
102096
102097// SetReturn sets the Return field's value.
102098func (s *ModifyInstanceCapacityReservationAttributesOutput) SetReturn(v bool) *ModifyInstanceCapacityReservationAttributesOutput {
102099	s.Return = &v
102100	return s
102101}
102102
102103type ModifyInstanceCreditSpecificationInput struct {
102104	_ struct{} `type:"structure"`
102105
102106	// A unique, case-sensitive token that you provide to ensure idempotency of
102107	// your modification request. For more information, see Ensuring Idempotency
102108	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
102109	ClientToken *string `type:"string"`
102110
102111	// Checks whether you have the required permissions for the action, without
102112	// actually making the request, and provides an error response. If you have
102113	// the required permissions, the error response is DryRunOperation. Otherwise,
102114	// it is UnauthorizedOperation.
102115	DryRun *bool `type:"boolean"`
102116
102117	// Information about the credit option for CPU usage.
102118	//
102119	// InstanceCreditSpecifications is a required field
102120	InstanceCreditSpecifications []*InstanceCreditSpecificationRequest `locationName:"InstanceCreditSpecification" locationNameList:"item" type:"list" required:"true"`
102121}
102122
102123// String returns the string representation
102124func (s ModifyInstanceCreditSpecificationInput) String() string {
102125	return awsutil.Prettify(s)
102126}
102127
102128// GoString returns the string representation
102129func (s ModifyInstanceCreditSpecificationInput) GoString() string {
102130	return s.String()
102131}
102132
102133// Validate inspects the fields of the type to determine if they are valid.
102134func (s *ModifyInstanceCreditSpecificationInput) Validate() error {
102135	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceCreditSpecificationInput"}
102136	if s.InstanceCreditSpecifications == nil {
102137		invalidParams.Add(request.NewErrParamRequired("InstanceCreditSpecifications"))
102138	}
102139
102140	if invalidParams.Len() > 0 {
102141		return invalidParams
102142	}
102143	return nil
102144}
102145
102146// SetClientToken sets the ClientToken field's value.
102147func (s *ModifyInstanceCreditSpecificationInput) SetClientToken(v string) *ModifyInstanceCreditSpecificationInput {
102148	s.ClientToken = &v
102149	return s
102150}
102151
102152// SetDryRun sets the DryRun field's value.
102153func (s *ModifyInstanceCreditSpecificationInput) SetDryRun(v bool) *ModifyInstanceCreditSpecificationInput {
102154	s.DryRun = &v
102155	return s
102156}
102157
102158// SetInstanceCreditSpecifications sets the InstanceCreditSpecifications field's value.
102159func (s *ModifyInstanceCreditSpecificationInput) SetInstanceCreditSpecifications(v []*InstanceCreditSpecificationRequest) *ModifyInstanceCreditSpecificationInput {
102160	s.InstanceCreditSpecifications = v
102161	return s
102162}
102163
102164type ModifyInstanceCreditSpecificationOutput struct {
102165	_ struct{} `type:"structure"`
102166
102167	// Information about the instances whose credit option for CPU usage was successfully
102168	// modified.
102169	SuccessfulInstanceCreditSpecifications []*SuccessfulInstanceCreditSpecificationItem `locationName:"successfulInstanceCreditSpecificationSet" locationNameList:"item" type:"list"`
102170
102171	// Information about the instances whose credit option for CPU usage was not
102172	// modified.
102173	UnsuccessfulInstanceCreditSpecifications []*UnsuccessfulInstanceCreditSpecificationItem `locationName:"unsuccessfulInstanceCreditSpecificationSet" locationNameList:"item" type:"list"`
102174}
102175
102176// String returns the string representation
102177func (s ModifyInstanceCreditSpecificationOutput) String() string {
102178	return awsutil.Prettify(s)
102179}
102180
102181// GoString returns the string representation
102182func (s ModifyInstanceCreditSpecificationOutput) GoString() string {
102183	return s.String()
102184}
102185
102186// SetSuccessfulInstanceCreditSpecifications sets the SuccessfulInstanceCreditSpecifications field's value.
102187func (s *ModifyInstanceCreditSpecificationOutput) SetSuccessfulInstanceCreditSpecifications(v []*SuccessfulInstanceCreditSpecificationItem) *ModifyInstanceCreditSpecificationOutput {
102188	s.SuccessfulInstanceCreditSpecifications = v
102189	return s
102190}
102191
102192// SetUnsuccessfulInstanceCreditSpecifications sets the UnsuccessfulInstanceCreditSpecifications field's value.
102193func (s *ModifyInstanceCreditSpecificationOutput) SetUnsuccessfulInstanceCreditSpecifications(v []*UnsuccessfulInstanceCreditSpecificationItem) *ModifyInstanceCreditSpecificationOutput {
102194	s.UnsuccessfulInstanceCreditSpecifications = v
102195	return s
102196}
102197
102198type ModifyInstanceEventStartTimeInput struct {
102199	_ struct{} `type:"structure"`
102200
102201	// Checks whether you have the required permissions for the action, without
102202	// actually making the request, and provides an error response. If you have
102203	// the required permissions, the error response is DryRunOperation. Otherwise,
102204	// it is UnauthorizedOperation.
102205	DryRun *bool `type:"boolean"`
102206
102207	// The ID of the event whose date and time you are modifying.
102208	//
102209	// InstanceEventId is a required field
102210	InstanceEventId *string `type:"string" required:"true"`
102211
102212	// The ID of the instance with the scheduled event.
102213	//
102214	// InstanceId is a required field
102215	InstanceId *string `type:"string" required:"true"`
102216
102217	// The new date and time when the event will take place.
102218	//
102219	// NotBefore is a required field
102220	NotBefore *time.Time `type:"timestamp" required:"true"`
102221}
102222
102223// String returns the string representation
102224func (s ModifyInstanceEventStartTimeInput) String() string {
102225	return awsutil.Prettify(s)
102226}
102227
102228// GoString returns the string representation
102229func (s ModifyInstanceEventStartTimeInput) GoString() string {
102230	return s.String()
102231}
102232
102233// Validate inspects the fields of the type to determine if they are valid.
102234func (s *ModifyInstanceEventStartTimeInput) Validate() error {
102235	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceEventStartTimeInput"}
102236	if s.InstanceEventId == nil {
102237		invalidParams.Add(request.NewErrParamRequired("InstanceEventId"))
102238	}
102239	if s.InstanceId == nil {
102240		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
102241	}
102242	if s.NotBefore == nil {
102243		invalidParams.Add(request.NewErrParamRequired("NotBefore"))
102244	}
102245
102246	if invalidParams.Len() > 0 {
102247		return invalidParams
102248	}
102249	return nil
102250}
102251
102252// SetDryRun sets the DryRun field's value.
102253func (s *ModifyInstanceEventStartTimeInput) SetDryRun(v bool) *ModifyInstanceEventStartTimeInput {
102254	s.DryRun = &v
102255	return s
102256}
102257
102258// SetInstanceEventId sets the InstanceEventId field's value.
102259func (s *ModifyInstanceEventStartTimeInput) SetInstanceEventId(v string) *ModifyInstanceEventStartTimeInput {
102260	s.InstanceEventId = &v
102261	return s
102262}
102263
102264// SetInstanceId sets the InstanceId field's value.
102265func (s *ModifyInstanceEventStartTimeInput) SetInstanceId(v string) *ModifyInstanceEventStartTimeInput {
102266	s.InstanceId = &v
102267	return s
102268}
102269
102270// SetNotBefore sets the NotBefore field's value.
102271func (s *ModifyInstanceEventStartTimeInput) SetNotBefore(v time.Time) *ModifyInstanceEventStartTimeInput {
102272	s.NotBefore = &v
102273	return s
102274}
102275
102276type ModifyInstanceEventStartTimeOutput struct {
102277	_ struct{} `type:"structure"`
102278
102279	// Describes a scheduled event for an instance.
102280	Event *InstanceStatusEvent `locationName:"event" type:"structure"`
102281}
102282
102283// String returns the string representation
102284func (s ModifyInstanceEventStartTimeOutput) String() string {
102285	return awsutil.Prettify(s)
102286}
102287
102288// GoString returns the string representation
102289func (s ModifyInstanceEventStartTimeOutput) GoString() string {
102290	return s.String()
102291}
102292
102293// SetEvent sets the Event field's value.
102294func (s *ModifyInstanceEventStartTimeOutput) SetEvent(v *InstanceStatusEvent) *ModifyInstanceEventStartTimeOutput {
102295	s.Event = v
102296	return s
102297}
102298
102299type ModifyInstanceEventWindowInput struct {
102300	_ struct{} `type:"structure"`
102301
102302	// The cron expression of the event window, for example, * 0-4,20-23 * * 1,5.
102303	//
102304	// Constraints:
102305	//
102306	//    * Only hour and day of the week values are supported.
102307	//
102308	//    * For day of the week values, you can specify either integers 0 through
102309	//    6, or alternative single values SUN through SAT.
102310	//
102311	//    * The minute, month, and year must be specified by *.
102312	//
102313	//    * The hour value must be one or a multiple range, for example, 0-4 or
102314	//    0-4,20-23.
102315	//
102316	//    * Each hour range must be >= 2 hours, for example, 0-2 or 20-23.
102317	//
102318	//    * The event window must be >= 4 hours. The combined total time ranges
102319	//    in the event window must be >= 4 hours.
102320	//
102321	// For more information about cron expressions, see cron (https://en.wikipedia.org/wiki/Cron)
102322	// on the Wikipedia website.
102323	CronExpression *string `type:"string"`
102324
102325	// Checks whether you have the required permissions for the action, without
102326	// actually making the request, and provides an error response. If you have
102327	// the required permissions, the error response is DryRunOperation. Otherwise,
102328	// it is UnauthorizedOperation.
102329	DryRun *bool `type:"boolean"`
102330
102331	// The ID of the event window.
102332	//
102333	// InstanceEventWindowId is a required field
102334	InstanceEventWindowId *string `type:"string" required:"true"`
102335
102336	// The name of the event window.
102337	Name *string `type:"string"`
102338
102339	// The time ranges of the event window.
102340	TimeRanges []*InstanceEventWindowTimeRangeRequest `locationName:"TimeRange" type:"list"`
102341}
102342
102343// String returns the string representation
102344func (s ModifyInstanceEventWindowInput) String() string {
102345	return awsutil.Prettify(s)
102346}
102347
102348// GoString returns the string representation
102349func (s ModifyInstanceEventWindowInput) GoString() string {
102350	return s.String()
102351}
102352
102353// Validate inspects the fields of the type to determine if they are valid.
102354func (s *ModifyInstanceEventWindowInput) Validate() error {
102355	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceEventWindowInput"}
102356	if s.InstanceEventWindowId == nil {
102357		invalidParams.Add(request.NewErrParamRequired("InstanceEventWindowId"))
102358	}
102359
102360	if invalidParams.Len() > 0 {
102361		return invalidParams
102362	}
102363	return nil
102364}
102365
102366// SetCronExpression sets the CronExpression field's value.
102367func (s *ModifyInstanceEventWindowInput) SetCronExpression(v string) *ModifyInstanceEventWindowInput {
102368	s.CronExpression = &v
102369	return s
102370}
102371
102372// SetDryRun sets the DryRun field's value.
102373func (s *ModifyInstanceEventWindowInput) SetDryRun(v bool) *ModifyInstanceEventWindowInput {
102374	s.DryRun = &v
102375	return s
102376}
102377
102378// SetInstanceEventWindowId sets the InstanceEventWindowId field's value.
102379func (s *ModifyInstanceEventWindowInput) SetInstanceEventWindowId(v string) *ModifyInstanceEventWindowInput {
102380	s.InstanceEventWindowId = &v
102381	return s
102382}
102383
102384// SetName sets the Name field's value.
102385func (s *ModifyInstanceEventWindowInput) SetName(v string) *ModifyInstanceEventWindowInput {
102386	s.Name = &v
102387	return s
102388}
102389
102390// SetTimeRanges sets the TimeRanges field's value.
102391func (s *ModifyInstanceEventWindowInput) SetTimeRanges(v []*InstanceEventWindowTimeRangeRequest) *ModifyInstanceEventWindowInput {
102392	s.TimeRanges = v
102393	return s
102394}
102395
102396type ModifyInstanceEventWindowOutput struct {
102397	_ struct{} `type:"structure"`
102398
102399	// Information about the event window.
102400	InstanceEventWindow *InstanceEventWindow `locationName:"instanceEventWindow" type:"structure"`
102401}
102402
102403// String returns the string representation
102404func (s ModifyInstanceEventWindowOutput) String() string {
102405	return awsutil.Prettify(s)
102406}
102407
102408// GoString returns the string representation
102409func (s ModifyInstanceEventWindowOutput) GoString() string {
102410	return s.String()
102411}
102412
102413// SetInstanceEventWindow sets the InstanceEventWindow field's value.
102414func (s *ModifyInstanceEventWindowOutput) SetInstanceEventWindow(v *InstanceEventWindow) *ModifyInstanceEventWindowOutput {
102415	s.InstanceEventWindow = v
102416	return s
102417}
102418
102419type ModifyInstanceMetadataOptionsInput struct {
102420	_ struct{} `type:"structure"`
102421
102422	// Checks whether you have the required permissions for the action, without
102423	// actually making the request, and provides an error response. If you have
102424	// the required permissions, the error response is DryRunOperation. Otherwise,
102425	// it is UnauthorizedOperation.
102426	DryRun *bool `type:"boolean"`
102427
102428	// This parameter enables or disables the HTTP metadata endpoint on your instances.
102429	// If the parameter is not specified, the existing state is maintained.
102430	//
102431	// If you specify a value of disabled, you will not be able to access your instance
102432	// metadata.
102433	HttpEndpoint *string `type:"string" enum:"InstanceMetadataEndpointState"`
102434
102435	// Enables or disables the IPv6 endpoint for the instance metadata service.
102436	HttpProtocolIpv6 *string `type:"string" enum:"InstanceMetadataProtocolState"`
102437
102438	// The desired HTTP PUT response hop limit for instance metadata requests. The
102439	// larger the number, the further instance metadata requests can travel. If
102440	// no parameter is specified, the existing state is maintained.
102441	//
102442	// Possible values: Integers from 1 to 64
102443	HttpPutResponseHopLimit *int64 `type:"integer"`
102444
102445	// The state of token usage for your instance metadata requests. If the parameter
102446	// is not specified in the request, the default state is optional.
102447	//
102448	// If the state is optional, you can choose to retrieve instance metadata with
102449	// or without a signed token header on your request. If you retrieve the IAM
102450	// role credentials without a token, the version 1.0 role credentials are returned.
102451	// If you retrieve the IAM role credentials using a valid signed token, the
102452	// version 2.0 role credentials are returned.
102453	//
102454	// If the state is required, you must send a signed token header with any instance
102455	// metadata retrieval requests. In this state, retrieving the IAM role credential
102456	// always returns the version 2.0 credentials; the version 1.0 credentials are
102457	// not available.
102458	HttpTokens *string `type:"string" enum:"HttpTokensState"`
102459
102460	// The ID of the instance.
102461	//
102462	// InstanceId is a required field
102463	InstanceId *string `type:"string" required:"true"`
102464}
102465
102466// String returns the string representation
102467func (s ModifyInstanceMetadataOptionsInput) String() string {
102468	return awsutil.Prettify(s)
102469}
102470
102471// GoString returns the string representation
102472func (s ModifyInstanceMetadataOptionsInput) GoString() string {
102473	return s.String()
102474}
102475
102476// Validate inspects the fields of the type to determine if they are valid.
102477func (s *ModifyInstanceMetadataOptionsInput) Validate() error {
102478	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceMetadataOptionsInput"}
102479	if s.InstanceId == nil {
102480		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
102481	}
102482
102483	if invalidParams.Len() > 0 {
102484		return invalidParams
102485	}
102486	return nil
102487}
102488
102489// SetDryRun sets the DryRun field's value.
102490func (s *ModifyInstanceMetadataOptionsInput) SetDryRun(v bool) *ModifyInstanceMetadataOptionsInput {
102491	s.DryRun = &v
102492	return s
102493}
102494
102495// SetHttpEndpoint sets the HttpEndpoint field's value.
102496func (s *ModifyInstanceMetadataOptionsInput) SetHttpEndpoint(v string) *ModifyInstanceMetadataOptionsInput {
102497	s.HttpEndpoint = &v
102498	return s
102499}
102500
102501// SetHttpProtocolIpv6 sets the HttpProtocolIpv6 field's value.
102502func (s *ModifyInstanceMetadataOptionsInput) SetHttpProtocolIpv6(v string) *ModifyInstanceMetadataOptionsInput {
102503	s.HttpProtocolIpv6 = &v
102504	return s
102505}
102506
102507// SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
102508func (s *ModifyInstanceMetadataOptionsInput) SetHttpPutResponseHopLimit(v int64) *ModifyInstanceMetadataOptionsInput {
102509	s.HttpPutResponseHopLimit = &v
102510	return s
102511}
102512
102513// SetHttpTokens sets the HttpTokens field's value.
102514func (s *ModifyInstanceMetadataOptionsInput) SetHttpTokens(v string) *ModifyInstanceMetadataOptionsInput {
102515	s.HttpTokens = &v
102516	return s
102517}
102518
102519// SetInstanceId sets the InstanceId field's value.
102520func (s *ModifyInstanceMetadataOptionsInput) SetInstanceId(v string) *ModifyInstanceMetadataOptionsInput {
102521	s.InstanceId = &v
102522	return s
102523}
102524
102525type ModifyInstanceMetadataOptionsOutput struct {
102526	_ struct{} `type:"structure"`
102527
102528	// The ID of the instance.
102529	InstanceId *string `locationName:"instanceId" type:"string"`
102530
102531	// The metadata options for the instance.
102532	InstanceMetadataOptions *InstanceMetadataOptionsResponse `locationName:"instanceMetadataOptions" type:"structure"`
102533}
102534
102535// String returns the string representation
102536func (s ModifyInstanceMetadataOptionsOutput) String() string {
102537	return awsutil.Prettify(s)
102538}
102539
102540// GoString returns the string representation
102541func (s ModifyInstanceMetadataOptionsOutput) GoString() string {
102542	return s.String()
102543}
102544
102545// SetInstanceId sets the InstanceId field's value.
102546func (s *ModifyInstanceMetadataOptionsOutput) SetInstanceId(v string) *ModifyInstanceMetadataOptionsOutput {
102547	s.InstanceId = &v
102548	return s
102549}
102550
102551// SetInstanceMetadataOptions sets the InstanceMetadataOptions field's value.
102552func (s *ModifyInstanceMetadataOptionsOutput) SetInstanceMetadataOptions(v *InstanceMetadataOptionsResponse) *ModifyInstanceMetadataOptionsOutput {
102553	s.InstanceMetadataOptions = v
102554	return s
102555}
102556
102557type ModifyInstancePlacementInput struct {
102558	_ struct{} `type:"structure"`
102559
102560	// The affinity setting for the instance.
102561	Affinity *string `locationName:"affinity" type:"string" enum:"Affinity"`
102562
102563	// The name of the placement group in which to place the instance. For spread
102564	// placement groups, the instance must have a tenancy of default. For cluster
102565	// and partition placement groups, the instance must have a tenancy of default
102566	// or dedicated.
102567	//
102568	// To remove an instance from a placement group, specify an empty string ("").
102569	GroupName *string `type:"string"`
102570
102571	// The ID of the Dedicated Host with which to associate the instance.
102572	HostId *string `locationName:"hostId" type:"string"`
102573
102574	// The ARN of the host resource group in which to place the instance.
102575	HostResourceGroupArn *string `type:"string"`
102576
102577	// The ID of the instance that you are modifying.
102578	//
102579	// InstanceId is a required field
102580	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
102581
102582	// Reserved for future use.
102583	PartitionNumber *int64 `type:"integer"`
102584
102585	// The tenancy for the instance.
102586	Tenancy *string `locationName:"tenancy" type:"string" enum:"HostTenancy"`
102587}
102588
102589// String returns the string representation
102590func (s ModifyInstancePlacementInput) String() string {
102591	return awsutil.Prettify(s)
102592}
102593
102594// GoString returns the string representation
102595func (s ModifyInstancePlacementInput) GoString() string {
102596	return s.String()
102597}
102598
102599// Validate inspects the fields of the type to determine if they are valid.
102600func (s *ModifyInstancePlacementInput) Validate() error {
102601	invalidParams := request.ErrInvalidParams{Context: "ModifyInstancePlacementInput"}
102602	if s.InstanceId == nil {
102603		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
102604	}
102605
102606	if invalidParams.Len() > 0 {
102607		return invalidParams
102608	}
102609	return nil
102610}
102611
102612// SetAffinity sets the Affinity field's value.
102613func (s *ModifyInstancePlacementInput) SetAffinity(v string) *ModifyInstancePlacementInput {
102614	s.Affinity = &v
102615	return s
102616}
102617
102618// SetGroupName sets the GroupName field's value.
102619func (s *ModifyInstancePlacementInput) SetGroupName(v string) *ModifyInstancePlacementInput {
102620	s.GroupName = &v
102621	return s
102622}
102623
102624// SetHostId sets the HostId field's value.
102625func (s *ModifyInstancePlacementInput) SetHostId(v string) *ModifyInstancePlacementInput {
102626	s.HostId = &v
102627	return s
102628}
102629
102630// SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
102631func (s *ModifyInstancePlacementInput) SetHostResourceGroupArn(v string) *ModifyInstancePlacementInput {
102632	s.HostResourceGroupArn = &v
102633	return s
102634}
102635
102636// SetInstanceId sets the InstanceId field's value.
102637func (s *ModifyInstancePlacementInput) SetInstanceId(v string) *ModifyInstancePlacementInput {
102638	s.InstanceId = &v
102639	return s
102640}
102641
102642// SetPartitionNumber sets the PartitionNumber field's value.
102643func (s *ModifyInstancePlacementInput) SetPartitionNumber(v int64) *ModifyInstancePlacementInput {
102644	s.PartitionNumber = &v
102645	return s
102646}
102647
102648// SetTenancy sets the Tenancy field's value.
102649func (s *ModifyInstancePlacementInput) SetTenancy(v string) *ModifyInstancePlacementInput {
102650	s.Tenancy = &v
102651	return s
102652}
102653
102654type ModifyInstancePlacementOutput struct {
102655	_ struct{} `type:"structure"`
102656
102657	// Is true if the request succeeds, and an error otherwise.
102658	Return *bool `locationName:"return" type:"boolean"`
102659}
102660
102661// String returns the string representation
102662func (s ModifyInstancePlacementOutput) String() string {
102663	return awsutil.Prettify(s)
102664}
102665
102666// GoString returns the string representation
102667func (s ModifyInstancePlacementOutput) GoString() string {
102668	return s.String()
102669}
102670
102671// SetReturn sets the Return field's value.
102672func (s *ModifyInstancePlacementOutput) SetReturn(v bool) *ModifyInstancePlacementOutput {
102673	s.Return = &v
102674	return s
102675}
102676
102677type ModifyLaunchTemplateInput struct {
102678	_ struct{} `type:"structure"`
102679
102680	// Unique, case-sensitive identifier you provide to ensure the idempotency of
102681	// the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
102682	//
102683	// Constraint: Maximum 128 ASCII characters.
102684	ClientToken *string `type:"string"`
102685
102686	// The version number of the launch template to set as the default version.
102687	DefaultVersion *string `locationName:"SetDefaultVersion" type:"string"`
102688
102689	// Checks whether you have the required permissions for the action, without
102690	// actually making the request, and provides an error response. If you have
102691	// the required permissions, the error response is DryRunOperation. Otherwise,
102692	// it is UnauthorizedOperation.
102693	DryRun *bool `type:"boolean"`
102694
102695	// The ID of the launch template. You must specify either the launch template
102696	// ID or launch template name in the request.
102697	LaunchTemplateId *string `type:"string"`
102698
102699	// The name of the launch template. You must specify either the launch template
102700	// ID or launch template name in the request.
102701	LaunchTemplateName *string `min:"3" type:"string"`
102702}
102703
102704// String returns the string representation
102705func (s ModifyLaunchTemplateInput) String() string {
102706	return awsutil.Prettify(s)
102707}
102708
102709// GoString returns the string representation
102710func (s ModifyLaunchTemplateInput) GoString() string {
102711	return s.String()
102712}
102713
102714// Validate inspects the fields of the type to determine if they are valid.
102715func (s *ModifyLaunchTemplateInput) Validate() error {
102716	invalidParams := request.ErrInvalidParams{Context: "ModifyLaunchTemplateInput"}
102717	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
102718		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
102719	}
102720
102721	if invalidParams.Len() > 0 {
102722		return invalidParams
102723	}
102724	return nil
102725}
102726
102727// SetClientToken sets the ClientToken field's value.
102728func (s *ModifyLaunchTemplateInput) SetClientToken(v string) *ModifyLaunchTemplateInput {
102729	s.ClientToken = &v
102730	return s
102731}
102732
102733// SetDefaultVersion sets the DefaultVersion field's value.
102734func (s *ModifyLaunchTemplateInput) SetDefaultVersion(v string) *ModifyLaunchTemplateInput {
102735	s.DefaultVersion = &v
102736	return s
102737}
102738
102739// SetDryRun sets the DryRun field's value.
102740func (s *ModifyLaunchTemplateInput) SetDryRun(v bool) *ModifyLaunchTemplateInput {
102741	s.DryRun = &v
102742	return s
102743}
102744
102745// SetLaunchTemplateId sets the LaunchTemplateId field's value.
102746func (s *ModifyLaunchTemplateInput) SetLaunchTemplateId(v string) *ModifyLaunchTemplateInput {
102747	s.LaunchTemplateId = &v
102748	return s
102749}
102750
102751// SetLaunchTemplateName sets the LaunchTemplateName field's value.
102752func (s *ModifyLaunchTemplateInput) SetLaunchTemplateName(v string) *ModifyLaunchTemplateInput {
102753	s.LaunchTemplateName = &v
102754	return s
102755}
102756
102757type ModifyLaunchTemplateOutput struct {
102758	_ struct{} `type:"structure"`
102759
102760	// Information about the launch template.
102761	LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
102762}
102763
102764// String returns the string representation
102765func (s ModifyLaunchTemplateOutput) String() string {
102766	return awsutil.Prettify(s)
102767}
102768
102769// GoString returns the string representation
102770func (s ModifyLaunchTemplateOutput) GoString() string {
102771	return s.String()
102772}
102773
102774// SetLaunchTemplate sets the LaunchTemplate field's value.
102775func (s *ModifyLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *ModifyLaunchTemplateOutput {
102776	s.LaunchTemplate = v
102777	return s
102778}
102779
102780type ModifyManagedPrefixListInput struct {
102781	_ struct{} `type:"structure"`
102782
102783	// One or more entries to add to the prefix list.
102784	AddEntries []*AddPrefixListEntry `locationName:"AddEntry" type:"list"`
102785
102786	// The current version of the prefix list.
102787	CurrentVersion *int64 `type:"long"`
102788
102789	// Checks whether you have the required permissions for the action, without
102790	// actually making the request, and provides an error response. If you have
102791	// the required permissions, the error response is DryRunOperation. Otherwise,
102792	// it is UnauthorizedOperation.
102793	DryRun *bool `type:"boolean"`
102794
102795	// The maximum number of entries for the prefix list. You cannot modify the
102796	// entries of a prefix list and modify the size of a prefix list at the same
102797	// time.
102798	MaxEntries *int64 `type:"integer"`
102799
102800	// The ID of the prefix list.
102801	//
102802	// PrefixListId is a required field
102803	PrefixListId *string `type:"string" required:"true"`
102804
102805	// A name for the prefix list.
102806	PrefixListName *string `type:"string"`
102807
102808	// One or more entries to remove from the prefix list.
102809	RemoveEntries []*RemovePrefixListEntry `locationName:"RemoveEntry" type:"list"`
102810}
102811
102812// String returns the string representation
102813func (s ModifyManagedPrefixListInput) String() string {
102814	return awsutil.Prettify(s)
102815}
102816
102817// GoString returns the string representation
102818func (s ModifyManagedPrefixListInput) GoString() string {
102819	return s.String()
102820}
102821
102822// Validate inspects the fields of the type to determine if they are valid.
102823func (s *ModifyManagedPrefixListInput) Validate() error {
102824	invalidParams := request.ErrInvalidParams{Context: "ModifyManagedPrefixListInput"}
102825	if s.PrefixListId == nil {
102826		invalidParams.Add(request.NewErrParamRequired("PrefixListId"))
102827	}
102828	if s.AddEntries != nil {
102829		for i, v := range s.AddEntries {
102830			if v == nil {
102831				continue
102832			}
102833			if err := v.Validate(); err != nil {
102834				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddEntries", i), err.(request.ErrInvalidParams))
102835			}
102836		}
102837	}
102838	if s.RemoveEntries != nil {
102839		for i, v := range s.RemoveEntries {
102840			if v == nil {
102841				continue
102842			}
102843			if err := v.Validate(); err != nil {
102844				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RemoveEntries", i), err.(request.ErrInvalidParams))
102845			}
102846		}
102847	}
102848
102849	if invalidParams.Len() > 0 {
102850		return invalidParams
102851	}
102852	return nil
102853}
102854
102855// SetAddEntries sets the AddEntries field's value.
102856func (s *ModifyManagedPrefixListInput) SetAddEntries(v []*AddPrefixListEntry) *ModifyManagedPrefixListInput {
102857	s.AddEntries = v
102858	return s
102859}
102860
102861// SetCurrentVersion sets the CurrentVersion field's value.
102862func (s *ModifyManagedPrefixListInput) SetCurrentVersion(v int64) *ModifyManagedPrefixListInput {
102863	s.CurrentVersion = &v
102864	return s
102865}
102866
102867// SetDryRun sets the DryRun field's value.
102868func (s *ModifyManagedPrefixListInput) SetDryRun(v bool) *ModifyManagedPrefixListInput {
102869	s.DryRun = &v
102870	return s
102871}
102872
102873// SetMaxEntries sets the MaxEntries field's value.
102874func (s *ModifyManagedPrefixListInput) SetMaxEntries(v int64) *ModifyManagedPrefixListInput {
102875	s.MaxEntries = &v
102876	return s
102877}
102878
102879// SetPrefixListId sets the PrefixListId field's value.
102880func (s *ModifyManagedPrefixListInput) SetPrefixListId(v string) *ModifyManagedPrefixListInput {
102881	s.PrefixListId = &v
102882	return s
102883}
102884
102885// SetPrefixListName sets the PrefixListName field's value.
102886func (s *ModifyManagedPrefixListInput) SetPrefixListName(v string) *ModifyManagedPrefixListInput {
102887	s.PrefixListName = &v
102888	return s
102889}
102890
102891// SetRemoveEntries sets the RemoveEntries field's value.
102892func (s *ModifyManagedPrefixListInput) SetRemoveEntries(v []*RemovePrefixListEntry) *ModifyManagedPrefixListInput {
102893	s.RemoveEntries = v
102894	return s
102895}
102896
102897type ModifyManagedPrefixListOutput struct {
102898	_ struct{} `type:"structure"`
102899
102900	// Information about the prefix list.
102901	PrefixList *ManagedPrefixList `locationName:"prefixList" type:"structure"`
102902}
102903
102904// String returns the string representation
102905func (s ModifyManagedPrefixListOutput) String() string {
102906	return awsutil.Prettify(s)
102907}
102908
102909// GoString returns the string representation
102910func (s ModifyManagedPrefixListOutput) GoString() string {
102911	return s.String()
102912}
102913
102914// SetPrefixList sets the PrefixList field's value.
102915func (s *ModifyManagedPrefixListOutput) SetPrefixList(v *ManagedPrefixList) *ModifyManagedPrefixListOutput {
102916	s.PrefixList = v
102917	return s
102918}
102919
102920// Contains the parameters for ModifyNetworkInterfaceAttribute.
102921type ModifyNetworkInterfaceAttributeInput struct {
102922	_ struct{} `type:"structure"`
102923
102924	// Information about the interface attachment. If modifying the 'delete on termination'
102925	// attribute, you must specify the ID of the interface attachment.
102926	Attachment *NetworkInterfaceAttachmentChanges `locationName:"attachment" type:"structure"`
102927
102928	// A description for the network interface.
102929	Description *AttributeValue `locationName:"description" type:"structure"`
102930
102931	// Checks whether you have the required permissions for the action, without
102932	// actually making the request, and provides an error response. If you have
102933	// the required permissions, the error response is DryRunOperation. Otherwise,
102934	// it is UnauthorizedOperation.
102935	DryRun *bool `locationName:"dryRun" type:"boolean"`
102936
102937	// Changes the security groups for the network interface. The new set of groups
102938	// you specify replaces the current set. You must specify at least one group,
102939	// even if it's just the default security group in the VPC. You must specify
102940	// the ID of the security group, not the name.
102941	Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
102942
102943	// The ID of the network interface.
102944	//
102945	// NetworkInterfaceId is a required field
102946	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
102947
102948	// Enable or disable source/destination checks, which ensure that the instance
102949	// is either the source or the destination of any traffic that it receives.
102950	// If the value is true, source/destination checks are enabled; otherwise, they
102951	// are disabled. The default value is true. You must disable source/destination
102952	// checks if the instance runs services such as network address translation,
102953	// routing, or firewalls.
102954	SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
102955}
102956
102957// String returns the string representation
102958func (s ModifyNetworkInterfaceAttributeInput) String() string {
102959	return awsutil.Prettify(s)
102960}
102961
102962// GoString returns the string representation
102963func (s ModifyNetworkInterfaceAttributeInput) GoString() string {
102964	return s.String()
102965}
102966
102967// Validate inspects the fields of the type to determine if they are valid.
102968func (s *ModifyNetworkInterfaceAttributeInput) Validate() error {
102969	invalidParams := request.ErrInvalidParams{Context: "ModifyNetworkInterfaceAttributeInput"}
102970	if s.NetworkInterfaceId == nil {
102971		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
102972	}
102973
102974	if invalidParams.Len() > 0 {
102975		return invalidParams
102976	}
102977	return nil
102978}
102979
102980// SetAttachment sets the Attachment field's value.
102981func (s *ModifyNetworkInterfaceAttributeInput) SetAttachment(v *NetworkInterfaceAttachmentChanges) *ModifyNetworkInterfaceAttributeInput {
102982	s.Attachment = v
102983	return s
102984}
102985
102986// SetDescription sets the Description field's value.
102987func (s *ModifyNetworkInterfaceAttributeInput) SetDescription(v *AttributeValue) *ModifyNetworkInterfaceAttributeInput {
102988	s.Description = v
102989	return s
102990}
102991
102992// SetDryRun sets the DryRun field's value.
102993func (s *ModifyNetworkInterfaceAttributeInput) SetDryRun(v bool) *ModifyNetworkInterfaceAttributeInput {
102994	s.DryRun = &v
102995	return s
102996}
102997
102998// SetGroups sets the Groups field's value.
102999func (s *ModifyNetworkInterfaceAttributeInput) SetGroups(v []*string) *ModifyNetworkInterfaceAttributeInput {
103000	s.Groups = v
103001	return s
103002}
103003
103004// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
103005func (s *ModifyNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ModifyNetworkInterfaceAttributeInput {
103006	s.NetworkInterfaceId = &v
103007	return s
103008}
103009
103010// SetSourceDestCheck sets the SourceDestCheck field's value.
103011func (s *ModifyNetworkInterfaceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyNetworkInterfaceAttributeInput {
103012	s.SourceDestCheck = v
103013	return s
103014}
103015
103016type ModifyNetworkInterfaceAttributeOutput struct {
103017	_ struct{} `type:"structure"`
103018}
103019
103020// String returns the string representation
103021func (s ModifyNetworkInterfaceAttributeOutput) String() string {
103022	return awsutil.Prettify(s)
103023}
103024
103025// GoString returns the string representation
103026func (s ModifyNetworkInterfaceAttributeOutput) GoString() string {
103027	return s.String()
103028}
103029
103030// Contains the parameters for ModifyReservedInstances.
103031type ModifyReservedInstancesInput struct {
103032	_ struct{} `type:"structure"`
103033
103034	// A unique, case-sensitive token you provide to ensure idempotency of your
103035	// modification request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
103036	ClientToken *string `locationName:"clientToken" type:"string"`
103037
103038	// The IDs of the Reserved Instances to modify.
103039	//
103040	// ReservedInstancesIds is a required field
103041	ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list" required:"true"`
103042
103043	// The configuration settings for the Reserved Instances to modify.
103044	//
103045	// TargetConfigurations is a required field
103046	TargetConfigurations []*ReservedInstancesConfiguration `locationName:"ReservedInstancesConfigurationSetItemType" locationNameList:"item" type:"list" required:"true"`
103047}
103048
103049// String returns the string representation
103050func (s ModifyReservedInstancesInput) String() string {
103051	return awsutil.Prettify(s)
103052}
103053
103054// GoString returns the string representation
103055func (s ModifyReservedInstancesInput) GoString() string {
103056	return s.String()
103057}
103058
103059// Validate inspects the fields of the type to determine if they are valid.
103060func (s *ModifyReservedInstancesInput) Validate() error {
103061	invalidParams := request.ErrInvalidParams{Context: "ModifyReservedInstancesInput"}
103062	if s.ReservedInstancesIds == nil {
103063		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesIds"))
103064	}
103065	if s.TargetConfigurations == nil {
103066		invalidParams.Add(request.NewErrParamRequired("TargetConfigurations"))
103067	}
103068
103069	if invalidParams.Len() > 0 {
103070		return invalidParams
103071	}
103072	return nil
103073}
103074
103075// SetClientToken sets the ClientToken field's value.
103076func (s *ModifyReservedInstancesInput) SetClientToken(v string) *ModifyReservedInstancesInput {
103077	s.ClientToken = &v
103078	return s
103079}
103080
103081// SetReservedInstancesIds sets the ReservedInstancesIds field's value.
103082func (s *ModifyReservedInstancesInput) SetReservedInstancesIds(v []*string) *ModifyReservedInstancesInput {
103083	s.ReservedInstancesIds = v
103084	return s
103085}
103086
103087// SetTargetConfigurations sets the TargetConfigurations field's value.
103088func (s *ModifyReservedInstancesInput) SetTargetConfigurations(v []*ReservedInstancesConfiguration) *ModifyReservedInstancesInput {
103089	s.TargetConfigurations = v
103090	return s
103091}
103092
103093// Contains the output of ModifyReservedInstances.
103094type ModifyReservedInstancesOutput struct {
103095	_ struct{} `type:"structure"`
103096
103097	// The ID for the modification.
103098	ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
103099}
103100
103101// String returns the string representation
103102func (s ModifyReservedInstancesOutput) String() string {
103103	return awsutil.Prettify(s)
103104}
103105
103106// GoString returns the string representation
103107func (s ModifyReservedInstancesOutput) GoString() string {
103108	return s.String()
103109}
103110
103111// SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
103112func (s *ModifyReservedInstancesOutput) SetReservedInstancesModificationId(v string) *ModifyReservedInstancesOutput {
103113	s.ReservedInstancesModificationId = &v
103114	return s
103115}
103116
103117type ModifySecurityGroupRulesInput struct {
103118	_ struct{} `type:"structure"`
103119
103120	// Checks whether you have the required permissions for the action, without
103121	// actually making the request, and provides an error response. If you have
103122	// the required permissions, the error response is DryRunOperation. Otherwise,
103123	// it is UnauthorizedOperation.
103124	DryRun *bool `type:"boolean"`
103125
103126	// The ID of the security group.
103127	//
103128	// GroupId is a required field
103129	GroupId *string `type:"string" required:"true"`
103130
103131	// Information about the security group properties to update.
103132	//
103133	// SecurityGroupRules is a required field
103134	SecurityGroupRules []*SecurityGroupRuleUpdate `locationName:"SecurityGroupRule" locationNameList:"item" type:"list" required:"true"`
103135}
103136
103137// String returns the string representation
103138func (s ModifySecurityGroupRulesInput) String() string {
103139	return awsutil.Prettify(s)
103140}
103141
103142// GoString returns the string representation
103143func (s ModifySecurityGroupRulesInput) GoString() string {
103144	return s.String()
103145}
103146
103147// Validate inspects the fields of the type to determine if they are valid.
103148func (s *ModifySecurityGroupRulesInput) Validate() error {
103149	invalidParams := request.ErrInvalidParams{Context: "ModifySecurityGroupRulesInput"}
103150	if s.GroupId == nil {
103151		invalidParams.Add(request.NewErrParamRequired("GroupId"))
103152	}
103153	if s.SecurityGroupRules == nil {
103154		invalidParams.Add(request.NewErrParamRequired("SecurityGroupRules"))
103155	}
103156
103157	if invalidParams.Len() > 0 {
103158		return invalidParams
103159	}
103160	return nil
103161}
103162
103163// SetDryRun sets the DryRun field's value.
103164func (s *ModifySecurityGroupRulesInput) SetDryRun(v bool) *ModifySecurityGroupRulesInput {
103165	s.DryRun = &v
103166	return s
103167}
103168
103169// SetGroupId sets the GroupId field's value.
103170func (s *ModifySecurityGroupRulesInput) SetGroupId(v string) *ModifySecurityGroupRulesInput {
103171	s.GroupId = &v
103172	return s
103173}
103174
103175// SetSecurityGroupRules sets the SecurityGroupRules field's value.
103176func (s *ModifySecurityGroupRulesInput) SetSecurityGroupRules(v []*SecurityGroupRuleUpdate) *ModifySecurityGroupRulesInput {
103177	s.SecurityGroupRules = v
103178	return s
103179}
103180
103181type ModifySecurityGroupRulesOutput struct {
103182	_ struct{} `type:"structure"`
103183
103184	// Returns true if the request succeeds; otherwise, returns an error.
103185	Return *bool `locationName:"return" type:"boolean"`
103186}
103187
103188// String returns the string representation
103189func (s ModifySecurityGroupRulesOutput) String() string {
103190	return awsutil.Prettify(s)
103191}
103192
103193// GoString returns the string representation
103194func (s ModifySecurityGroupRulesOutput) GoString() string {
103195	return s.String()
103196}
103197
103198// SetReturn sets the Return field's value.
103199func (s *ModifySecurityGroupRulesOutput) SetReturn(v bool) *ModifySecurityGroupRulesOutput {
103200	s.Return = &v
103201	return s
103202}
103203
103204type ModifySnapshotAttributeInput struct {
103205	_ struct{} `type:"structure"`
103206
103207	// The snapshot attribute to modify. Only volume creation permissions can be
103208	// modified.
103209	Attribute *string `type:"string" enum:"SnapshotAttributeName"`
103210
103211	// A JSON representation of the snapshot attribute modification.
103212	CreateVolumePermission *CreateVolumePermissionModifications `type:"structure"`
103213
103214	// Checks whether you have the required permissions for the action, without
103215	// actually making the request, and provides an error response. If you have
103216	// the required permissions, the error response is DryRunOperation. Otherwise,
103217	// it is UnauthorizedOperation.
103218	DryRun *bool `locationName:"dryRun" type:"boolean"`
103219
103220	// The group to modify for the snapshot.
103221	GroupNames []*string `locationName:"UserGroup" locationNameList:"GroupName" type:"list"`
103222
103223	// The type of operation to perform to the attribute.
103224	OperationType *string `type:"string" enum:"OperationType"`
103225
103226	// The ID of the snapshot.
103227	//
103228	// SnapshotId is a required field
103229	SnapshotId *string `type:"string" required:"true"`
103230
103231	// The account ID to modify for the snapshot.
103232	UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
103233}
103234
103235// String returns the string representation
103236func (s ModifySnapshotAttributeInput) String() string {
103237	return awsutil.Prettify(s)
103238}
103239
103240// GoString returns the string representation
103241func (s ModifySnapshotAttributeInput) GoString() string {
103242	return s.String()
103243}
103244
103245// Validate inspects the fields of the type to determine if they are valid.
103246func (s *ModifySnapshotAttributeInput) Validate() error {
103247	invalidParams := request.ErrInvalidParams{Context: "ModifySnapshotAttributeInput"}
103248	if s.SnapshotId == nil {
103249		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
103250	}
103251
103252	if invalidParams.Len() > 0 {
103253		return invalidParams
103254	}
103255	return nil
103256}
103257
103258// SetAttribute sets the Attribute field's value.
103259func (s *ModifySnapshotAttributeInput) SetAttribute(v string) *ModifySnapshotAttributeInput {
103260	s.Attribute = &v
103261	return s
103262}
103263
103264// SetCreateVolumePermission sets the CreateVolumePermission field's value.
103265func (s *ModifySnapshotAttributeInput) SetCreateVolumePermission(v *CreateVolumePermissionModifications) *ModifySnapshotAttributeInput {
103266	s.CreateVolumePermission = v
103267	return s
103268}
103269
103270// SetDryRun sets the DryRun field's value.
103271func (s *ModifySnapshotAttributeInput) SetDryRun(v bool) *ModifySnapshotAttributeInput {
103272	s.DryRun = &v
103273	return s
103274}
103275
103276// SetGroupNames sets the GroupNames field's value.
103277func (s *ModifySnapshotAttributeInput) SetGroupNames(v []*string) *ModifySnapshotAttributeInput {
103278	s.GroupNames = v
103279	return s
103280}
103281
103282// SetOperationType sets the OperationType field's value.
103283func (s *ModifySnapshotAttributeInput) SetOperationType(v string) *ModifySnapshotAttributeInput {
103284	s.OperationType = &v
103285	return s
103286}
103287
103288// SetSnapshotId sets the SnapshotId field's value.
103289func (s *ModifySnapshotAttributeInput) SetSnapshotId(v string) *ModifySnapshotAttributeInput {
103290	s.SnapshotId = &v
103291	return s
103292}
103293
103294// SetUserIds sets the UserIds field's value.
103295func (s *ModifySnapshotAttributeInput) SetUserIds(v []*string) *ModifySnapshotAttributeInput {
103296	s.UserIds = v
103297	return s
103298}
103299
103300type ModifySnapshotAttributeOutput struct {
103301	_ struct{} `type:"structure"`
103302}
103303
103304// String returns the string representation
103305func (s ModifySnapshotAttributeOutput) String() string {
103306	return awsutil.Prettify(s)
103307}
103308
103309// GoString returns the string representation
103310func (s ModifySnapshotAttributeOutput) GoString() string {
103311	return s.String()
103312}
103313
103314// Contains the parameters for ModifySpotFleetRequest.
103315type ModifySpotFleetRequestInput struct {
103316	_ struct{} `type:"structure"`
103317
103318	// Reserved.
103319	Context *string `type:"string"`
103320
103321	// Indicates whether running Spot Instances should be terminated if the target
103322	// capacity of the Spot Fleet request is decreased below the current size of
103323	// the Spot Fleet.
103324	ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
103325
103326	// The launch template and overrides. You can only use this parameter if you
103327	// specified a launch template (LaunchTemplateConfigs) in your Spot Fleet request.
103328	// If you specified LaunchSpecifications in your Spot Fleet request, then omit
103329	// this parameter.
103330	LaunchTemplateConfigs []*LaunchTemplateConfig `locationName:"LaunchTemplateConfig" locationNameList:"item" type:"list"`
103331
103332	// The number of On-Demand Instances in the fleet.
103333	OnDemandTargetCapacity *int64 `type:"integer"`
103334
103335	// The ID of the Spot Fleet request.
103336	//
103337	// SpotFleetRequestId is a required field
103338	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
103339
103340	// The size of the fleet.
103341	TargetCapacity *int64 `locationName:"targetCapacity" type:"integer"`
103342}
103343
103344// String returns the string representation
103345func (s ModifySpotFleetRequestInput) String() string {
103346	return awsutil.Prettify(s)
103347}
103348
103349// GoString returns the string representation
103350func (s ModifySpotFleetRequestInput) GoString() string {
103351	return s.String()
103352}
103353
103354// Validate inspects the fields of the type to determine if they are valid.
103355func (s *ModifySpotFleetRequestInput) Validate() error {
103356	invalidParams := request.ErrInvalidParams{Context: "ModifySpotFleetRequestInput"}
103357	if s.SpotFleetRequestId == nil {
103358		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
103359	}
103360	if s.LaunchTemplateConfigs != nil {
103361		for i, v := range s.LaunchTemplateConfigs {
103362			if v == nil {
103363				continue
103364			}
103365			if err := v.Validate(); err != nil {
103366				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigs", i), err.(request.ErrInvalidParams))
103367			}
103368		}
103369	}
103370
103371	if invalidParams.Len() > 0 {
103372		return invalidParams
103373	}
103374	return nil
103375}
103376
103377// SetContext sets the Context field's value.
103378func (s *ModifySpotFleetRequestInput) SetContext(v string) *ModifySpotFleetRequestInput {
103379	s.Context = &v
103380	return s
103381}
103382
103383// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
103384func (s *ModifySpotFleetRequestInput) SetExcessCapacityTerminationPolicy(v string) *ModifySpotFleetRequestInput {
103385	s.ExcessCapacityTerminationPolicy = &v
103386	return s
103387}
103388
103389// SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
103390func (s *ModifySpotFleetRequestInput) SetLaunchTemplateConfigs(v []*LaunchTemplateConfig) *ModifySpotFleetRequestInput {
103391	s.LaunchTemplateConfigs = v
103392	return s
103393}
103394
103395// SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
103396func (s *ModifySpotFleetRequestInput) SetOnDemandTargetCapacity(v int64) *ModifySpotFleetRequestInput {
103397	s.OnDemandTargetCapacity = &v
103398	return s
103399}
103400
103401// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
103402func (s *ModifySpotFleetRequestInput) SetSpotFleetRequestId(v string) *ModifySpotFleetRequestInput {
103403	s.SpotFleetRequestId = &v
103404	return s
103405}
103406
103407// SetTargetCapacity sets the TargetCapacity field's value.
103408func (s *ModifySpotFleetRequestInput) SetTargetCapacity(v int64) *ModifySpotFleetRequestInput {
103409	s.TargetCapacity = &v
103410	return s
103411}
103412
103413// Contains the output of ModifySpotFleetRequest.
103414type ModifySpotFleetRequestOutput struct {
103415	_ struct{} `type:"structure"`
103416
103417	// Is true if the request succeeds, and an error otherwise.
103418	Return *bool `locationName:"return" type:"boolean"`
103419}
103420
103421// String returns the string representation
103422func (s ModifySpotFleetRequestOutput) String() string {
103423	return awsutil.Prettify(s)
103424}
103425
103426// GoString returns the string representation
103427func (s ModifySpotFleetRequestOutput) GoString() string {
103428	return s.String()
103429}
103430
103431// SetReturn sets the Return field's value.
103432func (s *ModifySpotFleetRequestOutput) SetReturn(v bool) *ModifySpotFleetRequestOutput {
103433	s.Return = &v
103434	return s
103435}
103436
103437type ModifySubnetAttributeInput struct {
103438	_ struct{} `type:"structure"`
103439
103440	// Specify true to indicate that network interfaces created in the specified
103441	// subnet should be assigned an IPv6 address. This includes a network interface
103442	// that's created when launching an instance into the subnet (the instance therefore
103443	// receives an IPv6 address).
103444	//
103445	// If you enable the IPv6 addressing feature for your subnet, your network interface
103446	// or instance only receives an IPv6 address if it's created using version 2016-11-15
103447	// or later of the Amazon EC2 API.
103448	AssignIpv6AddressOnCreation *AttributeBooleanValue `type:"structure"`
103449
103450	// The customer-owned IPv4 address pool associated with the subnet.
103451	//
103452	// You must set this value when you specify true for MapCustomerOwnedIpOnLaunch.
103453	CustomerOwnedIpv4Pool *string `type:"string"`
103454
103455	// Specify true to indicate that network interfaces attached to instances created
103456	// in the specified subnet should be assigned a customer-owned IPv4 address.
103457	//
103458	// When this value is true, you must specify the customer-owned IP pool using
103459	// CustomerOwnedIpv4Pool.
103460	MapCustomerOwnedIpOnLaunch *AttributeBooleanValue `type:"structure"`
103461
103462	// Specify true to indicate that network interfaces attached to instances created
103463	// in the specified subnet should be assigned a public IPv4 address.
103464	MapPublicIpOnLaunch *AttributeBooleanValue `type:"structure"`
103465
103466	// The ID of the subnet.
103467	//
103468	// SubnetId is a required field
103469	SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
103470}
103471
103472// String returns the string representation
103473func (s ModifySubnetAttributeInput) String() string {
103474	return awsutil.Prettify(s)
103475}
103476
103477// GoString returns the string representation
103478func (s ModifySubnetAttributeInput) GoString() string {
103479	return s.String()
103480}
103481
103482// Validate inspects the fields of the type to determine if they are valid.
103483func (s *ModifySubnetAttributeInput) Validate() error {
103484	invalidParams := request.ErrInvalidParams{Context: "ModifySubnetAttributeInput"}
103485	if s.SubnetId == nil {
103486		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
103487	}
103488
103489	if invalidParams.Len() > 0 {
103490		return invalidParams
103491	}
103492	return nil
103493}
103494
103495// SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
103496func (s *ModifySubnetAttributeInput) SetAssignIpv6AddressOnCreation(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
103497	s.AssignIpv6AddressOnCreation = v
103498	return s
103499}
103500
103501// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
103502func (s *ModifySubnetAttributeInput) SetCustomerOwnedIpv4Pool(v string) *ModifySubnetAttributeInput {
103503	s.CustomerOwnedIpv4Pool = &v
103504	return s
103505}
103506
103507// SetMapCustomerOwnedIpOnLaunch sets the MapCustomerOwnedIpOnLaunch field's value.
103508func (s *ModifySubnetAttributeInput) SetMapCustomerOwnedIpOnLaunch(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
103509	s.MapCustomerOwnedIpOnLaunch = v
103510	return s
103511}
103512
103513// SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
103514func (s *ModifySubnetAttributeInput) SetMapPublicIpOnLaunch(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
103515	s.MapPublicIpOnLaunch = v
103516	return s
103517}
103518
103519// SetSubnetId sets the SubnetId field's value.
103520func (s *ModifySubnetAttributeInput) SetSubnetId(v string) *ModifySubnetAttributeInput {
103521	s.SubnetId = &v
103522	return s
103523}
103524
103525type ModifySubnetAttributeOutput struct {
103526	_ struct{} `type:"structure"`
103527}
103528
103529// String returns the string representation
103530func (s ModifySubnetAttributeOutput) String() string {
103531	return awsutil.Prettify(s)
103532}
103533
103534// GoString returns the string representation
103535func (s ModifySubnetAttributeOutput) GoString() string {
103536	return s.String()
103537}
103538
103539type ModifyTrafficMirrorFilterNetworkServicesInput struct {
103540	_ struct{} `type:"structure"`
103541
103542	// The network service, for example Amazon DNS, that you want to mirror.
103543	AddNetworkServices []*string `locationName:"AddNetworkService" locationNameList:"item" type:"list"`
103544
103545	// Checks whether you have the required permissions for the action, without
103546	// actually making the request, and provides an error response. If you have
103547	// the required permissions, the error response is DryRunOperation. Otherwise,
103548	// it is UnauthorizedOperation.
103549	DryRun *bool `type:"boolean"`
103550
103551	// The network service, for example Amazon DNS, that you no longer want to mirror.
103552	RemoveNetworkServices []*string `locationName:"RemoveNetworkService" locationNameList:"item" type:"list"`
103553
103554	// The ID of the Traffic Mirror filter.
103555	//
103556	// TrafficMirrorFilterId is a required field
103557	TrafficMirrorFilterId *string `type:"string" required:"true"`
103558}
103559
103560// String returns the string representation
103561func (s ModifyTrafficMirrorFilterNetworkServicesInput) String() string {
103562	return awsutil.Prettify(s)
103563}
103564
103565// GoString returns the string representation
103566func (s ModifyTrafficMirrorFilterNetworkServicesInput) GoString() string {
103567	return s.String()
103568}
103569
103570// Validate inspects the fields of the type to determine if they are valid.
103571func (s *ModifyTrafficMirrorFilterNetworkServicesInput) Validate() error {
103572	invalidParams := request.ErrInvalidParams{Context: "ModifyTrafficMirrorFilterNetworkServicesInput"}
103573	if s.TrafficMirrorFilterId == nil {
103574		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId"))
103575	}
103576
103577	if invalidParams.Len() > 0 {
103578		return invalidParams
103579	}
103580	return nil
103581}
103582
103583// SetAddNetworkServices sets the AddNetworkServices field's value.
103584func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetAddNetworkServices(v []*string) *ModifyTrafficMirrorFilterNetworkServicesInput {
103585	s.AddNetworkServices = v
103586	return s
103587}
103588
103589// SetDryRun sets the DryRun field's value.
103590func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetDryRun(v bool) *ModifyTrafficMirrorFilterNetworkServicesInput {
103591	s.DryRun = &v
103592	return s
103593}
103594
103595// SetRemoveNetworkServices sets the RemoveNetworkServices field's value.
103596func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetRemoveNetworkServices(v []*string) *ModifyTrafficMirrorFilterNetworkServicesInput {
103597	s.RemoveNetworkServices = v
103598	return s
103599}
103600
103601// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
103602func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetTrafficMirrorFilterId(v string) *ModifyTrafficMirrorFilterNetworkServicesInput {
103603	s.TrafficMirrorFilterId = &v
103604	return s
103605}
103606
103607type ModifyTrafficMirrorFilterNetworkServicesOutput struct {
103608	_ struct{} `type:"structure"`
103609
103610	// The Traffic Mirror filter that the network service is associated with.
103611	TrafficMirrorFilter *TrafficMirrorFilter `locationName:"trafficMirrorFilter" type:"structure"`
103612}
103613
103614// String returns the string representation
103615func (s ModifyTrafficMirrorFilterNetworkServicesOutput) String() string {
103616	return awsutil.Prettify(s)
103617}
103618
103619// GoString returns the string representation
103620func (s ModifyTrafficMirrorFilterNetworkServicesOutput) GoString() string {
103621	return s.String()
103622}
103623
103624// SetTrafficMirrorFilter sets the TrafficMirrorFilter field's value.
103625func (s *ModifyTrafficMirrorFilterNetworkServicesOutput) SetTrafficMirrorFilter(v *TrafficMirrorFilter) *ModifyTrafficMirrorFilterNetworkServicesOutput {
103626	s.TrafficMirrorFilter = v
103627	return s
103628}
103629
103630type ModifyTrafficMirrorFilterRuleInput struct {
103631	_ struct{} `type:"structure"`
103632
103633	// The description to assign to the Traffic Mirror rule.
103634	Description *string `type:"string"`
103635
103636	// The destination CIDR block to assign to the Traffic Mirror rule.
103637	DestinationCidrBlock *string `type:"string"`
103638
103639	// The destination ports that are associated with the Traffic Mirror rule.
103640	DestinationPortRange *TrafficMirrorPortRangeRequest `type:"structure"`
103641
103642	// Checks whether you have the required permissions for the action, without
103643	// actually making the request, and provides an error response. If you have
103644	// the required permissions, the error response is DryRunOperation. Otherwise,
103645	// it is UnauthorizedOperation.
103646	DryRun *bool `type:"boolean"`
103647
103648	// The protocol, for example TCP, to assign to the Traffic Mirror rule.
103649	Protocol *int64 `type:"integer"`
103650
103651	// The properties that you want to remove from the Traffic Mirror filter rule.
103652	//
103653	// When you remove a property from a Traffic Mirror filter rule, the property
103654	// is set to the default.
103655	RemoveFields []*string `locationName:"RemoveField" type:"list"`
103656
103657	// The action to assign to the rule.
103658	RuleAction *string `type:"string" enum:"TrafficMirrorRuleAction"`
103659
103660	// The number of the Traffic Mirror rule. This number must be unique for each
103661	// Traffic Mirror rule in a given direction. The rules are processed in ascending
103662	// order by rule number.
103663	RuleNumber *int64 `type:"integer"`
103664
103665	// The source CIDR block to assign to the Traffic Mirror rule.
103666	SourceCidrBlock *string `type:"string"`
103667
103668	// The port range to assign to the Traffic Mirror rule.
103669	SourcePortRange *TrafficMirrorPortRangeRequest `type:"structure"`
103670
103671	// The type of traffic (ingress | egress) to assign to the rule.
103672	TrafficDirection *string `type:"string" enum:"TrafficDirection"`
103673
103674	// The ID of the Traffic Mirror rule.
103675	//
103676	// TrafficMirrorFilterRuleId is a required field
103677	TrafficMirrorFilterRuleId *string `type:"string" required:"true"`
103678}
103679
103680// String returns the string representation
103681func (s ModifyTrafficMirrorFilterRuleInput) String() string {
103682	return awsutil.Prettify(s)
103683}
103684
103685// GoString returns the string representation
103686func (s ModifyTrafficMirrorFilterRuleInput) GoString() string {
103687	return s.String()
103688}
103689
103690// Validate inspects the fields of the type to determine if they are valid.
103691func (s *ModifyTrafficMirrorFilterRuleInput) Validate() error {
103692	invalidParams := request.ErrInvalidParams{Context: "ModifyTrafficMirrorFilterRuleInput"}
103693	if s.TrafficMirrorFilterRuleId == nil {
103694		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterRuleId"))
103695	}
103696
103697	if invalidParams.Len() > 0 {
103698		return invalidParams
103699	}
103700	return nil
103701}
103702
103703// SetDescription sets the Description field's value.
103704func (s *ModifyTrafficMirrorFilterRuleInput) SetDescription(v string) *ModifyTrafficMirrorFilterRuleInput {
103705	s.Description = &v
103706	return s
103707}
103708
103709// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
103710func (s *ModifyTrafficMirrorFilterRuleInput) SetDestinationCidrBlock(v string) *ModifyTrafficMirrorFilterRuleInput {
103711	s.DestinationCidrBlock = &v
103712	return s
103713}
103714
103715// SetDestinationPortRange sets the DestinationPortRange field's value.
103716func (s *ModifyTrafficMirrorFilterRuleInput) SetDestinationPortRange(v *TrafficMirrorPortRangeRequest) *ModifyTrafficMirrorFilterRuleInput {
103717	s.DestinationPortRange = v
103718	return s
103719}
103720
103721// SetDryRun sets the DryRun field's value.
103722func (s *ModifyTrafficMirrorFilterRuleInput) SetDryRun(v bool) *ModifyTrafficMirrorFilterRuleInput {
103723	s.DryRun = &v
103724	return s
103725}
103726
103727// SetProtocol sets the Protocol field's value.
103728func (s *ModifyTrafficMirrorFilterRuleInput) SetProtocol(v int64) *ModifyTrafficMirrorFilterRuleInput {
103729	s.Protocol = &v
103730	return s
103731}
103732
103733// SetRemoveFields sets the RemoveFields field's value.
103734func (s *ModifyTrafficMirrorFilterRuleInput) SetRemoveFields(v []*string) *ModifyTrafficMirrorFilterRuleInput {
103735	s.RemoveFields = v
103736	return s
103737}
103738
103739// SetRuleAction sets the RuleAction field's value.
103740func (s *ModifyTrafficMirrorFilterRuleInput) SetRuleAction(v string) *ModifyTrafficMirrorFilterRuleInput {
103741	s.RuleAction = &v
103742	return s
103743}
103744
103745// SetRuleNumber sets the RuleNumber field's value.
103746func (s *ModifyTrafficMirrorFilterRuleInput) SetRuleNumber(v int64) *ModifyTrafficMirrorFilterRuleInput {
103747	s.RuleNumber = &v
103748	return s
103749}
103750
103751// SetSourceCidrBlock sets the SourceCidrBlock field's value.
103752func (s *ModifyTrafficMirrorFilterRuleInput) SetSourceCidrBlock(v string) *ModifyTrafficMirrorFilterRuleInput {
103753	s.SourceCidrBlock = &v
103754	return s
103755}
103756
103757// SetSourcePortRange sets the SourcePortRange field's value.
103758func (s *ModifyTrafficMirrorFilterRuleInput) SetSourcePortRange(v *TrafficMirrorPortRangeRequest) *ModifyTrafficMirrorFilterRuleInput {
103759	s.SourcePortRange = v
103760	return s
103761}
103762
103763// SetTrafficDirection sets the TrafficDirection field's value.
103764func (s *ModifyTrafficMirrorFilterRuleInput) SetTrafficDirection(v string) *ModifyTrafficMirrorFilterRuleInput {
103765	s.TrafficDirection = &v
103766	return s
103767}
103768
103769// SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value.
103770func (s *ModifyTrafficMirrorFilterRuleInput) SetTrafficMirrorFilterRuleId(v string) *ModifyTrafficMirrorFilterRuleInput {
103771	s.TrafficMirrorFilterRuleId = &v
103772	return s
103773}
103774
103775type ModifyTrafficMirrorFilterRuleOutput struct {
103776	_ struct{} `type:"structure"`
103777
103778	// Modifies a Traffic Mirror rule.
103779	TrafficMirrorFilterRule *TrafficMirrorFilterRule `locationName:"trafficMirrorFilterRule" type:"structure"`
103780}
103781
103782// String returns the string representation
103783func (s ModifyTrafficMirrorFilterRuleOutput) String() string {
103784	return awsutil.Prettify(s)
103785}
103786
103787// GoString returns the string representation
103788func (s ModifyTrafficMirrorFilterRuleOutput) GoString() string {
103789	return s.String()
103790}
103791
103792// SetTrafficMirrorFilterRule sets the TrafficMirrorFilterRule field's value.
103793func (s *ModifyTrafficMirrorFilterRuleOutput) SetTrafficMirrorFilterRule(v *TrafficMirrorFilterRule) *ModifyTrafficMirrorFilterRuleOutput {
103794	s.TrafficMirrorFilterRule = v
103795	return s
103796}
103797
103798type ModifyTrafficMirrorSessionInput struct {
103799	_ struct{} `type:"structure"`
103800
103801	// The description to assign to the Traffic Mirror session.
103802	Description *string `type:"string"`
103803
103804	// Checks whether you have the required permissions for the action, without
103805	// actually making the request, and provides an error response. If you have
103806	// the required permissions, the error response is DryRunOperation. Otherwise,
103807	// it is UnauthorizedOperation.
103808	DryRun *bool `type:"boolean"`
103809
103810	// The number of bytes in each packet to mirror. These are bytes after the VXLAN
103811	// header. To mirror a subset, set this to the length (in bytes) to mirror.
103812	// For example, if you set this value to 100, then the first 100 bytes that
103813	// meet the filter criteria are copied to the target. Do not specify this parameter
103814	// when you want to mirror the entire packet.
103815	PacketLength *int64 `type:"integer"`
103816
103817	// The properties that you want to remove from the Traffic Mirror session.
103818	//
103819	// When you remove a property from a Traffic Mirror session, the property is
103820	// set to the default.
103821	RemoveFields []*string `locationName:"RemoveField" type:"list"`
103822
103823	// The session number determines the order in which sessions are evaluated when
103824	// an interface is used by multiple sessions. The first session with a matching
103825	// filter is the one that mirrors the packets.
103826	//
103827	// Valid values are 1-32766.
103828	SessionNumber *int64 `type:"integer"`
103829
103830	// The ID of the Traffic Mirror filter.
103831	TrafficMirrorFilterId *string `type:"string"`
103832
103833	// The ID of the Traffic Mirror session.
103834	//
103835	// TrafficMirrorSessionId is a required field
103836	TrafficMirrorSessionId *string `type:"string" required:"true"`
103837
103838	// The Traffic Mirror target. The target must be in the same VPC as the source,
103839	// or have a VPC peering connection with the source.
103840	TrafficMirrorTargetId *string `type:"string"`
103841
103842	// The virtual network ID of the Traffic Mirror session.
103843	VirtualNetworkId *int64 `type:"integer"`
103844}
103845
103846// String returns the string representation
103847func (s ModifyTrafficMirrorSessionInput) String() string {
103848	return awsutil.Prettify(s)
103849}
103850
103851// GoString returns the string representation
103852func (s ModifyTrafficMirrorSessionInput) GoString() string {
103853	return s.String()
103854}
103855
103856// Validate inspects the fields of the type to determine if they are valid.
103857func (s *ModifyTrafficMirrorSessionInput) Validate() error {
103858	invalidParams := request.ErrInvalidParams{Context: "ModifyTrafficMirrorSessionInput"}
103859	if s.TrafficMirrorSessionId == nil {
103860		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorSessionId"))
103861	}
103862
103863	if invalidParams.Len() > 0 {
103864		return invalidParams
103865	}
103866	return nil
103867}
103868
103869// SetDescription sets the Description field's value.
103870func (s *ModifyTrafficMirrorSessionInput) SetDescription(v string) *ModifyTrafficMirrorSessionInput {
103871	s.Description = &v
103872	return s
103873}
103874
103875// SetDryRun sets the DryRun field's value.
103876func (s *ModifyTrafficMirrorSessionInput) SetDryRun(v bool) *ModifyTrafficMirrorSessionInput {
103877	s.DryRun = &v
103878	return s
103879}
103880
103881// SetPacketLength sets the PacketLength field's value.
103882func (s *ModifyTrafficMirrorSessionInput) SetPacketLength(v int64) *ModifyTrafficMirrorSessionInput {
103883	s.PacketLength = &v
103884	return s
103885}
103886
103887// SetRemoveFields sets the RemoveFields field's value.
103888func (s *ModifyTrafficMirrorSessionInput) SetRemoveFields(v []*string) *ModifyTrafficMirrorSessionInput {
103889	s.RemoveFields = v
103890	return s
103891}
103892
103893// SetSessionNumber sets the SessionNumber field's value.
103894func (s *ModifyTrafficMirrorSessionInput) SetSessionNumber(v int64) *ModifyTrafficMirrorSessionInput {
103895	s.SessionNumber = &v
103896	return s
103897}
103898
103899// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
103900func (s *ModifyTrafficMirrorSessionInput) SetTrafficMirrorFilterId(v string) *ModifyTrafficMirrorSessionInput {
103901	s.TrafficMirrorFilterId = &v
103902	return s
103903}
103904
103905// SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value.
103906func (s *ModifyTrafficMirrorSessionInput) SetTrafficMirrorSessionId(v string) *ModifyTrafficMirrorSessionInput {
103907	s.TrafficMirrorSessionId = &v
103908	return s
103909}
103910
103911// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
103912func (s *ModifyTrafficMirrorSessionInput) SetTrafficMirrorTargetId(v string) *ModifyTrafficMirrorSessionInput {
103913	s.TrafficMirrorTargetId = &v
103914	return s
103915}
103916
103917// SetVirtualNetworkId sets the VirtualNetworkId field's value.
103918func (s *ModifyTrafficMirrorSessionInput) SetVirtualNetworkId(v int64) *ModifyTrafficMirrorSessionInput {
103919	s.VirtualNetworkId = &v
103920	return s
103921}
103922
103923type ModifyTrafficMirrorSessionOutput struct {
103924	_ struct{} `type:"structure"`
103925
103926	// Information about the Traffic Mirror session.
103927	TrafficMirrorSession *TrafficMirrorSession `locationName:"trafficMirrorSession" type:"structure"`
103928}
103929
103930// String returns the string representation
103931func (s ModifyTrafficMirrorSessionOutput) String() string {
103932	return awsutil.Prettify(s)
103933}
103934
103935// GoString returns the string representation
103936func (s ModifyTrafficMirrorSessionOutput) GoString() string {
103937	return s.String()
103938}
103939
103940// SetTrafficMirrorSession sets the TrafficMirrorSession field's value.
103941func (s *ModifyTrafficMirrorSessionOutput) SetTrafficMirrorSession(v *TrafficMirrorSession) *ModifyTrafficMirrorSessionOutput {
103942	s.TrafficMirrorSession = v
103943	return s
103944}
103945
103946type ModifyTransitGatewayInput struct {
103947	_ struct{} `type:"structure"`
103948
103949	// The description for the transit gateway.
103950	Description *string `type:"string"`
103951
103952	// Checks whether you have the required permissions for the action, without
103953	// actually making the request, and provides an error response. If you have
103954	// the required permissions, the error response is DryRunOperation. Otherwise,
103955	// it is UnauthorizedOperation.
103956	DryRun *bool `type:"boolean"`
103957
103958	// The options to modify.
103959	Options *ModifyTransitGatewayOptions `type:"structure"`
103960
103961	// The ID of the transit gateway.
103962	//
103963	// TransitGatewayId is a required field
103964	TransitGatewayId *string `type:"string" required:"true"`
103965}
103966
103967// String returns the string representation
103968func (s ModifyTransitGatewayInput) String() string {
103969	return awsutil.Prettify(s)
103970}
103971
103972// GoString returns the string representation
103973func (s ModifyTransitGatewayInput) GoString() string {
103974	return s.String()
103975}
103976
103977// Validate inspects the fields of the type to determine if they are valid.
103978func (s *ModifyTransitGatewayInput) Validate() error {
103979	invalidParams := request.ErrInvalidParams{Context: "ModifyTransitGatewayInput"}
103980	if s.TransitGatewayId == nil {
103981		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
103982	}
103983
103984	if invalidParams.Len() > 0 {
103985		return invalidParams
103986	}
103987	return nil
103988}
103989
103990// SetDescription sets the Description field's value.
103991func (s *ModifyTransitGatewayInput) SetDescription(v string) *ModifyTransitGatewayInput {
103992	s.Description = &v
103993	return s
103994}
103995
103996// SetDryRun sets the DryRun field's value.
103997func (s *ModifyTransitGatewayInput) SetDryRun(v bool) *ModifyTransitGatewayInput {
103998	s.DryRun = &v
103999	return s
104000}
104001
104002// SetOptions sets the Options field's value.
104003func (s *ModifyTransitGatewayInput) SetOptions(v *ModifyTransitGatewayOptions) *ModifyTransitGatewayInput {
104004	s.Options = v
104005	return s
104006}
104007
104008// SetTransitGatewayId sets the TransitGatewayId field's value.
104009func (s *ModifyTransitGatewayInput) SetTransitGatewayId(v string) *ModifyTransitGatewayInput {
104010	s.TransitGatewayId = &v
104011	return s
104012}
104013
104014// The transit gateway options.
104015type ModifyTransitGatewayOptions struct {
104016	_ struct{} `type:"structure"`
104017
104018	// Adds IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24
104019	// CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6.
104020	AddTransitGatewayCidrBlocks []*string `locationNameList:"item" type:"list"`
104021
104022	// The ID of the default association route table.
104023	AssociationDefaultRouteTableId *string `type:"string"`
104024
104025	// Enable or disable automatic acceptance of attachment requests.
104026	AutoAcceptSharedAttachments *string `type:"string" enum:"AutoAcceptSharedAttachmentsValue"`
104027
104028	// Enable or disable automatic association with the default association route
104029	// table.
104030	DefaultRouteTableAssociation *string `type:"string" enum:"DefaultRouteTableAssociationValue"`
104031
104032	// Enable or disable automatic propagation of routes to the default propagation
104033	// route table.
104034	DefaultRouteTablePropagation *string `type:"string" enum:"DefaultRouteTablePropagationValue"`
104035
104036	// Enable or disable DNS support.
104037	DnsSupport *string `type:"string" enum:"DnsSupportValue"`
104038
104039	// The ID of the default propagation route table.
104040	PropagationDefaultRouteTableId *string `type:"string"`
104041
104042	// Removes CIDR blocks for the transit gateway.
104043	RemoveTransitGatewayCidrBlocks []*string `locationNameList:"item" type:"list"`
104044
104045	// Enable or disable Equal Cost Multipath Protocol support.
104046	VpnEcmpSupport *string `type:"string" enum:"VpnEcmpSupportValue"`
104047}
104048
104049// String returns the string representation
104050func (s ModifyTransitGatewayOptions) String() string {
104051	return awsutil.Prettify(s)
104052}
104053
104054// GoString returns the string representation
104055func (s ModifyTransitGatewayOptions) GoString() string {
104056	return s.String()
104057}
104058
104059// SetAddTransitGatewayCidrBlocks sets the AddTransitGatewayCidrBlocks field's value.
104060func (s *ModifyTransitGatewayOptions) SetAddTransitGatewayCidrBlocks(v []*string) *ModifyTransitGatewayOptions {
104061	s.AddTransitGatewayCidrBlocks = v
104062	return s
104063}
104064
104065// SetAssociationDefaultRouteTableId sets the AssociationDefaultRouteTableId field's value.
104066func (s *ModifyTransitGatewayOptions) SetAssociationDefaultRouteTableId(v string) *ModifyTransitGatewayOptions {
104067	s.AssociationDefaultRouteTableId = &v
104068	return s
104069}
104070
104071// SetAutoAcceptSharedAttachments sets the AutoAcceptSharedAttachments field's value.
104072func (s *ModifyTransitGatewayOptions) SetAutoAcceptSharedAttachments(v string) *ModifyTransitGatewayOptions {
104073	s.AutoAcceptSharedAttachments = &v
104074	return s
104075}
104076
104077// SetDefaultRouteTableAssociation sets the DefaultRouteTableAssociation field's value.
104078func (s *ModifyTransitGatewayOptions) SetDefaultRouteTableAssociation(v string) *ModifyTransitGatewayOptions {
104079	s.DefaultRouteTableAssociation = &v
104080	return s
104081}
104082
104083// SetDefaultRouteTablePropagation sets the DefaultRouteTablePropagation field's value.
104084func (s *ModifyTransitGatewayOptions) SetDefaultRouteTablePropagation(v string) *ModifyTransitGatewayOptions {
104085	s.DefaultRouteTablePropagation = &v
104086	return s
104087}
104088
104089// SetDnsSupport sets the DnsSupport field's value.
104090func (s *ModifyTransitGatewayOptions) SetDnsSupport(v string) *ModifyTransitGatewayOptions {
104091	s.DnsSupport = &v
104092	return s
104093}
104094
104095// SetPropagationDefaultRouteTableId sets the PropagationDefaultRouteTableId field's value.
104096func (s *ModifyTransitGatewayOptions) SetPropagationDefaultRouteTableId(v string) *ModifyTransitGatewayOptions {
104097	s.PropagationDefaultRouteTableId = &v
104098	return s
104099}
104100
104101// SetRemoveTransitGatewayCidrBlocks sets the RemoveTransitGatewayCidrBlocks field's value.
104102func (s *ModifyTransitGatewayOptions) SetRemoveTransitGatewayCidrBlocks(v []*string) *ModifyTransitGatewayOptions {
104103	s.RemoveTransitGatewayCidrBlocks = v
104104	return s
104105}
104106
104107// SetVpnEcmpSupport sets the VpnEcmpSupport field's value.
104108func (s *ModifyTransitGatewayOptions) SetVpnEcmpSupport(v string) *ModifyTransitGatewayOptions {
104109	s.VpnEcmpSupport = &v
104110	return s
104111}
104112
104113type ModifyTransitGatewayOutput struct {
104114	_ struct{} `type:"structure"`
104115
104116	// Describes a transit gateway.
104117	TransitGateway *TransitGateway `locationName:"transitGateway" type:"structure"`
104118}
104119
104120// String returns the string representation
104121func (s ModifyTransitGatewayOutput) String() string {
104122	return awsutil.Prettify(s)
104123}
104124
104125// GoString returns the string representation
104126func (s ModifyTransitGatewayOutput) GoString() string {
104127	return s.String()
104128}
104129
104130// SetTransitGateway sets the TransitGateway field's value.
104131func (s *ModifyTransitGatewayOutput) SetTransitGateway(v *TransitGateway) *ModifyTransitGatewayOutput {
104132	s.TransitGateway = v
104133	return s
104134}
104135
104136type ModifyTransitGatewayPrefixListReferenceInput struct {
104137	_ struct{} `type:"structure"`
104138
104139	// Indicates whether to drop traffic that matches this route.
104140	Blackhole *bool `type:"boolean"`
104141
104142	// Checks whether you have the required permissions for the action, without
104143	// actually making the request, and provides an error response. If you have
104144	// the required permissions, the error response is DryRunOperation. Otherwise,
104145	// it is UnauthorizedOperation.
104146	DryRun *bool `type:"boolean"`
104147
104148	// The ID of the prefix list.
104149	//
104150	// PrefixListId is a required field
104151	PrefixListId *string `type:"string" required:"true"`
104152
104153	// The ID of the attachment to which traffic is routed.
104154	TransitGatewayAttachmentId *string `type:"string"`
104155
104156	// The ID of the transit gateway route table.
104157	//
104158	// TransitGatewayRouteTableId is a required field
104159	TransitGatewayRouteTableId *string `type:"string" required:"true"`
104160}
104161
104162// String returns the string representation
104163func (s ModifyTransitGatewayPrefixListReferenceInput) String() string {
104164	return awsutil.Prettify(s)
104165}
104166
104167// GoString returns the string representation
104168func (s ModifyTransitGatewayPrefixListReferenceInput) GoString() string {
104169	return s.String()
104170}
104171
104172// Validate inspects the fields of the type to determine if they are valid.
104173func (s *ModifyTransitGatewayPrefixListReferenceInput) Validate() error {
104174	invalidParams := request.ErrInvalidParams{Context: "ModifyTransitGatewayPrefixListReferenceInput"}
104175	if s.PrefixListId == nil {
104176		invalidParams.Add(request.NewErrParamRequired("PrefixListId"))
104177	}
104178	if s.TransitGatewayRouteTableId == nil {
104179		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
104180	}
104181
104182	if invalidParams.Len() > 0 {
104183		return invalidParams
104184	}
104185	return nil
104186}
104187
104188// SetBlackhole sets the Blackhole field's value.
104189func (s *ModifyTransitGatewayPrefixListReferenceInput) SetBlackhole(v bool) *ModifyTransitGatewayPrefixListReferenceInput {
104190	s.Blackhole = &v
104191	return s
104192}
104193
104194// SetDryRun sets the DryRun field's value.
104195func (s *ModifyTransitGatewayPrefixListReferenceInput) SetDryRun(v bool) *ModifyTransitGatewayPrefixListReferenceInput {
104196	s.DryRun = &v
104197	return s
104198}
104199
104200// SetPrefixListId sets the PrefixListId field's value.
104201func (s *ModifyTransitGatewayPrefixListReferenceInput) SetPrefixListId(v string) *ModifyTransitGatewayPrefixListReferenceInput {
104202	s.PrefixListId = &v
104203	return s
104204}
104205
104206// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
104207func (s *ModifyTransitGatewayPrefixListReferenceInput) SetTransitGatewayAttachmentId(v string) *ModifyTransitGatewayPrefixListReferenceInput {
104208	s.TransitGatewayAttachmentId = &v
104209	return s
104210}
104211
104212// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
104213func (s *ModifyTransitGatewayPrefixListReferenceInput) SetTransitGatewayRouteTableId(v string) *ModifyTransitGatewayPrefixListReferenceInput {
104214	s.TransitGatewayRouteTableId = &v
104215	return s
104216}
104217
104218type ModifyTransitGatewayPrefixListReferenceOutput struct {
104219	_ struct{} `type:"structure"`
104220
104221	// Information about the prefix list reference.
104222	TransitGatewayPrefixListReference *TransitGatewayPrefixListReference `locationName:"transitGatewayPrefixListReference" type:"structure"`
104223}
104224
104225// String returns the string representation
104226func (s ModifyTransitGatewayPrefixListReferenceOutput) String() string {
104227	return awsutil.Prettify(s)
104228}
104229
104230// GoString returns the string representation
104231func (s ModifyTransitGatewayPrefixListReferenceOutput) GoString() string {
104232	return s.String()
104233}
104234
104235// SetTransitGatewayPrefixListReference sets the TransitGatewayPrefixListReference field's value.
104236func (s *ModifyTransitGatewayPrefixListReferenceOutput) SetTransitGatewayPrefixListReference(v *TransitGatewayPrefixListReference) *ModifyTransitGatewayPrefixListReferenceOutput {
104237	s.TransitGatewayPrefixListReference = v
104238	return s
104239}
104240
104241type ModifyTransitGatewayVpcAttachmentInput struct {
104242	_ struct{} `type:"structure"`
104243
104244	// The IDs of one or more subnets to add. You can specify at most one subnet
104245	// per Availability Zone.
104246	AddSubnetIds []*string `locationNameList:"item" type:"list"`
104247
104248	// Checks whether you have the required permissions for the action, without
104249	// actually making the request, and provides an error response. If you have
104250	// the required permissions, the error response is DryRunOperation. Otherwise,
104251	// it is UnauthorizedOperation.
104252	DryRun *bool `type:"boolean"`
104253
104254	// The new VPC attachment options.
104255	Options *ModifyTransitGatewayVpcAttachmentRequestOptions `type:"structure"`
104256
104257	// The IDs of one or more subnets to remove.
104258	RemoveSubnetIds []*string `locationNameList:"item" type:"list"`
104259
104260	// The ID of the attachment.
104261	//
104262	// TransitGatewayAttachmentId is a required field
104263	TransitGatewayAttachmentId *string `type:"string" required:"true"`
104264}
104265
104266// String returns the string representation
104267func (s ModifyTransitGatewayVpcAttachmentInput) String() string {
104268	return awsutil.Prettify(s)
104269}
104270
104271// GoString returns the string representation
104272func (s ModifyTransitGatewayVpcAttachmentInput) GoString() string {
104273	return s.String()
104274}
104275
104276// Validate inspects the fields of the type to determine if they are valid.
104277func (s *ModifyTransitGatewayVpcAttachmentInput) Validate() error {
104278	invalidParams := request.ErrInvalidParams{Context: "ModifyTransitGatewayVpcAttachmentInput"}
104279	if s.TransitGatewayAttachmentId == nil {
104280		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
104281	}
104282
104283	if invalidParams.Len() > 0 {
104284		return invalidParams
104285	}
104286	return nil
104287}
104288
104289// SetAddSubnetIds sets the AddSubnetIds field's value.
104290func (s *ModifyTransitGatewayVpcAttachmentInput) SetAddSubnetIds(v []*string) *ModifyTransitGatewayVpcAttachmentInput {
104291	s.AddSubnetIds = v
104292	return s
104293}
104294
104295// SetDryRun sets the DryRun field's value.
104296func (s *ModifyTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *ModifyTransitGatewayVpcAttachmentInput {
104297	s.DryRun = &v
104298	return s
104299}
104300
104301// SetOptions sets the Options field's value.
104302func (s *ModifyTransitGatewayVpcAttachmentInput) SetOptions(v *ModifyTransitGatewayVpcAttachmentRequestOptions) *ModifyTransitGatewayVpcAttachmentInput {
104303	s.Options = v
104304	return s
104305}
104306
104307// SetRemoveSubnetIds sets the RemoveSubnetIds field's value.
104308func (s *ModifyTransitGatewayVpcAttachmentInput) SetRemoveSubnetIds(v []*string) *ModifyTransitGatewayVpcAttachmentInput {
104309	s.RemoveSubnetIds = v
104310	return s
104311}
104312
104313// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
104314func (s *ModifyTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *ModifyTransitGatewayVpcAttachmentInput {
104315	s.TransitGatewayAttachmentId = &v
104316	return s
104317}
104318
104319type ModifyTransitGatewayVpcAttachmentOutput struct {
104320	_ struct{} `type:"structure"`
104321
104322	// Information about the modified attachment.
104323	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
104324}
104325
104326// String returns the string representation
104327func (s ModifyTransitGatewayVpcAttachmentOutput) String() string {
104328	return awsutil.Prettify(s)
104329}
104330
104331// GoString returns the string representation
104332func (s ModifyTransitGatewayVpcAttachmentOutput) GoString() string {
104333	return s.String()
104334}
104335
104336// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
104337func (s *ModifyTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *ModifyTransitGatewayVpcAttachmentOutput {
104338	s.TransitGatewayVpcAttachment = v
104339	return s
104340}
104341
104342// Describes the options for a VPC attachment.
104343type ModifyTransitGatewayVpcAttachmentRequestOptions struct {
104344	_ struct{} `type:"structure"`
104345
104346	// Enable or disable support for appliance mode. If enabled, a traffic flow
104347	// between a source and destination uses the same Availability Zone for the
104348	// VPC attachment for the lifetime of that flow. The default is disable.
104349	ApplianceModeSupport *string `type:"string" enum:"ApplianceModeSupportValue"`
104350
104351	// Enable or disable DNS support. The default is enable.
104352	DnsSupport *string `type:"string" enum:"DnsSupportValue"`
104353
104354	// Enable or disable IPv6 support. The default is enable.
104355	Ipv6Support *string `type:"string" enum:"Ipv6SupportValue"`
104356}
104357
104358// String returns the string representation
104359func (s ModifyTransitGatewayVpcAttachmentRequestOptions) String() string {
104360	return awsutil.Prettify(s)
104361}
104362
104363// GoString returns the string representation
104364func (s ModifyTransitGatewayVpcAttachmentRequestOptions) GoString() string {
104365	return s.String()
104366}
104367
104368// SetApplianceModeSupport sets the ApplianceModeSupport field's value.
104369func (s *ModifyTransitGatewayVpcAttachmentRequestOptions) SetApplianceModeSupport(v string) *ModifyTransitGatewayVpcAttachmentRequestOptions {
104370	s.ApplianceModeSupport = &v
104371	return s
104372}
104373
104374// SetDnsSupport sets the DnsSupport field's value.
104375func (s *ModifyTransitGatewayVpcAttachmentRequestOptions) SetDnsSupport(v string) *ModifyTransitGatewayVpcAttachmentRequestOptions {
104376	s.DnsSupport = &v
104377	return s
104378}
104379
104380// SetIpv6Support sets the Ipv6Support field's value.
104381func (s *ModifyTransitGatewayVpcAttachmentRequestOptions) SetIpv6Support(v string) *ModifyTransitGatewayVpcAttachmentRequestOptions {
104382	s.Ipv6Support = &v
104383	return s
104384}
104385
104386type ModifyVolumeAttributeInput struct {
104387	_ struct{} `type:"structure"`
104388
104389	// Indicates whether the volume should be auto-enabled for I/O operations.
104390	AutoEnableIO *AttributeBooleanValue `type:"structure"`
104391
104392	// Checks whether you have the required permissions for the action, without
104393	// actually making the request, and provides an error response. If you have
104394	// the required permissions, the error response is DryRunOperation. Otherwise,
104395	// it is UnauthorizedOperation.
104396	DryRun *bool `locationName:"dryRun" type:"boolean"`
104397
104398	// The ID of the volume.
104399	//
104400	// VolumeId is a required field
104401	VolumeId *string `type:"string" required:"true"`
104402}
104403
104404// String returns the string representation
104405func (s ModifyVolumeAttributeInput) String() string {
104406	return awsutil.Prettify(s)
104407}
104408
104409// GoString returns the string representation
104410func (s ModifyVolumeAttributeInput) GoString() string {
104411	return s.String()
104412}
104413
104414// Validate inspects the fields of the type to determine if they are valid.
104415func (s *ModifyVolumeAttributeInput) Validate() error {
104416	invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeAttributeInput"}
104417	if s.VolumeId == nil {
104418		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
104419	}
104420
104421	if invalidParams.Len() > 0 {
104422		return invalidParams
104423	}
104424	return nil
104425}
104426
104427// SetAutoEnableIO sets the AutoEnableIO field's value.
104428func (s *ModifyVolumeAttributeInput) SetAutoEnableIO(v *AttributeBooleanValue) *ModifyVolumeAttributeInput {
104429	s.AutoEnableIO = v
104430	return s
104431}
104432
104433// SetDryRun sets the DryRun field's value.
104434func (s *ModifyVolumeAttributeInput) SetDryRun(v bool) *ModifyVolumeAttributeInput {
104435	s.DryRun = &v
104436	return s
104437}
104438
104439// SetVolumeId sets the VolumeId field's value.
104440func (s *ModifyVolumeAttributeInput) SetVolumeId(v string) *ModifyVolumeAttributeInput {
104441	s.VolumeId = &v
104442	return s
104443}
104444
104445type ModifyVolumeAttributeOutput struct {
104446	_ struct{} `type:"structure"`
104447}
104448
104449// String returns the string representation
104450func (s ModifyVolumeAttributeOutput) String() string {
104451	return awsutil.Prettify(s)
104452}
104453
104454// GoString returns the string representation
104455func (s ModifyVolumeAttributeOutput) GoString() string {
104456	return s.String()
104457}
104458
104459type ModifyVolumeInput struct {
104460	_ struct{} `type:"structure"`
104461
104462	// Checks whether you have the required permissions for the action, without
104463	// actually making the request, and provides an error response. If you have
104464	// the required permissions, the error response is DryRunOperation. Otherwise,
104465	// it is UnauthorizedOperation.
104466	DryRun *bool `type:"boolean"`
104467
104468	// The target IOPS rate of the volume. This parameter is valid only for gp3,
104469	// io1, and io2 volumes.
104470	//
104471	// The following are the supported values for each volume type:
104472	//
104473	//    * gp3: 3,000-16,000 IOPS
104474	//
104475	//    * io1: 100-64,000 IOPS
104476	//
104477	//    * io2: 100-64,000 IOPS
104478	//
104479	// Default: The existing value is retained if you keep the same volume type.
104480	// If you change the volume type to io1, io2, or gp3, the default is 3,000.
104481	Iops *int64 `type:"integer"`
104482
104483	// Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach,
104484	// 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)
104485	// in the same Availability Zone. This parameter is supported with io1 and io2
104486	// volumes only. For more information, see Amazon EBS Multi-Attach (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volumes-multi.html)
104487	// in the Amazon Elastic Compute Cloud User Guide.
104488	MultiAttachEnabled *bool `type:"boolean"`
104489
104490	// The target size of the volume, in GiB. The target volume size must be greater
104491	// than or equal to the existing size of the volume.
104492	//
104493	// The following are the supported volumes sizes for each volume type:
104494	//
104495	//    * gp2 and gp3: 1-16,384
104496	//
104497	//    * io1 and io2: 4-16,384
104498	//
104499	//    * st1 and sc1: 125-16,384
104500	//
104501	//    * standard: 1-1,024
104502	//
104503	// Default: The existing size is retained.
104504	Size *int64 `type:"integer"`
104505
104506	// The target throughput of the volume, in MiB/s. This parameter is valid only
104507	// for gp3 volumes. The maximum value is 1,000.
104508	//
104509	// Default: The existing value is retained if the source and target volume type
104510	// is gp3. Otherwise, the default value is 125.
104511	//
104512	// Valid Range: Minimum value of 125. Maximum value of 1000.
104513	Throughput *int64 `type:"integer"`
104514
104515	// The ID of the volume.
104516	//
104517	// VolumeId is a required field
104518	VolumeId *string `type:"string" required:"true"`
104519
104520	// The target EBS volume type of the volume. For more information, see Amazon
104521	// EBS volume types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
104522	// in the Amazon Elastic Compute Cloud User Guide.
104523	//
104524	// Default: The existing type is retained.
104525	VolumeType *string `type:"string" enum:"VolumeType"`
104526}
104527
104528// String returns the string representation
104529func (s ModifyVolumeInput) String() string {
104530	return awsutil.Prettify(s)
104531}
104532
104533// GoString returns the string representation
104534func (s ModifyVolumeInput) GoString() string {
104535	return s.String()
104536}
104537
104538// Validate inspects the fields of the type to determine if they are valid.
104539func (s *ModifyVolumeInput) Validate() error {
104540	invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeInput"}
104541	if s.VolumeId == nil {
104542		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
104543	}
104544
104545	if invalidParams.Len() > 0 {
104546		return invalidParams
104547	}
104548	return nil
104549}
104550
104551// SetDryRun sets the DryRun field's value.
104552func (s *ModifyVolumeInput) SetDryRun(v bool) *ModifyVolumeInput {
104553	s.DryRun = &v
104554	return s
104555}
104556
104557// SetIops sets the Iops field's value.
104558func (s *ModifyVolumeInput) SetIops(v int64) *ModifyVolumeInput {
104559	s.Iops = &v
104560	return s
104561}
104562
104563// SetMultiAttachEnabled sets the MultiAttachEnabled field's value.
104564func (s *ModifyVolumeInput) SetMultiAttachEnabled(v bool) *ModifyVolumeInput {
104565	s.MultiAttachEnabled = &v
104566	return s
104567}
104568
104569// SetSize sets the Size field's value.
104570func (s *ModifyVolumeInput) SetSize(v int64) *ModifyVolumeInput {
104571	s.Size = &v
104572	return s
104573}
104574
104575// SetThroughput sets the Throughput field's value.
104576func (s *ModifyVolumeInput) SetThroughput(v int64) *ModifyVolumeInput {
104577	s.Throughput = &v
104578	return s
104579}
104580
104581// SetVolumeId sets the VolumeId field's value.
104582func (s *ModifyVolumeInput) SetVolumeId(v string) *ModifyVolumeInput {
104583	s.VolumeId = &v
104584	return s
104585}
104586
104587// SetVolumeType sets the VolumeType field's value.
104588func (s *ModifyVolumeInput) SetVolumeType(v string) *ModifyVolumeInput {
104589	s.VolumeType = &v
104590	return s
104591}
104592
104593type ModifyVolumeOutput struct {
104594	_ struct{} `type:"structure"`
104595
104596	// Information about the volume modification.
104597	VolumeModification *VolumeModification `locationName:"volumeModification" type:"structure"`
104598}
104599
104600// String returns the string representation
104601func (s ModifyVolumeOutput) String() string {
104602	return awsutil.Prettify(s)
104603}
104604
104605// GoString returns the string representation
104606func (s ModifyVolumeOutput) GoString() string {
104607	return s.String()
104608}
104609
104610// SetVolumeModification sets the VolumeModification field's value.
104611func (s *ModifyVolumeOutput) SetVolumeModification(v *VolumeModification) *ModifyVolumeOutput {
104612	s.VolumeModification = v
104613	return s
104614}
104615
104616type ModifyVpcAttributeInput struct {
104617	_ struct{} `type:"structure"`
104618
104619	// Indicates whether the instances launched in the VPC get DNS hostnames. If
104620	// enabled, instances in the VPC get DNS hostnames; otherwise, they do not.
104621	//
104622	// You cannot modify the DNS resolution and DNS hostnames attributes in the
104623	// same request. Use separate requests for each attribute. You can only enable
104624	// DNS hostnames if you've enabled DNS support.
104625	EnableDnsHostnames *AttributeBooleanValue `type:"structure"`
104626
104627	// Indicates whether the DNS resolution is supported for the VPC. If enabled,
104628	// queries to the Amazon provided DNS server at the 169.254.169.253 IP address,
104629	// or the reserved IP address at the base of the VPC network range "plus two"
104630	// succeed. If disabled, the Amazon provided DNS service in the VPC that resolves
104631	// public DNS hostnames to IP addresses is not enabled.
104632	//
104633	// You cannot modify the DNS resolution and DNS hostnames attributes in the
104634	// same request. Use separate requests for each attribute.
104635	EnableDnsSupport *AttributeBooleanValue `type:"structure"`
104636
104637	// The ID of the VPC.
104638	//
104639	// VpcId is a required field
104640	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
104641}
104642
104643// String returns the string representation
104644func (s ModifyVpcAttributeInput) String() string {
104645	return awsutil.Prettify(s)
104646}
104647
104648// GoString returns the string representation
104649func (s ModifyVpcAttributeInput) GoString() string {
104650	return s.String()
104651}
104652
104653// Validate inspects the fields of the type to determine if they are valid.
104654func (s *ModifyVpcAttributeInput) Validate() error {
104655	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcAttributeInput"}
104656	if s.VpcId == nil {
104657		invalidParams.Add(request.NewErrParamRequired("VpcId"))
104658	}
104659
104660	if invalidParams.Len() > 0 {
104661		return invalidParams
104662	}
104663	return nil
104664}
104665
104666// SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
104667func (s *ModifyVpcAttributeInput) SetEnableDnsHostnames(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
104668	s.EnableDnsHostnames = v
104669	return s
104670}
104671
104672// SetEnableDnsSupport sets the EnableDnsSupport field's value.
104673func (s *ModifyVpcAttributeInput) SetEnableDnsSupport(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
104674	s.EnableDnsSupport = v
104675	return s
104676}
104677
104678// SetVpcId sets the VpcId field's value.
104679func (s *ModifyVpcAttributeInput) SetVpcId(v string) *ModifyVpcAttributeInput {
104680	s.VpcId = &v
104681	return s
104682}
104683
104684type ModifyVpcAttributeOutput struct {
104685	_ struct{} `type:"structure"`
104686}
104687
104688// String returns the string representation
104689func (s ModifyVpcAttributeOutput) String() string {
104690	return awsutil.Prettify(s)
104691}
104692
104693// GoString returns the string representation
104694func (s ModifyVpcAttributeOutput) GoString() string {
104695	return s.String()
104696}
104697
104698type ModifyVpcEndpointConnectionNotificationInput struct {
104699	_ struct{} `type:"structure"`
104700
104701	// One or more events for the endpoint. Valid values are Accept, Connect, Delete,
104702	// and Reject.
104703	ConnectionEvents []*string `locationNameList:"item" type:"list"`
104704
104705	// The ARN for the SNS topic for the notification.
104706	ConnectionNotificationArn *string `type:"string"`
104707
104708	// The ID of the notification.
104709	//
104710	// ConnectionNotificationId is a required field
104711	ConnectionNotificationId *string `type:"string" required:"true"`
104712
104713	// Checks whether you have the required permissions for the action, without
104714	// actually making the request, and provides an error response. If you have
104715	// the required permissions, the error response is DryRunOperation. Otherwise,
104716	// it is UnauthorizedOperation.
104717	DryRun *bool `type:"boolean"`
104718}
104719
104720// String returns the string representation
104721func (s ModifyVpcEndpointConnectionNotificationInput) String() string {
104722	return awsutil.Prettify(s)
104723}
104724
104725// GoString returns the string representation
104726func (s ModifyVpcEndpointConnectionNotificationInput) GoString() string {
104727	return s.String()
104728}
104729
104730// Validate inspects the fields of the type to determine if they are valid.
104731func (s *ModifyVpcEndpointConnectionNotificationInput) Validate() error {
104732	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointConnectionNotificationInput"}
104733	if s.ConnectionNotificationId == nil {
104734		invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationId"))
104735	}
104736
104737	if invalidParams.Len() > 0 {
104738		return invalidParams
104739	}
104740	return nil
104741}
104742
104743// SetConnectionEvents sets the ConnectionEvents field's value.
104744func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionEvents(v []*string) *ModifyVpcEndpointConnectionNotificationInput {
104745	s.ConnectionEvents = v
104746	return s
104747}
104748
104749// SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
104750func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionNotificationArn(v string) *ModifyVpcEndpointConnectionNotificationInput {
104751	s.ConnectionNotificationArn = &v
104752	return s
104753}
104754
104755// SetConnectionNotificationId sets the ConnectionNotificationId field's value.
104756func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionNotificationId(v string) *ModifyVpcEndpointConnectionNotificationInput {
104757	s.ConnectionNotificationId = &v
104758	return s
104759}
104760
104761// SetDryRun sets the DryRun field's value.
104762func (s *ModifyVpcEndpointConnectionNotificationInput) SetDryRun(v bool) *ModifyVpcEndpointConnectionNotificationInput {
104763	s.DryRun = &v
104764	return s
104765}
104766
104767type ModifyVpcEndpointConnectionNotificationOutput struct {
104768	_ struct{} `type:"structure"`
104769
104770	// Returns true if the request succeeds; otherwise, it returns an error.
104771	ReturnValue *bool `locationName:"return" type:"boolean"`
104772}
104773
104774// String returns the string representation
104775func (s ModifyVpcEndpointConnectionNotificationOutput) String() string {
104776	return awsutil.Prettify(s)
104777}
104778
104779// GoString returns the string representation
104780func (s ModifyVpcEndpointConnectionNotificationOutput) GoString() string {
104781	return s.String()
104782}
104783
104784// SetReturnValue sets the ReturnValue field's value.
104785func (s *ModifyVpcEndpointConnectionNotificationOutput) SetReturnValue(v bool) *ModifyVpcEndpointConnectionNotificationOutput {
104786	s.ReturnValue = &v
104787	return s
104788}
104789
104790// Contains the parameters for ModifyVpcEndpoint.
104791type ModifyVpcEndpointInput struct {
104792	_ struct{} `type:"structure"`
104793
104794	// (Gateway endpoint) One or more route tables IDs to associate with the endpoint.
104795	AddRouteTableIds []*string `locationName:"AddRouteTableId" locationNameList:"item" type:"list"`
104796
104797	// (Interface endpoint) One or more security group IDs to associate with the
104798	// network interface.
104799	AddSecurityGroupIds []*string `locationName:"AddSecurityGroupId" locationNameList:"item" type:"list"`
104800
104801	// (Interface and Gateway Load Balancer endpoints) One or more subnet IDs in
104802	// which to serve the endpoint. For a Gateway Load Balancer endpoint, you can
104803	// specify only one subnet.
104804	AddSubnetIds []*string `locationName:"AddSubnetId" locationNameList:"item" type:"list"`
104805
104806	// Checks whether you have the required permissions for the action, without
104807	// actually making the request, and provides an error response. If you have
104808	// the required permissions, the error response is DryRunOperation. Otherwise,
104809	// it is UnauthorizedOperation.
104810	DryRun *bool `type:"boolean"`
104811
104812	// (Interface and gateway endpoints) A policy to attach to the endpoint that
104813	// controls access to the service. The policy must be in valid JSON format.
104814	PolicyDocument *string `type:"string"`
104815
104816	// (Interface endpoint) Indicates whether a private hosted zone is associated
104817	// with the VPC.
104818	PrivateDnsEnabled *bool `type:"boolean"`
104819
104820	// (Gateway endpoint) One or more route table IDs to disassociate from the endpoint.
104821	RemoveRouteTableIds []*string `locationName:"RemoveRouteTableId" locationNameList:"item" type:"list"`
104822
104823	// (Interface endpoint) One or more security group IDs to disassociate from
104824	// the network interface.
104825	RemoveSecurityGroupIds []*string `locationName:"RemoveSecurityGroupId" locationNameList:"item" type:"list"`
104826
104827	// (Interface endpoint) One or more subnets IDs in which to remove the endpoint.
104828	RemoveSubnetIds []*string `locationName:"RemoveSubnetId" locationNameList:"item" type:"list"`
104829
104830	// (Gateway endpoint) Specify true to reset the policy document to the default
104831	// policy. The default policy allows full access to the service.
104832	ResetPolicy *bool `type:"boolean"`
104833
104834	// The ID of the endpoint.
104835	//
104836	// VpcEndpointId is a required field
104837	VpcEndpointId *string `type:"string" required:"true"`
104838}
104839
104840// String returns the string representation
104841func (s ModifyVpcEndpointInput) String() string {
104842	return awsutil.Prettify(s)
104843}
104844
104845// GoString returns the string representation
104846func (s ModifyVpcEndpointInput) GoString() string {
104847	return s.String()
104848}
104849
104850// Validate inspects the fields of the type to determine if they are valid.
104851func (s *ModifyVpcEndpointInput) Validate() error {
104852	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointInput"}
104853	if s.VpcEndpointId == nil {
104854		invalidParams.Add(request.NewErrParamRequired("VpcEndpointId"))
104855	}
104856
104857	if invalidParams.Len() > 0 {
104858		return invalidParams
104859	}
104860	return nil
104861}
104862
104863// SetAddRouteTableIds sets the AddRouteTableIds field's value.
104864func (s *ModifyVpcEndpointInput) SetAddRouteTableIds(v []*string) *ModifyVpcEndpointInput {
104865	s.AddRouteTableIds = v
104866	return s
104867}
104868
104869// SetAddSecurityGroupIds sets the AddSecurityGroupIds field's value.
104870func (s *ModifyVpcEndpointInput) SetAddSecurityGroupIds(v []*string) *ModifyVpcEndpointInput {
104871	s.AddSecurityGroupIds = v
104872	return s
104873}
104874
104875// SetAddSubnetIds sets the AddSubnetIds field's value.
104876func (s *ModifyVpcEndpointInput) SetAddSubnetIds(v []*string) *ModifyVpcEndpointInput {
104877	s.AddSubnetIds = v
104878	return s
104879}
104880
104881// SetDryRun sets the DryRun field's value.
104882func (s *ModifyVpcEndpointInput) SetDryRun(v bool) *ModifyVpcEndpointInput {
104883	s.DryRun = &v
104884	return s
104885}
104886
104887// SetPolicyDocument sets the PolicyDocument field's value.
104888func (s *ModifyVpcEndpointInput) SetPolicyDocument(v string) *ModifyVpcEndpointInput {
104889	s.PolicyDocument = &v
104890	return s
104891}
104892
104893// SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
104894func (s *ModifyVpcEndpointInput) SetPrivateDnsEnabled(v bool) *ModifyVpcEndpointInput {
104895	s.PrivateDnsEnabled = &v
104896	return s
104897}
104898
104899// SetRemoveRouteTableIds sets the RemoveRouteTableIds field's value.
104900func (s *ModifyVpcEndpointInput) SetRemoveRouteTableIds(v []*string) *ModifyVpcEndpointInput {
104901	s.RemoveRouteTableIds = v
104902	return s
104903}
104904
104905// SetRemoveSecurityGroupIds sets the RemoveSecurityGroupIds field's value.
104906func (s *ModifyVpcEndpointInput) SetRemoveSecurityGroupIds(v []*string) *ModifyVpcEndpointInput {
104907	s.RemoveSecurityGroupIds = v
104908	return s
104909}
104910
104911// SetRemoveSubnetIds sets the RemoveSubnetIds field's value.
104912func (s *ModifyVpcEndpointInput) SetRemoveSubnetIds(v []*string) *ModifyVpcEndpointInput {
104913	s.RemoveSubnetIds = v
104914	return s
104915}
104916
104917// SetResetPolicy sets the ResetPolicy field's value.
104918func (s *ModifyVpcEndpointInput) SetResetPolicy(v bool) *ModifyVpcEndpointInput {
104919	s.ResetPolicy = &v
104920	return s
104921}
104922
104923// SetVpcEndpointId sets the VpcEndpointId field's value.
104924func (s *ModifyVpcEndpointInput) SetVpcEndpointId(v string) *ModifyVpcEndpointInput {
104925	s.VpcEndpointId = &v
104926	return s
104927}
104928
104929type ModifyVpcEndpointOutput struct {
104930	_ struct{} `type:"structure"`
104931
104932	// Returns true if the request succeeds; otherwise, it returns an error.
104933	Return *bool `locationName:"return" type:"boolean"`
104934}
104935
104936// String returns the string representation
104937func (s ModifyVpcEndpointOutput) String() string {
104938	return awsutil.Prettify(s)
104939}
104940
104941// GoString returns the string representation
104942func (s ModifyVpcEndpointOutput) GoString() string {
104943	return s.String()
104944}
104945
104946// SetReturn sets the Return field's value.
104947func (s *ModifyVpcEndpointOutput) SetReturn(v bool) *ModifyVpcEndpointOutput {
104948	s.Return = &v
104949	return s
104950}
104951
104952type ModifyVpcEndpointServiceConfigurationInput struct {
104953	_ struct{} `type:"structure"`
104954
104955	// Indicates whether requests to create an endpoint to your service must be
104956	// accepted.
104957	AcceptanceRequired *bool `type:"boolean"`
104958
104959	// The Amazon Resource Names (ARNs) of Gateway Load Balancers to add to your
104960	// service configuration.
104961	AddGatewayLoadBalancerArns []*string `locationName:"AddGatewayLoadBalancerArn" locationNameList:"item" type:"list"`
104962
104963	// The Amazon Resource Names (ARNs) of Network Load Balancers to add to your
104964	// service configuration.
104965	AddNetworkLoadBalancerArns []*string `locationName:"AddNetworkLoadBalancerArn" locationNameList:"item" type:"list"`
104966
104967	// Checks whether you have the required permissions for the action, without
104968	// actually making the request, and provides an error response. If you have
104969	// the required permissions, the error response is DryRunOperation. Otherwise,
104970	// it is UnauthorizedOperation.
104971	DryRun *bool `type:"boolean"`
104972
104973	// (Interface endpoint configuration) The private DNS name to assign to the
104974	// endpoint service.
104975	PrivateDnsName *string `type:"string"`
104976
104977	// The Amazon Resource Names (ARNs) of Gateway Load Balancers to remove from
104978	// your service configuration.
104979	RemoveGatewayLoadBalancerArns []*string `locationName:"RemoveGatewayLoadBalancerArn" locationNameList:"item" type:"list"`
104980
104981	// The Amazon Resource Names (ARNs) of Network Load Balancers to remove from
104982	// your service configuration.
104983	RemoveNetworkLoadBalancerArns []*string `locationName:"RemoveNetworkLoadBalancerArn" locationNameList:"item" type:"list"`
104984
104985	// (Interface endpoint configuration) Removes the private DNS name of the endpoint
104986	// service.
104987	RemovePrivateDnsName *bool `type:"boolean"`
104988
104989	// The ID of the service.
104990	//
104991	// ServiceId is a required field
104992	ServiceId *string `type:"string" required:"true"`
104993}
104994
104995// String returns the string representation
104996func (s ModifyVpcEndpointServiceConfigurationInput) String() string {
104997	return awsutil.Prettify(s)
104998}
104999
105000// GoString returns the string representation
105001func (s ModifyVpcEndpointServiceConfigurationInput) GoString() string {
105002	return s.String()
105003}
105004
105005// Validate inspects the fields of the type to determine if they are valid.
105006func (s *ModifyVpcEndpointServiceConfigurationInput) Validate() error {
105007	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointServiceConfigurationInput"}
105008	if s.ServiceId == nil {
105009		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
105010	}
105011
105012	if invalidParams.Len() > 0 {
105013		return invalidParams
105014	}
105015	return nil
105016}
105017
105018// SetAcceptanceRequired sets the AcceptanceRequired field's value.
105019func (s *ModifyVpcEndpointServiceConfigurationInput) SetAcceptanceRequired(v bool) *ModifyVpcEndpointServiceConfigurationInput {
105020	s.AcceptanceRequired = &v
105021	return s
105022}
105023
105024// SetAddGatewayLoadBalancerArns sets the AddGatewayLoadBalancerArns field's value.
105025func (s *ModifyVpcEndpointServiceConfigurationInput) SetAddGatewayLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
105026	s.AddGatewayLoadBalancerArns = v
105027	return s
105028}
105029
105030// SetAddNetworkLoadBalancerArns sets the AddNetworkLoadBalancerArns field's value.
105031func (s *ModifyVpcEndpointServiceConfigurationInput) SetAddNetworkLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
105032	s.AddNetworkLoadBalancerArns = v
105033	return s
105034}
105035
105036// SetDryRun sets the DryRun field's value.
105037func (s *ModifyVpcEndpointServiceConfigurationInput) SetDryRun(v bool) *ModifyVpcEndpointServiceConfigurationInput {
105038	s.DryRun = &v
105039	return s
105040}
105041
105042// SetPrivateDnsName sets the PrivateDnsName field's value.
105043func (s *ModifyVpcEndpointServiceConfigurationInput) SetPrivateDnsName(v string) *ModifyVpcEndpointServiceConfigurationInput {
105044	s.PrivateDnsName = &v
105045	return s
105046}
105047
105048// SetRemoveGatewayLoadBalancerArns sets the RemoveGatewayLoadBalancerArns field's value.
105049func (s *ModifyVpcEndpointServiceConfigurationInput) SetRemoveGatewayLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
105050	s.RemoveGatewayLoadBalancerArns = v
105051	return s
105052}
105053
105054// SetRemoveNetworkLoadBalancerArns sets the RemoveNetworkLoadBalancerArns field's value.
105055func (s *ModifyVpcEndpointServiceConfigurationInput) SetRemoveNetworkLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
105056	s.RemoveNetworkLoadBalancerArns = v
105057	return s
105058}
105059
105060// SetRemovePrivateDnsName sets the RemovePrivateDnsName field's value.
105061func (s *ModifyVpcEndpointServiceConfigurationInput) SetRemovePrivateDnsName(v bool) *ModifyVpcEndpointServiceConfigurationInput {
105062	s.RemovePrivateDnsName = &v
105063	return s
105064}
105065
105066// SetServiceId sets the ServiceId field's value.
105067func (s *ModifyVpcEndpointServiceConfigurationInput) SetServiceId(v string) *ModifyVpcEndpointServiceConfigurationInput {
105068	s.ServiceId = &v
105069	return s
105070}
105071
105072type ModifyVpcEndpointServiceConfigurationOutput struct {
105073	_ struct{} `type:"structure"`
105074
105075	// Returns true if the request succeeds; otherwise, it returns an error.
105076	Return *bool `locationName:"return" type:"boolean"`
105077}
105078
105079// String returns the string representation
105080func (s ModifyVpcEndpointServiceConfigurationOutput) String() string {
105081	return awsutil.Prettify(s)
105082}
105083
105084// GoString returns the string representation
105085func (s ModifyVpcEndpointServiceConfigurationOutput) GoString() string {
105086	return s.String()
105087}
105088
105089// SetReturn sets the Return field's value.
105090func (s *ModifyVpcEndpointServiceConfigurationOutput) SetReturn(v bool) *ModifyVpcEndpointServiceConfigurationOutput {
105091	s.Return = &v
105092	return s
105093}
105094
105095type ModifyVpcEndpointServicePermissionsInput struct {
105096	_ struct{} `type:"structure"`
105097
105098	// The Amazon Resource Names (ARN) of one or more principals. Permissions are
105099	// granted to the principals in this list. To grant permissions to all principals,
105100	// specify an asterisk (*).
105101	AddAllowedPrincipals []*string `locationNameList:"item" type:"list"`
105102
105103	// Checks whether you have the required permissions for the action, without
105104	// actually making the request, and provides an error response. If you have
105105	// the required permissions, the error response is DryRunOperation. Otherwise,
105106	// it is UnauthorizedOperation.
105107	DryRun *bool `type:"boolean"`
105108
105109	// The Amazon Resource Names (ARN) of one or more principals. Permissions are
105110	// revoked for principals in this list.
105111	RemoveAllowedPrincipals []*string `locationNameList:"item" type:"list"`
105112
105113	// The ID of the service.
105114	//
105115	// ServiceId is a required field
105116	ServiceId *string `type:"string" required:"true"`
105117}
105118
105119// String returns the string representation
105120func (s ModifyVpcEndpointServicePermissionsInput) String() string {
105121	return awsutil.Prettify(s)
105122}
105123
105124// GoString returns the string representation
105125func (s ModifyVpcEndpointServicePermissionsInput) GoString() string {
105126	return s.String()
105127}
105128
105129// Validate inspects the fields of the type to determine if they are valid.
105130func (s *ModifyVpcEndpointServicePermissionsInput) Validate() error {
105131	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointServicePermissionsInput"}
105132	if s.ServiceId == nil {
105133		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
105134	}
105135
105136	if invalidParams.Len() > 0 {
105137		return invalidParams
105138	}
105139	return nil
105140}
105141
105142// SetAddAllowedPrincipals sets the AddAllowedPrincipals field's value.
105143func (s *ModifyVpcEndpointServicePermissionsInput) SetAddAllowedPrincipals(v []*string) *ModifyVpcEndpointServicePermissionsInput {
105144	s.AddAllowedPrincipals = v
105145	return s
105146}
105147
105148// SetDryRun sets the DryRun field's value.
105149func (s *ModifyVpcEndpointServicePermissionsInput) SetDryRun(v bool) *ModifyVpcEndpointServicePermissionsInput {
105150	s.DryRun = &v
105151	return s
105152}
105153
105154// SetRemoveAllowedPrincipals sets the RemoveAllowedPrincipals field's value.
105155func (s *ModifyVpcEndpointServicePermissionsInput) SetRemoveAllowedPrincipals(v []*string) *ModifyVpcEndpointServicePermissionsInput {
105156	s.RemoveAllowedPrincipals = v
105157	return s
105158}
105159
105160// SetServiceId sets the ServiceId field's value.
105161func (s *ModifyVpcEndpointServicePermissionsInput) SetServiceId(v string) *ModifyVpcEndpointServicePermissionsInput {
105162	s.ServiceId = &v
105163	return s
105164}
105165
105166type ModifyVpcEndpointServicePermissionsOutput struct {
105167	_ struct{} `type:"structure"`
105168
105169	// Returns true if the request succeeds; otherwise, it returns an error.
105170	ReturnValue *bool `locationName:"return" type:"boolean"`
105171}
105172
105173// String returns the string representation
105174func (s ModifyVpcEndpointServicePermissionsOutput) String() string {
105175	return awsutil.Prettify(s)
105176}
105177
105178// GoString returns the string representation
105179func (s ModifyVpcEndpointServicePermissionsOutput) GoString() string {
105180	return s.String()
105181}
105182
105183// SetReturnValue sets the ReturnValue field's value.
105184func (s *ModifyVpcEndpointServicePermissionsOutput) SetReturnValue(v bool) *ModifyVpcEndpointServicePermissionsOutput {
105185	s.ReturnValue = &v
105186	return s
105187}
105188
105189type ModifyVpcPeeringConnectionOptionsInput struct {
105190	_ struct{} `type:"structure"`
105191
105192	// The VPC peering connection options for the accepter VPC.
105193	AccepterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
105194
105195	// Checks whether you have the required permissions for the action, without
105196	// actually making the request, and provides an error response. If you have
105197	// the required permissions, the error response is DryRunOperation. Otherwise,
105198	// it is UnauthorizedOperation.
105199	DryRun *bool `type:"boolean"`
105200
105201	// The VPC peering connection options for the requester VPC.
105202	RequesterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
105203
105204	// The ID of the VPC peering connection.
105205	//
105206	// VpcPeeringConnectionId is a required field
105207	VpcPeeringConnectionId *string `type:"string" required:"true"`
105208}
105209
105210// String returns the string representation
105211func (s ModifyVpcPeeringConnectionOptionsInput) String() string {
105212	return awsutil.Prettify(s)
105213}
105214
105215// GoString returns the string representation
105216func (s ModifyVpcPeeringConnectionOptionsInput) GoString() string {
105217	return s.String()
105218}
105219
105220// Validate inspects the fields of the type to determine if they are valid.
105221func (s *ModifyVpcPeeringConnectionOptionsInput) Validate() error {
105222	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcPeeringConnectionOptionsInput"}
105223	if s.VpcPeeringConnectionId == nil {
105224		invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
105225	}
105226
105227	if invalidParams.Len() > 0 {
105228		return invalidParams
105229	}
105230	return nil
105231}
105232
105233// SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
105234func (s *ModifyVpcPeeringConnectionOptionsInput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
105235	s.AccepterPeeringConnectionOptions = v
105236	return s
105237}
105238
105239// SetDryRun sets the DryRun field's value.
105240func (s *ModifyVpcPeeringConnectionOptionsInput) SetDryRun(v bool) *ModifyVpcPeeringConnectionOptionsInput {
105241	s.DryRun = &v
105242	return s
105243}
105244
105245// SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
105246func (s *ModifyVpcPeeringConnectionOptionsInput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
105247	s.RequesterPeeringConnectionOptions = v
105248	return s
105249}
105250
105251// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
105252func (s *ModifyVpcPeeringConnectionOptionsInput) SetVpcPeeringConnectionId(v string) *ModifyVpcPeeringConnectionOptionsInput {
105253	s.VpcPeeringConnectionId = &v
105254	return s
105255}
105256
105257type ModifyVpcPeeringConnectionOptionsOutput struct {
105258	_ struct{} `type:"structure"`
105259
105260	// Information about the VPC peering connection options for the accepter VPC.
105261	AccepterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"accepterPeeringConnectionOptions" type:"structure"`
105262
105263	// Information about the VPC peering connection options for the requester VPC.
105264	RequesterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"requesterPeeringConnectionOptions" type:"structure"`
105265}
105266
105267// String returns the string representation
105268func (s ModifyVpcPeeringConnectionOptionsOutput) String() string {
105269	return awsutil.Prettify(s)
105270}
105271
105272// GoString returns the string representation
105273func (s ModifyVpcPeeringConnectionOptionsOutput) GoString() string {
105274	return s.String()
105275}
105276
105277// SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
105278func (s *ModifyVpcPeeringConnectionOptionsOutput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
105279	s.AccepterPeeringConnectionOptions = v
105280	return s
105281}
105282
105283// SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
105284func (s *ModifyVpcPeeringConnectionOptionsOutput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
105285	s.RequesterPeeringConnectionOptions = v
105286	return s
105287}
105288
105289type ModifyVpcTenancyInput struct {
105290	_ struct{} `type:"structure"`
105291
105292	// Checks whether you have the required permissions for the action, without
105293	// actually making the request, and provides an error response. If you have
105294	// the required permissions, the error response is DryRunOperation. Otherwise,
105295	// it is UnauthorizedOperation.
105296	DryRun *bool `type:"boolean"`
105297
105298	// The instance tenancy attribute for the VPC.
105299	//
105300	// InstanceTenancy is a required field
105301	InstanceTenancy *string `type:"string" required:"true" enum:"VpcTenancy"`
105302
105303	// The ID of the VPC.
105304	//
105305	// VpcId is a required field
105306	VpcId *string `type:"string" required:"true"`
105307}
105308
105309// String returns the string representation
105310func (s ModifyVpcTenancyInput) String() string {
105311	return awsutil.Prettify(s)
105312}
105313
105314// GoString returns the string representation
105315func (s ModifyVpcTenancyInput) GoString() string {
105316	return s.String()
105317}
105318
105319// Validate inspects the fields of the type to determine if they are valid.
105320func (s *ModifyVpcTenancyInput) Validate() error {
105321	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcTenancyInput"}
105322	if s.InstanceTenancy == nil {
105323		invalidParams.Add(request.NewErrParamRequired("InstanceTenancy"))
105324	}
105325	if s.VpcId == nil {
105326		invalidParams.Add(request.NewErrParamRequired("VpcId"))
105327	}
105328
105329	if invalidParams.Len() > 0 {
105330		return invalidParams
105331	}
105332	return nil
105333}
105334
105335// SetDryRun sets the DryRun field's value.
105336func (s *ModifyVpcTenancyInput) SetDryRun(v bool) *ModifyVpcTenancyInput {
105337	s.DryRun = &v
105338	return s
105339}
105340
105341// SetInstanceTenancy sets the InstanceTenancy field's value.
105342func (s *ModifyVpcTenancyInput) SetInstanceTenancy(v string) *ModifyVpcTenancyInput {
105343	s.InstanceTenancy = &v
105344	return s
105345}
105346
105347// SetVpcId sets the VpcId field's value.
105348func (s *ModifyVpcTenancyInput) SetVpcId(v string) *ModifyVpcTenancyInput {
105349	s.VpcId = &v
105350	return s
105351}
105352
105353type ModifyVpcTenancyOutput struct {
105354	_ struct{} `type:"structure"`
105355
105356	// Returns true if the request succeeds; otherwise, returns an error.
105357	ReturnValue *bool `locationName:"return" type:"boolean"`
105358}
105359
105360// String returns the string representation
105361func (s ModifyVpcTenancyOutput) String() string {
105362	return awsutil.Prettify(s)
105363}
105364
105365// GoString returns the string representation
105366func (s ModifyVpcTenancyOutput) GoString() string {
105367	return s.String()
105368}
105369
105370// SetReturnValue sets the ReturnValue field's value.
105371func (s *ModifyVpcTenancyOutput) SetReturnValue(v bool) *ModifyVpcTenancyOutput {
105372	s.ReturnValue = &v
105373	return s
105374}
105375
105376type ModifyVpnConnectionInput struct {
105377	_ struct{} `type:"structure"`
105378
105379	// The ID of the customer gateway at your end of the VPN connection.
105380	CustomerGatewayId *string `type:"string"`
105381
105382	// Checks whether you have the required permissions for the action, without
105383	// actually making the request, and provides an error response. If you have
105384	// the required permissions, the error response is DryRunOperation. Otherwise,
105385	// it is UnauthorizedOperation.
105386	DryRun *bool `type:"boolean"`
105387
105388	// The ID of the transit gateway.
105389	TransitGatewayId *string `type:"string"`
105390
105391	// The ID of the VPN connection.
105392	//
105393	// VpnConnectionId is a required field
105394	VpnConnectionId *string `type:"string" required:"true"`
105395
105396	// The ID of the virtual private gateway at the AWS side of the VPN connection.
105397	VpnGatewayId *string `type:"string"`
105398}
105399
105400// String returns the string representation
105401func (s ModifyVpnConnectionInput) String() string {
105402	return awsutil.Prettify(s)
105403}
105404
105405// GoString returns the string representation
105406func (s ModifyVpnConnectionInput) GoString() string {
105407	return s.String()
105408}
105409
105410// Validate inspects the fields of the type to determine if they are valid.
105411func (s *ModifyVpnConnectionInput) Validate() error {
105412	invalidParams := request.ErrInvalidParams{Context: "ModifyVpnConnectionInput"}
105413	if s.VpnConnectionId == nil {
105414		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
105415	}
105416
105417	if invalidParams.Len() > 0 {
105418		return invalidParams
105419	}
105420	return nil
105421}
105422
105423// SetCustomerGatewayId sets the CustomerGatewayId field's value.
105424func (s *ModifyVpnConnectionInput) SetCustomerGatewayId(v string) *ModifyVpnConnectionInput {
105425	s.CustomerGatewayId = &v
105426	return s
105427}
105428
105429// SetDryRun sets the DryRun field's value.
105430func (s *ModifyVpnConnectionInput) SetDryRun(v bool) *ModifyVpnConnectionInput {
105431	s.DryRun = &v
105432	return s
105433}
105434
105435// SetTransitGatewayId sets the TransitGatewayId field's value.
105436func (s *ModifyVpnConnectionInput) SetTransitGatewayId(v string) *ModifyVpnConnectionInput {
105437	s.TransitGatewayId = &v
105438	return s
105439}
105440
105441// SetVpnConnectionId sets the VpnConnectionId field's value.
105442func (s *ModifyVpnConnectionInput) SetVpnConnectionId(v string) *ModifyVpnConnectionInput {
105443	s.VpnConnectionId = &v
105444	return s
105445}
105446
105447// SetVpnGatewayId sets the VpnGatewayId field's value.
105448func (s *ModifyVpnConnectionInput) SetVpnGatewayId(v string) *ModifyVpnConnectionInput {
105449	s.VpnGatewayId = &v
105450	return s
105451}
105452
105453type ModifyVpnConnectionOptionsInput struct {
105454	_ struct{} `type:"structure"`
105455
105456	// Checks whether you have the required permissions for the action, without
105457	// actually making the request, and provides an error response. If you have
105458	// the required permissions, the error response is DryRunOperation. Otherwise,
105459	// it is UnauthorizedOperation.
105460	DryRun *bool `type:"boolean"`
105461
105462	// The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.
105463	//
105464	// Default: 0.0.0.0/0
105465	LocalIpv4NetworkCidr *string `type:"string"`
105466
105467	// The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.
105468	//
105469	// Default: ::/0
105470	LocalIpv6NetworkCidr *string `type:"string"`
105471
105472	// The IPv4 CIDR on the AWS side of the VPN connection.
105473	//
105474	// Default: 0.0.0.0/0
105475	RemoteIpv4NetworkCidr *string `type:"string"`
105476
105477	// The IPv6 CIDR on the AWS side of the VPN connection.
105478	//
105479	// Default: ::/0
105480	RemoteIpv6NetworkCidr *string `type:"string"`
105481
105482	// The ID of the Site-to-Site VPN connection.
105483	//
105484	// VpnConnectionId is a required field
105485	VpnConnectionId *string `type:"string" required:"true"`
105486}
105487
105488// String returns the string representation
105489func (s ModifyVpnConnectionOptionsInput) String() string {
105490	return awsutil.Prettify(s)
105491}
105492
105493// GoString returns the string representation
105494func (s ModifyVpnConnectionOptionsInput) GoString() string {
105495	return s.String()
105496}
105497
105498// Validate inspects the fields of the type to determine if they are valid.
105499func (s *ModifyVpnConnectionOptionsInput) Validate() error {
105500	invalidParams := request.ErrInvalidParams{Context: "ModifyVpnConnectionOptionsInput"}
105501	if s.VpnConnectionId == nil {
105502		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
105503	}
105504
105505	if invalidParams.Len() > 0 {
105506		return invalidParams
105507	}
105508	return nil
105509}
105510
105511// SetDryRun sets the DryRun field's value.
105512func (s *ModifyVpnConnectionOptionsInput) SetDryRun(v bool) *ModifyVpnConnectionOptionsInput {
105513	s.DryRun = &v
105514	return s
105515}
105516
105517// SetLocalIpv4NetworkCidr sets the LocalIpv4NetworkCidr field's value.
105518func (s *ModifyVpnConnectionOptionsInput) SetLocalIpv4NetworkCidr(v string) *ModifyVpnConnectionOptionsInput {
105519	s.LocalIpv4NetworkCidr = &v
105520	return s
105521}
105522
105523// SetLocalIpv6NetworkCidr sets the LocalIpv6NetworkCidr field's value.
105524func (s *ModifyVpnConnectionOptionsInput) SetLocalIpv6NetworkCidr(v string) *ModifyVpnConnectionOptionsInput {
105525	s.LocalIpv6NetworkCidr = &v
105526	return s
105527}
105528
105529// SetRemoteIpv4NetworkCidr sets the RemoteIpv4NetworkCidr field's value.
105530func (s *ModifyVpnConnectionOptionsInput) SetRemoteIpv4NetworkCidr(v string) *ModifyVpnConnectionOptionsInput {
105531	s.RemoteIpv4NetworkCidr = &v
105532	return s
105533}
105534
105535// SetRemoteIpv6NetworkCidr sets the RemoteIpv6NetworkCidr field's value.
105536func (s *ModifyVpnConnectionOptionsInput) SetRemoteIpv6NetworkCidr(v string) *ModifyVpnConnectionOptionsInput {
105537	s.RemoteIpv6NetworkCidr = &v
105538	return s
105539}
105540
105541// SetVpnConnectionId sets the VpnConnectionId field's value.
105542func (s *ModifyVpnConnectionOptionsInput) SetVpnConnectionId(v string) *ModifyVpnConnectionOptionsInput {
105543	s.VpnConnectionId = &v
105544	return s
105545}
105546
105547type ModifyVpnConnectionOptionsOutput struct {
105548	_ struct{} `type:"structure"`
105549
105550	// Describes a VPN connection.
105551	VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
105552}
105553
105554// String returns the string representation
105555func (s ModifyVpnConnectionOptionsOutput) String() string {
105556	return awsutil.Prettify(s)
105557}
105558
105559// GoString returns the string representation
105560func (s ModifyVpnConnectionOptionsOutput) GoString() string {
105561	return s.String()
105562}
105563
105564// SetVpnConnection sets the VpnConnection field's value.
105565func (s *ModifyVpnConnectionOptionsOutput) SetVpnConnection(v *VpnConnection) *ModifyVpnConnectionOptionsOutput {
105566	s.VpnConnection = v
105567	return s
105568}
105569
105570type ModifyVpnConnectionOutput struct {
105571	_ struct{} `type:"structure"`
105572
105573	// Describes a VPN connection.
105574	VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
105575}
105576
105577// String returns the string representation
105578func (s ModifyVpnConnectionOutput) String() string {
105579	return awsutil.Prettify(s)
105580}
105581
105582// GoString returns the string representation
105583func (s ModifyVpnConnectionOutput) GoString() string {
105584	return s.String()
105585}
105586
105587// SetVpnConnection sets the VpnConnection field's value.
105588func (s *ModifyVpnConnectionOutput) SetVpnConnection(v *VpnConnection) *ModifyVpnConnectionOutput {
105589	s.VpnConnection = v
105590	return s
105591}
105592
105593type ModifyVpnTunnelCertificateInput struct {
105594	_ struct{} `type:"structure"`
105595
105596	// Checks whether you have the required permissions for the action, without
105597	// actually making the request, and provides an error response. If you have
105598	// the required permissions, the error response is DryRunOperation. Otherwise,
105599	// it is UnauthorizedOperation.
105600	DryRun *bool `type:"boolean"`
105601
105602	// The ID of the AWS Site-to-Site VPN connection.
105603	//
105604	// VpnConnectionId is a required field
105605	VpnConnectionId *string `type:"string" required:"true"`
105606
105607	// The external IP address of the VPN tunnel.
105608	//
105609	// VpnTunnelOutsideIpAddress is a required field
105610	VpnTunnelOutsideIpAddress *string `type:"string" required:"true"`
105611}
105612
105613// String returns the string representation
105614func (s ModifyVpnTunnelCertificateInput) String() string {
105615	return awsutil.Prettify(s)
105616}
105617
105618// GoString returns the string representation
105619func (s ModifyVpnTunnelCertificateInput) GoString() string {
105620	return s.String()
105621}
105622
105623// Validate inspects the fields of the type to determine if they are valid.
105624func (s *ModifyVpnTunnelCertificateInput) Validate() error {
105625	invalidParams := request.ErrInvalidParams{Context: "ModifyVpnTunnelCertificateInput"}
105626	if s.VpnConnectionId == nil {
105627		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
105628	}
105629	if s.VpnTunnelOutsideIpAddress == nil {
105630		invalidParams.Add(request.NewErrParamRequired("VpnTunnelOutsideIpAddress"))
105631	}
105632
105633	if invalidParams.Len() > 0 {
105634		return invalidParams
105635	}
105636	return nil
105637}
105638
105639// SetDryRun sets the DryRun field's value.
105640func (s *ModifyVpnTunnelCertificateInput) SetDryRun(v bool) *ModifyVpnTunnelCertificateInput {
105641	s.DryRun = &v
105642	return s
105643}
105644
105645// SetVpnConnectionId sets the VpnConnectionId field's value.
105646func (s *ModifyVpnTunnelCertificateInput) SetVpnConnectionId(v string) *ModifyVpnTunnelCertificateInput {
105647	s.VpnConnectionId = &v
105648	return s
105649}
105650
105651// SetVpnTunnelOutsideIpAddress sets the VpnTunnelOutsideIpAddress field's value.
105652func (s *ModifyVpnTunnelCertificateInput) SetVpnTunnelOutsideIpAddress(v string) *ModifyVpnTunnelCertificateInput {
105653	s.VpnTunnelOutsideIpAddress = &v
105654	return s
105655}
105656
105657type ModifyVpnTunnelCertificateOutput struct {
105658	_ struct{} `type:"structure"`
105659
105660	// Describes a VPN connection.
105661	VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
105662}
105663
105664// String returns the string representation
105665func (s ModifyVpnTunnelCertificateOutput) String() string {
105666	return awsutil.Prettify(s)
105667}
105668
105669// GoString returns the string representation
105670func (s ModifyVpnTunnelCertificateOutput) GoString() string {
105671	return s.String()
105672}
105673
105674// SetVpnConnection sets the VpnConnection field's value.
105675func (s *ModifyVpnTunnelCertificateOutput) SetVpnConnection(v *VpnConnection) *ModifyVpnTunnelCertificateOutput {
105676	s.VpnConnection = v
105677	return s
105678}
105679
105680type ModifyVpnTunnelOptionsInput struct {
105681	_ struct{} `type:"structure"`
105682
105683	// Checks whether you have the required permissions for the action, without
105684	// actually making the request, and provides an error response. If you have
105685	// the required permissions, the error response is DryRunOperation. Otherwise,
105686	// it is UnauthorizedOperation.
105687	DryRun *bool `type:"boolean"`
105688
105689	// The tunnel options to modify.
105690	//
105691	// TunnelOptions is a required field
105692	TunnelOptions *ModifyVpnTunnelOptionsSpecification `type:"structure" required:"true"`
105693
105694	// The ID of the AWS Site-to-Site VPN connection.
105695	//
105696	// VpnConnectionId is a required field
105697	VpnConnectionId *string `type:"string" required:"true"`
105698
105699	// The external IP address of the VPN tunnel.
105700	//
105701	// VpnTunnelOutsideIpAddress is a required field
105702	VpnTunnelOutsideIpAddress *string `type:"string" required:"true"`
105703}
105704
105705// String returns the string representation
105706func (s ModifyVpnTunnelOptionsInput) String() string {
105707	return awsutil.Prettify(s)
105708}
105709
105710// GoString returns the string representation
105711func (s ModifyVpnTunnelOptionsInput) GoString() string {
105712	return s.String()
105713}
105714
105715// Validate inspects the fields of the type to determine if they are valid.
105716func (s *ModifyVpnTunnelOptionsInput) Validate() error {
105717	invalidParams := request.ErrInvalidParams{Context: "ModifyVpnTunnelOptionsInput"}
105718	if s.TunnelOptions == nil {
105719		invalidParams.Add(request.NewErrParamRequired("TunnelOptions"))
105720	}
105721	if s.VpnConnectionId == nil {
105722		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
105723	}
105724	if s.VpnTunnelOutsideIpAddress == nil {
105725		invalidParams.Add(request.NewErrParamRequired("VpnTunnelOutsideIpAddress"))
105726	}
105727
105728	if invalidParams.Len() > 0 {
105729		return invalidParams
105730	}
105731	return nil
105732}
105733
105734// SetDryRun sets the DryRun field's value.
105735func (s *ModifyVpnTunnelOptionsInput) SetDryRun(v bool) *ModifyVpnTunnelOptionsInput {
105736	s.DryRun = &v
105737	return s
105738}
105739
105740// SetTunnelOptions sets the TunnelOptions field's value.
105741func (s *ModifyVpnTunnelOptionsInput) SetTunnelOptions(v *ModifyVpnTunnelOptionsSpecification) *ModifyVpnTunnelOptionsInput {
105742	s.TunnelOptions = v
105743	return s
105744}
105745
105746// SetVpnConnectionId sets the VpnConnectionId field's value.
105747func (s *ModifyVpnTunnelOptionsInput) SetVpnConnectionId(v string) *ModifyVpnTunnelOptionsInput {
105748	s.VpnConnectionId = &v
105749	return s
105750}
105751
105752// SetVpnTunnelOutsideIpAddress sets the VpnTunnelOutsideIpAddress field's value.
105753func (s *ModifyVpnTunnelOptionsInput) SetVpnTunnelOutsideIpAddress(v string) *ModifyVpnTunnelOptionsInput {
105754	s.VpnTunnelOutsideIpAddress = &v
105755	return s
105756}
105757
105758type ModifyVpnTunnelOptionsOutput struct {
105759	_ struct{} `type:"structure"`
105760
105761	// Describes a VPN connection.
105762	VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
105763}
105764
105765// String returns the string representation
105766func (s ModifyVpnTunnelOptionsOutput) String() string {
105767	return awsutil.Prettify(s)
105768}
105769
105770// GoString returns the string representation
105771func (s ModifyVpnTunnelOptionsOutput) GoString() string {
105772	return s.String()
105773}
105774
105775// SetVpnConnection sets the VpnConnection field's value.
105776func (s *ModifyVpnTunnelOptionsOutput) SetVpnConnection(v *VpnConnection) *ModifyVpnTunnelOptionsOutput {
105777	s.VpnConnection = v
105778	return s
105779}
105780
105781// The AWS Site-to-Site VPN tunnel options to modify.
105782type ModifyVpnTunnelOptionsSpecification struct {
105783	_ struct{} `type:"structure"`
105784
105785	// The action to take after DPD timeout occurs. Specify restart to restart the
105786	// IKE initiation. Specify clear to end the IKE session.
105787	//
105788	// Valid Values: clear | none | restart
105789	//
105790	// Default: clear
105791	DPDTimeoutAction *string `type:"string"`
105792
105793	// The number of seconds after which a DPD timeout occurs.
105794	//
105795	// Constraints: A value between 0 and 30.
105796	//
105797	// Default: 30
105798	DPDTimeoutSeconds *int64 `type:"integer"`
105799
105800	// The IKE versions that are permitted for the VPN tunnel.
105801	//
105802	// Valid values: ikev1 | ikev2
105803	IKEVersions []*IKEVersionsRequestListValue `locationName:"IKEVersion" locationNameList:"item" type:"list"`
105804
105805	// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel
105806	// for phase 1 IKE negotiations.
105807	//
105808	// Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24
105809	Phase1DHGroupNumbers []*Phase1DHGroupNumbersRequestListValue `locationName:"Phase1DHGroupNumber" locationNameList:"item" type:"list"`
105810
105811	// One or more encryption algorithms that are permitted for the VPN tunnel for
105812	// phase 1 IKE negotiations.
105813	//
105814	// Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16
105815	Phase1EncryptionAlgorithms []*Phase1EncryptionAlgorithmsRequestListValue `locationName:"Phase1EncryptionAlgorithm" locationNameList:"item" type:"list"`
105816
105817	// One or more integrity algorithms that are permitted for the VPN tunnel for
105818	// phase 1 IKE negotiations.
105819	//
105820	// Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512
105821	Phase1IntegrityAlgorithms []*Phase1IntegrityAlgorithmsRequestListValue `locationName:"Phase1IntegrityAlgorithm" locationNameList:"item" type:"list"`
105822
105823	// The lifetime for phase 1 of the IKE negotiation, in seconds.
105824	//
105825	// Constraints: A value between 900 and 28,800.
105826	//
105827	// Default: 28800
105828	Phase1LifetimeSeconds *int64 `type:"integer"`
105829
105830	// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel
105831	// for phase 2 IKE negotiations.
105832	//
105833	// Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24
105834	Phase2DHGroupNumbers []*Phase2DHGroupNumbersRequestListValue `locationName:"Phase2DHGroupNumber" locationNameList:"item" type:"list"`
105835
105836	// One or more encryption algorithms that are permitted for the VPN tunnel for
105837	// phase 2 IKE negotiations.
105838	//
105839	// Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16
105840	Phase2EncryptionAlgorithms []*Phase2EncryptionAlgorithmsRequestListValue `locationName:"Phase2EncryptionAlgorithm" locationNameList:"item" type:"list"`
105841
105842	// One or more integrity algorithms that are permitted for the VPN tunnel for
105843	// phase 2 IKE negotiations.
105844	//
105845	// Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512
105846	Phase2IntegrityAlgorithms []*Phase2IntegrityAlgorithmsRequestListValue `locationName:"Phase2IntegrityAlgorithm" locationNameList:"item" type:"list"`
105847
105848	// The lifetime for phase 2 of the IKE negotiation, in seconds.
105849	//
105850	// Constraints: A value between 900 and 3,600. The value must be less than the
105851	// value for Phase1LifetimeSeconds.
105852	//
105853	// Default: 3600
105854	Phase2LifetimeSeconds *int64 `type:"integer"`
105855
105856	// The pre-shared key (PSK) to establish initial authentication between the
105857	// virtual private gateway and the customer gateway.
105858	//
105859	// Constraints: Allowed characters are alphanumeric characters, periods (.),
105860	// and underscores (_). Must be between 8 and 64 characters in length and cannot
105861	// start with zero (0).
105862	PreSharedKey *string `type:"string"`
105863
105864	// The percentage of the rekey window (determined by RekeyMarginTimeSeconds)
105865	// during which the rekey time is randomly selected.
105866	//
105867	// Constraints: A value between 0 and 100.
105868	//
105869	// Default: 100
105870	RekeyFuzzPercentage *int64 `type:"integer"`
105871
105872	// The margin time, in seconds, before the phase 2 lifetime expires, during
105873	// which the AWS side of the VPN connection performs an IKE rekey. The exact
105874	// time of the rekey is randomly selected based on the value for RekeyFuzzPercentage.
105875	//
105876	// Constraints: A value between 60 and half of Phase2LifetimeSeconds.
105877	//
105878	// Default: 540
105879	RekeyMarginTimeSeconds *int64 `type:"integer"`
105880
105881	// The number of packets in an IKE replay window.
105882	//
105883	// Constraints: A value between 64 and 2048.
105884	//
105885	// Default: 1024
105886	ReplayWindowSize *int64 `type:"integer"`
105887
105888	// The action to take when the establishing the tunnel for the VPN connection.
105889	// By default, your customer gateway device must initiate the IKE negotiation
105890	// and bring up the tunnel. Specify start for AWS to initiate the IKE negotiation.
105891	//
105892	// Valid Values: add | start
105893	//
105894	// Default: add
105895	StartupAction *string `type:"string"`
105896
105897	// The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks
105898	// must be unique across all VPN connections that use the same virtual private
105899	// gateway.
105900	//
105901	// Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following
105902	// CIDR blocks are reserved and cannot be used:
105903	//
105904	//    * 169.254.0.0/30
105905	//
105906	//    * 169.254.1.0/30
105907	//
105908	//    * 169.254.2.0/30
105909	//
105910	//    * 169.254.3.0/30
105911	//
105912	//    * 169.254.4.0/30
105913	//
105914	//    * 169.254.5.0/30
105915	//
105916	//    * 169.254.169.252/30
105917	TunnelInsideCidr *string `type:"string"`
105918
105919	// The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks
105920	// must be unique across all VPN connections that use the same transit gateway.
105921	//
105922	// Constraints: A size /126 CIDR block from the local fd00::/8 range.
105923	TunnelInsideIpv6Cidr *string `type:"string"`
105924}
105925
105926// String returns the string representation
105927func (s ModifyVpnTunnelOptionsSpecification) String() string {
105928	return awsutil.Prettify(s)
105929}
105930
105931// GoString returns the string representation
105932func (s ModifyVpnTunnelOptionsSpecification) GoString() string {
105933	return s.String()
105934}
105935
105936// SetDPDTimeoutAction sets the DPDTimeoutAction field's value.
105937func (s *ModifyVpnTunnelOptionsSpecification) SetDPDTimeoutAction(v string) *ModifyVpnTunnelOptionsSpecification {
105938	s.DPDTimeoutAction = &v
105939	return s
105940}
105941
105942// SetDPDTimeoutSeconds sets the DPDTimeoutSeconds field's value.
105943func (s *ModifyVpnTunnelOptionsSpecification) SetDPDTimeoutSeconds(v int64) *ModifyVpnTunnelOptionsSpecification {
105944	s.DPDTimeoutSeconds = &v
105945	return s
105946}
105947
105948// SetIKEVersions sets the IKEVersions field's value.
105949func (s *ModifyVpnTunnelOptionsSpecification) SetIKEVersions(v []*IKEVersionsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
105950	s.IKEVersions = v
105951	return s
105952}
105953
105954// SetPhase1DHGroupNumbers sets the Phase1DHGroupNumbers field's value.
105955func (s *ModifyVpnTunnelOptionsSpecification) SetPhase1DHGroupNumbers(v []*Phase1DHGroupNumbersRequestListValue) *ModifyVpnTunnelOptionsSpecification {
105956	s.Phase1DHGroupNumbers = v
105957	return s
105958}
105959
105960// SetPhase1EncryptionAlgorithms sets the Phase1EncryptionAlgorithms field's value.
105961func (s *ModifyVpnTunnelOptionsSpecification) SetPhase1EncryptionAlgorithms(v []*Phase1EncryptionAlgorithmsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
105962	s.Phase1EncryptionAlgorithms = v
105963	return s
105964}
105965
105966// SetPhase1IntegrityAlgorithms sets the Phase1IntegrityAlgorithms field's value.
105967func (s *ModifyVpnTunnelOptionsSpecification) SetPhase1IntegrityAlgorithms(v []*Phase1IntegrityAlgorithmsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
105968	s.Phase1IntegrityAlgorithms = v
105969	return s
105970}
105971
105972// SetPhase1LifetimeSeconds sets the Phase1LifetimeSeconds field's value.
105973func (s *ModifyVpnTunnelOptionsSpecification) SetPhase1LifetimeSeconds(v int64) *ModifyVpnTunnelOptionsSpecification {
105974	s.Phase1LifetimeSeconds = &v
105975	return s
105976}
105977
105978// SetPhase2DHGroupNumbers sets the Phase2DHGroupNumbers field's value.
105979func (s *ModifyVpnTunnelOptionsSpecification) SetPhase2DHGroupNumbers(v []*Phase2DHGroupNumbersRequestListValue) *ModifyVpnTunnelOptionsSpecification {
105980	s.Phase2DHGroupNumbers = v
105981	return s
105982}
105983
105984// SetPhase2EncryptionAlgorithms sets the Phase2EncryptionAlgorithms field's value.
105985func (s *ModifyVpnTunnelOptionsSpecification) SetPhase2EncryptionAlgorithms(v []*Phase2EncryptionAlgorithmsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
105986	s.Phase2EncryptionAlgorithms = v
105987	return s
105988}
105989
105990// SetPhase2IntegrityAlgorithms sets the Phase2IntegrityAlgorithms field's value.
105991func (s *ModifyVpnTunnelOptionsSpecification) SetPhase2IntegrityAlgorithms(v []*Phase2IntegrityAlgorithmsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
105992	s.Phase2IntegrityAlgorithms = v
105993	return s
105994}
105995
105996// SetPhase2LifetimeSeconds sets the Phase2LifetimeSeconds field's value.
105997func (s *ModifyVpnTunnelOptionsSpecification) SetPhase2LifetimeSeconds(v int64) *ModifyVpnTunnelOptionsSpecification {
105998	s.Phase2LifetimeSeconds = &v
105999	return s
106000}
106001
106002// SetPreSharedKey sets the PreSharedKey field's value.
106003func (s *ModifyVpnTunnelOptionsSpecification) SetPreSharedKey(v string) *ModifyVpnTunnelOptionsSpecification {
106004	s.PreSharedKey = &v
106005	return s
106006}
106007
106008// SetRekeyFuzzPercentage sets the RekeyFuzzPercentage field's value.
106009func (s *ModifyVpnTunnelOptionsSpecification) SetRekeyFuzzPercentage(v int64) *ModifyVpnTunnelOptionsSpecification {
106010	s.RekeyFuzzPercentage = &v
106011	return s
106012}
106013
106014// SetRekeyMarginTimeSeconds sets the RekeyMarginTimeSeconds field's value.
106015func (s *ModifyVpnTunnelOptionsSpecification) SetRekeyMarginTimeSeconds(v int64) *ModifyVpnTunnelOptionsSpecification {
106016	s.RekeyMarginTimeSeconds = &v
106017	return s
106018}
106019
106020// SetReplayWindowSize sets the ReplayWindowSize field's value.
106021func (s *ModifyVpnTunnelOptionsSpecification) SetReplayWindowSize(v int64) *ModifyVpnTunnelOptionsSpecification {
106022	s.ReplayWindowSize = &v
106023	return s
106024}
106025
106026// SetStartupAction sets the StartupAction field's value.
106027func (s *ModifyVpnTunnelOptionsSpecification) SetStartupAction(v string) *ModifyVpnTunnelOptionsSpecification {
106028	s.StartupAction = &v
106029	return s
106030}
106031
106032// SetTunnelInsideCidr sets the TunnelInsideCidr field's value.
106033func (s *ModifyVpnTunnelOptionsSpecification) SetTunnelInsideCidr(v string) *ModifyVpnTunnelOptionsSpecification {
106034	s.TunnelInsideCidr = &v
106035	return s
106036}
106037
106038// SetTunnelInsideIpv6Cidr sets the TunnelInsideIpv6Cidr field's value.
106039func (s *ModifyVpnTunnelOptionsSpecification) SetTunnelInsideIpv6Cidr(v string) *ModifyVpnTunnelOptionsSpecification {
106040	s.TunnelInsideIpv6Cidr = &v
106041	return s
106042}
106043
106044type MonitorInstancesInput struct {
106045	_ struct{} `type:"structure"`
106046
106047	// Checks whether you have the required permissions for the action, without
106048	// actually making the request, and provides an error response. If you have
106049	// the required permissions, the error response is DryRunOperation. Otherwise,
106050	// it is UnauthorizedOperation.
106051	DryRun *bool `locationName:"dryRun" type:"boolean"`
106052
106053	// The IDs of the instances.
106054	//
106055	// InstanceIds is a required field
106056	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
106057}
106058
106059// String returns the string representation
106060func (s MonitorInstancesInput) String() string {
106061	return awsutil.Prettify(s)
106062}
106063
106064// GoString returns the string representation
106065func (s MonitorInstancesInput) GoString() string {
106066	return s.String()
106067}
106068
106069// Validate inspects the fields of the type to determine if they are valid.
106070func (s *MonitorInstancesInput) Validate() error {
106071	invalidParams := request.ErrInvalidParams{Context: "MonitorInstancesInput"}
106072	if s.InstanceIds == nil {
106073		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
106074	}
106075
106076	if invalidParams.Len() > 0 {
106077		return invalidParams
106078	}
106079	return nil
106080}
106081
106082// SetDryRun sets the DryRun field's value.
106083func (s *MonitorInstancesInput) SetDryRun(v bool) *MonitorInstancesInput {
106084	s.DryRun = &v
106085	return s
106086}
106087
106088// SetInstanceIds sets the InstanceIds field's value.
106089func (s *MonitorInstancesInput) SetInstanceIds(v []*string) *MonitorInstancesInput {
106090	s.InstanceIds = v
106091	return s
106092}
106093
106094type MonitorInstancesOutput struct {
106095	_ struct{} `type:"structure"`
106096
106097	// The monitoring information.
106098	InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
106099}
106100
106101// String returns the string representation
106102func (s MonitorInstancesOutput) String() string {
106103	return awsutil.Prettify(s)
106104}
106105
106106// GoString returns the string representation
106107func (s MonitorInstancesOutput) GoString() string {
106108	return s.String()
106109}
106110
106111// SetInstanceMonitorings sets the InstanceMonitorings field's value.
106112func (s *MonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *MonitorInstancesOutput {
106113	s.InstanceMonitorings = v
106114	return s
106115}
106116
106117// Describes the monitoring of an instance.
106118type Monitoring struct {
106119	_ struct{} `type:"structure"`
106120
106121	// Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
106122	// is enabled.
106123	State *string `locationName:"state" type:"string" enum:"MonitoringState"`
106124}
106125
106126// String returns the string representation
106127func (s Monitoring) String() string {
106128	return awsutil.Prettify(s)
106129}
106130
106131// GoString returns the string representation
106132func (s Monitoring) GoString() string {
106133	return s.String()
106134}
106135
106136// SetState sets the State field's value.
106137func (s *Monitoring) SetState(v string) *Monitoring {
106138	s.State = &v
106139	return s
106140}
106141
106142type MoveAddressToVpcInput struct {
106143	_ struct{} `type:"structure"`
106144
106145	// Checks whether you have the required permissions for the action, without
106146	// actually making the request, and provides an error response. If you have
106147	// the required permissions, the error response is DryRunOperation. Otherwise,
106148	// it is UnauthorizedOperation.
106149	DryRun *bool `locationName:"dryRun" type:"boolean"`
106150
106151	// The Elastic IP address.
106152	//
106153	// PublicIp is a required field
106154	PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
106155}
106156
106157// String returns the string representation
106158func (s MoveAddressToVpcInput) String() string {
106159	return awsutil.Prettify(s)
106160}
106161
106162// GoString returns the string representation
106163func (s MoveAddressToVpcInput) GoString() string {
106164	return s.String()
106165}
106166
106167// Validate inspects the fields of the type to determine if they are valid.
106168func (s *MoveAddressToVpcInput) Validate() error {
106169	invalidParams := request.ErrInvalidParams{Context: "MoveAddressToVpcInput"}
106170	if s.PublicIp == nil {
106171		invalidParams.Add(request.NewErrParamRequired("PublicIp"))
106172	}
106173
106174	if invalidParams.Len() > 0 {
106175		return invalidParams
106176	}
106177	return nil
106178}
106179
106180// SetDryRun sets the DryRun field's value.
106181func (s *MoveAddressToVpcInput) SetDryRun(v bool) *MoveAddressToVpcInput {
106182	s.DryRun = &v
106183	return s
106184}
106185
106186// SetPublicIp sets the PublicIp field's value.
106187func (s *MoveAddressToVpcInput) SetPublicIp(v string) *MoveAddressToVpcInput {
106188	s.PublicIp = &v
106189	return s
106190}
106191
106192type MoveAddressToVpcOutput struct {
106193	_ struct{} `type:"structure"`
106194
106195	// The allocation ID for the Elastic IP address.
106196	AllocationId *string `locationName:"allocationId" type:"string"`
106197
106198	// The status of the move of the IP address.
106199	Status *string `locationName:"status" type:"string" enum:"Status"`
106200}
106201
106202// String returns the string representation
106203func (s MoveAddressToVpcOutput) String() string {
106204	return awsutil.Prettify(s)
106205}
106206
106207// GoString returns the string representation
106208func (s MoveAddressToVpcOutput) GoString() string {
106209	return s.String()
106210}
106211
106212// SetAllocationId sets the AllocationId field's value.
106213func (s *MoveAddressToVpcOutput) SetAllocationId(v string) *MoveAddressToVpcOutput {
106214	s.AllocationId = &v
106215	return s
106216}
106217
106218// SetStatus sets the Status field's value.
106219func (s *MoveAddressToVpcOutput) SetStatus(v string) *MoveAddressToVpcOutput {
106220	s.Status = &v
106221	return s
106222}
106223
106224// Describes the status of a moving Elastic IP address.
106225type MovingAddressStatus struct {
106226	_ struct{} `type:"structure"`
106227
106228	// The status of the Elastic IP address that's being moved to the EC2-VPC platform,
106229	// or restored to the EC2-Classic platform.
106230	MoveStatus *string `locationName:"moveStatus" type:"string" enum:"MoveStatus"`
106231
106232	// The Elastic IP address.
106233	PublicIp *string `locationName:"publicIp" type:"string"`
106234}
106235
106236// String returns the string representation
106237func (s MovingAddressStatus) String() string {
106238	return awsutil.Prettify(s)
106239}
106240
106241// GoString returns the string representation
106242func (s MovingAddressStatus) GoString() string {
106243	return s.String()
106244}
106245
106246// SetMoveStatus sets the MoveStatus field's value.
106247func (s *MovingAddressStatus) SetMoveStatus(v string) *MovingAddressStatus {
106248	s.MoveStatus = &v
106249	return s
106250}
106251
106252// SetPublicIp sets the PublicIp field's value.
106253func (s *MovingAddressStatus) SetPublicIp(v string) *MovingAddressStatus {
106254	s.PublicIp = &v
106255	return s
106256}
106257
106258// Describes a NAT gateway.
106259type NatGateway struct {
106260	_ struct{} `type:"structure"`
106261
106262	// Indicates whether the NAT gateway supports public or private connectivity.
106263	ConnectivityType *string `locationName:"connectivityType" type:"string" enum:"ConnectivityType"`
106264
106265	// The date and time the NAT gateway was created.
106266	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
106267
106268	// The date and time the NAT gateway was deleted, if applicable.
106269	DeleteTime *time.Time `locationName:"deleteTime" type:"timestamp"`
106270
106271	// If the NAT gateway could not be created, specifies the error code for the
106272	// failure. (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | InvalidAllocationID.NotFound
106273	// | Resource.AlreadyAssociated | InternalError | InvalidSubnetID.NotFound)
106274	FailureCode *string `locationName:"failureCode" type:"string"`
106275
106276	// If the NAT gateway could not be created, specifies the error message for
106277	// the failure, that corresponds to the error code.
106278	//
106279	//    * For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free
106280	//    addresses to create this NAT gateway"
106281	//
106282	//    * For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway
106283	//    attached"
106284	//
106285	//    * For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx
106286	//    could not be associated with this NAT gateway"
106287	//
106288	//    * For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx
106289	//    is already associated"
106290	//
106291	//    * For InternalError: "Network interface eni-xxxxxxxx, created and used
106292	//    internally by this NAT gateway is in an invalid state. Please try again."
106293	//
106294	//    * For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx
106295	//    does not exist or could not be found."
106296	FailureMessage *string `locationName:"failureMessage" type:"string"`
106297
106298	// Information about the IP addresses and network interface associated with
106299	// the NAT gateway.
106300	NatGatewayAddresses []*NatGatewayAddress `locationName:"natGatewayAddressSet" locationNameList:"item" type:"list"`
106301
106302	// The ID of the NAT gateway.
106303	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
106304
106305	// Reserved. If you need to sustain traffic greater than the documented limits
106306	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
106307	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
106308	ProvisionedBandwidth *ProvisionedBandwidth `locationName:"provisionedBandwidth" type:"structure"`
106309
106310	// The state of the NAT gateway.
106311	//
106312	//    * pending: The NAT gateway is being created and is not ready to process
106313	//    traffic.
106314	//
106315	//    * failed: The NAT gateway could not be created. Check the failureCode
106316	//    and failureMessage fields for the reason.
106317	//
106318	//    * available: The NAT gateway is able to process traffic. This status remains
106319	//    until you delete the NAT gateway, and does not indicate the health of
106320	//    the NAT gateway.
106321	//
106322	//    * deleting: The NAT gateway is in the process of being terminated and
106323	//    may still be processing traffic.
106324	//
106325	//    * deleted: The NAT gateway has been terminated and is no longer processing
106326	//    traffic.
106327	State *string `locationName:"state" type:"string" enum:"NatGatewayState"`
106328
106329	// The ID of the subnet in which the NAT gateway is located.
106330	SubnetId *string `locationName:"subnetId" type:"string"`
106331
106332	// The tags for the NAT gateway.
106333	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
106334
106335	// The ID of the VPC in which the NAT gateway is located.
106336	VpcId *string `locationName:"vpcId" type:"string"`
106337}
106338
106339// String returns the string representation
106340func (s NatGateway) String() string {
106341	return awsutil.Prettify(s)
106342}
106343
106344// GoString returns the string representation
106345func (s NatGateway) GoString() string {
106346	return s.String()
106347}
106348
106349// SetConnectivityType sets the ConnectivityType field's value.
106350func (s *NatGateway) SetConnectivityType(v string) *NatGateway {
106351	s.ConnectivityType = &v
106352	return s
106353}
106354
106355// SetCreateTime sets the CreateTime field's value.
106356func (s *NatGateway) SetCreateTime(v time.Time) *NatGateway {
106357	s.CreateTime = &v
106358	return s
106359}
106360
106361// SetDeleteTime sets the DeleteTime field's value.
106362func (s *NatGateway) SetDeleteTime(v time.Time) *NatGateway {
106363	s.DeleteTime = &v
106364	return s
106365}
106366
106367// SetFailureCode sets the FailureCode field's value.
106368func (s *NatGateway) SetFailureCode(v string) *NatGateway {
106369	s.FailureCode = &v
106370	return s
106371}
106372
106373// SetFailureMessage sets the FailureMessage field's value.
106374func (s *NatGateway) SetFailureMessage(v string) *NatGateway {
106375	s.FailureMessage = &v
106376	return s
106377}
106378
106379// SetNatGatewayAddresses sets the NatGatewayAddresses field's value.
106380func (s *NatGateway) SetNatGatewayAddresses(v []*NatGatewayAddress) *NatGateway {
106381	s.NatGatewayAddresses = v
106382	return s
106383}
106384
106385// SetNatGatewayId sets the NatGatewayId field's value.
106386func (s *NatGateway) SetNatGatewayId(v string) *NatGateway {
106387	s.NatGatewayId = &v
106388	return s
106389}
106390
106391// SetProvisionedBandwidth sets the ProvisionedBandwidth field's value.
106392func (s *NatGateway) SetProvisionedBandwidth(v *ProvisionedBandwidth) *NatGateway {
106393	s.ProvisionedBandwidth = v
106394	return s
106395}
106396
106397// SetState sets the State field's value.
106398func (s *NatGateway) SetState(v string) *NatGateway {
106399	s.State = &v
106400	return s
106401}
106402
106403// SetSubnetId sets the SubnetId field's value.
106404func (s *NatGateway) SetSubnetId(v string) *NatGateway {
106405	s.SubnetId = &v
106406	return s
106407}
106408
106409// SetTags sets the Tags field's value.
106410func (s *NatGateway) SetTags(v []*Tag) *NatGateway {
106411	s.Tags = v
106412	return s
106413}
106414
106415// SetVpcId sets the VpcId field's value.
106416func (s *NatGateway) SetVpcId(v string) *NatGateway {
106417	s.VpcId = &v
106418	return s
106419}
106420
106421// Describes the IP addresses and network interface associated with a NAT gateway.
106422type NatGatewayAddress struct {
106423	_ struct{} `type:"structure"`
106424
106425	// [Public NAT gateway only] The allocation ID of the Elastic IP address that's
106426	// associated with the NAT gateway.
106427	AllocationId *string `locationName:"allocationId" type:"string"`
106428
106429	// The ID of the network interface associated with the NAT gateway.
106430	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
106431
106432	// The private IP address associated with the NAT gateway.
106433	PrivateIp *string `locationName:"privateIp" type:"string"`
106434
106435	// [Public NAT gateway only] The Elastic IP address associated with the NAT
106436	// gateway.
106437	PublicIp *string `locationName:"publicIp" type:"string"`
106438}
106439
106440// String returns the string representation
106441func (s NatGatewayAddress) String() string {
106442	return awsutil.Prettify(s)
106443}
106444
106445// GoString returns the string representation
106446func (s NatGatewayAddress) GoString() string {
106447	return s.String()
106448}
106449
106450// SetAllocationId sets the AllocationId field's value.
106451func (s *NatGatewayAddress) SetAllocationId(v string) *NatGatewayAddress {
106452	s.AllocationId = &v
106453	return s
106454}
106455
106456// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
106457func (s *NatGatewayAddress) SetNetworkInterfaceId(v string) *NatGatewayAddress {
106458	s.NetworkInterfaceId = &v
106459	return s
106460}
106461
106462// SetPrivateIp sets the PrivateIp field's value.
106463func (s *NatGatewayAddress) SetPrivateIp(v string) *NatGatewayAddress {
106464	s.PrivateIp = &v
106465	return s
106466}
106467
106468// SetPublicIp sets the PublicIp field's value.
106469func (s *NatGatewayAddress) SetPublicIp(v string) *NatGatewayAddress {
106470	s.PublicIp = &v
106471	return s
106472}
106473
106474// Describes a network ACL.
106475type NetworkAcl struct {
106476	_ struct{} `type:"structure"`
106477
106478	// Any associations between the network ACL and one or more subnets
106479	Associations []*NetworkAclAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
106480
106481	// One or more entries (rules) in the network ACL.
106482	Entries []*NetworkAclEntry `locationName:"entrySet" locationNameList:"item" type:"list"`
106483
106484	// Indicates whether this is the default network ACL for the VPC.
106485	IsDefault *bool `locationName:"default" type:"boolean"`
106486
106487	// The ID of the network ACL.
106488	NetworkAclId *string `locationName:"networkAclId" type:"string"`
106489
106490	// The ID of the Amazon Web Services account that owns the network ACL.
106491	OwnerId *string `locationName:"ownerId" type:"string"`
106492
106493	// Any tags assigned to the network ACL.
106494	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
106495
106496	// The ID of the VPC for the network ACL.
106497	VpcId *string `locationName:"vpcId" type:"string"`
106498}
106499
106500// String returns the string representation
106501func (s NetworkAcl) String() string {
106502	return awsutil.Prettify(s)
106503}
106504
106505// GoString returns the string representation
106506func (s NetworkAcl) GoString() string {
106507	return s.String()
106508}
106509
106510// SetAssociations sets the Associations field's value.
106511func (s *NetworkAcl) SetAssociations(v []*NetworkAclAssociation) *NetworkAcl {
106512	s.Associations = v
106513	return s
106514}
106515
106516// SetEntries sets the Entries field's value.
106517func (s *NetworkAcl) SetEntries(v []*NetworkAclEntry) *NetworkAcl {
106518	s.Entries = v
106519	return s
106520}
106521
106522// SetIsDefault sets the IsDefault field's value.
106523func (s *NetworkAcl) SetIsDefault(v bool) *NetworkAcl {
106524	s.IsDefault = &v
106525	return s
106526}
106527
106528// SetNetworkAclId sets the NetworkAclId field's value.
106529func (s *NetworkAcl) SetNetworkAclId(v string) *NetworkAcl {
106530	s.NetworkAclId = &v
106531	return s
106532}
106533
106534// SetOwnerId sets the OwnerId field's value.
106535func (s *NetworkAcl) SetOwnerId(v string) *NetworkAcl {
106536	s.OwnerId = &v
106537	return s
106538}
106539
106540// SetTags sets the Tags field's value.
106541func (s *NetworkAcl) SetTags(v []*Tag) *NetworkAcl {
106542	s.Tags = v
106543	return s
106544}
106545
106546// SetVpcId sets the VpcId field's value.
106547func (s *NetworkAcl) SetVpcId(v string) *NetworkAcl {
106548	s.VpcId = &v
106549	return s
106550}
106551
106552// Describes an association between a network ACL and a subnet.
106553type NetworkAclAssociation struct {
106554	_ struct{} `type:"structure"`
106555
106556	// The ID of the association between a network ACL and a subnet.
106557	NetworkAclAssociationId *string `locationName:"networkAclAssociationId" type:"string"`
106558
106559	// The ID of the network ACL.
106560	NetworkAclId *string `locationName:"networkAclId" type:"string"`
106561
106562	// The ID of the subnet.
106563	SubnetId *string `locationName:"subnetId" type:"string"`
106564}
106565
106566// String returns the string representation
106567func (s NetworkAclAssociation) String() string {
106568	return awsutil.Prettify(s)
106569}
106570
106571// GoString returns the string representation
106572func (s NetworkAclAssociation) GoString() string {
106573	return s.String()
106574}
106575
106576// SetNetworkAclAssociationId sets the NetworkAclAssociationId field's value.
106577func (s *NetworkAclAssociation) SetNetworkAclAssociationId(v string) *NetworkAclAssociation {
106578	s.NetworkAclAssociationId = &v
106579	return s
106580}
106581
106582// SetNetworkAclId sets the NetworkAclId field's value.
106583func (s *NetworkAclAssociation) SetNetworkAclId(v string) *NetworkAclAssociation {
106584	s.NetworkAclId = &v
106585	return s
106586}
106587
106588// SetSubnetId sets the SubnetId field's value.
106589func (s *NetworkAclAssociation) SetSubnetId(v string) *NetworkAclAssociation {
106590	s.SubnetId = &v
106591	return s
106592}
106593
106594// Describes an entry in a network ACL.
106595type NetworkAclEntry struct {
106596	_ struct{} `type:"structure"`
106597
106598	// The IPv4 network range to allow or deny, in CIDR notation.
106599	CidrBlock *string `locationName:"cidrBlock" type:"string"`
106600
106601	// Indicates whether the rule is an egress rule (applied to traffic leaving
106602	// the subnet).
106603	Egress *bool `locationName:"egress" type:"boolean"`
106604
106605	// ICMP protocol: The ICMP type and code.
106606	IcmpTypeCode *IcmpTypeCode `locationName:"icmpTypeCode" type:"structure"`
106607
106608	// The IPv6 network range to allow or deny, in CIDR notation.
106609	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
106610
106611	// TCP or UDP protocols: The range of ports the rule applies to.
106612	PortRange *PortRange `locationName:"portRange" type:"structure"`
106613
106614	// The protocol number. A value of "-1" means all protocols.
106615	Protocol *string `locationName:"protocol" type:"string"`
106616
106617	// Indicates whether to allow or deny the traffic that matches the rule.
106618	RuleAction *string `locationName:"ruleAction" type:"string" enum:"RuleAction"`
106619
106620	// The rule number for the entry. ACL entries are processed in ascending order
106621	// by rule number.
106622	RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
106623}
106624
106625// String returns the string representation
106626func (s NetworkAclEntry) String() string {
106627	return awsutil.Prettify(s)
106628}
106629
106630// GoString returns the string representation
106631func (s NetworkAclEntry) GoString() string {
106632	return s.String()
106633}
106634
106635// SetCidrBlock sets the CidrBlock field's value.
106636func (s *NetworkAclEntry) SetCidrBlock(v string) *NetworkAclEntry {
106637	s.CidrBlock = &v
106638	return s
106639}
106640
106641// SetEgress sets the Egress field's value.
106642func (s *NetworkAclEntry) SetEgress(v bool) *NetworkAclEntry {
106643	s.Egress = &v
106644	return s
106645}
106646
106647// SetIcmpTypeCode sets the IcmpTypeCode field's value.
106648func (s *NetworkAclEntry) SetIcmpTypeCode(v *IcmpTypeCode) *NetworkAclEntry {
106649	s.IcmpTypeCode = v
106650	return s
106651}
106652
106653// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
106654func (s *NetworkAclEntry) SetIpv6CidrBlock(v string) *NetworkAclEntry {
106655	s.Ipv6CidrBlock = &v
106656	return s
106657}
106658
106659// SetPortRange sets the PortRange field's value.
106660func (s *NetworkAclEntry) SetPortRange(v *PortRange) *NetworkAclEntry {
106661	s.PortRange = v
106662	return s
106663}
106664
106665// SetProtocol sets the Protocol field's value.
106666func (s *NetworkAclEntry) SetProtocol(v string) *NetworkAclEntry {
106667	s.Protocol = &v
106668	return s
106669}
106670
106671// SetRuleAction sets the RuleAction field's value.
106672func (s *NetworkAclEntry) SetRuleAction(v string) *NetworkAclEntry {
106673	s.RuleAction = &v
106674	return s
106675}
106676
106677// SetRuleNumber sets the RuleNumber field's value.
106678func (s *NetworkAclEntry) SetRuleNumber(v int64) *NetworkAclEntry {
106679	s.RuleNumber = &v
106680	return s
106681}
106682
106683// Describes the network card support of the instance type.
106684type NetworkCardInfo struct {
106685	_ struct{} `type:"structure"`
106686
106687	// The maximum number of network interfaces for the network card.
106688	MaximumNetworkInterfaces *int64 `locationName:"maximumNetworkInterfaces" type:"integer"`
106689
106690	// The index of the network card.
106691	NetworkCardIndex *int64 `locationName:"networkCardIndex" type:"integer"`
106692
106693	// The network performance of the network card.
106694	NetworkPerformance *string `locationName:"networkPerformance" type:"string"`
106695}
106696
106697// String returns the string representation
106698func (s NetworkCardInfo) String() string {
106699	return awsutil.Prettify(s)
106700}
106701
106702// GoString returns the string representation
106703func (s NetworkCardInfo) GoString() string {
106704	return s.String()
106705}
106706
106707// SetMaximumNetworkInterfaces sets the MaximumNetworkInterfaces field's value.
106708func (s *NetworkCardInfo) SetMaximumNetworkInterfaces(v int64) *NetworkCardInfo {
106709	s.MaximumNetworkInterfaces = &v
106710	return s
106711}
106712
106713// SetNetworkCardIndex sets the NetworkCardIndex field's value.
106714func (s *NetworkCardInfo) SetNetworkCardIndex(v int64) *NetworkCardInfo {
106715	s.NetworkCardIndex = &v
106716	return s
106717}
106718
106719// SetNetworkPerformance sets the NetworkPerformance field's value.
106720func (s *NetworkCardInfo) SetNetworkPerformance(v string) *NetworkCardInfo {
106721	s.NetworkPerformance = &v
106722	return s
106723}
106724
106725// Describes the networking features of the instance type.
106726type NetworkInfo struct {
106727	_ struct{} `type:"structure"`
106728
106729	// The index of the default network card, starting at 0.
106730	DefaultNetworkCardIndex *int64 `locationName:"defaultNetworkCardIndex" type:"integer"`
106731
106732	// Describes the Elastic Fabric Adapters for the instance type.
106733	EfaInfo *EfaInfo `locationName:"efaInfo" type:"structure"`
106734
106735	// Indicates whether Elastic Fabric Adapter (EFA) is supported.
106736	EfaSupported *bool `locationName:"efaSupported" type:"boolean"`
106737
106738	// Indicates whether Elastic Network Adapter (ENA) is supported.
106739	EnaSupport *string `locationName:"enaSupport" type:"string" enum:"EnaSupport"`
106740
106741	// Indicates whether the instance type automatically encrypts in-transit traffic
106742	// between instances.
106743	EncryptionInTransitSupported *bool `locationName:"encryptionInTransitSupported" type:"boolean"`
106744
106745	// The maximum number of IPv4 addresses per network interface.
106746	Ipv4AddressesPerInterface *int64 `locationName:"ipv4AddressesPerInterface" type:"integer"`
106747
106748	// The maximum number of IPv6 addresses per network interface.
106749	Ipv6AddressesPerInterface *int64 `locationName:"ipv6AddressesPerInterface" type:"integer"`
106750
106751	// Indicates whether IPv6 is supported.
106752	Ipv6Supported *bool `locationName:"ipv6Supported" type:"boolean"`
106753
106754	// The maximum number of physical network cards that can be allocated to the
106755	// instance.
106756	MaximumNetworkCards *int64 `locationName:"maximumNetworkCards" type:"integer"`
106757
106758	// The maximum number of network interfaces for the instance type.
106759	MaximumNetworkInterfaces *int64 `locationName:"maximumNetworkInterfaces" type:"integer"`
106760
106761	// Describes the network cards for the instance type.
106762	NetworkCards []*NetworkCardInfo `locationName:"networkCards" locationNameList:"item" type:"list"`
106763
106764	// The network performance.
106765	NetworkPerformance *string `locationName:"networkPerformance" type:"string"`
106766}
106767
106768// String returns the string representation
106769func (s NetworkInfo) String() string {
106770	return awsutil.Prettify(s)
106771}
106772
106773// GoString returns the string representation
106774func (s NetworkInfo) GoString() string {
106775	return s.String()
106776}
106777
106778// SetDefaultNetworkCardIndex sets the DefaultNetworkCardIndex field's value.
106779func (s *NetworkInfo) SetDefaultNetworkCardIndex(v int64) *NetworkInfo {
106780	s.DefaultNetworkCardIndex = &v
106781	return s
106782}
106783
106784// SetEfaInfo sets the EfaInfo field's value.
106785func (s *NetworkInfo) SetEfaInfo(v *EfaInfo) *NetworkInfo {
106786	s.EfaInfo = v
106787	return s
106788}
106789
106790// SetEfaSupported sets the EfaSupported field's value.
106791func (s *NetworkInfo) SetEfaSupported(v bool) *NetworkInfo {
106792	s.EfaSupported = &v
106793	return s
106794}
106795
106796// SetEnaSupport sets the EnaSupport field's value.
106797func (s *NetworkInfo) SetEnaSupport(v string) *NetworkInfo {
106798	s.EnaSupport = &v
106799	return s
106800}
106801
106802// SetEncryptionInTransitSupported sets the EncryptionInTransitSupported field's value.
106803func (s *NetworkInfo) SetEncryptionInTransitSupported(v bool) *NetworkInfo {
106804	s.EncryptionInTransitSupported = &v
106805	return s
106806}
106807
106808// SetIpv4AddressesPerInterface sets the Ipv4AddressesPerInterface field's value.
106809func (s *NetworkInfo) SetIpv4AddressesPerInterface(v int64) *NetworkInfo {
106810	s.Ipv4AddressesPerInterface = &v
106811	return s
106812}
106813
106814// SetIpv6AddressesPerInterface sets the Ipv6AddressesPerInterface field's value.
106815func (s *NetworkInfo) SetIpv6AddressesPerInterface(v int64) *NetworkInfo {
106816	s.Ipv6AddressesPerInterface = &v
106817	return s
106818}
106819
106820// SetIpv6Supported sets the Ipv6Supported field's value.
106821func (s *NetworkInfo) SetIpv6Supported(v bool) *NetworkInfo {
106822	s.Ipv6Supported = &v
106823	return s
106824}
106825
106826// SetMaximumNetworkCards sets the MaximumNetworkCards field's value.
106827func (s *NetworkInfo) SetMaximumNetworkCards(v int64) *NetworkInfo {
106828	s.MaximumNetworkCards = &v
106829	return s
106830}
106831
106832// SetMaximumNetworkInterfaces sets the MaximumNetworkInterfaces field's value.
106833func (s *NetworkInfo) SetMaximumNetworkInterfaces(v int64) *NetworkInfo {
106834	s.MaximumNetworkInterfaces = &v
106835	return s
106836}
106837
106838// SetNetworkCards sets the NetworkCards field's value.
106839func (s *NetworkInfo) SetNetworkCards(v []*NetworkCardInfo) *NetworkInfo {
106840	s.NetworkCards = v
106841	return s
106842}
106843
106844// SetNetworkPerformance sets the NetworkPerformance field's value.
106845func (s *NetworkInfo) SetNetworkPerformance(v string) *NetworkInfo {
106846	s.NetworkPerformance = &v
106847	return s
106848}
106849
106850// Describes a network insights analysis.
106851type NetworkInsightsAnalysis struct {
106852	_ struct{} `type:"structure"`
106853
106854	// Potential intermediate components.
106855	AlternatePathHints []*AlternatePathHint `locationName:"alternatePathHintSet" locationNameList:"item" type:"list"`
106856
106857	// The explanations. For more information, see Reachability Analyzer explanation
106858	// codes (https://docs.aws.amazon.com/vpc/latest/reachability/explanation-codes.html).
106859	Explanations []*Explanation `locationName:"explanationSet" locationNameList:"item" type:"list"`
106860
106861	// The Amazon Resource Names (ARN) of the Amazon Web Services resources that
106862	// the path must traverse.
106863	FilterInArns []*string `locationName:"filterInArnSet" locationNameList:"item" type:"list"`
106864
106865	// The components in the path from source to destination.
106866	ForwardPathComponents []*PathComponent `locationName:"forwardPathComponentSet" locationNameList:"item" type:"list"`
106867
106868	// The Amazon Resource Name (ARN) of the network insights analysis.
106869	NetworkInsightsAnalysisArn *string `locationName:"networkInsightsAnalysisArn" min:"1" type:"string"`
106870
106871	// The ID of the network insights analysis.
106872	NetworkInsightsAnalysisId *string `locationName:"networkInsightsAnalysisId" type:"string"`
106873
106874	// The ID of the path.
106875	NetworkInsightsPathId *string `locationName:"networkInsightsPathId" type:"string"`
106876
106877	// Indicates whether the destination is reachable from the source.
106878	NetworkPathFound *bool `locationName:"networkPathFound" type:"boolean"`
106879
106880	// The components in the path from destination to source.
106881	ReturnPathComponents []*PathComponent `locationName:"returnPathComponentSet" locationNameList:"item" type:"list"`
106882
106883	// The time the analysis started.
106884	StartDate *time.Time `locationName:"startDate" type:"timestamp"`
106885
106886	// The status of the network insights analysis.
106887	Status *string `locationName:"status" type:"string" enum:"AnalysisStatus"`
106888
106889	// The status message, if the status is failed.
106890	StatusMessage *string `locationName:"statusMessage" type:"string"`
106891
106892	// The tags.
106893	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
106894}
106895
106896// String returns the string representation
106897func (s NetworkInsightsAnalysis) String() string {
106898	return awsutil.Prettify(s)
106899}
106900
106901// GoString returns the string representation
106902func (s NetworkInsightsAnalysis) GoString() string {
106903	return s.String()
106904}
106905
106906// SetAlternatePathHints sets the AlternatePathHints field's value.
106907func (s *NetworkInsightsAnalysis) SetAlternatePathHints(v []*AlternatePathHint) *NetworkInsightsAnalysis {
106908	s.AlternatePathHints = v
106909	return s
106910}
106911
106912// SetExplanations sets the Explanations field's value.
106913func (s *NetworkInsightsAnalysis) SetExplanations(v []*Explanation) *NetworkInsightsAnalysis {
106914	s.Explanations = v
106915	return s
106916}
106917
106918// SetFilterInArns sets the FilterInArns field's value.
106919func (s *NetworkInsightsAnalysis) SetFilterInArns(v []*string) *NetworkInsightsAnalysis {
106920	s.FilterInArns = v
106921	return s
106922}
106923
106924// SetForwardPathComponents sets the ForwardPathComponents field's value.
106925func (s *NetworkInsightsAnalysis) SetForwardPathComponents(v []*PathComponent) *NetworkInsightsAnalysis {
106926	s.ForwardPathComponents = v
106927	return s
106928}
106929
106930// SetNetworkInsightsAnalysisArn sets the NetworkInsightsAnalysisArn field's value.
106931func (s *NetworkInsightsAnalysis) SetNetworkInsightsAnalysisArn(v string) *NetworkInsightsAnalysis {
106932	s.NetworkInsightsAnalysisArn = &v
106933	return s
106934}
106935
106936// SetNetworkInsightsAnalysisId sets the NetworkInsightsAnalysisId field's value.
106937func (s *NetworkInsightsAnalysis) SetNetworkInsightsAnalysisId(v string) *NetworkInsightsAnalysis {
106938	s.NetworkInsightsAnalysisId = &v
106939	return s
106940}
106941
106942// SetNetworkInsightsPathId sets the NetworkInsightsPathId field's value.
106943func (s *NetworkInsightsAnalysis) SetNetworkInsightsPathId(v string) *NetworkInsightsAnalysis {
106944	s.NetworkInsightsPathId = &v
106945	return s
106946}
106947
106948// SetNetworkPathFound sets the NetworkPathFound field's value.
106949func (s *NetworkInsightsAnalysis) SetNetworkPathFound(v bool) *NetworkInsightsAnalysis {
106950	s.NetworkPathFound = &v
106951	return s
106952}
106953
106954// SetReturnPathComponents sets the ReturnPathComponents field's value.
106955func (s *NetworkInsightsAnalysis) SetReturnPathComponents(v []*PathComponent) *NetworkInsightsAnalysis {
106956	s.ReturnPathComponents = v
106957	return s
106958}
106959
106960// SetStartDate sets the StartDate field's value.
106961func (s *NetworkInsightsAnalysis) SetStartDate(v time.Time) *NetworkInsightsAnalysis {
106962	s.StartDate = &v
106963	return s
106964}
106965
106966// SetStatus sets the Status field's value.
106967func (s *NetworkInsightsAnalysis) SetStatus(v string) *NetworkInsightsAnalysis {
106968	s.Status = &v
106969	return s
106970}
106971
106972// SetStatusMessage sets the StatusMessage field's value.
106973func (s *NetworkInsightsAnalysis) SetStatusMessage(v string) *NetworkInsightsAnalysis {
106974	s.StatusMessage = &v
106975	return s
106976}
106977
106978// SetTags sets the Tags field's value.
106979func (s *NetworkInsightsAnalysis) SetTags(v []*Tag) *NetworkInsightsAnalysis {
106980	s.Tags = v
106981	return s
106982}
106983
106984// Describes a path.
106985type NetworkInsightsPath struct {
106986	_ struct{} `type:"structure"`
106987
106988	// The time stamp when the path was created.
106989	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp"`
106990
106991	// The Amazon Web Services resource that is the destination of the path.
106992	Destination *string `locationName:"destination" type:"string"`
106993
106994	// The IP address of the Amazon Web Services resource that is the destination
106995	// of the path.
106996	DestinationIp *string `locationName:"destinationIp" type:"string"`
106997
106998	// The destination port.
106999	DestinationPort *int64 `locationName:"destinationPort" type:"integer"`
107000
107001	// The Amazon Resource Name (ARN) of the path.
107002	NetworkInsightsPathArn *string `locationName:"networkInsightsPathArn" min:"1" type:"string"`
107003
107004	// The ID of the path.
107005	NetworkInsightsPathId *string `locationName:"networkInsightsPathId" type:"string"`
107006
107007	// The protocol.
107008	Protocol *string `locationName:"protocol" type:"string" enum:"Protocol"`
107009
107010	// The Amazon Web Services resource that is the source of the path.
107011	Source *string `locationName:"source" type:"string"`
107012
107013	// The IP address of the Amazon Web Services resource that is the source of
107014	// the path.
107015	SourceIp *string `locationName:"sourceIp" type:"string"`
107016
107017	// The tags associated with the path.
107018	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
107019}
107020
107021// String returns the string representation
107022func (s NetworkInsightsPath) String() string {
107023	return awsutil.Prettify(s)
107024}
107025
107026// GoString returns the string representation
107027func (s NetworkInsightsPath) GoString() string {
107028	return s.String()
107029}
107030
107031// SetCreatedDate sets the CreatedDate field's value.
107032func (s *NetworkInsightsPath) SetCreatedDate(v time.Time) *NetworkInsightsPath {
107033	s.CreatedDate = &v
107034	return s
107035}
107036
107037// SetDestination sets the Destination field's value.
107038func (s *NetworkInsightsPath) SetDestination(v string) *NetworkInsightsPath {
107039	s.Destination = &v
107040	return s
107041}
107042
107043// SetDestinationIp sets the DestinationIp field's value.
107044func (s *NetworkInsightsPath) SetDestinationIp(v string) *NetworkInsightsPath {
107045	s.DestinationIp = &v
107046	return s
107047}
107048
107049// SetDestinationPort sets the DestinationPort field's value.
107050func (s *NetworkInsightsPath) SetDestinationPort(v int64) *NetworkInsightsPath {
107051	s.DestinationPort = &v
107052	return s
107053}
107054
107055// SetNetworkInsightsPathArn sets the NetworkInsightsPathArn field's value.
107056func (s *NetworkInsightsPath) SetNetworkInsightsPathArn(v string) *NetworkInsightsPath {
107057	s.NetworkInsightsPathArn = &v
107058	return s
107059}
107060
107061// SetNetworkInsightsPathId sets the NetworkInsightsPathId field's value.
107062func (s *NetworkInsightsPath) SetNetworkInsightsPathId(v string) *NetworkInsightsPath {
107063	s.NetworkInsightsPathId = &v
107064	return s
107065}
107066
107067// SetProtocol sets the Protocol field's value.
107068func (s *NetworkInsightsPath) SetProtocol(v string) *NetworkInsightsPath {
107069	s.Protocol = &v
107070	return s
107071}
107072
107073// SetSource sets the Source field's value.
107074func (s *NetworkInsightsPath) SetSource(v string) *NetworkInsightsPath {
107075	s.Source = &v
107076	return s
107077}
107078
107079// SetSourceIp sets the SourceIp field's value.
107080func (s *NetworkInsightsPath) SetSourceIp(v string) *NetworkInsightsPath {
107081	s.SourceIp = &v
107082	return s
107083}
107084
107085// SetTags sets the Tags field's value.
107086func (s *NetworkInsightsPath) SetTags(v []*Tag) *NetworkInsightsPath {
107087	s.Tags = v
107088	return s
107089}
107090
107091// Describes a network interface.
107092type NetworkInterface struct {
107093	_ struct{} `type:"structure"`
107094
107095	// The association information for an Elastic IP address (IPv4) associated with
107096	// the network interface.
107097	Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
107098
107099	// The network interface attachment.
107100	Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
107101
107102	// The Availability Zone.
107103	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
107104
107105	// A description.
107106	Description *string `locationName:"description" type:"string"`
107107
107108	// Any security groups for the network interface.
107109	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
107110
107111	// The type of network interface.
107112	InterfaceType *string `locationName:"interfaceType" type:"string" enum:"NetworkInterfaceType"`
107113
107114	// The IPv4 prefixes that are assigned to the network interface.
107115	Ipv4Prefixes []*Ipv4PrefixSpecification `locationName:"ipv4PrefixSet" locationNameList:"item" type:"list"`
107116
107117	// The IPv6 addresses associated with the network interface.
107118	Ipv6Addresses []*NetworkInterfaceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
107119
107120	// The IPv6 prefixes that are assigned to the network interface.
107121	Ipv6Prefixes []*Ipv6PrefixSpecification `locationName:"ipv6PrefixSet" locationNameList:"item" type:"list"`
107122
107123	// The MAC address.
107124	MacAddress *string `locationName:"macAddress" type:"string"`
107125
107126	// The ID of the network interface.
107127	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
107128
107129	// The Amazon Resource Name (ARN) of the Outpost.
107130	OutpostArn *string `locationName:"outpostArn" type:"string"`
107131
107132	// The Amazon Web Services account ID of the owner of the network interface.
107133	OwnerId *string `locationName:"ownerId" type:"string"`
107134
107135	// The private DNS name.
107136	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
107137
107138	// The IPv4 address of the network interface within the subnet.
107139	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
107140
107141	// The private IPv4 addresses associated with the network interface.
107142	PrivateIpAddresses []*NetworkInterfacePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
107143
107144	// The alias or Amazon Web Services account ID of the principal or service that
107145	// created the network interface.
107146	RequesterId *string `locationName:"requesterId" type:"string"`
107147
107148	// Indicates whether the network interface is being managed by Amazon Web Services.
107149	RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"`
107150
107151	// Indicates whether source/destination checking is enabled.
107152	SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
107153
107154	// The status of the network interface.
107155	Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
107156
107157	// The ID of the subnet.
107158	SubnetId *string `locationName:"subnetId" type:"string"`
107159
107160	// Any tags assigned to the network interface.
107161	TagSet []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
107162
107163	// The ID of the VPC.
107164	VpcId *string `locationName:"vpcId" type:"string"`
107165}
107166
107167// String returns the string representation
107168func (s NetworkInterface) String() string {
107169	return awsutil.Prettify(s)
107170}
107171
107172// GoString returns the string representation
107173func (s NetworkInterface) GoString() string {
107174	return s.String()
107175}
107176
107177// SetAssociation sets the Association field's value.
107178func (s *NetworkInterface) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterface {
107179	s.Association = v
107180	return s
107181}
107182
107183// SetAttachment sets the Attachment field's value.
107184func (s *NetworkInterface) SetAttachment(v *NetworkInterfaceAttachment) *NetworkInterface {
107185	s.Attachment = v
107186	return s
107187}
107188
107189// SetAvailabilityZone sets the AvailabilityZone field's value.
107190func (s *NetworkInterface) SetAvailabilityZone(v string) *NetworkInterface {
107191	s.AvailabilityZone = &v
107192	return s
107193}
107194
107195// SetDescription sets the Description field's value.
107196func (s *NetworkInterface) SetDescription(v string) *NetworkInterface {
107197	s.Description = &v
107198	return s
107199}
107200
107201// SetGroups sets the Groups field's value.
107202func (s *NetworkInterface) SetGroups(v []*GroupIdentifier) *NetworkInterface {
107203	s.Groups = v
107204	return s
107205}
107206
107207// SetInterfaceType sets the InterfaceType field's value.
107208func (s *NetworkInterface) SetInterfaceType(v string) *NetworkInterface {
107209	s.InterfaceType = &v
107210	return s
107211}
107212
107213// SetIpv4Prefixes sets the Ipv4Prefixes field's value.
107214func (s *NetworkInterface) SetIpv4Prefixes(v []*Ipv4PrefixSpecification) *NetworkInterface {
107215	s.Ipv4Prefixes = v
107216	return s
107217}
107218
107219// SetIpv6Addresses sets the Ipv6Addresses field's value.
107220func (s *NetworkInterface) SetIpv6Addresses(v []*NetworkInterfaceIpv6Address) *NetworkInterface {
107221	s.Ipv6Addresses = v
107222	return s
107223}
107224
107225// SetIpv6Prefixes sets the Ipv6Prefixes field's value.
107226func (s *NetworkInterface) SetIpv6Prefixes(v []*Ipv6PrefixSpecification) *NetworkInterface {
107227	s.Ipv6Prefixes = v
107228	return s
107229}
107230
107231// SetMacAddress sets the MacAddress field's value.
107232func (s *NetworkInterface) SetMacAddress(v string) *NetworkInterface {
107233	s.MacAddress = &v
107234	return s
107235}
107236
107237// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
107238func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
107239	s.NetworkInterfaceId = &v
107240	return s
107241}
107242
107243// SetOutpostArn sets the OutpostArn field's value.
107244func (s *NetworkInterface) SetOutpostArn(v string) *NetworkInterface {
107245	s.OutpostArn = &v
107246	return s
107247}
107248
107249// SetOwnerId sets the OwnerId field's value.
107250func (s *NetworkInterface) SetOwnerId(v string) *NetworkInterface {
107251	s.OwnerId = &v
107252	return s
107253}
107254
107255// SetPrivateDnsName sets the PrivateDnsName field's value.
107256func (s *NetworkInterface) SetPrivateDnsName(v string) *NetworkInterface {
107257	s.PrivateDnsName = &v
107258	return s
107259}
107260
107261// SetPrivateIpAddress sets the PrivateIpAddress field's value.
107262func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
107263	s.PrivateIpAddress = &v
107264	return s
107265}
107266
107267// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
107268func (s *NetworkInterface) SetPrivateIpAddresses(v []*NetworkInterfacePrivateIpAddress) *NetworkInterface {
107269	s.PrivateIpAddresses = v
107270	return s
107271}
107272
107273// SetRequesterId sets the RequesterId field's value.
107274func (s *NetworkInterface) SetRequesterId(v string) *NetworkInterface {
107275	s.RequesterId = &v
107276	return s
107277}
107278
107279// SetRequesterManaged sets the RequesterManaged field's value.
107280func (s *NetworkInterface) SetRequesterManaged(v bool) *NetworkInterface {
107281	s.RequesterManaged = &v
107282	return s
107283}
107284
107285// SetSourceDestCheck sets the SourceDestCheck field's value.
107286func (s *NetworkInterface) SetSourceDestCheck(v bool) *NetworkInterface {
107287	s.SourceDestCheck = &v
107288	return s
107289}
107290
107291// SetStatus sets the Status field's value.
107292func (s *NetworkInterface) SetStatus(v string) *NetworkInterface {
107293	s.Status = &v
107294	return s
107295}
107296
107297// SetSubnetId sets the SubnetId field's value.
107298func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface {
107299	s.SubnetId = &v
107300	return s
107301}
107302
107303// SetTagSet sets the TagSet field's value.
107304func (s *NetworkInterface) SetTagSet(v []*Tag) *NetworkInterface {
107305	s.TagSet = v
107306	return s
107307}
107308
107309// SetVpcId sets the VpcId field's value.
107310func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface {
107311	s.VpcId = &v
107312	return s
107313}
107314
107315// Describes association information for an Elastic IP address (IPv4 only),
107316// or a Carrier IP address (for a network interface which resides in a subnet
107317// in a Wavelength Zone).
107318type NetworkInterfaceAssociation struct {
107319	_ struct{} `type:"structure"`
107320
107321	// The allocation ID.
107322	AllocationId *string `locationName:"allocationId" type:"string"`
107323
107324	// The association ID.
107325	AssociationId *string `locationName:"associationId" type:"string"`
107326
107327	// The carrier IP address associated with the network interface.
107328	//
107329	// This option is only available when the network interface is in a subnet which
107330	// is associated with a Wavelength Zone.
107331	CarrierIp *string `locationName:"carrierIp" type:"string"`
107332
107333	// The customer-owned IP address associated with the network interface.
107334	CustomerOwnedIp *string `locationName:"customerOwnedIp" type:"string"`
107335
107336	// The ID of the Elastic IP address owner.
107337	IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
107338
107339	// The public DNS name.
107340	PublicDnsName *string `locationName:"publicDnsName" type:"string"`
107341
107342	// The address of the Elastic IP address bound to the network interface.
107343	PublicIp *string `locationName:"publicIp" type:"string"`
107344}
107345
107346// String returns the string representation
107347func (s NetworkInterfaceAssociation) String() string {
107348	return awsutil.Prettify(s)
107349}
107350
107351// GoString returns the string representation
107352func (s NetworkInterfaceAssociation) GoString() string {
107353	return s.String()
107354}
107355
107356// SetAllocationId sets the AllocationId field's value.
107357func (s *NetworkInterfaceAssociation) SetAllocationId(v string) *NetworkInterfaceAssociation {
107358	s.AllocationId = &v
107359	return s
107360}
107361
107362// SetAssociationId sets the AssociationId field's value.
107363func (s *NetworkInterfaceAssociation) SetAssociationId(v string) *NetworkInterfaceAssociation {
107364	s.AssociationId = &v
107365	return s
107366}
107367
107368// SetCarrierIp sets the CarrierIp field's value.
107369func (s *NetworkInterfaceAssociation) SetCarrierIp(v string) *NetworkInterfaceAssociation {
107370	s.CarrierIp = &v
107371	return s
107372}
107373
107374// SetCustomerOwnedIp sets the CustomerOwnedIp field's value.
107375func (s *NetworkInterfaceAssociation) SetCustomerOwnedIp(v string) *NetworkInterfaceAssociation {
107376	s.CustomerOwnedIp = &v
107377	return s
107378}
107379
107380// SetIpOwnerId sets the IpOwnerId field's value.
107381func (s *NetworkInterfaceAssociation) SetIpOwnerId(v string) *NetworkInterfaceAssociation {
107382	s.IpOwnerId = &v
107383	return s
107384}
107385
107386// SetPublicDnsName sets the PublicDnsName field's value.
107387func (s *NetworkInterfaceAssociation) SetPublicDnsName(v string) *NetworkInterfaceAssociation {
107388	s.PublicDnsName = &v
107389	return s
107390}
107391
107392// SetPublicIp sets the PublicIp field's value.
107393func (s *NetworkInterfaceAssociation) SetPublicIp(v string) *NetworkInterfaceAssociation {
107394	s.PublicIp = &v
107395	return s
107396}
107397
107398// Describes a network interface attachment.
107399type NetworkInterfaceAttachment struct {
107400	_ struct{} `type:"structure"`
107401
107402	// The timestamp indicating when the attachment initiated.
107403	AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
107404
107405	// The ID of the network interface attachment.
107406	AttachmentId *string `locationName:"attachmentId" type:"string"`
107407
107408	// Indicates whether the network interface is deleted when the instance is terminated.
107409	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
107410
107411	// The device index of the network interface attachment on the instance.
107412	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
107413
107414	// The ID of the instance.
107415	InstanceId *string `locationName:"instanceId" type:"string"`
107416
107417	// The Amazon Web Services account ID of the owner of the instance.
107418	InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
107419
107420	// The index of the network card.
107421	NetworkCardIndex *int64 `locationName:"networkCardIndex" type:"integer"`
107422
107423	// The attachment state.
107424	Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
107425}
107426
107427// String returns the string representation
107428func (s NetworkInterfaceAttachment) String() string {
107429	return awsutil.Prettify(s)
107430}
107431
107432// GoString returns the string representation
107433func (s NetworkInterfaceAttachment) GoString() string {
107434	return s.String()
107435}
107436
107437// SetAttachTime sets the AttachTime field's value.
107438func (s *NetworkInterfaceAttachment) SetAttachTime(v time.Time) *NetworkInterfaceAttachment {
107439	s.AttachTime = &v
107440	return s
107441}
107442
107443// SetAttachmentId sets the AttachmentId field's value.
107444func (s *NetworkInterfaceAttachment) SetAttachmentId(v string) *NetworkInterfaceAttachment {
107445	s.AttachmentId = &v
107446	return s
107447}
107448
107449// SetDeleteOnTermination sets the DeleteOnTermination field's value.
107450func (s *NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachment {
107451	s.DeleteOnTermination = &v
107452	return s
107453}
107454
107455// SetDeviceIndex sets the DeviceIndex field's value.
107456func (s *NetworkInterfaceAttachment) SetDeviceIndex(v int64) *NetworkInterfaceAttachment {
107457	s.DeviceIndex = &v
107458	return s
107459}
107460
107461// SetInstanceId sets the InstanceId field's value.
107462func (s *NetworkInterfaceAttachment) SetInstanceId(v string) *NetworkInterfaceAttachment {
107463	s.InstanceId = &v
107464	return s
107465}
107466
107467// SetInstanceOwnerId sets the InstanceOwnerId field's value.
107468func (s *NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *NetworkInterfaceAttachment {
107469	s.InstanceOwnerId = &v
107470	return s
107471}
107472
107473// SetNetworkCardIndex sets the NetworkCardIndex field's value.
107474func (s *NetworkInterfaceAttachment) SetNetworkCardIndex(v int64) *NetworkInterfaceAttachment {
107475	s.NetworkCardIndex = &v
107476	return s
107477}
107478
107479// SetStatus sets the Status field's value.
107480func (s *NetworkInterfaceAttachment) SetStatus(v string) *NetworkInterfaceAttachment {
107481	s.Status = &v
107482	return s
107483}
107484
107485// Describes an attachment change.
107486type NetworkInterfaceAttachmentChanges struct {
107487	_ struct{} `type:"structure"`
107488
107489	// The ID of the network interface attachment.
107490	AttachmentId *string `locationName:"attachmentId" type:"string"`
107491
107492	// Indicates whether the network interface is deleted when the instance is terminated.
107493	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
107494}
107495
107496// String returns the string representation
107497func (s NetworkInterfaceAttachmentChanges) String() string {
107498	return awsutil.Prettify(s)
107499}
107500
107501// GoString returns the string representation
107502func (s NetworkInterfaceAttachmentChanges) GoString() string {
107503	return s.String()
107504}
107505
107506// SetAttachmentId sets the AttachmentId field's value.
107507func (s *NetworkInterfaceAttachmentChanges) SetAttachmentId(v string) *NetworkInterfaceAttachmentChanges {
107508	s.AttachmentId = &v
107509	return s
107510}
107511
107512// SetDeleteOnTermination sets the DeleteOnTermination field's value.
107513func (s *NetworkInterfaceAttachmentChanges) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachmentChanges {
107514	s.DeleteOnTermination = &v
107515	return s
107516}
107517
107518// Describes an IPv6 address associated with a network interface.
107519type NetworkInterfaceIpv6Address struct {
107520	_ struct{} `type:"structure"`
107521
107522	// The IPv6 address.
107523	Ipv6Address *string `locationName:"ipv6Address" type:"string"`
107524}
107525
107526// String returns the string representation
107527func (s NetworkInterfaceIpv6Address) String() string {
107528	return awsutil.Prettify(s)
107529}
107530
107531// GoString returns the string representation
107532func (s NetworkInterfaceIpv6Address) GoString() string {
107533	return s.String()
107534}
107535
107536// SetIpv6Address sets the Ipv6Address field's value.
107537func (s *NetworkInterfaceIpv6Address) SetIpv6Address(v string) *NetworkInterfaceIpv6Address {
107538	s.Ipv6Address = &v
107539	return s
107540}
107541
107542// Describes a permission for a network interface.
107543type NetworkInterfacePermission struct {
107544	_ struct{} `type:"structure"`
107545
107546	// The Amazon Web Services account ID.
107547	AwsAccountId *string `locationName:"awsAccountId" type:"string"`
107548
107549	// The Amazon Web Service.
107550	AwsService *string `locationName:"awsService" type:"string"`
107551
107552	// The ID of the network interface.
107553	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
107554
107555	// The ID of the network interface permission.
107556	NetworkInterfacePermissionId *string `locationName:"networkInterfacePermissionId" type:"string"`
107557
107558	// The type of permission.
107559	Permission *string `locationName:"permission" type:"string" enum:"InterfacePermissionType"`
107560
107561	// Information about the state of the permission.
107562	PermissionState *NetworkInterfacePermissionState `locationName:"permissionState" type:"structure"`
107563}
107564
107565// String returns the string representation
107566func (s NetworkInterfacePermission) String() string {
107567	return awsutil.Prettify(s)
107568}
107569
107570// GoString returns the string representation
107571func (s NetworkInterfacePermission) GoString() string {
107572	return s.String()
107573}
107574
107575// SetAwsAccountId sets the AwsAccountId field's value.
107576func (s *NetworkInterfacePermission) SetAwsAccountId(v string) *NetworkInterfacePermission {
107577	s.AwsAccountId = &v
107578	return s
107579}
107580
107581// SetAwsService sets the AwsService field's value.
107582func (s *NetworkInterfacePermission) SetAwsService(v string) *NetworkInterfacePermission {
107583	s.AwsService = &v
107584	return s
107585}
107586
107587// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
107588func (s *NetworkInterfacePermission) SetNetworkInterfaceId(v string) *NetworkInterfacePermission {
107589	s.NetworkInterfaceId = &v
107590	return s
107591}
107592
107593// SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
107594func (s *NetworkInterfacePermission) SetNetworkInterfacePermissionId(v string) *NetworkInterfacePermission {
107595	s.NetworkInterfacePermissionId = &v
107596	return s
107597}
107598
107599// SetPermission sets the Permission field's value.
107600func (s *NetworkInterfacePermission) SetPermission(v string) *NetworkInterfacePermission {
107601	s.Permission = &v
107602	return s
107603}
107604
107605// SetPermissionState sets the PermissionState field's value.
107606func (s *NetworkInterfacePermission) SetPermissionState(v *NetworkInterfacePermissionState) *NetworkInterfacePermission {
107607	s.PermissionState = v
107608	return s
107609}
107610
107611// Describes the state of a network interface permission.
107612type NetworkInterfacePermissionState struct {
107613	_ struct{} `type:"structure"`
107614
107615	// The state of the permission.
107616	State *string `locationName:"state" type:"string" enum:"NetworkInterfacePermissionStateCode"`
107617
107618	// A status message, if applicable.
107619	StatusMessage *string `locationName:"statusMessage" type:"string"`
107620}
107621
107622// String returns the string representation
107623func (s NetworkInterfacePermissionState) String() string {
107624	return awsutil.Prettify(s)
107625}
107626
107627// GoString returns the string representation
107628func (s NetworkInterfacePermissionState) GoString() string {
107629	return s.String()
107630}
107631
107632// SetState sets the State field's value.
107633func (s *NetworkInterfacePermissionState) SetState(v string) *NetworkInterfacePermissionState {
107634	s.State = &v
107635	return s
107636}
107637
107638// SetStatusMessage sets the StatusMessage field's value.
107639func (s *NetworkInterfacePermissionState) SetStatusMessage(v string) *NetworkInterfacePermissionState {
107640	s.StatusMessage = &v
107641	return s
107642}
107643
107644// Describes the private IPv4 address of a network interface.
107645type NetworkInterfacePrivateIpAddress struct {
107646	_ struct{} `type:"structure"`
107647
107648	// The association information for an Elastic IP address (IPv4) associated with
107649	// the network interface.
107650	Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
107651
107652	// Indicates whether this IPv4 address is the primary private IPv4 address of
107653	// the network interface.
107654	Primary *bool `locationName:"primary" type:"boolean"`
107655
107656	// The private DNS name.
107657	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
107658
107659	// The private IPv4 address.
107660	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
107661}
107662
107663// String returns the string representation
107664func (s NetworkInterfacePrivateIpAddress) String() string {
107665	return awsutil.Prettify(s)
107666}
107667
107668// GoString returns the string representation
107669func (s NetworkInterfacePrivateIpAddress) GoString() string {
107670	return s.String()
107671}
107672
107673// SetAssociation sets the Association field's value.
107674func (s *NetworkInterfacePrivateIpAddress) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterfacePrivateIpAddress {
107675	s.Association = v
107676	return s
107677}
107678
107679// SetPrimary sets the Primary field's value.
107680func (s *NetworkInterfacePrivateIpAddress) SetPrimary(v bool) *NetworkInterfacePrivateIpAddress {
107681	s.Primary = &v
107682	return s
107683}
107684
107685// SetPrivateDnsName sets the PrivateDnsName field's value.
107686func (s *NetworkInterfacePrivateIpAddress) SetPrivateDnsName(v string) *NetworkInterfacePrivateIpAddress {
107687	s.PrivateDnsName = &v
107688	return s
107689}
107690
107691// SetPrivateIpAddress sets the PrivateIpAddress field's value.
107692func (s *NetworkInterfacePrivateIpAddress) SetPrivateIpAddress(v string) *NetworkInterfacePrivateIpAddress {
107693	s.PrivateIpAddress = &v
107694	return s
107695}
107696
107697type NewDhcpConfiguration struct {
107698	_ struct{} `type:"structure"`
107699
107700	Key *string `locationName:"key" type:"string"`
107701
107702	Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
107703}
107704
107705// String returns the string representation
107706func (s NewDhcpConfiguration) String() string {
107707	return awsutil.Prettify(s)
107708}
107709
107710// GoString returns the string representation
107711func (s NewDhcpConfiguration) GoString() string {
107712	return s.String()
107713}
107714
107715// SetKey sets the Key field's value.
107716func (s *NewDhcpConfiguration) SetKey(v string) *NewDhcpConfiguration {
107717	s.Key = &v
107718	return s
107719}
107720
107721// SetValues sets the Values field's value.
107722func (s *NewDhcpConfiguration) SetValues(v []*string) *NewDhcpConfiguration {
107723	s.Values = v
107724	return s
107725}
107726
107727// Describes the configuration of On-Demand Instances in an EC2 Fleet.
107728type OnDemandOptions struct {
107729	_ struct{} `type:"structure"`
107730
107731	// The order of the launch template overrides to use in fulfilling On-Demand
107732	// capacity. If you specify lowest-price, EC2 Fleet uses price to determine
107733	// the order, launching the lowest price first. If you specify prioritized,
107734	// EC2 Fleet uses the priority that you assigned to each launch template override,
107735	// launching the highest priority first. If you do not specify a value, EC2
107736	// Fleet defaults to lowest-price.
107737	AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"FleetOnDemandAllocationStrategy"`
107738
107739	// The strategy for using unused Capacity Reservations for fulfilling On-Demand
107740	// capacity. Supported only for fleets of type instant.
107741	CapacityReservationOptions *CapacityReservationOptions `locationName:"capacityReservationOptions" type:"structure"`
107742
107743	// The maximum amount per hour for On-Demand Instances that you're willing to
107744	// pay.
107745	MaxTotalPrice *string `locationName:"maxTotalPrice" type:"string"`
107746
107747	// The minimum target capacity for On-Demand Instances in the fleet. If the
107748	// minimum target capacity is not reached, the fleet launches no instances.
107749	MinTargetCapacity *int64 `locationName:"minTargetCapacity" type:"integer"`
107750
107751	// Indicates that the fleet launches all On-Demand Instances into a single Availability
107752	// Zone. Supported only for fleets of type instant.
107753	SingleAvailabilityZone *bool `locationName:"singleAvailabilityZone" type:"boolean"`
107754
107755	// Indicates that the fleet uses a single instance type to launch all On-Demand
107756	// Instances in the fleet. Supported only for fleets of type instant.
107757	SingleInstanceType *bool `locationName:"singleInstanceType" type:"boolean"`
107758}
107759
107760// String returns the string representation
107761func (s OnDemandOptions) String() string {
107762	return awsutil.Prettify(s)
107763}
107764
107765// GoString returns the string representation
107766func (s OnDemandOptions) GoString() string {
107767	return s.String()
107768}
107769
107770// SetAllocationStrategy sets the AllocationStrategy field's value.
107771func (s *OnDemandOptions) SetAllocationStrategy(v string) *OnDemandOptions {
107772	s.AllocationStrategy = &v
107773	return s
107774}
107775
107776// SetCapacityReservationOptions sets the CapacityReservationOptions field's value.
107777func (s *OnDemandOptions) SetCapacityReservationOptions(v *CapacityReservationOptions) *OnDemandOptions {
107778	s.CapacityReservationOptions = v
107779	return s
107780}
107781
107782// SetMaxTotalPrice sets the MaxTotalPrice field's value.
107783func (s *OnDemandOptions) SetMaxTotalPrice(v string) *OnDemandOptions {
107784	s.MaxTotalPrice = &v
107785	return s
107786}
107787
107788// SetMinTargetCapacity sets the MinTargetCapacity field's value.
107789func (s *OnDemandOptions) SetMinTargetCapacity(v int64) *OnDemandOptions {
107790	s.MinTargetCapacity = &v
107791	return s
107792}
107793
107794// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
107795func (s *OnDemandOptions) SetSingleAvailabilityZone(v bool) *OnDemandOptions {
107796	s.SingleAvailabilityZone = &v
107797	return s
107798}
107799
107800// SetSingleInstanceType sets the SingleInstanceType field's value.
107801func (s *OnDemandOptions) SetSingleInstanceType(v bool) *OnDemandOptions {
107802	s.SingleInstanceType = &v
107803	return s
107804}
107805
107806// Describes the configuration of On-Demand Instances in an EC2 Fleet.
107807type OnDemandOptionsRequest struct {
107808	_ struct{} `type:"structure"`
107809
107810	// The order of the launch template overrides to use in fulfilling On-Demand
107811	// capacity. If you specify lowest-price, EC2 Fleet uses price to determine
107812	// the order, launching the lowest price first. If you specify prioritized,
107813	// EC2 Fleet uses the priority that you assigned to each launch template override,
107814	// launching the highest priority first. If you do not specify a value, EC2
107815	// Fleet defaults to lowest-price.
107816	AllocationStrategy *string `type:"string" enum:"FleetOnDemandAllocationStrategy"`
107817
107818	// The strategy for using unused Capacity Reservations for fulfilling On-Demand
107819	// capacity. Supported only for fleets of type instant.
107820	CapacityReservationOptions *CapacityReservationOptionsRequest `type:"structure"`
107821
107822	// The maximum amount per hour for On-Demand Instances that you're willing to
107823	// pay.
107824	MaxTotalPrice *string `type:"string"`
107825
107826	// The minimum target capacity for On-Demand Instances in the fleet. If the
107827	// minimum target capacity is not reached, the fleet launches no instances.
107828	MinTargetCapacity *int64 `type:"integer"`
107829
107830	// Indicates that the fleet launches all On-Demand Instances into a single Availability
107831	// Zone. Supported only for fleets of type instant.
107832	SingleAvailabilityZone *bool `type:"boolean"`
107833
107834	// Indicates that the fleet uses a single instance type to launch all On-Demand
107835	// Instances in the fleet. Supported only for fleets of type instant.
107836	SingleInstanceType *bool `type:"boolean"`
107837}
107838
107839// String returns the string representation
107840func (s OnDemandOptionsRequest) String() string {
107841	return awsutil.Prettify(s)
107842}
107843
107844// GoString returns the string representation
107845func (s OnDemandOptionsRequest) GoString() string {
107846	return s.String()
107847}
107848
107849// SetAllocationStrategy sets the AllocationStrategy field's value.
107850func (s *OnDemandOptionsRequest) SetAllocationStrategy(v string) *OnDemandOptionsRequest {
107851	s.AllocationStrategy = &v
107852	return s
107853}
107854
107855// SetCapacityReservationOptions sets the CapacityReservationOptions field's value.
107856func (s *OnDemandOptionsRequest) SetCapacityReservationOptions(v *CapacityReservationOptionsRequest) *OnDemandOptionsRequest {
107857	s.CapacityReservationOptions = v
107858	return s
107859}
107860
107861// SetMaxTotalPrice sets the MaxTotalPrice field's value.
107862func (s *OnDemandOptionsRequest) SetMaxTotalPrice(v string) *OnDemandOptionsRequest {
107863	s.MaxTotalPrice = &v
107864	return s
107865}
107866
107867// SetMinTargetCapacity sets the MinTargetCapacity field's value.
107868func (s *OnDemandOptionsRequest) SetMinTargetCapacity(v int64) *OnDemandOptionsRequest {
107869	s.MinTargetCapacity = &v
107870	return s
107871}
107872
107873// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
107874func (s *OnDemandOptionsRequest) SetSingleAvailabilityZone(v bool) *OnDemandOptionsRequest {
107875	s.SingleAvailabilityZone = &v
107876	return s
107877}
107878
107879// SetSingleInstanceType sets the SingleInstanceType field's value.
107880func (s *OnDemandOptionsRequest) SetSingleInstanceType(v bool) *OnDemandOptionsRequest {
107881	s.SingleInstanceType = &v
107882	return s
107883}
107884
107885// Describes a path component.
107886type PathComponent struct {
107887	_ struct{} `type:"structure"`
107888
107889	// The network ACL rule.
107890	AclRule *AnalysisAclRule `locationName:"aclRule" type:"structure"`
107891
107892	// The component.
107893	Component *AnalysisComponent `locationName:"component" type:"structure"`
107894
107895	// The destination VPC.
107896	DestinationVpc *AnalysisComponent `locationName:"destinationVpc" type:"structure"`
107897
107898	// The inbound header.
107899	InboundHeader *AnalysisPacketHeader `locationName:"inboundHeader" type:"structure"`
107900
107901	// The outbound header.
107902	OutboundHeader *AnalysisPacketHeader `locationName:"outboundHeader" type:"structure"`
107903
107904	// The route table route.
107905	RouteTableRoute *AnalysisRouteTableRoute `locationName:"routeTableRoute" type:"structure"`
107906
107907	// The security group rule.
107908	SecurityGroupRule *AnalysisSecurityGroupRule `locationName:"securityGroupRule" type:"structure"`
107909
107910	// The sequence number.
107911	SequenceNumber *int64 `locationName:"sequenceNumber" type:"integer"`
107912
107913	// The source VPC.
107914	SourceVpc *AnalysisComponent `locationName:"sourceVpc" type:"structure"`
107915
107916	// The subnet.
107917	Subnet *AnalysisComponent `locationName:"subnet" type:"structure"`
107918
107919	// The component VPC.
107920	Vpc *AnalysisComponent `locationName:"vpc" type:"structure"`
107921}
107922
107923// String returns the string representation
107924func (s PathComponent) String() string {
107925	return awsutil.Prettify(s)
107926}
107927
107928// GoString returns the string representation
107929func (s PathComponent) GoString() string {
107930	return s.String()
107931}
107932
107933// SetAclRule sets the AclRule field's value.
107934func (s *PathComponent) SetAclRule(v *AnalysisAclRule) *PathComponent {
107935	s.AclRule = v
107936	return s
107937}
107938
107939// SetComponent sets the Component field's value.
107940func (s *PathComponent) SetComponent(v *AnalysisComponent) *PathComponent {
107941	s.Component = v
107942	return s
107943}
107944
107945// SetDestinationVpc sets the DestinationVpc field's value.
107946func (s *PathComponent) SetDestinationVpc(v *AnalysisComponent) *PathComponent {
107947	s.DestinationVpc = v
107948	return s
107949}
107950
107951// SetInboundHeader sets the InboundHeader field's value.
107952func (s *PathComponent) SetInboundHeader(v *AnalysisPacketHeader) *PathComponent {
107953	s.InboundHeader = v
107954	return s
107955}
107956
107957// SetOutboundHeader sets the OutboundHeader field's value.
107958func (s *PathComponent) SetOutboundHeader(v *AnalysisPacketHeader) *PathComponent {
107959	s.OutboundHeader = v
107960	return s
107961}
107962
107963// SetRouteTableRoute sets the RouteTableRoute field's value.
107964func (s *PathComponent) SetRouteTableRoute(v *AnalysisRouteTableRoute) *PathComponent {
107965	s.RouteTableRoute = v
107966	return s
107967}
107968
107969// SetSecurityGroupRule sets the SecurityGroupRule field's value.
107970func (s *PathComponent) SetSecurityGroupRule(v *AnalysisSecurityGroupRule) *PathComponent {
107971	s.SecurityGroupRule = v
107972	return s
107973}
107974
107975// SetSequenceNumber sets the SequenceNumber field's value.
107976func (s *PathComponent) SetSequenceNumber(v int64) *PathComponent {
107977	s.SequenceNumber = &v
107978	return s
107979}
107980
107981// SetSourceVpc sets the SourceVpc field's value.
107982func (s *PathComponent) SetSourceVpc(v *AnalysisComponent) *PathComponent {
107983	s.SourceVpc = v
107984	return s
107985}
107986
107987// SetSubnet sets the Subnet field's value.
107988func (s *PathComponent) SetSubnet(v *AnalysisComponent) *PathComponent {
107989	s.Subnet = v
107990	return s
107991}
107992
107993// SetVpc sets the Vpc field's value.
107994func (s *PathComponent) SetVpc(v *AnalysisComponent) *PathComponent {
107995	s.Vpc = v
107996	return s
107997}
107998
107999// Describes the data that identifies an Amazon FPGA image (AFI) on the PCI
108000// bus.
108001type PciId struct {
108002	_ struct{} `type:"structure"`
108003
108004	// The ID of the device.
108005	DeviceId *string `type:"string"`
108006
108007	// The ID of the subsystem.
108008	SubsystemId *string `type:"string"`
108009
108010	// The ID of the vendor for the subsystem.
108011	SubsystemVendorId *string `type:"string"`
108012
108013	// The ID of the vendor.
108014	VendorId *string `type:"string"`
108015}
108016
108017// String returns the string representation
108018func (s PciId) String() string {
108019	return awsutil.Prettify(s)
108020}
108021
108022// GoString returns the string representation
108023func (s PciId) GoString() string {
108024	return s.String()
108025}
108026
108027// SetDeviceId sets the DeviceId field's value.
108028func (s *PciId) SetDeviceId(v string) *PciId {
108029	s.DeviceId = &v
108030	return s
108031}
108032
108033// SetSubsystemId sets the SubsystemId field's value.
108034func (s *PciId) SetSubsystemId(v string) *PciId {
108035	s.SubsystemId = &v
108036	return s
108037}
108038
108039// SetSubsystemVendorId sets the SubsystemVendorId field's value.
108040func (s *PciId) SetSubsystemVendorId(v string) *PciId {
108041	s.SubsystemVendorId = &v
108042	return s
108043}
108044
108045// SetVendorId sets the VendorId field's value.
108046func (s *PciId) SetVendorId(v string) *PciId {
108047	s.VendorId = &v
108048	return s
108049}
108050
108051// The status of the transit gateway peering attachment.
108052type PeeringAttachmentStatus struct {
108053	_ struct{} `type:"structure"`
108054
108055	// The status code.
108056	Code *string `locationName:"code" type:"string"`
108057
108058	// The status message, if applicable.
108059	Message *string `locationName:"message" type:"string"`
108060}
108061
108062// String returns the string representation
108063func (s PeeringAttachmentStatus) String() string {
108064	return awsutil.Prettify(s)
108065}
108066
108067// GoString returns the string representation
108068func (s PeeringAttachmentStatus) GoString() string {
108069	return s.String()
108070}
108071
108072// SetCode sets the Code field's value.
108073func (s *PeeringAttachmentStatus) SetCode(v string) *PeeringAttachmentStatus {
108074	s.Code = &v
108075	return s
108076}
108077
108078// SetMessage sets the Message field's value.
108079func (s *PeeringAttachmentStatus) SetMessage(v string) *PeeringAttachmentStatus {
108080	s.Message = &v
108081	return s
108082}
108083
108084// Describes the VPC peering connection options.
108085type PeeringConnectionOptions struct {
108086	_ struct{} `type:"structure"`
108087
108088	// If true, the public DNS hostnames of instances in the specified VPC resolve
108089	// to private IP addresses when queried from instances in the peer VPC.
108090	AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
108091
108092	// If true, enables outbound communication from an EC2-Classic instance that's
108093	// linked to a local VPC using ClassicLink to instances in a peer VPC.
108094	AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
108095
108096	// If true, enables outbound communication from instances in a local VPC to
108097	// an EC2-Classic instance that's linked to a peer VPC using ClassicLink.
108098	AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
108099}
108100
108101// String returns the string representation
108102func (s PeeringConnectionOptions) String() string {
108103	return awsutil.Prettify(s)
108104}
108105
108106// GoString returns the string representation
108107func (s PeeringConnectionOptions) GoString() string {
108108	return s.String()
108109}
108110
108111// SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
108112func (s *PeeringConnectionOptions) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptions {
108113	s.AllowDnsResolutionFromRemoteVpc = &v
108114	return s
108115}
108116
108117// SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
108118func (s *PeeringConnectionOptions) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptions {
108119	s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
108120	return s
108121}
108122
108123// SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
108124func (s *PeeringConnectionOptions) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptions {
108125	s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
108126	return s
108127}
108128
108129// The VPC peering connection options.
108130type PeeringConnectionOptionsRequest struct {
108131	_ struct{} `type:"structure"`
108132
108133	// If true, enables a local VPC to resolve public DNS hostnames to private IP
108134	// addresses when queried from instances in the peer VPC.
108135	AllowDnsResolutionFromRemoteVpc *bool `type:"boolean"`
108136
108137	// If true, enables outbound communication from an EC2-Classic instance that's
108138	// linked to a local VPC using ClassicLink to instances in a peer VPC.
108139	AllowEgressFromLocalClassicLinkToRemoteVpc *bool `type:"boolean"`
108140
108141	// If true, enables outbound communication from instances in a local VPC to
108142	// an EC2-Classic instance that's linked to a peer VPC using ClassicLink.
108143	AllowEgressFromLocalVpcToRemoteClassicLink *bool `type:"boolean"`
108144}
108145
108146// String returns the string representation
108147func (s PeeringConnectionOptionsRequest) String() string {
108148	return awsutil.Prettify(s)
108149}
108150
108151// GoString returns the string representation
108152func (s PeeringConnectionOptionsRequest) GoString() string {
108153	return s.String()
108154}
108155
108156// SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
108157func (s *PeeringConnectionOptionsRequest) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
108158	s.AllowDnsResolutionFromRemoteVpc = &v
108159	return s
108160}
108161
108162// SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
108163func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
108164	s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
108165	return s
108166}
108167
108168// SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
108169func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptionsRequest {
108170	s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
108171	return s
108172}
108173
108174// Information about the transit gateway in the peering attachment.
108175type PeeringTgwInfo struct {
108176	_ struct{} `type:"structure"`
108177
108178	// The ID of the Amazon Web Services account that owns the transit gateway.
108179	OwnerId *string `locationName:"ownerId" type:"string"`
108180
108181	// The Region of the transit gateway.
108182	Region *string `locationName:"region" type:"string"`
108183
108184	// The ID of the transit gateway.
108185	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
108186}
108187
108188// String returns the string representation
108189func (s PeeringTgwInfo) String() string {
108190	return awsutil.Prettify(s)
108191}
108192
108193// GoString returns the string representation
108194func (s PeeringTgwInfo) GoString() string {
108195	return s.String()
108196}
108197
108198// SetOwnerId sets the OwnerId field's value.
108199func (s *PeeringTgwInfo) SetOwnerId(v string) *PeeringTgwInfo {
108200	s.OwnerId = &v
108201	return s
108202}
108203
108204// SetRegion sets the Region field's value.
108205func (s *PeeringTgwInfo) SetRegion(v string) *PeeringTgwInfo {
108206	s.Region = &v
108207	return s
108208}
108209
108210// SetTransitGatewayId sets the TransitGatewayId field's value.
108211func (s *PeeringTgwInfo) SetTransitGatewayId(v string) *PeeringTgwInfo {
108212	s.TransitGatewayId = &v
108213	return s
108214}
108215
108216// The Diffie-Hellmann group number for phase 1 IKE negotiations.
108217type Phase1DHGroupNumbersListValue struct {
108218	_ struct{} `type:"structure"`
108219
108220	// The Diffie-Hellmann group number.
108221	Value *int64 `locationName:"value" type:"integer"`
108222}
108223
108224// String returns the string representation
108225func (s Phase1DHGroupNumbersListValue) String() string {
108226	return awsutil.Prettify(s)
108227}
108228
108229// GoString returns the string representation
108230func (s Phase1DHGroupNumbersListValue) GoString() string {
108231	return s.String()
108232}
108233
108234// SetValue sets the Value field's value.
108235func (s *Phase1DHGroupNumbersListValue) SetValue(v int64) *Phase1DHGroupNumbersListValue {
108236	s.Value = &v
108237	return s
108238}
108239
108240// Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE
108241// negotiations.
108242type Phase1DHGroupNumbersRequestListValue struct {
108243	_ struct{} `type:"structure"`
108244
108245	// The Diffie-Hellmann group number.
108246	Value *int64 `type:"integer"`
108247}
108248
108249// String returns the string representation
108250func (s Phase1DHGroupNumbersRequestListValue) String() string {
108251	return awsutil.Prettify(s)
108252}
108253
108254// GoString returns the string representation
108255func (s Phase1DHGroupNumbersRequestListValue) GoString() string {
108256	return s.String()
108257}
108258
108259// SetValue sets the Value field's value.
108260func (s *Phase1DHGroupNumbersRequestListValue) SetValue(v int64) *Phase1DHGroupNumbersRequestListValue {
108261	s.Value = &v
108262	return s
108263}
108264
108265// The encryption algorithm for phase 1 IKE negotiations.
108266type Phase1EncryptionAlgorithmsListValue struct {
108267	_ struct{} `type:"structure"`
108268
108269	// The value for the encryption algorithm.
108270	Value *string `locationName:"value" type:"string"`
108271}
108272
108273// String returns the string representation
108274func (s Phase1EncryptionAlgorithmsListValue) String() string {
108275	return awsutil.Prettify(s)
108276}
108277
108278// GoString returns the string representation
108279func (s Phase1EncryptionAlgorithmsListValue) GoString() string {
108280	return s.String()
108281}
108282
108283// SetValue sets the Value field's value.
108284func (s *Phase1EncryptionAlgorithmsListValue) SetValue(v string) *Phase1EncryptionAlgorithmsListValue {
108285	s.Value = &v
108286	return s
108287}
108288
108289// Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations.
108290type Phase1EncryptionAlgorithmsRequestListValue struct {
108291	_ struct{} `type:"structure"`
108292
108293	// The value for the encryption algorithm.
108294	Value *string `type:"string"`
108295}
108296
108297// String returns the string representation
108298func (s Phase1EncryptionAlgorithmsRequestListValue) String() string {
108299	return awsutil.Prettify(s)
108300}
108301
108302// GoString returns the string representation
108303func (s Phase1EncryptionAlgorithmsRequestListValue) GoString() string {
108304	return s.String()
108305}
108306
108307// SetValue sets the Value field's value.
108308func (s *Phase1EncryptionAlgorithmsRequestListValue) SetValue(v string) *Phase1EncryptionAlgorithmsRequestListValue {
108309	s.Value = &v
108310	return s
108311}
108312
108313// The integrity algorithm for phase 1 IKE negotiations.
108314type Phase1IntegrityAlgorithmsListValue struct {
108315	_ struct{} `type:"structure"`
108316
108317	// The value for the integrity algorithm.
108318	Value *string `locationName:"value" type:"string"`
108319}
108320
108321// String returns the string representation
108322func (s Phase1IntegrityAlgorithmsListValue) String() string {
108323	return awsutil.Prettify(s)
108324}
108325
108326// GoString returns the string representation
108327func (s Phase1IntegrityAlgorithmsListValue) GoString() string {
108328	return s.String()
108329}
108330
108331// SetValue sets the Value field's value.
108332func (s *Phase1IntegrityAlgorithmsListValue) SetValue(v string) *Phase1IntegrityAlgorithmsListValue {
108333	s.Value = &v
108334	return s
108335}
108336
108337// Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations.
108338type Phase1IntegrityAlgorithmsRequestListValue struct {
108339	_ struct{} `type:"structure"`
108340
108341	// The value for the integrity algorithm.
108342	Value *string `type:"string"`
108343}
108344
108345// String returns the string representation
108346func (s Phase1IntegrityAlgorithmsRequestListValue) String() string {
108347	return awsutil.Prettify(s)
108348}
108349
108350// GoString returns the string representation
108351func (s Phase1IntegrityAlgorithmsRequestListValue) GoString() string {
108352	return s.String()
108353}
108354
108355// SetValue sets the Value field's value.
108356func (s *Phase1IntegrityAlgorithmsRequestListValue) SetValue(v string) *Phase1IntegrityAlgorithmsRequestListValue {
108357	s.Value = &v
108358	return s
108359}
108360
108361// The Diffie-Hellmann group number for phase 2 IKE negotiations.
108362type Phase2DHGroupNumbersListValue struct {
108363	_ struct{} `type:"structure"`
108364
108365	// The Diffie-Hellmann group number.
108366	Value *int64 `locationName:"value" type:"integer"`
108367}
108368
108369// String returns the string representation
108370func (s Phase2DHGroupNumbersListValue) String() string {
108371	return awsutil.Prettify(s)
108372}
108373
108374// GoString returns the string representation
108375func (s Phase2DHGroupNumbersListValue) GoString() string {
108376	return s.String()
108377}
108378
108379// SetValue sets the Value field's value.
108380func (s *Phase2DHGroupNumbersListValue) SetValue(v int64) *Phase2DHGroupNumbersListValue {
108381	s.Value = &v
108382	return s
108383}
108384
108385// Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE
108386// negotiations.
108387type Phase2DHGroupNumbersRequestListValue struct {
108388	_ struct{} `type:"structure"`
108389
108390	// The Diffie-Hellmann group number.
108391	Value *int64 `type:"integer"`
108392}
108393
108394// String returns the string representation
108395func (s Phase2DHGroupNumbersRequestListValue) String() string {
108396	return awsutil.Prettify(s)
108397}
108398
108399// GoString returns the string representation
108400func (s Phase2DHGroupNumbersRequestListValue) GoString() string {
108401	return s.String()
108402}
108403
108404// SetValue sets the Value field's value.
108405func (s *Phase2DHGroupNumbersRequestListValue) SetValue(v int64) *Phase2DHGroupNumbersRequestListValue {
108406	s.Value = &v
108407	return s
108408}
108409
108410// The encryption algorithm for phase 2 IKE negotiations.
108411type Phase2EncryptionAlgorithmsListValue struct {
108412	_ struct{} `type:"structure"`
108413
108414	// The encryption algorithm.
108415	Value *string `locationName:"value" type:"string"`
108416}
108417
108418// String returns the string representation
108419func (s Phase2EncryptionAlgorithmsListValue) String() string {
108420	return awsutil.Prettify(s)
108421}
108422
108423// GoString returns the string representation
108424func (s Phase2EncryptionAlgorithmsListValue) GoString() string {
108425	return s.String()
108426}
108427
108428// SetValue sets the Value field's value.
108429func (s *Phase2EncryptionAlgorithmsListValue) SetValue(v string) *Phase2EncryptionAlgorithmsListValue {
108430	s.Value = &v
108431	return s
108432}
108433
108434// Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations.
108435type Phase2EncryptionAlgorithmsRequestListValue struct {
108436	_ struct{} `type:"structure"`
108437
108438	// The encryption algorithm.
108439	Value *string `type:"string"`
108440}
108441
108442// String returns the string representation
108443func (s Phase2EncryptionAlgorithmsRequestListValue) String() string {
108444	return awsutil.Prettify(s)
108445}
108446
108447// GoString returns the string representation
108448func (s Phase2EncryptionAlgorithmsRequestListValue) GoString() string {
108449	return s.String()
108450}
108451
108452// SetValue sets the Value field's value.
108453func (s *Phase2EncryptionAlgorithmsRequestListValue) SetValue(v string) *Phase2EncryptionAlgorithmsRequestListValue {
108454	s.Value = &v
108455	return s
108456}
108457
108458// The integrity algorithm for phase 2 IKE negotiations.
108459type Phase2IntegrityAlgorithmsListValue struct {
108460	_ struct{} `type:"structure"`
108461
108462	// The integrity algorithm.
108463	Value *string `locationName:"value" type:"string"`
108464}
108465
108466// String returns the string representation
108467func (s Phase2IntegrityAlgorithmsListValue) String() string {
108468	return awsutil.Prettify(s)
108469}
108470
108471// GoString returns the string representation
108472func (s Phase2IntegrityAlgorithmsListValue) GoString() string {
108473	return s.String()
108474}
108475
108476// SetValue sets the Value field's value.
108477func (s *Phase2IntegrityAlgorithmsListValue) SetValue(v string) *Phase2IntegrityAlgorithmsListValue {
108478	s.Value = &v
108479	return s
108480}
108481
108482// Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations.
108483type Phase2IntegrityAlgorithmsRequestListValue struct {
108484	_ struct{} `type:"structure"`
108485
108486	// The integrity algorithm.
108487	Value *string `type:"string"`
108488}
108489
108490// String returns the string representation
108491func (s Phase2IntegrityAlgorithmsRequestListValue) String() string {
108492	return awsutil.Prettify(s)
108493}
108494
108495// GoString returns the string representation
108496func (s Phase2IntegrityAlgorithmsRequestListValue) GoString() string {
108497	return s.String()
108498}
108499
108500// SetValue sets the Value field's value.
108501func (s *Phase2IntegrityAlgorithmsRequestListValue) SetValue(v string) *Phase2IntegrityAlgorithmsRequestListValue {
108502	s.Value = &v
108503	return s
108504}
108505
108506// Describes the placement of an instance.
108507type Placement struct {
108508	_ struct{} `type:"structure"`
108509
108510	// The affinity setting for the instance on the Dedicated Host. This parameter
108511	// is not supported for the ImportInstance (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html)
108512	// command.
108513	//
108514	// This parameter is not supported by CreateFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet).
108515	Affinity *string `locationName:"affinity" type:"string"`
108516
108517	// The Availability Zone of the instance.
108518	//
108519	// If not specified, an Availability Zone will be automatically chosen for you
108520	// based on the load balancing criteria for the Region.
108521	//
108522	// This parameter is not supported by CreateFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet).
108523	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
108524
108525	// The name of the placement group the instance is in.
108526	GroupName *string `locationName:"groupName" type:"string"`
108527
108528	// The ID of the Dedicated Host on which the instance resides. This parameter
108529	// is not supported for the ImportInstance (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html)
108530	// command.
108531	//
108532	// This parameter is not supported by CreateFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet).
108533	HostId *string `locationName:"hostId" type:"string"`
108534
108535	// The ARN of the host resource group in which to launch the instances. If you
108536	// specify a host resource group ARN, omit the Tenancy parameter or set it to
108537	// host.
108538	//
108539	// This parameter is not supported by CreateFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet).
108540	HostResourceGroupArn *string `locationName:"hostResourceGroupArn" type:"string"`
108541
108542	// The number of the partition the instance is in. Valid only if the placement
108543	// group strategy is set to partition.
108544	//
108545	// This parameter is not supported by CreateFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet).
108546	PartitionNumber *int64 `locationName:"partitionNumber" type:"integer"`
108547
108548	// Reserved for future use.
108549	//
108550	// This parameter is not supported by CreateFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet).
108551	SpreadDomain *string `locationName:"spreadDomain" type:"string"`
108552
108553	// The tenancy of the instance (if the instance is running in a VPC). An instance
108554	// with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
108555	// is not supported for the ImportInstance (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html)
108556	// command.
108557	//
108558	// This parameter is not supported by CreateFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet).
108559	Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
108560}
108561
108562// String returns the string representation
108563func (s Placement) String() string {
108564	return awsutil.Prettify(s)
108565}
108566
108567// GoString returns the string representation
108568func (s Placement) GoString() string {
108569	return s.String()
108570}
108571
108572// SetAffinity sets the Affinity field's value.
108573func (s *Placement) SetAffinity(v string) *Placement {
108574	s.Affinity = &v
108575	return s
108576}
108577
108578// SetAvailabilityZone sets the AvailabilityZone field's value.
108579func (s *Placement) SetAvailabilityZone(v string) *Placement {
108580	s.AvailabilityZone = &v
108581	return s
108582}
108583
108584// SetGroupName sets the GroupName field's value.
108585func (s *Placement) SetGroupName(v string) *Placement {
108586	s.GroupName = &v
108587	return s
108588}
108589
108590// SetHostId sets the HostId field's value.
108591func (s *Placement) SetHostId(v string) *Placement {
108592	s.HostId = &v
108593	return s
108594}
108595
108596// SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
108597func (s *Placement) SetHostResourceGroupArn(v string) *Placement {
108598	s.HostResourceGroupArn = &v
108599	return s
108600}
108601
108602// SetPartitionNumber sets the PartitionNumber field's value.
108603func (s *Placement) SetPartitionNumber(v int64) *Placement {
108604	s.PartitionNumber = &v
108605	return s
108606}
108607
108608// SetSpreadDomain sets the SpreadDomain field's value.
108609func (s *Placement) SetSpreadDomain(v string) *Placement {
108610	s.SpreadDomain = &v
108611	return s
108612}
108613
108614// SetTenancy sets the Tenancy field's value.
108615func (s *Placement) SetTenancy(v string) *Placement {
108616	s.Tenancy = &v
108617	return s
108618}
108619
108620// Describes a placement group.
108621type PlacementGroup struct {
108622	_ struct{} `type:"structure"`
108623
108624	// The ID of the placement group.
108625	GroupId *string `locationName:"groupId" type:"string"`
108626
108627	// The name of the placement group.
108628	GroupName *string `locationName:"groupName" type:"string"`
108629
108630	// The number of partitions. Valid only if strategy is set to partition.
108631	PartitionCount *int64 `locationName:"partitionCount" type:"integer"`
108632
108633	// The state of the placement group.
108634	State *string `locationName:"state" type:"string" enum:"PlacementGroupState"`
108635
108636	// The placement strategy.
108637	Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
108638
108639	// Any tags applied to the placement group.
108640	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
108641}
108642
108643// String returns the string representation
108644func (s PlacementGroup) String() string {
108645	return awsutil.Prettify(s)
108646}
108647
108648// GoString returns the string representation
108649func (s PlacementGroup) GoString() string {
108650	return s.String()
108651}
108652
108653// SetGroupId sets the GroupId field's value.
108654func (s *PlacementGroup) SetGroupId(v string) *PlacementGroup {
108655	s.GroupId = &v
108656	return s
108657}
108658
108659// SetGroupName sets the GroupName field's value.
108660func (s *PlacementGroup) SetGroupName(v string) *PlacementGroup {
108661	s.GroupName = &v
108662	return s
108663}
108664
108665// SetPartitionCount sets the PartitionCount field's value.
108666func (s *PlacementGroup) SetPartitionCount(v int64) *PlacementGroup {
108667	s.PartitionCount = &v
108668	return s
108669}
108670
108671// SetState sets the State field's value.
108672func (s *PlacementGroup) SetState(v string) *PlacementGroup {
108673	s.State = &v
108674	return s
108675}
108676
108677// SetStrategy sets the Strategy field's value.
108678func (s *PlacementGroup) SetStrategy(v string) *PlacementGroup {
108679	s.Strategy = &v
108680	return s
108681}
108682
108683// SetTags sets the Tags field's value.
108684func (s *PlacementGroup) SetTags(v []*Tag) *PlacementGroup {
108685	s.Tags = v
108686	return s
108687}
108688
108689// Describes the placement group support of the instance type.
108690type PlacementGroupInfo struct {
108691	_ struct{} `type:"structure"`
108692
108693	// The supported placement group types.
108694	SupportedStrategies []*string `locationName:"supportedStrategies" locationNameList:"item" type:"list"`
108695}
108696
108697// String returns the string representation
108698func (s PlacementGroupInfo) String() string {
108699	return awsutil.Prettify(s)
108700}
108701
108702// GoString returns the string representation
108703func (s PlacementGroupInfo) GoString() string {
108704	return s.String()
108705}
108706
108707// SetSupportedStrategies sets the SupportedStrategies field's value.
108708func (s *PlacementGroupInfo) SetSupportedStrategies(v []*string) *PlacementGroupInfo {
108709	s.SupportedStrategies = v
108710	return s
108711}
108712
108713// Describes the placement of an instance.
108714type PlacementResponse struct {
108715	_ struct{} `type:"structure"`
108716
108717	// The name of the placement group that the instance is in.
108718	GroupName *string `locationName:"groupName" type:"string"`
108719}
108720
108721// String returns the string representation
108722func (s PlacementResponse) String() string {
108723	return awsutil.Prettify(s)
108724}
108725
108726// GoString returns the string representation
108727func (s PlacementResponse) GoString() string {
108728	return s.String()
108729}
108730
108731// SetGroupName sets the GroupName field's value.
108732func (s *PlacementResponse) SetGroupName(v string) *PlacementResponse {
108733	s.GroupName = &v
108734	return s
108735}
108736
108737// Describes a CIDR block for an address pool.
108738type PoolCidrBlock struct {
108739	_ struct{} `type:"structure"`
108740
108741	// The CIDR block.
108742	Cidr *string `locationName:"poolCidrBlock" type:"string"`
108743}
108744
108745// String returns the string representation
108746func (s PoolCidrBlock) String() string {
108747	return awsutil.Prettify(s)
108748}
108749
108750// GoString returns the string representation
108751func (s PoolCidrBlock) GoString() string {
108752	return s.String()
108753}
108754
108755// SetCidr sets the Cidr field's value.
108756func (s *PoolCidrBlock) SetCidr(v string) *PoolCidrBlock {
108757	s.Cidr = &v
108758	return s
108759}
108760
108761// Describes a range of ports.
108762type PortRange struct {
108763	_ struct{} `type:"structure"`
108764
108765	// The first port in the range.
108766	From *int64 `locationName:"from" type:"integer"`
108767
108768	// The last port in the range.
108769	To *int64 `locationName:"to" type:"integer"`
108770}
108771
108772// String returns the string representation
108773func (s PortRange) String() string {
108774	return awsutil.Prettify(s)
108775}
108776
108777// GoString returns the string representation
108778func (s PortRange) GoString() string {
108779	return s.String()
108780}
108781
108782// SetFrom sets the From field's value.
108783func (s *PortRange) SetFrom(v int64) *PortRange {
108784	s.From = &v
108785	return s
108786}
108787
108788// SetTo sets the To field's value.
108789func (s *PortRange) SetTo(v int64) *PortRange {
108790	s.To = &v
108791	return s
108792}
108793
108794// Describes prefixes for Amazon Web Services services.
108795type PrefixList struct {
108796	_ struct{} `type:"structure"`
108797
108798	// The IP address range of the Amazon Web Service.
108799	Cidrs []*string `locationName:"cidrSet" locationNameList:"item" type:"list"`
108800
108801	// The ID of the prefix.
108802	PrefixListId *string `locationName:"prefixListId" type:"string"`
108803
108804	// The name of the prefix.
108805	PrefixListName *string `locationName:"prefixListName" type:"string"`
108806}
108807
108808// String returns the string representation
108809func (s PrefixList) String() string {
108810	return awsutil.Prettify(s)
108811}
108812
108813// GoString returns the string representation
108814func (s PrefixList) GoString() string {
108815	return s.String()
108816}
108817
108818// SetCidrs sets the Cidrs field's value.
108819func (s *PrefixList) SetCidrs(v []*string) *PrefixList {
108820	s.Cidrs = v
108821	return s
108822}
108823
108824// SetPrefixListId sets the PrefixListId field's value.
108825func (s *PrefixList) SetPrefixListId(v string) *PrefixList {
108826	s.PrefixListId = &v
108827	return s
108828}
108829
108830// SetPrefixListName sets the PrefixListName field's value.
108831func (s *PrefixList) SetPrefixListName(v string) *PrefixList {
108832	s.PrefixListName = &v
108833	return s
108834}
108835
108836// Describes the resource with which a prefix list is associated.
108837type PrefixListAssociation struct {
108838	_ struct{} `type:"structure"`
108839
108840	// The ID of the resource.
108841	ResourceId *string `locationName:"resourceId" type:"string"`
108842
108843	// The owner of the resource.
108844	ResourceOwner *string `locationName:"resourceOwner" type:"string"`
108845}
108846
108847// String returns the string representation
108848func (s PrefixListAssociation) String() string {
108849	return awsutil.Prettify(s)
108850}
108851
108852// GoString returns the string representation
108853func (s PrefixListAssociation) GoString() string {
108854	return s.String()
108855}
108856
108857// SetResourceId sets the ResourceId field's value.
108858func (s *PrefixListAssociation) SetResourceId(v string) *PrefixListAssociation {
108859	s.ResourceId = &v
108860	return s
108861}
108862
108863// SetResourceOwner sets the ResourceOwner field's value.
108864func (s *PrefixListAssociation) SetResourceOwner(v string) *PrefixListAssociation {
108865	s.ResourceOwner = &v
108866	return s
108867}
108868
108869// Describes a prefix list entry.
108870type PrefixListEntry struct {
108871	_ struct{} `type:"structure"`
108872
108873	// The CIDR block.
108874	Cidr *string `locationName:"cidr" type:"string"`
108875
108876	// The description.
108877	Description *string `locationName:"description" type:"string"`
108878}
108879
108880// String returns the string representation
108881func (s PrefixListEntry) String() string {
108882	return awsutil.Prettify(s)
108883}
108884
108885// GoString returns the string representation
108886func (s PrefixListEntry) GoString() string {
108887	return s.String()
108888}
108889
108890// SetCidr sets the Cidr field's value.
108891func (s *PrefixListEntry) SetCidr(v string) *PrefixListEntry {
108892	s.Cidr = &v
108893	return s
108894}
108895
108896// SetDescription sets the Description field's value.
108897func (s *PrefixListEntry) SetDescription(v string) *PrefixListEntry {
108898	s.Description = &v
108899	return s
108900}
108901
108902// Describes a prefix list ID.
108903type PrefixListId struct {
108904	_ struct{} `type:"structure"`
108905
108906	// A description for the security group rule that references this prefix list
108907	// ID.
108908	//
108909	// Constraints: Up to 255 characters in length. Allowed characters are a-z,
108910	// A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
108911	Description *string `locationName:"description" type:"string"`
108912
108913	// The ID of the prefix.
108914	PrefixListId *string `locationName:"prefixListId" type:"string"`
108915}
108916
108917// String returns the string representation
108918func (s PrefixListId) String() string {
108919	return awsutil.Prettify(s)
108920}
108921
108922// GoString returns the string representation
108923func (s PrefixListId) GoString() string {
108924	return s.String()
108925}
108926
108927// SetDescription sets the Description field's value.
108928func (s *PrefixListId) SetDescription(v string) *PrefixListId {
108929	s.Description = &v
108930	return s
108931}
108932
108933// SetPrefixListId sets the PrefixListId field's value.
108934func (s *PrefixListId) SetPrefixListId(v string) *PrefixListId {
108935	s.PrefixListId = &v
108936	return s
108937}
108938
108939// Describes the price for a Reserved Instance.
108940type PriceSchedule struct {
108941	_ struct{} `type:"structure"`
108942
108943	// The current price schedule, as determined by the term remaining for the Reserved
108944	// Instance in the listing.
108945	//
108946	// A specific price schedule is always in effect, but only one price schedule
108947	// can be active at any time. Take, for example, a Reserved Instance listing
108948	// that has five months remaining in its term. When you specify price schedules
108949	// for five months and two months, this means that schedule 1, covering the
108950	// first three months of the remaining term, will be active during months 5,
108951	// 4, and 3. Then schedule 2, covering the last two months of the term, will
108952	// be active for months 2 and 1.
108953	Active *bool `locationName:"active" type:"boolean"`
108954
108955	// The currency for transacting the Reserved Instance resale. At this time,
108956	// the only supported currency is USD.
108957	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
108958
108959	// The fixed price for the term.
108960	Price *float64 `locationName:"price" type:"double"`
108961
108962	// The number of months remaining in the reservation. For example, 2 is the
108963	// second to the last month before the capacity reservation expires.
108964	Term *int64 `locationName:"term" type:"long"`
108965}
108966
108967// String returns the string representation
108968func (s PriceSchedule) String() string {
108969	return awsutil.Prettify(s)
108970}
108971
108972// GoString returns the string representation
108973func (s PriceSchedule) GoString() string {
108974	return s.String()
108975}
108976
108977// SetActive sets the Active field's value.
108978func (s *PriceSchedule) SetActive(v bool) *PriceSchedule {
108979	s.Active = &v
108980	return s
108981}
108982
108983// SetCurrencyCode sets the CurrencyCode field's value.
108984func (s *PriceSchedule) SetCurrencyCode(v string) *PriceSchedule {
108985	s.CurrencyCode = &v
108986	return s
108987}
108988
108989// SetPrice sets the Price field's value.
108990func (s *PriceSchedule) SetPrice(v float64) *PriceSchedule {
108991	s.Price = &v
108992	return s
108993}
108994
108995// SetTerm sets the Term field's value.
108996func (s *PriceSchedule) SetTerm(v int64) *PriceSchedule {
108997	s.Term = &v
108998	return s
108999}
109000
109001// Describes the price for a Reserved Instance.
109002type PriceScheduleSpecification struct {
109003	_ struct{} `type:"structure"`
109004
109005	// The currency for transacting the Reserved Instance resale. At this time,
109006	// the only supported currency is USD.
109007	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
109008
109009	// The fixed price for the term.
109010	Price *float64 `locationName:"price" type:"double"`
109011
109012	// The number of months remaining in the reservation. For example, 2 is the
109013	// second to the last month before the capacity reservation expires.
109014	Term *int64 `locationName:"term" type:"long"`
109015}
109016
109017// String returns the string representation
109018func (s PriceScheduleSpecification) String() string {
109019	return awsutil.Prettify(s)
109020}
109021
109022// GoString returns the string representation
109023func (s PriceScheduleSpecification) GoString() string {
109024	return s.String()
109025}
109026
109027// SetCurrencyCode sets the CurrencyCode field's value.
109028func (s *PriceScheduleSpecification) SetCurrencyCode(v string) *PriceScheduleSpecification {
109029	s.CurrencyCode = &v
109030	return s
109031}
109032
109033// SetPrice sets the Price field's value.
109034func (s *PriceScheduleSpecification) SetPrice(v float64) *PriceScheduleSpecification {
109035	s.Price = &v
109036	return s
109037}
109038
109039// SetTerm sets the Term field's value.
109040func (s *PriceScheduleSpecification) SetTerm(v int64) *PriceScheduleSpecification {
109041	s.Term = &v
109042	return s
109043}
109044
109045// Describes a Reserved Instance offering.
109046type PricingDetail struct {
109047	_ struct{} `type:"structure"`
109048
109049	// The number of reservations available for the price.
109050	Count *int64 `locationName:"count" type:"integer"`
109051
109052	// The price per instance.
109053	Price *float64 `locationName:"price" type:"double"`
109054}
109055
109056// String returns the string representation
109057func (s PricingDetail) String() string {
109058	return awsutil.Prettify(s)
109059}
109060
109061// GoString returns the string representation
109062func (s PricingDetail) GoString() string {
109063	return s.String()
109064}
109065
109066// SetCount sets the Count field's value.
109067func (s *PricingDetail) SetCount(v int64) *PricingDetail {
109068	s.Count = &v
109069	return s
109070}
109071
109072// SetPrice sets the Price field's value.
109073func (s *PricingDetail) SetPrice(v float64) *PricingDetail {
109074	s.Price = &v
109075	return s
109076}
109077
109078// PrincipalIdFormat description
109079type PrincipalIdFormat struct {
109080	_ struct{} `type:"structure"`
109081
109082	// PrincipalIdFormatARN description
109083	Arn *string `locationName:"arn" type:"string"`
109084
109085	// PrincipalIdFormatStatuses description
109086	Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
109087}
109088
109089// String returns the string representation
109090func (s PrincipalIdFormat) String() string {
109091	return awsutil.Prettify(s)
109092}
109093
109094// GoString returns the string representation
109095func (s PrincipalIdFormat) GoString() string {
109096	return s.String()
109097}
109098
109099// SetArn sets the Arn field's value.
109100func (s *PrincipalIdFormat) SetArn(v string) *PrincipalIdFormat {
109101	s.Arn = &v
109102	return s
109103}
109104
109105// SetStatuses sets the Statuses field's value.
109106func (s *PrincipalIdFormat) SetStatuses(v []*IdFormat) *PrincipalIdFormat {
109107	s.Statuses = v
109108	return s
109109}
109110
109111// Information about the Private DNS name for interface endpoints.
109112type PrivateDnsDetails struct {
109113	_ struct{} `type:"structure"`
109114
109115	// The private DNS name assigned to the VPC endpoint service.
109116	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
109117}
109118
109119// String returns the string representation
109120func (s PrivateDnsDetails) String() string {
109121	return awsutil.Prettify(s)
109122}
109123
109124// GoString returns the string representation
109125func (s PrivateDnsDetails) GoString() string {
109126	return s.String()
109127}
109128
109129// SetPrivateDnsName sets the PrivateDnsName field's value.
109130func (s *PrivateDnsDetails) SetPrivateDnsName(v string) *PrivateDnsDetails {
109131	s.PrivateDnsName = &v
109132	return s
109133}
109134
109135// Information about the private DNS name for the service endpoint. For more
109136// information about these parameters, see VPC Endpoint Service Private DNS
109137// Name Verification (https://docs.aws.amazon.com/vpc/latest/userguide/ndpoint-services-dns-validation.html)
109138// in the Amazon Virtual Private Cloud User Guide.
109139type PrivateDnsNameConfiguration struct {
109140	_ struct{} `type:"structure"`
109141
109142	// The name of the record subdomain the service provider needs to create. The
109143	// service provider adds the value text to the name.
109144	Name *string `locationName:"name" type:"string"`
109145
109146	// The verification state of the VPC endpoint service.
109147	//
109148	// >Consumers of the endpoint service can use the private name only when the
109149	// state is verified.
109150	State *string `locationName:"state" type:"string" enum:"DnsNameState"`
109151
109152	// The endpoint service verification type, for example TXT.
109153	Type *string `locationName:"type" type:"string"`
109154
109155	// The value the service provider adds to the private DNS name domain record
109156	// before verification.
109157	Value *string `locationName:"value" type:"string"`
109158}
109159
109160// String returns the string representation
109161func (s PrivateDnsNameConfiguration) String() string {
109162	return awsutil.Prettify(s)
109163}
109164
109165// GoString returns the string representation
109166func (s PrivateDnsNameConfiguration) GoString() string {
109167	return s.String()
109168}
109169
109170// SetName sets the Name field's value.
109171func (s *PrivateDnsNameConfiguration) SetName(v string) *PrivateDnsNameConfiguration {
109172	s.Name = &v
109173	return s
109174}
109175
109176// SetState sets the State field's value.
109177func (s *PrivateDnsNameConfiguration) SetState(v string) *PrivateDnsNameConfiguration {
109178	s.State = &v
109179	return s
109180}
109181
109182// SetType sets the Type field's value.
109183func (s *PrivateDnsNameConfiguration) SetType(v string) *PrivateDnsNameConfiguration {
109184	s.Type = &v
109185	return s
109186}
109187
109188// SetValue sets the Value field's value.
109189func (s *PrivateDnsNameConfiguration) SetValue(v string) *PrivateDnsNameConfiguration {
109190	s.Value = &v
109191	return s
109192}
109193
109194// Describes a secondary private IPv4 address for a network interface.
109195type PrivateIpAddressSpecification struct {
109196	_ struct{} `type:"structure"`
109197
109198	// Indicates whether the private IPv4 address is the primary private IPv4 address.
109199	// Only one IPv4 address can be designated as primary.
109200	Primary *bool `locationName:"primary" type:"boolean"`
109201
109202	// The private IPv4 addresses.
109203	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
109204}
109205
109206// String returns the string representation
109207func (s PrivateIpAddressSpecification) String() string {
109208	return awsutil.Prettify(s)
109209}
109210
109211// GoString returns the string representation
109212func (s PrivateIpAddressSpecification) GoString() string {
109213	return s.String()
109214}
109215
109216// SetPrimary sets the Primary field's value.
109217func (s *PrivateIpAddressSpecification) SetPrimary(v bool) *PrivateIpAddressSpecification {
109218	s.Primary = &v
109219	return s
109220}
109221
109222// SetPrivateIpAddress sets the PrivateIpAddress field's value.
109223func (s *PrivateIpAddressSpecification) SetPrivateIpAddress(v string) *PrivateIpAddressSpecification {
109224	s.PrivateIpAddress = &v
109225	return s
109226}
109227
109228// Describes the processor used by the instance type.
109229type ProcessorInfo struct {
109230	_ struct{} `type:"structure"`
109231
109232	// The architectures supported by the instance type.
109233	SupportedArchitectures []*string `locationName:"supportedArchitectures" locationNameList:"item" type:"list"`
109234
109235	// The speed of the processor, in GHz.
109236	SustainedClockSpeedInGhz *float64 `locationName:"sustainedClockSpeedInGhz" type:"double"`
109237}
109238
109239// String returns the string representation
109240func (s ProcessorInfo) String() string {
109241	return awsutil.Prettify(s)
109242}
109243
109244// GoString returns the string representation
109245func (s ProcessorInfo) GoString() string {
109246	return s.String()
109247}
109248
109249// SetSupportedArchitectures sets the SupportedArchitectures field's value.
109250func (s *ProcessorInfo) SetSupportedArchitectures(v []*string) *ProcessorInfo {
109251	s.SupportedArchitectures = v
109252	return s
109253}
109254
109255// SetSustainedClockSpeedInGhz sets the SustainedClockSpeedInGhz field's value.
109256func (s *ProcessorInfo) SetSustainedClockSpeedInGhz(v float64) *ProcessorInfo {
109257	s.SustainedClockSpeedInGhz = &v
109258	return s
109259}
109260
109261// Describes a product code.
109262type ProductCode struct {
109263	_ struct{} `type:"structure"`
109264
109265	// The product code.
109266	ProductCodeId *string `locationName:"productCode" type:"string"`
109267
109268	// The type of product code.
109269	ProductCodeType *string `locationName:"type" type:"string" enum:"ProductCodeValues"`
109270}
109271
109272// String returns the string representation
109273func (s ProductCode) String() string {
109274	return awsutil.Prettify(s)
109275}
109276
109277// GoString returns the string representation
109278func (s ProductCode) GoString() string {
109279	return s.String()
109280}
109281
109282// SetProductCodeId sets the ProductCodeId field's value.
109283func (s *ProductCode) SetProductCodeId(v string) *ProductCode {
109284	s.ProductCodeId = &v
109285	return s
109286}
109287
109288// SetProductCodeType sets the ProductCodeType field's value.
109289func (s *ProductCode) SetProductCodeType(v string) *ProductCode {
109290	s.ProductCodeType = &v
109291	return s
109292}
109293
109294// Describes a virtual private gateway propagating route.
109295type PropagatingVgw struct {
109296	_ struct{} `type:"structure"`
109297
109298	// The ID of the virtual private gateway.
109299	GatewayId *string `locationName:"gatewayId" type:"string"`
109300}
109301
109302// String returns the string representation
109303func (s PropagatingVgw) String() string {
109304	return awsutil.Prettify(s)
109305}
109306
109307// GoString returns the string representation
109308func (s PropagatingVgw) GoString() string {
109309	return s.String()
109310}
109311
109312// SetGatewayId sets the GatewayId field's value.
109313func (s *PropagatingVgw) SetGatewayId(v string) *PropagatingVgw {
109314	s.GatewayId = &v
109315	return s
109316}
109317
109318type ProvisionByoipCidrInput struct {
109319	_ struct{} `type:"structure"`
109320
109321	// The public IPv4 or IPv6 address range, in CIDR notation. The most specific
109322	// IPv4 prefix that you can specify is /24. The most specific IPv6 prefix you
109323	// can specify is /56. The address range cannot overlap with another address
109324	// range that you've brought to this or another Region.
109325	//
109326	// Cidr is a required field
109327	Cidr *string `type:"string" required:"true"`
109328
109329	// A signed document that proves that you are authorized to bring the specified
109330	// IP address range to Amazon using BYOIP.
109331	CidrAuthorizationContext *CidrAuthorizationContext `type:"structure"`
109332
109333	// A description for the address range and the address pool.
109334	Description *string `type:"string"`
109335
109336	// Checks whether you have the required permissions for the action, without
109337	// actually making the request, and provides an error response. If you have
109338	// the required permissions, the error response is DryRunOperation. Otherwise,
109339	// it is UnauthorizedOperation.
109340	DryRun *bool `type:"boolean"`
109341
109342	// Reserved.
109343	MultiRegion *bool `type:"boolean"`
109344
109345	// The tags to apply to the address pool.
109346	PoolTagSpecifications []*TagSpecification `locationName:"PoolTagSpecification" locationNameList:"item" type:"list"`
109347
109348	// (IPv6 only) Indicate whether the address range will be publicly advertised
109349	// to the internet.
109350	//
109351	// Default: true
109352	PubliclyAdvertisable *bool `type:"boolean"`
109353}
109354
109355// String returns the string representation
109356func (s ProvisionByoipCidrInput) String() string {
109357	return awsutil.Prettify(s)
109358}
109359
109360// GoString returns the string representation
109361func (s ProvisionByoipCidrInput) GoString() string {
109362	return s.String()
109363}
109364
109365// Validate inspects the fields of the type to determine if they are valid.
109366func (s *ProvisionByoipCidrInput) Validate() error {
109367	invalidParams := request.ErrInvalidParams{Context: "ProvisionByoipCidrInput"}
109368	if s.Cidr == nil {
109369		invalidParams.Add(request.NewErrParamRequired("Cidr"))
109370	}
109371	if s.CidrAuthorizationContext != nil {
109372		if err := s.CidrAuthorizationContext.Validate(); err != nil {
109373			invalidParams.AddNested("CidrAuthorizationContext", err.(request.ErrInvalidParams))
109374		}
109375	}
109376
109377	if invalidParams.Len() > 0 {
109378		return invalidParams
109379	}
109380	return nil
109381}
109382
109383// SetCidr sets the Cidr field's value.
109384func (s *ProvisionByoipCidrInput) SetCidr(v string) *ProvisionByoipCidrInput {
109385	s.Cidr = &v
109386	return s
109387}
109388
109389// SetCidrAuthorizationContext sets the CidrAuthorizationContext field's value.
109390func (s *ProvisionByoipCidrInput) SetCidrAuthorizationContext(v *CidrAuthorizationContext) *ProvisionByoipCidrInput {
109391	s.CidrAuthorizationContext = v
109392	return s
109393}
109394
109395// SetDescription sets the Description field's value.
109396func (s *ProvisionByoipCidrInput) SetDescription(v string) *ProvisionByoipCidrInput {
109397	s.Description = &v
109398	return s
109399}
109400
109401// SetDryRun sets the DryRun field's value.
109402func (s *ProvisionByoipCidrInput) SetDryRun(v bool) *ProvisionByoipCidrInput {
109403	s.DryRun = &v
109404	return s
109405}
109406
109407// SetMultiRegion sets the MultiRegion field's value.
109408func (s *ProvisionByoipCidrInput) SetMultiRegion(v bool) *ProvisionByoipCidrInput {
109409	s.MultiRegion = &v
109410	return s
109411}
109412
109413// SetPoolTagSpecifications sets the PoolTagSpecifications field's value.
109414func (s *ProvisionByoipCidrInput) SetPoolTagSpecifications(v []*TagSpecification) *ProvisionByoipCidrInput {
109415	s.PoolTagSpecifications = v
109416	return s
109417}
109418
109419// SetPubliclyAdvertisable sets the PubliclyAdvertisable field's value.
109420func (s *ProvisionByoipCidrInput) SetPubliclyAdvertisable(v bool) *ProvisionByoipCidrInput {
109421	s.PubliclyAdvertisable = &v
109422	return s
109423}
109424
109425type ProvisionByoipCidrOutput struct {
109426	_ struct{} `type:"structure"`
109427
109428	// Information about the address range.
109429	ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
109430}
109431
109432// String returns the string representation
109433func (s ProvisionByoipCidrOutput) String() string {
109434	return awsutil.Prettify(s)
109435}
109436
109437// GoString returns the string representation
109438func (s ProvisionByoipCidrOutput) GoString() string {
109439	return s.String()
109440}
109441
109442// SetByoipCidr sets the ByoipCidr field's value.
109443func (s *ProvisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *ProvisionByoipCidrOutput {
109444	s.ByoipCidr = v
109445	return s
109446}
109447
109448// Reserved. If you need to sustain traffic greater than the documented limits
109449// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
109450// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
109451type ProvisionedBandwidth struct {
109452	_ struct{} `type:"structure"`
109453
109454	// Reserved. If you need to sustain traffic greater than the documented limits
109455	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
109456	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
109457	ProvisionTime *time.Time `locationName:"provisionTime" type:"timestamp"`
109458
109459	// Reserved. If you need to sustain traffic greater than the documented limits
109460	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
109461	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
109462	Provisioned *string `locationName:"provisioned" type:"string"`
109463
109464	// Reserved. If you need to sustain traffic greater than the documented limits
109465	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
109466	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
109467	RequestTime *time.Time `locationName:"requestTime" type:"timestamp"`
109468
109469	// Reserved. If you need to sustain traffic greater than the documented limits
109470	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
109471	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
109472	Requested *string `locationName:"requested" type:"string"`
109473
109474	// Reserved. If you need to sustain traffic greater than the documented limits
109475	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
109476	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
109477	Status *string `locationName:"status" type:"string"`
109478}
109479
109480// String returns the string representation
109481func (s ProvisionedBandwidth) String() string {
109482	return awsutil.Prettify(s)
109483}
109484
109485// GoString returns the string representation
109486func (s ProvisionedBandwidth) GoString() string {
109487	return s.String()
109488}
109489
109490// SetProvisionTime sets the ProvisionTime field's value.
109491func (s *ProvisionedBandwidth) SetProvisionTime(v time.Time) *ProvisionedBandwidth {
109492	s.ProvisionTime = &v
109493	return s
109494}
109495
109496// SetProvisioned sets the Provisioned field's value.
109497func (s *ProvisionedBandwidth) SetProvisioned(v string) *ProvisionedBandwidth {
109498	s.Provisioned = &v
109499	return s
109500}
109501
109502// SetRequestTime sets the RequestTime field's value.
109503func (s *ProvisionedBandwidth) SetRequestTime(v time.Time) *ProvisionedBandwidth {
109504	s.RequestTime = &v
109505	return s
109506}
109507
109508// SetRequested sets the Requested field's value.
109509func (s *ProvisionedBandwidth) SetRequested(v string) *ProvisionedBandwidth {
109510	s.Requested = &v
109511	return s
109512}
109513
109514// SetStatus sets the Status field's value.
109515func (s *ProvisionedBandwidth) SetStatus(v string) *ProvisionedBandwidth {
109516	s.Status = &v
109517	return s
109518}
109519
109520// The status of an updated pointer (PTR) record for an Elastic IP address.
109521type PtrUpdateStatus struct {
109522	_ struct{} `type:"structure"`
109523
109524	// The reason for the PTR record update.
109525	Reason *string `locationName:"reason" type:"string"`
109526
109527	// The status of the PTR record update.
109528	Status *string `locationName:"status" type:"string"`
109529
109530	// The value for the PTR record update.
109531	Value *string `locationName:"value" type:"string"`
109532}
109533
109534// String returns the string representation
109535func (s PtrUpdateStatus) String() string {
109536	return awsutil.Prettify(s)
109537}
109538
109539// GoString returns the string representation
109540func (s PtrUpdateStatus) GoString() string {
109541	return s.String()
109542}
109543
109544// SetReason sets the Reason field's value.
109545func (s *PtrUpdateStatus) SetReason(v string) *PtrUpdateStatus {
109546	s.Reason = &v
109547	return s
109548}
109549
109550// SetStatus sets the Status field's value.
109551func (s *PtrUpdateStatus) SetStatus(v string) *PtrUpdateStatus {
109552	s.Status = &v
109553	return s
109554}
109555
109556// SetValue sets the Value field's value.
109557func (s *PtrUpdateStatus) SetValue(v string) *PtrUpdateStatus {
109558	s.Value = &v
109559	return s
109560}
109561
109562// Describes an IPv4 address pool.
109563type PublicIpv4Pool struct {
109564	_ struct{} `type:"structure"`
109565
109566	// A description of the address pool.
109567	Description *string `locationName:"description" type:"string"`
109568
109569	// The name of the location from which the address pool is advertised. A network
109570	// border group is a unique set of Availability Zones or Local Zones from where
109571	// Amazon Web Services advertises public IP addresses.
109572	NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
109573
109574	// The address ranges.
109575	PoolAddressRanges []*PublicIpv4PoolRange `locationName:"poolAddressRangeSet" locationNameList:"item" type:"list"`
109576
109577	// The ID of the address pool.
109578	PoolId *string `locationName:"poolId" type:"string"`
109579
109580	// Any tags for the address pool.
109581	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
109582
109583	// The total number of addresses.
109584	TotalAddressCount *int64 `locationName:"totalAddressCount" type:"integer"`
109585
109586	// The total number of available addresses.
109587	TotalAvailableAddressCount *int64 `locationName:"totalAvailableAddressCount" type:"integer"`
109588}
109589
109590// String returns the string representation
109591func (s PublicIpv4Pool) String() string {
109592	return awsutil.Prettify(s)
109593}
109594
109595// GoString returns the string representation
109596func (s PublicIpv4Pool) GoString() string {
109597	return s.String()
109598}
109599
109600// SetDescription sets the Description field's value.
109601func (s *PublicIpv4Pool) SetDescription(v string) *PublicIpv4Pool {
109602	s.Description = &v
109603	return s
109604}
109605
109606// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
109607func (s *PublicIpv4Pool) SetNetworkBorderGroup(v string) *PublicIpv4Pool {
109608	s.NetworkBorderGroup = &v
109609	return s
109610}
109611
109612// SetPoolAddressRanges sets the PoolAddressRanges field's value.
109613func (s *PublicIpv4Pool) SetPoolAddressRanges(v []*PublicIpv4PoolRange) *PublicIpv4Pool {
109614	s.PoolAddressRanges = v
109615	return s
109616}
109617
109618// SetPoolId sets the PoolId field's value.
109619func (s *PublicIpv4Pool) SetPoolId(v string) *PublicIpv4Pool {
109620	s.PoolId = &v
109621	return s
109622}
109623
109624// SetTags sets the Tags field's value.
109625func (s *PublicIpv4Pool) SetTags(v []*Tag) *PublicIpv4Pool {
109626	s.Tags = v
109627	return s
109628}
109629
109630// SetTotalAddressCount sets the TotalAddressCount field's value.
109631func (s *PublicIpv4Pool) SetTotalAddressCount(v int64) *PublicIpv4Pool {
109632	s.TotalAddressCount = &v
109633	return s
109634}
109635
109636// SetTotalAvailableAddressCount sets the TotalAvailableAddressCount field's value.
109637func (s *PublicIpv4Pool) SetTotalAvailableAddressCount(v int64) *PublicIpv4Pool {
109638	s.TotalAvailableAddressCount = &v
109639	return s
109640}
109641
109642// Describes an address range of an IPv4 address pool.
109643type PublicIpv4PoolRange struct {
109644	_ struct{} `type:"structure"`
109645
109646	// The number of addresses in the range.
109647	AddressCount *int64 `locationName:"addressCount" type:"integer"`
109648
109649	// The number of available addresses in the range.
109650	AvailableAddressCount *int64 `locationName:"availableAddressCount" type:"integer"`
109651
109652	// The first IP address in the range.
109653	FirstAddress *string `locationName:"firstAddress" type:"string"`
109654
109655	// The last IP address in the range.
109656	LastAddress *string `locationName:"lastAddress" type:"string"`
109657}
109658
109659// String returns the string representation
109660func (s PublicIpv4PoolRange) String() string {
109661	return awsutil.Prettify(s)
109662}
109663
109664// GoString returns the string representation
109665func (s PublicIpv4PoolRange) GoString() string {
109666	return s.String()
109667}
109668
109669// SetAddressCount sets the AddressCount field's value.
109670func (s *PublicIpv4PoolRange) SetAddressCount(v int64) *PublicIpv4PoolRange {
109671	s.AddressCount = &v
109672	return s
109673}
109674
109675// SetAvailableAddressCount sets the AvailableAddressCount field's value.
109676func (s *PublicIpv4PoolRange) SetAvailableAddressCount(v int64) *PublicIpv4PoolRange {
109677	s.AvailableAddressCount = &v
109678	return s
109679}
109680
109681// SetFirstAddress sets the FirstAddress field's value.
109682func (s *PublicIpv4PoolRange) SetFirstAddress(v string) *PublicIpv4PoolRange {
109683	s.FirstAddress = &v
109684	return s
109685}
109686
109687// SetLastAddress sets the LastAddress field's value.
109688func (s *PublicIpv4PoolRange) SetLastAddress(v string) *PublicIpv4PoolRange {
109689	s.LastAddress = &v
109690	return s
109691}
109692
109693// Describes the result of the purchase.
109694type Purchase struct {
109695	_ struct{} `type:"structure"`
109696
109697	// The currency in which the UpfrontPrice and HourlyPrice amounts are specified.
109698	// At this time, the only supported currency is USD.
109699	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
109700
109701	// The duration of the reservation's term in seconds.
109702	Duration *int64 `locationName:"duration" type:"integer"`
109703
109704	// The IDs of the Dedicated Hosts associated with the reservation.
109705	HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
109706
109707	// The ID of the reservation.
109708	HostReservationId *string `locationName:"hostReservationId" type:"string"`
109709
109710	// The hourly price of the reservation per hour.
109711	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
109712
109713	// The instance family on the Dedicated Host that the reservation can be associated
109714	// with.
109715	InstanceFamily *string `locationName:"instanceFamily" type:"string"`
109716
109717	// The payment option for the reservation.
109718	PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
109719
109720	// The upfront price of the reservation.
109721	UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
109722}
109723
109724// String returns the string representation
109725func (s Purchase) String() string {
109726	return awsutil.Prettify(s)
109727}
109728
109729// GoString returns the string representation
109730func (s Purchase) GoString() string {
109731	return s.String()
109732}
109733
109734// SetCurrencyCode sets the CurrencyCode field's value.
109735func (s *Purchase) SetCurrencyCode(v string) *Purchase {
109736	s.CurrencyCode = &v
109737	return s
109738}
109739
109740// SetDuration sets the Duration field's value.
109741func (s *Purchase) SetDuration(v int64) *Purchase {
109742	s.Duration = &v
109743	return s
109744}
109745
109746// SetHostIdSet sets the HostIdSet field's value.
109747func (s *Purchase) SetHostIdSet(v []*string) *Purchase {
109748	s.HostIdSet = v
109749	return s
109750}
109751
109752// SetHostReservationId sets the HostReservationId field's value.
109753func (s *Purchase) SetHostReservationId(v string) *Purchase {
109754	s.HostReservationId = &v
109755	return s
109756}
109757
109758// SetHourlyPrice sets the HourlyPrice field's value.
109759func (s *Purchase) SetHourlyPrice(v string) *Purchase {
109760	s.HourlyPrice = &v
109761	return s
109762}
109763
109764// SetInstanceFamily sets the InstanceFamily field's value.
109765func (s *Purchase) SetInstanceFamily(v string) *Purchase {
109766	s.InstanceFamily = &v
109767	return s
109768}
109769
109770// SetPaymentOption sets the PaymentOption field's value.
109771func (s *Purchase) SetPaymentOption(v string) *Purchase {
109772	s.PaymentOption = &v
109773	return s
109774}
109775
109776// SetUpfrontPrice sets the UpfrontPrice field's value.
109777func (s *Purchase) SetUpfrontPrice(v string) *Purchase {
109778	s.UpfrontPrice = &v
109779	return s
109780}
109781
109782type PurchaseHostReservationInput struct {
109783	_ struct{} `type:"structure"`
109784
109785	// Unique, case-sensitive identifier that you provide to ensure the idempotency
109786	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
109787	ClientToken *string `type:"string"`
109788
109789	// The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice
109790	// amounts are specified. At this time, the only supported currency is USD.
109791	CurrencyCode *string `type:"string" enum:"CurrencyCodeValues"`
109792
109793	// The IDs of the Dedicated Hosts with which the reservation will be associated.
109794	//
109795	// HostIdSet is a required field
109796	HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
109797
109798	// The specified limit is checked against the total upfront cost of the reservation
109799	// (calculated as the offering's upfront cost multiplied by the host count).
109800	// If the total upfront cost is greater than the specified price limit, the
109801	// request fails. This is used to ensure that the purchase does not exceed the
109802	// expected upfront cost of the purchase. At this time, the only supported currency
109803	// is USD. For example, to indicate a limit price of USD 100, specify 100.00.
109804	LimitPrice *string `type:"string"`
109805
109806	// The ID of the offering.
109807	//
109808	// OfferingId is a required field
109809	OfferingId *string `type:"string" required:"true"`
109810
109811	// The tags to apply to the Dedicated Host Reservation during purchase.
109812	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
109813}
109814
109815// String returns the string representation
109816func (s PurchaseHostReservationInput) String() string {
109817	return awsutil.Prettify(s)
109818}
109819
109820// GoString returns the string representation
109821func (s PurchaseHostReservationInput) GoString() string {
109822	return s.String()
109823}
109824
109825// Validate inspects the fields of the type to determine if they are valid.
109826func (s *PurchaseHostReservationInput) Validate() error {
109827	invalidParams := request.ErrInvalidParams{Context: "PurchaseHostReservationInput"}
109828	if s.HostIdSet == nil {
109829		invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
109830	}
109831	if s.OfferingId == nil {
109832		invalidParams.Add(request.NewErrParamRequired("OfferingId"))
109833	}
109834
109835	if invalidParams.Len() > 0 {
109836		return invalidParams
109837	}
109838	return nil
109839}
109840
109841// SetClientToken sets the ClientToken field's value.
109842func (s *PurchaseHostReservationInput) SetClientToken(v string) *PurchaseHostReservationInput {
109843	s.ClientToken = &v
109844	return s
109845}
109846
109847// SetCurrencyCode sets the CurrencyCode field's value.
109848func (s *PurchaseHostReservationInput) SetCurrencyCode(v string) *PurchaseHostReservationInput {
109849	s.CurrencyCode = &v
109850	return s
109851}
109852
109853// SetHostIdSet sets the HostIdSet field's value.
109854func (s *PurchaseHostReservationInput) SetHostIdSet(v []*string) *PurchaseHostReservationInput {
109855	s.HostIdSet = v
109856	return s
109857}
109858
109859// SetLimitPrice sets the LimitPrice field's value.
109860func (s *PurchaseHostReservationInput) SetLimitPrice(v string) *PurchaseHostReservationInput {
109861	s.LimitPrice = &v
109862	return s
109863}
109864
109865// SetOfferingId sets the OfferingId field's value.
109866func (s *PurchaseHostReservationInput) SetOfferingId(v string) *PurchaseHostReservationInput {
109867	s.OfferingId = &v
109868	return s
109869}
109870
109871// SetTagSpecifications sets the TagSpecifications field's value.
109872func (s *PurchaseHostReservationInput) SetTagSpecifications(v []*TagSpecification) *PurchaseHostReservationInput {
109873	s.TagSpecifications = v
109874	return s
109875}
109876
109877type PurchaseHostReservationOutput struct {
109878	_ struct{} `type:"structure"`
109879
109880	// Unique, case-sensitive identifier that you provide to ensure the idempotency
109881	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
109882	ClientToken *string `locationName:"clientToken" type:"string"`
109883
109884	// The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
109885	// are specified. At this time, the only supported currency is USD.
109886	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
109887
109888	// Describes the details of the purchase.
109889	Purchase []*Purchase `locationName:"purchase" locationNameList:"item" type:"list"`
109890
109891	// The total hourly price of the reservation calculated per hour.
109892	TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
109893
109894	// The total amount charged to your account when you purchase the reservation.
109895	TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
109896}
109897
109898// String returns the string representation
109899func (s PurchaseHostReservationOutput) String() string {
109900	return awsutil.Prettify(s)
109901}
109902
109903// GoString returns the string representation
109904func (s PurchaseHostReservationOutput) GoString() string {
109905	return s.String()
109906}
109907
109908// SetClientToken sets the ClientToken field's value.
109909func (s *PurchaseHostReservationOutput) SetClientToken(v string) *PurchaseHostReservationOutput {
109910	s.ClientToken = &v
109911	return s
109912}
109913
109914// SetCurrencyCode sets the CurrencyCode field's value.
109915func (s *PurchaseHostReservationOutput) SetCurrencyCode(v string) *PurchaseHostReservationOutput {
109916	s.CurrencyCode = &v
109917	return s
109918}
109919
109920// SetPurchase sets the Purchase field's value.
109921func (s *PurchaseHostReservationOutput) SetPurchase(v []*Purchase) *PurchaseHostReservationOutput {
109922	s.Purchase = v
109923	return s
109924}
109925
109926// SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
109927func (s *PurchaseHostReservationOutput) SetTotalHourlyPrice(v string) *PurchaseHostReservationOutput {
109928	s.TotalHourlyPrice = &v
109929	return s
109930}
109931
109932// SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
109933func (s *PurchaseHostReservationOutput) SetTotalUpfrontPrice(v string) *PurchaseHostReservationOutput {
109934	s.TotalUpfrontPrice = &v
109935	return s
109936}
109937
109938// Describes a request to purchase Scheduled Instances.
109939type PurchaseRequest struct {
109940	_ struct{} `type:"structure"`
109941
109942	// The number of instances.
109943	//
109944	// InstanceCount is a required field
109945	InstanceCount *int64 `type:"integer" required:"true"`
109946
109947	// The purchase token.
109948	//
109949	// PurchaseToken is a required field
109950	PurchaseToken *string `type:"string" required:"true"`
109951}
109952
109953// String returns the string representation
109954func (s PurchaseRequest) String() string {
109955	return awsutil.Prettify(s)
109956}
109957
109958// GoString returns the string representation
109959func (s PurchaseRequest) GoString() string {
109960	return s.String()
109961}
109962
109963// Validate inspects the fields of the type to determine if they are valid.
109964func (s *PurchaseRequest) Validate() error {
109965	invalidParams := request.ErrInvalidParams{Context: "PurchaseRequest"}
109966	if s.InstanceCount == nil {
109967		invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
109968	}
109969	if s.PurchaseToken == nil {
109970		invalidParams.Add(request.NewErrParamRequired("PurchaseToken"))
109971	}
109972
109973	if invalidParams.Len() > 0 {
109974		return invalidParams
109975	}
109976	return nil
109977}
109978
109979// SetInstanceCount sets the InstanceCount field's value.
109980func (s *PurchaseRequest) SetInstanceCount(v int64) *PurchaseRequest {
109981	s.InstanceCount = &v
109982	return s
109983}
109984
109985// SetPurchaseToken sets the PurchaseToken field's value.
109986func (s *PurchaseRequest) SetPurchaseToken(v string) *PurchaseRequest {
109987	s.PurchaseToken = &v
109988	return s
109989}
109990
109991// Contains the parameters for PurchaseReservedInstancesOffering.
109992type PurchaseReservedInstancesOfferingInput struct {
109993	_ struct{} `type:"structure"`
109994
109995	// Checks whether you have the required permissions for the action, without
109996	// actually making the request, and provides an error response. If you have
109997	// the required permissions, the error response is DryRunOperation. Otherwise,
109998	// it is UnauthorizedOperation.
109999	DryRun *bool `locationName:"dryRun" type:"boolean"`
110000
110001	// The number of Reserved Instances to purchase.
110002	//
110003	// InstanceCount is a required field
110004	InstanceCount *int64 `type:"integer" required:"true"`
110005
110006	// Specified for Reserved Instance Marketplace offerings to limit the total
110007	// order and ensure that the Reserved Instances are not purchased at unexpected
110008	// prices.
110009	LimitPrice *ReservedInstanceLimitPrice `locationName:"limitPrice" type:"structure"`
110010
110011	// The time at which to purchase the Reserved Instance, in UTC format (for example,
110012	// YYYY-MM-DDTHH:MM:SSZ).
110013	PurchaseTime *time.Time `type:"timestamp"`
110014
110015	// The ID of the Reserved Instance offering to purchase.
110016	//
110017	// ReservedInstancesOfferingId is a required field
110018	ReservedInstancesOfferingId *string `type:"string" required:"true"`
110019}
110020
110021// String returns the string representation
110022func (s PurchaseReservedInstancesOfferingInput) String() string {
110023	return awsutil.Prettify(s)
110024}
110025
110026// GoString returns the string representation
110027func (s PurchaseReservedInstancesOfferingInput) GoString() string {
110028	return s.String()
110029}
110030
110031// Validate inspects the fields of the type to determine if they are valid.
110032func (s *PurchaseReservedInstancesOfferingInput) Validate() error {
110033	invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedInstancesOfferingInput"}
110034	if s.InstanceCount == nil {
110035		invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
110036	}
110037	if s.ReservedInstancesOfferingId == nil {
110038		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesOfferingId"))
110039	}
110040
110041	if invalidParams.Len() > 0 {
110042		return invalidParams
110043	}
110044	return nil
110045}
110046
110047// SetDryRun sets the DryRun field's value.
110048func (s *PurchaseReservedInstancesOfferingInput) SetDryRun(v bool) *PurchaseReservedInstancesOfferingInput {
110049	s.DryRun = &v
110050	return s
110051}
110052
110053// SetInstanceCount sets the InstanceCount field's value.
110054func (s *PurchaseReservedInstancesOfferingInput) SetInstanceCount(v int64) *PurchaseReservedInstancesOfferingInput {
110055	s.InstanceCount = &v
110056	return s
110057}
110058
110059// SetLimitPrice sets the LimitPrice field's value.
110060func (s *PurchaseReservedInstancesOfferingInput) SetLimitPrice(v *ReservedInstanceLimitPrice) *PurchaseReservedInstancesOfferingInput {
110061	s.LimitPrice = v
110062	return s
110063}
110064
110065// SetPurchaseTime sets the PurchaseTime field's value.
110066func (s *PurchaseReservedInstancesOfferingInput) SetPurchaseTime(v time.Time) *PurchaseReservedInstancesOfferingInput {
110067	s.PurchaseTime = &v
110068	return s
110069}
110070
110071// SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
110072func (s *PurchaseReservedInstancesOfferingInput) SetReservedInstancesOfferingId(v string) *PurchaseReservedInstancesOfferingInput {
110073	s.ReservedInstancesOfferingId = &v
110074	return s
110075}
110076
110077// Contains the output of PurchaseReservedInstancesOffering.
110078type PurchaseReservedInstancesOfferingOutput struct {
110079	_ struct{} `type:"structure"`
110080
110081	// The IDs of the purchased Reserved Instances. If your purchase crosses into
110082	// a discounted pricing tier, the final Reserved Instances IDs might change.
110083	// For more information, see Crossing pricing tiers (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-reserved-instances-application.html#crossing-pricing-tiers)
110084	// in the Amazon Elastic Compute Cloud User Guide.
110085	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
110086}
110087
110088// String returns the string representation
110089func (s PurchaseReservedInstancesOfferingOutput) String() string {
110090	return awsutil.Prettify(s)
110091}
110092
110093// GoString returns the string representation
110094func (s PurchaseReservedInstancesOfferingOutput) GoString() string {
110095	return s.String()
110096}
110097
110098// SetReservedInstancesId sets the ReservedInstancesId field's value.
110099func (s *PurchaseReservedInstancesOfferingOutput) SetReservedInstancesId(v string) *PurchaseReservedInstancesOfferingOutput {
110100	s.ReservedInstancesId = &v
110101	return s
110102}
110103
110104// Contains the parameters for PurchaseScheduledInstances.
110105type PurchaseScheduledInstancesInput struct {
110106	_ struct{} `type:"structure"`
110107
110108	// Unique, case-sensitive identifier that ensures the idempotency of the request.
110109	// For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
110110	ClientToken *string `type:"string" idempotencyToken:"true"`
110111
110112	// Checks whether you have the required permissions for the action, without
110113	// actually making the request, and provides an error response. If you have
110114	// the required permissions, the error response is DryRunOperation. Otherwise,
110115	// it is UnauthorizedOperation.
110116	DryRun *bool `type:"boolean"`
110117
110118	// The purchase requests.
110119	//
110120	// PurchaseRequests is a required field
110121	PurchaseRequests []*PurchaseRequest `locationName:"PurchaseRequest" locationNameList:"PurchaseRequest" min:"1" type:"list" required:"true"`
110122}
110123
110124// String returns the string representation
110125func (s PurchaseScheduledInstancesInput) String() string {
110126	return awsutil.Prettify(s)
110127}
110128
110129// GoString returns the string representation
110130func (s PurchaseScheduledInstancesInput) GoString() string {
110131	return s.String()
110132}
110133
110134// Validate inspects the fields of the type to determine if they are valid.
110135func (s *PurchaseScheduledInstancesInput) Validate() error {
110136	invalidParams := request.ErrInvalidParams{Context: "PurchaseScheduledInstancesInput"}
110137	if s.PurchaseRequests == nil {
110138		invalidParams.Add(request.NewErrParamRequired("PurchaseRequests"))
110139	}
110140	if s.PurchaseRequests != nil && len(s.PurchaseRequests) < 1 {
110141		invalidParams.Add(request.NewErrParamMinLen("PurchaseRequests", 1))
110142	}
110143	if s.PurchaseRequests != nil {
110144		for i, v := range s.PurchaseRequests {
110145			if v == nil {
110146				continue
110147			}
110148			if err := v.Validate(); err != nil {
110149				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PurchaseRequests", i), err.(request.ErrInvalidParams))
110150			}
110151		}
110152	}
110153
110154	if invalidParams.Len() > 0 {
110155		return invalidParams
110156	}
110157	return nil
110158}
110159
110160// SetClientToken sets the ClientToken field's value.
110161func (s *PurchaseScheduledInstancesInput) SetClientToken(v string) *PurchaseScheduledInstancesInput {
110162	s.ClientToken = &v
110163	return s
110164}
110165
110166// SetDryRun sets the DryRun field's value.
110167func (s *PurchaseScheduledInstancesInput) SetDryRun(v bool) *PurchaseScheduledInstancesInput {
110168	s.DryRun = &v
110169	return s
110170}
110171
110172// SetPurchaseRequests sets the PurchaseRequests field's value.
110173func (s *PurchaseScheduledInstancesInput) SetPurchaseRequests(v []*PurchaseRequest) *PurchaseScheduledInstancesInput {
110174	s.PurchaseRequests = v
110175	return s
110176}
110177
110178// Contains the output of PurchaseScheduledInstances.
110179type PurchaseScheduledInstancesOutput struct {
110180	_ struct{} `type:"structure"`
110181
110182	// Information about the Scheduled Instances.
110183	ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
110184}
110185
110186// String returns the string representation
110187func (s PurchaseScheduledInstancesOutput) String() string {
110188	return awsutil.Prettify(s)
110189}
110190
110191// GoString returns the string representation
110192func (s PurchaseScheduledInstancesOutput) GoString() string {
110193	return s.String()
110194}
110195
110196// SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
110197func (s *PurchaseScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *PurchaseScheduledInstancesOutput {
110198	s.ScheduledInstanceSet = v
110199	return s
110200}
110201
110202type RebootInstancesInput struct {
110203	_ struct{} `type:"structure"`
110204
110205	// Checks whether you have the required permissions for the action, without
110206	// actually making the request, and provides an error response. If you have
110207	// the required permissions, the error response is DryRunOperation. Otherwise,
110208	// it is UnauthorizedOperation.
110209	DryRun *bool `locationName:"dryRun" type:"boolean"`
110210
110211	// The instance IDs.
110212	//
110213	// InstanceIds is a required field
110214	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
110215}
110216
110217// String returns the string representation
110218func (s RebootInstancesInput) String() string {
110219	return awsutil.Prettify(s)
110220}
110221
110222// GoString returns the string representation
110223func (s RebootInstancesInput) GoString() string {
110224	return s.String()
110225}
110226
110227// Validate inspects the fields of the type to determine if they are valid.
110228func (s *RebootInstancesInput) Validate() error {
110229	invalidParams := request.ErrInvalidParams{Context: "RebootInstancesInput"}
110230	if s.InstanceIds == nil {
110231		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
110232	}
110233
110234	if invalidParams.Len() > 0 {
110235		return invalidParams
110236	}
110237	return nil
110238}
110239
110240// SetDryRun sets the DryRun field's value.
110241func (s *RebootInstancesInput) SetDryRun(v bool) *RebootInstancesInput {
110242	s.DryRun = &v
110243	return s
110244}
110245
110246// SetInstanceIds sets the InstanceIds field's value.
110247func (s *RebootInstancesInput) SetInstanceIds(v []*string) *RebootInstancesInput {
110248	s.InstanceIds = v
110249	return s
110250}
110251
110252type RebootInstancesOutput struct {
110253	_ struct{} `type:"structure"`
110254}
110255
110256// String returns the string representation
110257func (s RebootInstancesOutput) String() string {
110258	return awsutil.Prettify(s)
110259}
110260
110261// GoString returns the string representation
110262func (s RebootInstancesOutput) GoString() string {
110263	return s.String()
110264}
110265
110266// Describes a recurring charge.
110267type RecurringCharge struct {
110268	_ struct{} `type:"structure"`
110269
110270	// The amount of the recurring charge.
110271	Amount *float64 `locationName:"amount" type:"double"`
110272
110273	// The frequency of the recurring charge.
110274	Frequency *string `locationName:"frequency" type:"string" enum:"RecurringChargeFrequency"`
110275}
110276
110277// String returns the string representation
110278func (s RecurringCharge) String() string {
110279	return awsutil.Prettify(s)
110280}
110281
110282// GoString returns the string representation
110283func (s RecurringCharge) GoString() string {
110284	return s.String()
110285}
110286
110287// SetAmount sets the Amount field's value.
110288func (s *RecurringCharge) SetAmount(v float64) *RecurringCharge {
110289	s.Amount = &v
110290	return s
110291}
110292
110293// SetFrequency sets the Frequency field's value.
110294func (s *RecurringCharge) SetFrequency(v string) *RecurringCharge {
110295	s.Frequency = &v
110296	return s
110297}
110298
110299// Describes the security group that is referenced in the security group rule.
110300type ReferencedSecurityGroup struct {
110301	_ struct{} `type:"structure"`
110302
110303	// The ID of the security group.
110304	GroupId *string `locationName:"groupId" type:"string"`
110305
110306	// The status of a VPC peering connection, if applicable.
110307	PeeringStatus *string `locationName:"peeringStatus" type:"string"`
110308
110309	// The Amazon Web Services account ID.
110310	UserId *string `locationName:"userId" type:"string"`
110311
110312	// The ID of the VPC.
110313	VpcId *string `locationName:"vpcId" type:"string"`
110314
110315	// The ID of the VPC peering connection.
110316	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
110317}
110318
110319// String returns the string representation
110320func (s ReferencedSecurityGroup) String() string {
110321	return awsutil.Prettify(s)
110322}
110323
110324// GoString returns the string representation
110325func (s ReferencedSecurityGroup) GoString() string {
110326	return s.String()
110327}
110328
110329// SetGroupId sets the GroupId field's value.
110330func (s *ReferencedSecurityGroup) SetGroupId(v string) *ReferencedSecurityGroup {
110331	s.GroupId = &v
110332	return s
110333}
110334
110335// SetPeeringStatus sets the PeeringStatus field's value.
110336func (s *ReferencedSecurityGroup) SetPeeringStatus(v string) *ReferencedSecurityGroup {
110337	s.PeeringStatus = &v
110338	return s
110339}
110340
110341// SetUserId sets the UserId field's value.
110342func (s *ReferencedSecurityGroup) SetUserId(v string) *ReferencedSecurityGroup {
110343	s.UserId = &v
110344	return s
110345}
110346
110347// SetVpcId sets the VpcId field's value.
110348func (s *ReferencedSecurityGroup) SetVpcId(v string) *ReferencedSecurityGroup {
110349	s.VpcId = &v
110350	return s
110351}
110352
110353// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
110354func (s *ReferencedSecurityGroup) SetVpcPeeringConnectionId(v string) *ReferencedSecurityGroup {
110355	s.VpcPeeringConnectionId = &v
110356	return s
110357}
110358
110359// Describes a Region.
110360type Region struct {
110361	_ struct{} `type:"structure"`
110362
110363	// The Region service endpoint.
110364	Endpoint *string `locationName:"regionEndpoint" type:"string"`
110365
110366	// The Region opt-in status. The possible values are opt-in-not-required, opted-in,
110367	// and not-opted-in.
110368	OptInStatus *string `locationName:"optInStatus" type:"string"`
110369
110370	// The name of the Region.
110371	RegionName *string `locationName:"regionName" type:"string"`
110372}
110373
110374// String returns the string representation
110375func (s Region) String() string {
110376	return awsutil.Prettify(s)
110377}
110378
110379// GoString returns the string representation
110380func (s Region) GoString() string {
110381	return s.String()
110382}
110383
110384// SetEndpoint sets the Endpoint field's value.
110385func (s *Region) SetEndpoint(v string) *Region {
110386	s.Endpoint = &v
110387	return s
110388}
110389
110390// SetOptInStatus sets the OptInStatus field's value.
110391func (s *Region) SetOptInStatus(v string) *Region {
110392	s.OptInStatus = &v
110393	return s
110394}
110395
110396// SetRegionName sets the RegionName field's value.
110397func (s *Region) SetRegionName(v string) *Region {
110398	s.RegionName = &v
110399	return s
110400}
110401
110402// Contains the parameters for RegisterImage.
110403type RegisterImageInput struct {
110404	_ struct{} `type:"structure"`
110405
110406	// The architecture of the AMI.
110407	//
110408	// Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs,
110409	// the architecture specified in the manifest file.
110410	Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
110411
110412	// The billing product codes. Your account must be authorized to specify billing
110413	// product codes. Otherwise, you can use the AWS Marketplace to bill for the
110414	// use of an AMI.
110415	BillingProducts []*string `locationName:"BillingProduct" locationNameList:"item" type:"list"`
110416
110417	// The block device mapping entries.
110418	//
110419	// If you specify an EBS volume using the ID of an EBS snapshot, you can't specify
110420	// the encryption state of the volume.
110421	//
110422	// If you create an AMI on an Outpost, then all backing snapshots must be on
110423	// the same Outpost or in the Region of that Outpost. AMIs on an Outpost that
110424	// include local snapshots can be used to launch instances on the same Outpost
110425	// only. For more information, Amazon EBS local snapshots on Outposts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#ami)
110426	// in the Amazon Elastic Compute Cloud User Guide.
110427	BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
110428
110429	// The boot mode of the AMI. For more information, see Boot modes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-boot.html)
110430	// in the Amazon Elastic Compute Cloud User Guide.
110431	BootMode *string `type:"string" enum:"BootModeValues"`
110432
110433	// A description for your AMI.
110434	Description *string `locationName:"description" type:"string"`
110435
110436	// Checks whether you have the required permissions for the action, without
110437	// actually making the request, and provides an error response. If you have
110438	// the required permissions, the error response is DryRunOperation. Otherwise,
110439	// it is UnauthorizedOperation.
110440	DryRun *bool `locationName:"dryRun" type:"boolean"`
110441
110442	// Set to true to enable enhanced networking with ENA for the AMI and any instances
110443	// that you launch from the AMI.
110444	//
110445	// This option is supported only for HVM AMIs. Specifying this option with a
110446	// PV AMI can make instances launched from the AMI unreachable.
110447	EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
110448
110449	// The full path to your AMI manifest in Amazon S3 storage. The specified bucket
110450	// must have the aws-exec-read canned access control list (ACL) to ensure that
110451	// 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)
110452	// in the Amazon S3 Service Developer Guide.
110453	ImageLocation *string `type:"string"`
110454
110455	// The ID of the kernel.
110456	KernelId *string `locationName:"kernelId" type:"string"`
110457
110458	// A name for your AMI.
110459	//
110460	// Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
110461	// ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
110462	// at-signs (@), or underscores(_)
110463	//
110464	// Name is a required field
110465	Name *string `locationName:"name" type:"string" required:"true"`
110466
110467	// The ID of the RAM disk.
110468	RamdiskId *string `locationName:"ramdiskId" type:"string"`
110469
110470	// The device name of the root device volume (for example, /dev/sda1).
110471	RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
110472
110473	// Set to simple to enable enhanced networking with the Intel 82599 Virtual
110474	// Function interface for the AMI and any instances that you launch from the
110475	// AMI.
110476	//
110477	// There is no way to disable sriovNetSupport at this time.
110478	//
110479	// This option is supported only for HVM AMIs. Specifying this option with a
110480	// PV AMI can make instances launched from the AMI unreachable.
110481	SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
110482
110483	// The type of virtualization (hvm | paravirtual).
110484	//
110485	// Default: paravirtual
110486	VirtualizationType *string `locationName:"virtualizationType" type:"string"`
110487}
110488
110489// String returns the string representation
110490func (s RegisterImageInput) String() string {
110491	return awsutil.Prettify(s)
110492}
110493
110494// GoString returns the string representation
110495func (s RegisterImageInput) GoString() string {
110496	return s.String()
110497}
110498
110499// Validate inspects the fields of the type to determine if they are valid.
110500func (s *RegisterImageInput) Validate() error {
110501	invalidParams := request.ErrInvalidParams{Context: "RegisterImageInput"}
110502	if s.Name == nil {
110503		invalidParams.Add(request.NewErrParamRequired("Name"))
110504	}
110505
110506	if invalidParams.Len() > 0 {
110507		return invalidParams
110508	}
110509	return nil
110510}
110511
110512// SetArchitecture sets the Architecture field's value.
110513func (s *RegisterImageInput) SetArchitecture(v string) *RegisterImageInput {
110514	s.Architecture = &v
110515	return s
110516}
110517
110518// SetBillingProducts sets the BillingProducts field's value.
110519func (s *RegisterImageInput) SetBillingProducts(v []*string) *RegisterImageInput {
110520	s.BillingProducts = v
110521	return s
110522}
110523
110524// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
110525func (s *RegisterImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RegisterImageInput {
110526	s.BlockDeviceMappings = v
110527	return s
110528}
110529
110530// SetBootMode sets the BootMode field's value.
110531func (s *RegisterImageInput) SetBootMode(v string) *RegisterImageInput {
110532	s.BootMode = &v
110533	return s
110534}
110535
110536// SetDescription sets the Description field's value.
110537func (s *RegisterImageInput) SetDescription(v string) *RegisterImageInput {
110538	s.Description = &v
110539	return s
110540}
110541
110542// SetDryRun sets the DryRun field's value.
110543func (s *RegisterImageInput) SetDryRun(v bool) *RegisterImageInput {
110544	s.DryRun = &v
110545	return s
110546}
110547
110548// SetEnaSupport sets the EnaSupport field's value.
110549func (s *RegisterImageInput) SetEnaSupport(v bool) *RegisterImageInput {
110550	s.EnaSupport = &v
110551	return s
110552}
110553
110554// SetImageLocation sets the ImageLocation field's value.
110555func (s *RegisterImageInput) SetImageLocation(v string) *RegisterImageInput {
110556	s.ImageLocation = &v
110557	return s
110558}
110559
110560// SetKernelId sets the KernelId field's value.
110561func (s *RegisterImageInput) SetKernelId(v string) *RegisterImageInput {
110562	s.KernelId = &v
110563	return s
110564}
110565
110566// SetName sets the Name field's value.
110567func (s *RegisterImageInput) SetName(v string) *RegisterImageInput {
110568	s.Name = &v
110569	return s
110570}
110571
110572// SetRamdiskId sets the RamdiskId field's value.
110573func (s *RegisterImageInput) SetRamdiskId(v string) *RegisterImageInput {
110574	s.RamdiskId = &v
110575	return s
110576}
110577
110578// SetRootDeviceName sets the RootDeviceName field's value.
110579func (s *RegisterImageInput) SetRootDeviceName(v string) *RegisterImageInput {
110580	s.RootDeviceName = &v
110581	return s
110582}
110583
110584// SetSriovNetSupport sets the SriovNetSupport field's value.
110585func (s *RegisterImageInput) SetSriovNetSupport(v string) *RegisterImageInput {
110586	s.SriovNetSupport = &v
110587	return s
110588}
110589
110590// SetVirtualizationType sets the VirtualizationType field's value.
110591func (s *RegisterImageInput) SetVirtualizationType(v string) *RegisterImageInput {
110592	s.VirtualizationType = &v
110593	return s
110594}
110595
110596// Contains the output of RegisterImage.
110597type RegisterImageOutput struct {
110598	_ struct{} `type:"structure"`
110599
110600	// The ID of the newly registered AMI.
110601	ImageId *string `locationName:"imageId" type:"string"`
110602}
110603
110604// String returns the string representation
110605func (s RegisterImageOutput) String() string {
110606	return awsutil.Prettify(s)
110607}
110608
110609// GoString returns the string representation
110610func (s RegisterImageOutput) GoString() string {
110611	return s.String()
110612}
110613
110614// SetImageId sets the ImageId field's value.
110615func (s *RegisterImageOutput) SetImageId(v string) *RegisterImageOutput {
110616	s.ImageId = &v
110617	return s
110618}
110619
110620type RegisterInstanceEventNotificationAttributesInput struct {
110621	_ struct{} `type:"structure"`
110622
110623	// Checks whether you have the required permissions for the action, without
110624	// actually making the request, and provides an error response. If you have
110625	// the required permissions, the error response is DryRunOperation. Otherwise,
110626	// it is UnauthorizedOperation.
110627	DryRun *bool `type:"boolean"`
110628
110629	// Information about the tag keys to register.
110630	InstanceTagAttribute *RegisterInstanceTagAttributeRequest `type:"structure"`
110631}
110632
110633// String returns the string representation
110634func (s RegisterInstanceEventNotificationAttributesInput) String() string {
110635	return awsutil.Prettify(s)
110636}
110637
110638// GoString returns the string representation
110639func (s RegisterInstanceEventNotificationAttributesInput) GoString() string {
110640	return s.String()
110641}
110642
110643// SetDryRun sets the DryRun field's value.
110644func (s *RegisterInstanceEventNotificationAttributesInput) SetDryRun(v bool) *RegisterInstanceEventNotificationAttributesInput {
110645	s.DryRun = &v
110646	return s
110647}
110648
110649// SetInstanceTagAttribute sets the InstanceTagAttribute field's value.
110650func (s *RegisterInstanceEventNotificationAttributesInput) SetInstanceTagAttribute(v *RegisterInstanceTagAttributeRequest) *RegisterInstanceEventNotificationAttributesInput {
110651	s.InstanceTagAttribute = v
110652	return s
110653}
110654
110655type RegisterInstanceEventNotificationAttributesOutput struct {
110656	_ struct{} `type:"structure"`
110657
110658	// The resulting set of tag keys.
110659	InstanceTagAttribute *InstanceTagNotificationAttribute `locationName:"instanceTagAttribute" type:"structure"`
110660}
110661
110662// String returns the string representation
110663func (s RegisterInstanceEventNotificationAttributesOutput) String() string {
110664	return awsutil.Prettify(s)
110665}
110666
110667// GoString returns the string representation
110668func (s RegisterInstanceEventNotificationAttributesOutput) GoString() string {
110669	return s.String()
110670}
110671
110672// SetInstanceTagAttribute sets the InstanceTagAttribute field's value.
110673func (s *RegisterInstanceEventNotificationAttributesOutput) SetInstanceTagAttribute(v *InstanceTagNotificationAttribute) *RegisterInstanceEventNotificationAttributesOutput {
110674	s.InstanceTagAttribute = v
110675	return s
110676}
110677
110678// Information about the tag keys to register for the current Region. You can
110679// either specify individual tag keys or register all tag keys in the current
110680// Region. You must specify either IncludeAllTagsOfInstance or InstanceTagKeys
110681// in the request
110682type RegisterInstanceTagAttributeRequest struct {
110683	_ struct{} `type:"structure"`
110684
110685	// Indicates whether to register all tag keys in the current Region. Specify
110686	// true to register all tag keys.
110687	IncludeAllTagsOfInstance *bool `type:"boolean"`
110688
110689	// The tag keys to register.
110690	InstanceTagKeys []*string `locationName:"InstanceTagKey" locationNameList:"item" type:"list"`
110691}
110692
110693// String returns the string representation
110694func (s RegisterInstanceTagAttributeRequest) String() string {
110695	return awsutil.Prettify(s)
110696}
110697
110698// GoString returns the string representation
110699func (s RegisterInstanceTagAttributeRequest) GoString() string {
110700	return s.String()
110701}
110702
110703// SetIncludeAllTagsOfInstance sets the IncludeAllTagsOfInstance field's value.
110704func (s *RegisterInstanceTagAttributeRequest) SetIncludeAllTagsOfInstance(v bool) *RegisterInstanceTagAttributeRequest {
110705	s.IncludeAllTagsOfInstance = &v
110706	return s
110707}
110708
110709// SetInstanceTagKeys sets the InstanceTagKeys field's value.
110710func (s *RegisterInstanceTagAttributeRequest) SetInstanceTagKeys(v []*string) *RegisterInstanceTagAttributeRequest {
110711	s.InstanceTagKeys = v
110712	return s
110713}
110714
110715type RegisterTransitGatewayMulticastGroupMembersInput struct {
110716	_ struct{} `type:"structure"`
110717
110718	// Checks whether you have the required permissions for the action, without
110719	// actually making the request, and provides an error response. If you have
110720	// the required permissions, the error response is DryRunOperation. Otherwise,
110721	// it is UnauthorizedOperation.
110722	DryRun *bool `type:"boolean"`
110723
110724	// The IP address assigned to the transit gateway multicast group.
110725	GroupIpAddress *string `type:"string"`
110726
110727	// The group members' network interface IDs to register with the transit gateway
110728	// multicast group.
110729	NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
110730
110731	// The ID of the transit gateway multicast domain.
110732	TransitGatewayMulticastDomainId *string `type:"string"`
110733}
110734
110735// String returns the string representation
110736func (s RegisterTransitGatewayMulticastGroupMembersInput) String() string {
110737	return awsutil.Prettify(s)
110738}
110739
110740// GoString returns the string representation
110741func (s RegisterTransitGatewayMulticastGroupMembersInput) GoString() string {
110742	return s.String()
110743}
110744
110745// SetDryRun sets the DryRun field's value.
110746func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetDryRun(v bool) *RegisterTransitGatewayMulticastGroupMembersInput {
110747	s.DryRun = &v
110748	return s
110749}
110750
110751// SetGroupIpAddress sets the GroupIpAddress field's value.
110752func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetGroupIpAddress(v string) *RegisterTransitGatewayMulticastGroupMembersInput {
110753	s.GroupIpAddress = &v
110754	return s
110755}
110756
110757// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
110758func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetNetworkInterfaceIds(v []*string) *RegisterTransitGatewayMulticastGroupMembersInput {
110759	s.NetworkInterfaceIds = v
110760	return s
110761}
110762
110763// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
110764func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetTransitGatewayMulticastDomainId(v string) *RegisterTransitGatewayMulticastGroupMembersInput {
110765	s.TransitGatewayMulticastDomainId = &v
110766	return s
110767}
110768
110769type RegisterTransitGatewayMulticastGroupMembersOutput struct {
110770	_ struct{} `type:"structure"`
110771
110772	// Information about the registered transit gateway multicast group members.
110773	RegisteredMulticastGroupMembers *TransitGatewayMulticastRegisteredGroupMembers `locationName:"registeredMulticastGroupMembers" type:"structure"`
110774}
110775
110776// String returns the string representation
110777func (s RegisterTransitGatewayMulticastGroupMembersOutput) String() string {
110778	return awsutil.Prettify(s)
110779}
110780
110781// GoString returns the string representation
110782func (s RegisterTransitGatewayMulticastGroupMembersOutput) GoString() string {
110783	return s.String()
110784}
110785
110786// SetRegisteredMulticastGroupMembers sets the RegisteredMulticastGroupMembers field's value.
110787func (s *RegisterTransitGatewayMulticastGroupMembersOutput) SetRegisteredMulticastGroupMembers(v *TransitGatewayMulticastRegisteredGroupMembers) *RegisterTransitGatewayMulticastGroupMembersOutput {
110788	s.RegisteredMulticastGroupMembers = v
110789	return s
110790}
110791
110792type RegisterTransitGatewayMulticastGroupSourcesInput struct {
110793	_ struct{} `type:"structure"`
110794
110795	// Checks whether you have the required permissions for the action, without
110796	// actually making the request, and provides an error response. If you have
110797	// the required permissions, the error response is DryRunOperation. Otherwise,
110798	// it is UnauthorizedOperation.
110799	DryRun *bool `type:"boolean"`
110800
110801	// The IP address assigned to the transit gateway multicast group.
110802	GroupIpAddress *string `type:"string"`
110803
110804	// The group sources' network interface IDs to register with the transit gateway
110805	// multicast group.
110806	NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
110807
110808	// The ID of the transit gateway multicast domain.
110809	TransitGatewayMulticastDomainId *string `type:"string"`
110810}
110811
110812// String returns the string representation
110813func (s RegisterTransitGatewayMulticastGroupSourcesInput) String() string {
110814	return awsutil.Prettify(s)
110815}
110816
110817// GoString returns the string representation
110818func (s RegisterTransitGatewayMulticastGroupSourcesInput) GoString() string {
110819	return s.String()
110820}
110821
110822// SetDryRun sets the DryRun field's value.
110823func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetDryRun(v bool) *RegisterTransitGatewayMulticastGroupSourcesInput {
110824	s.DryRun = &v
110825	return s
110826}
110827
110828// SetGroupIpAddress sets the GroupIpAddress field's value.
110829func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetGroupIpAddress(v string) *RegisterTransitGatewayMulticastGroupSourcesInput {
110830	s.GroupIpAddress = &v
110831	return s
110832}
110833
110834// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
110835func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetNetworkInterfaceIds(v []*string) *RegisterTransitGatewayMulticastGroupSourcesInput {
110836	s.NetworkInterfaceIds = v
110837	return s
110838}
110839
110840// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
110841func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetTransitGatewayMulticastDomainId(v string) *RegisterTransitGatewayMulticastGroupSourcesInput {
110842	s.TransitGatewayMulticastDomainId = &v
110843	return s
110844}
110845
110846type RegisterTransitGatewayMulticastGroupSourcesOutput struct {
110847	_ struct{} `type:"structure"`
110848
110849	// Information about the transit gateway multicast group sources.
110850	RegisteredMulticastGroupSources *TransitGatewayMulticastRegisteredGroupSources `locationName:"registeredMulticastGroupSources" type:"structure"`
110851}
110852
110853// String returns the string representation
110854func (s RegisterTransitGatewayMulticastGroupSourcesOutput) String() string {
110855	return awsutil.Prettify(s)
110856}
110857
110858// GoString returns the string representation
110859func (s RegisterTransitGatewayMulticastGroupSourcesOutput) GoString() string {
110860	return s.String()
110861}
110862
110863// SetRegisteredMulticastGroupSources sets the RegisteredMulticastGroupSources field's value.
110864func (s *RegisterTransitGatewayMulticastGroupSourcesOutput) SetRegisteredMulticastGroupSources(v *TransitGatewayMulticastRegisteredGroupSources) *RegisterTransitGatewayMulticastGroupSourcesOutput {
110865	s.RegisteredMulticastGroupSources = v
110866	return s
110867}
110868
110869type RejectTransitGatewayMulticastDomainAssociationsInput struct {
110870	_ struct{} `type:"structure"`
110871
110872	// Checks whether you have the required permissions for the action, without
110873	// actually making the request, and provides an error response. If you have
110874	// the required permissions, the error response is DryRunOperation. Otherwise,
110875	// it is UnauthorizedOperation.
110876	DryRun *bool `type:"boolean"`
110877
110878	// The IDs of the subnets to associate with the transit gateway multicast domain.
110879	SubnetIds []*string `locationNameList:"item" type:"list"`
110880
110881	// The ID of the transit gateway attachment.
110882	TransitGatewayAttachmentId *string `type:"string"`
110883
110884	// The ID of the transit gateway multicast domain.
110885	TransitGatewayMulticastDomainId *string `type:"string"`
110886}
110887
110888// String returns the string representation
110889func (s RejectTransitGatewayMulticastDomainAssociationsInput) String() string {
110890	return awsutil.Prettify(s)
110891}
110892
110893// GoString returns the string representation
110894func (s RejectTransitGatewayMulticastDomainAssociationsInput) GoString() string {
110895	return s.String()
110896}
110897
110898// SetDryRun sets the DryRun field's value.
110899func (s *RejectTransitGatewayMulticastDomainAssociationsInput) SetDryRun(v bool) *RejectTransitGatewayMulticastDomainAssociationsInput {
110900	s.DryRun = &v
110901	return s
110902}
110903
110904// SetSubnetIds sets the SubnetIds field's value.
110905func (s *RejectTransitGatewayMulticastDomainAssociationsInput) SetSubnetIds(v []*string) *RejectTransitGatewayMulticastDomainAssociationsInput {
110906	s.SubnetIds = v
110907	return s
110908}
110909
110910// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
110911func (s *RejectTransitGatewayMulticastDomainAssociationsInput) SetTransitGatewayAttachmentId(v string) *RejectTransitGatewayMulticastDomainAssociationsInput {
110912	s.TransitGatewayAttachmentId = &v
110913	return s
110914}
110915
110916// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
110917func (s *RejectTransitGatewayMulticastDomainAssociationsInput) SetTransitGatewayMulticastDomainId(v string) *RejectTransitGatewayMulticastDomainAssociationsInput {
110918	s.TransitGatewayMulticastDomainId = &v
110919	return s
110920}
110921
110922type RejectTransitGatewayMulticastDomainAssociationsOutput struct {
110923	_ struct{} `type:"structure"`
110924
110925	// Describes the multicast domain associations.
110926	Associations *TransitGatewayMulticastDomainAssociations `locationName:"associations" type:"structure"`
110927}
110928
110929// String returns the string representation
110930func (s RejectTransitGatewayMulticastDomainAssociationsOutput) String() string {
110931	return awsutil.Prettify(s)
110932}
110933
110934// GoString returns the string representation
110935func (s RejectTransitGatewayMulticastDomainAssociationsOutput) GoString() string {
110936	return s.String()
110937}
110938
110939// SetAssociations sets the Associations field's value.
110940func (s *RejectTransitGatewayMulticastDomainAssociationsOutput) SetAssociations(v *TransitGatewayMulticastDomainAssociations) *RejectTransitGatewayMulticastDomainAssociationsOutput {
110941	s.Associations = v
110942	return s
110943}
110944
110945type RejectTransitGatewayPeeringAttachmentInput struct {
110946	_ struct{} `type:"structure"`
110947
110948	// Checks whether you have the required permissions for the action, without
110949	// actually making the request, and provides an error response. If you have
110950	// the required permissions, the error response is DryRunOperation. Otherwise,
110951	// it is UnauthorizedOperation.
110952	DryRun *bool `type:"boolean"`
110953
110954	// The ID of the transit gateway peering attachment.
110955	//
110956	// TransitGatewayAttachmentId is a required field
110957	TransitGatewayAttachmentId *string `type:"string" required:"true"`
110958}
110959
110960// String returns the string representation
110961func (s RejectTransitGatewayPeeringAttachmentInput) String() string {
110962	return awsutil.Prettify(s)
110963}
110964
110965// GoString returns the string representation
110966func (s RejectTransitGatewayPeeringAttachmentInput) GoString() string {
110967	return s.String()
110968}
110969
110970// Validate inspects the fields of the type to determine if they are valid.
110971func (s *RejectTransitGatewayPeeringAttachmentInput) Validate() error {
110972	invalidParams := request.ErrInvalidParams{Context: "RejectTransitGatewayPeeringAttachmentInput"}
110973	if s.TransitGatewayAttachmentId == nil {
110974		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
110975	}
110976
110977	if invalidParams.Len() > 0 {
110978		return invalidParams
110979	}
110980	return nil
110981}
110982
110983// SetDryRun sets the DryRun field's value.
110984func (s *RejectTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *RejectTransitGatewayPeeringAttachmentInput {
110985	s.DryRun = &v
110986	return s
110987}
110988
110989// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
110990func (s *RejectTransitGatewayPeeringAttachmentInput) SetTransitGatewayAttachmentId(v string) *RejectTransitGatewayPeeringAttachmentInput {
110991	s.TransitGatewayAttachmentId = &v
110992	return s
110993}
110994
110995type RejectTransitGatewayPeeringAttachmentOutput struct {
110996	_ struct{} `type:"structure"`
110997
110998	// The transit gateway peering attachment.
110999	TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
111000}
111001
111002// String returns the string representation
111003func (s RejectTransitGatewayPeeringAttachmentOutput) String() string {
111004	return awsutil.Prettify(s)
111005}
111006
111007// GoString returns the string representation
111008func (s RejectTransitGatewayPeeringAttachmentOutput) GoString() string {
111009	return s.String()
111010}
111011
111012// SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
111013func (s *RejectTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *RejectTransitGatewayPeeringAttachmentOutput {
111014	s.TransitGatewayPeeringAttachment = v
111015	return s
111016}
111017
111018type RejectTransitGatewayVpcAttachmentInput struct {
111019	_ struct{} `type:"structure"`
111020
111021	// Checks whether you have the required permissions for the action, without
111022	// actually making the request, and provides an error response. If you have
111023	// the required permissions, the error response is DryRunOperation. Otherwise,
111024	// it is UnauthorizedOperation.
111025	DryRun *bool `type:"boolean"`
111026
111027	// The ID of the attachment.
111028	//
111029	// TransitGatewayAttachmentId is a required field
111030	TransitGatewayAttachmentId *string `type:"string" required:"true"`
111031}
111032
111033// String returns the string representation
111034func (s RejectTransitGatewayVpcAttachmentInput) String() string {
111035	return awsutil.Prettify(s)
111036}
111037
111038// GoString returns the string representation
111039func (s RejectTransitGatewayVpcAttachmentInput) GoString() string {
111040	return s.String()
111041}
111042
111043// Validate inspects the fields of the type to determine if they are valid.
111044func (s *RejectTransitGatewayVpcAttachmentInput) Validate() error {
111045	invalidParams := request.ErrInvalidParams{Context: "RejectTransitGatewayVpcAttachmentInput"}
111046	if s.TransitGatewayAttachmentId == nil {
111047		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
111048	}
111049
111050	if invalidParams.Len() > 0 {
111051		return invalidParams
111052	}
111053	return nil
111054}
111055
111056// SetDryRun sets the DryRun field's value.
111057func (s *RejectTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *RejectTransitGatewayVpcAttachmentInput {
111058	s.DryRun = &v
111059	return s
111060}
111061
111062// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
111063func (s *RejectTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *RejectTransitGatewayVpcAttachmentInput {
111064	s.TransitGatewayAttachmentId = &v
111065	return s
111066}
111067
111068type RejectTransitGatewayVpcAttachmentOutput struct {
111069	_ struct{} `type:"structure"`
111070
111071	// Information about the attachment.
111072	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
111073}
111074
111075// String returns the string representation
111076func (s RejectTransitGatewayVpcAttachmentOutput) String() string {
111077	return awsutil.Prettify(s)
111078}
111079
111080// GoString returns the string representation
111081func (s RejectTransitGatewayVpcAttachmentOutput) GoString() string {
111082	return s.String()
111083}
111084
111085// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
111086func (s *RejectTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *RejectTransitGatewayVpcAttachmentOutput {
111087	s.TransitGatewayVpcAttachment = v
111088	return s
111089}
111090
111091type RejectVpcEndpointConnectionsInput struct {
111092	_ struct{} `type:"structure"`
111093
111094	// Checks whether you have the required permissions for the action, without
111095	// actually making the request, and provides an error response. If you have
111096	// the required permissions, the error response is DryRunOperation. Otherwise,
111097	// it is UnauthorizedOperation.
111098	DryRun *bool `type:"boolean"`
111099
111100	// The ID of the service.
111101	//
111102	// ServiceId is a required field
111103	ServiceId *string `type:"string" required:"true"`
111104
111105	// The IDs of one or more VPC endpoints.
111106	//
111107	// VpcEndpointIds is a required field
111108	VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
111109}
111110
111111// String returns the string representation
111112func (s RejectVpcEndpointConnectionsInput) String() string {
111113	return awsutil.Prettify(s)
111114}
111115
111116// GoString returns the string representation
111117func (s RejectVpcEndpointConnectionsInput) GoString() string {
111118	return s.String()
111119}
111120
111121// Validate inspects the fields of the type to determine if they are valid.
111122func (s *RejectVpcEndpointConnectionsInput) Validate() error {
111123	invalidParams := request.ErrInvalidParams{Context: "RejectVpcEndpointConnectionsInput"}
111124	if s.ServiceId == nil {
111125		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
111126	}
111127	if s.VpcEndpointIds == nil {
111128		invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
111129	}
111130
111131	if invalidParams.Len() > 0 {
111132		return invalidParams
111133	}
111134	return nil
111135}
111136
111137// SetDryRun sets the DryRun field's value.
111138func (s *RejectVpcEndpointConnectionsInput) SetDryRun(v bool) *RejectVpcEndpointConnectionsInput {
111139	s.DryRun = &v
111140	return s
111141}
111142
111143// SetServiceId sets the ServiceId field's value.
111144func (s *RejectVpcEndpointConnectionsInput) SetServiceId(v string) *RejectVpcEndpointConnectionsInput {
111145	s.ServiceId = &v
111146	return s
111147}
111148
111149// SetVpcEndpointIds sets the VpcEndpointIds field's value.
111150func (s *RejectVpcEndpointConnectionsInput) SetVpcEndpointIds(v []*string) *RejectVpcEndpointConnectionsInput {
111151	s.VpcEndpointIds = v
111152	return s
111153}
111154
111155type RejectVpcEndpointConnectionsOutput struct {
111156	_ struct{} `type:"structure"`
111157
111158	// Information about the endpoints that were not rejected, if applicable.
111159	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
111160}
111161
111162// String returns the string representation
111163func (s RejectVpcEndpointConnectionsOutput) String() string {
111164	return awsutil.Prettify(s)
111165}
111166
111167// GoString returns the string representation
111168func (s RejectVpcEndpointConnectionsOutput) GoString() string {
111169	return s.String()
111170}
111171
111172// SetUnsuccessful sets the Unsuccessful field's value.
111173func (s *RejectVpcEndpointConnectionsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *RejectVpcEndpointConnectionsOutput {
111174	s.Unsuccessful = v
111175	return s
111176}
111177
111178type RejectVpcPeeringConnectionInput struct {
111179	_ struct{} `type:"structure"`
111180
111181	// Checks whether you have the required permissions for the action, without
111182	// actually making the request, and provides an error response. If you have
111183	// the required permissions, the error response is DryRunOperation. Otherwise,
111184	// it is UnauthorizedOperation.
111185	DryRun *bool `locationName:"dryRun" type:"boolean"`
111186
111187	// The ID of the VPC peering connection.
111188	//
111189	// VpcPeeringConnectionId is a required field
111190	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
111191}
111192
111193// String returns the string representation
111194func (s RejectVpcPeeringConnectionInput) String() string {
111195	return awsutil.Prettify(s)
111196}
111197
111198// GoString returns the string representation
111199func (s RejectVpcPeeringConnectionInput) GoString() string {
111200	return s.String()
111201}
111202
111203// Validate inspects the fields of the type to determine if they are valid.
111204func (s *RejectVpcPeeringConnectionInput) Validate() error {
111205	invalidParams := request.ErrInvalidParams{Context: "RejectVpcPeeringConnectionInput"}
111206	if s.VpcPeeringConnectionId == nil {
111207		invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
111208	}
111209
111210	if invalidParams.Len() > 0 {
111211		return invalidParams
111212	}
111213	return nil
111214}
111215
111216// SetDryRun sets the DryRun field's value.
111217func (s *RejectVpcPeeringConnectionInput) SetDryRun(v bool) *RejectVpcPeeringConnectionInput {
111218	s.DryRun = &v
111219	return s
111220}
111221
111222// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
111223func (s *RejectVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *RejectVpcPeeringConnectionInput {
111224	s.VpcPeeringConnectionId = &v
111225	return s
111226}
111227
111228type RejectVpcPeeringConnectionOutput struct {
111229	_ struct{} `type:"structure"`
111230
111231	// Returns true if the request succeeds; otherwise, it returns an error.
111232	Return *bool `locationName:"return" type:"boolean"`
111233}
111234
111235// String returns the string representation
111236func (s RejectVpcPeeringConnectionOutput) String() string {
111237	return awsutil.Prettify(s)
111238}
111239
111240// GoString returns the string representation
111241func (s RejectVpcPeeringConnectionOutput) GoString() string {
111242	return s.String()
111243}
111244
111245// SetReturn sets the Return field's value.
111246func (s *RejectVpcPeeringConnectionOutput) SetReturn(v bool) *RejectVpcPeeringConnectionOutput {
111247	s.Return = &v
111248	return s
111249}
111250
111251type ReleaseAddressInput struct {
111252	_ struct{} `type:"structure"`
111253
111254	// [EC2-VPC] The allocation ID. Required for EC2-VPC.
111255	AllocationId *string `type:"string"`
111256
111257	// Checks whether you have the required permissions for the action, without
111258	// actually making the request, and provides an error response. If you have
111259	// the required permissions, the error response is DryRunOperation. Otherwise,
111260	// it is UnauthorizedOperation.
111261	DryRun *bool `locationName:"dryRun" type:"boolean"`
111262
111263	// The set of Availability Zones, Local Zones, or Wavelength Zones from which
111264	// AWS advertises IP addresses.
111265	//
111266	// If you provide an incorrect network border group, you will receive an InvalidAddress.NotFound
111267	// error. For more information, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
111268	//
111269	// You cannot use a network border group with EC2 Classic. If you attempt this
111270	// operation on EC2 classic, you will receive an InvalidParameterCombination
111271	// error. For more information, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
111272	NetworkBorderGroup *string `type:"string"`
111273
111274	// [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
111275	PublicIp *string `type:"string"`
111276}
111277
111278// String returns the string representation
111279func (s ReleaseAddressInput) String() string {
111280	return awsutil.Prettify(s)
111281}
111282
111283// GoString returns the string representation
111284func (s ReleaseAddressInput) GoString() string {
111285	return s.String()
111286}
111287
111288// SetAllocationId sets the AllocationId field's value.
111289func (s *ReleaseAddressInput) SetAllocationId(v string) *ReleaseAddressInput {
111290	s.AllocationId = &v
111291	return s
111292}
111293
111294// SetDryRun sets the DryRun field's value.
111295func (s *ReleaseAddressInput) SetDryRun(v bool) *ReleaseAddressInput {
111296	s.DryRun = &v
111297	return s
111298}
111299
111300// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
111301func (s *ReleaseAddressInput) SetNetworkBorderGroup(v string) *ReleaseAddressInput {
111302	s.NetworkBorderGroup = &v
111303	return s
111304}
111305
111306// SetPublicIp sets the PublicIp field's value.
111307func (s *ReleaseAddressInput) SetPublicIp(v string) *ReleaseAddressInput {
111308	s.PublicIp = &v
111309	return s
111310}
111311
111312type ReleaseAddressOutput struct {
111313	_ struct{} `type:"structure"`
111314}
111315
111316// String returns the string representation
111317func (s ReleaseAddressOutput) String() string {
111318	return awsutil.Prettify(s)
111319}
111320
111321// GoString returns the string representation
111322func (s ReleaseAddressOutput) GoString() string {
111323	return s.String()
111324}
111325
111326type ReleaseHostsInput struct {
111327	_ struct{} `type:"structure"`
111328
111329	// The IDs of the Dedicated Hosts to release.
111330	//
111331	// HostIds is a required field
111332	HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
111333}
111334
111335// String returns the string representation
111336func (s ReleaseHostsInput) String() string {
111337	return awsutil.Prettify(s)
111338}
111339
111340// GoString returns the string representation
111341func (s ReleaseHostsInput) GoString() string {
111342	return s.String()
111343}
111344
111345// Validate inspects the fields of the type to determine if they are valid.
111346func (s *ReleaseHostsInput) Validate() error {
111347	invalidParams := request.ErrInvalidParams{Context: "ReleaseHostsInput"}
111348	if s.HostIds == nil {
111349		invalidParams.Add(request.NewErrParamRequired("HostIds"))
111350	}
111351
111352	if invalidParams.Len() > 0 {
111353		return invalidParams
111354	}
111355	return nil
111356}
111357
111358// SetHostIds sets the HostIds field's value.
111359func (s *ReleaseHostsInput) SetHostIds(v []*string) *ReleaseHostsInput {
111360	s.HostIds = v
111361	return s
111362}
111363
111364type ReleaseHostsOutput struct {
111365	_ struct{} `type:"structure"`
111366
111367	// The IDs of the Dedicated Hosts that were successfully released.
111368	Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
111369
111370	// The IDs of the Dedicated Hosts that could not be released, including an error
111371	// message.
111372	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
111373}
111374
111375// String returns the string representation
111376func (s ReleaseHostsOutput) String() string {
111377	return awsutil.Prettify(s)
111378}
111379
111380// GoString returns the string representation
111381func (s ReleaseHostsOutput) GoString() string {
111382	return s.String()
111383}
111384
111385// SetSuccessful sets the Successful field's value.
111386func (s *ReleaseHostsOutput) SetSuccessful(v []*string) *ReleaseHostsOutput {
111387	s.Successful = v
111388	return s
111389}
111390
111391// SetUnsuccessful sets the Unsuccessful field's value.
111392func (s *ReleaseHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ReleaseHostsOutput {
111393	s.Unsuccessful = v
111394	return s
111395}
111396
111397// An entry for a prefix list.
111398type RemovePrefixListEntry struct {
111399	_ struct{} `type:"structure"`
111400
111401	// The CIDR block.
111402	//
111403	// Cidr is a required field
111404	Cidr *string `type:"string" required:"true"`
111405}
111406
111407// String returns the string representation
111408func (s RemovePrefixListEntry) String() string {
111409	return awsutil.Prettify(s)
111410}
111411
111412// GoString returns the string representation
111413func (s RemovePrefixListEntry) GoString() string {
111414	return s.String()
111415}
111416
111417// Validate inspects the fields of the type to determine if they are valid.
111418func (s *RemovePrefixListEntry) Validate() error {
111419	invalidParams := request.ErrInvalidParams{Context: "RemovePrefixListEntry"}
111420	if s.Cidr == nil {
111421		invalidParams.Add(request.NewErrParamRequired("Cidr"))
111422	}
111423
111424	if invalidParams.Len() > 0 {
111425		return invalidParams
111426	}
111427	return nil
111428}
111429
111430// SetCidr sets the Cidr field's value.
111431func (s *RemovePrefixListEntry) SetCidr(v string) *RemovePrefixListEntry {
111432	s.Cidr = &v
111433	return s
111434}
111435
111436type ReplaceIamInstanceProfileAssociationInput struct {
111437	_ struct{} `type:"structure"`
111438
111439	// The ID of the existing IAM instance profile association.
111440	//
111441	// AssociationId is a required field
111442	AssociationId *string `type:"string" required:"true"`
111443
111444	// The IAM instance profile.
111445	//
111446	// IamInstanceProfile is a required field
111447	IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
111448}
111449
111450// String returns the string representation
111451func (s ReplaceIamInstanceProfileAssociationInput) String() string {
111452	return awsutil.Prettify(s)
111453}
111454
111455// GoString returns the string representation
111456func (s ReplaceIamInstanceProfileAssociationInput) GoString() string {
111457	return s.String()
111458}
111459
111460// Validate inspects the fields of the type to determine if they are valid.
111461func (s *ReplaceIamInstanceProfileAssociationInput) Validate() error {
111462	invalidParams := request.ErrInvalidParams{Context: "ReplaceIamInstanceProfileAssociationInput"}
111463	if s.AssociationId == nil {
111464		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
111465	}
111466	if s.IamInstanceProfile == nil {
111467		invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
111468	}
111469
111470	if invalidParams.Len() > 0 {
111471		return invalidParams
111472	}
111473	return nil
111474}
111475
111476// SetAssociationId sets the AssociationId field's value.
111477func (s *ReplaceIamInstanceProfileAssociationInput) SetAssociationId(v string) *ReplaceIamInstanceProfileAssociationInput {
111478	s.AssociationId = &v
111479	return s
111480}
111481
111482// SetIamInstanceProfile sets the IamInstanceProfile field's value.
111483func (s *ReplaceIamInstanceProfileAssociationInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *ReplaceIamInstanceProfileAssociationInput {
111484	s.IamInstanceProfile = v
111485	return s
111486}
111487
111488type ReplaceIamInstanceProfileAssociationOutput struct {
111489	_ struct{} `type:"structure"`
111490
111491	// Information about the IAM instance profile association.
111492	IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
111493}
111494
111495// String returns the string representation
111496func (s ReplaceIamInstanceProfileAssociationOutput) String() string {
111497	return awsutil.Prettify(s)
111498}
111499
111500// GoString returns the string representation
111501func (s ReplaceIamInstanceProfileAssociationOutput) GoString() string {
111502	return s.String()
111503}
111504
111505// SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
111506func (s *ReplaceIamInstanceProfileAssociationOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *ReplaceIamInstanceProfileAssociationOutput {
111507	s.IamInstanceProfileAssociation = v
111508	return s
111509}
111510
111511type ReplaceNetworkAclAssociationInput struct {
111512	_ struct{} `type:"structure"`
111513
111514	// The ID of the current association between the original network ACL and the
111515	// subnet.
111516	//
111517	// AssociationId is a required field
111518	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
111519
111520	// Checks whether you have the required permissions for the action, without
111521	// actually making the request, and provides an error response. If you have
111522	// the required permissions, the error response is DryRunOperation. Otherwise,
111523	// it is UnauthorizedOperation.
111524	DryRun *bool `locationName:"dryRun" type:"boolean"`
111525
111526	// The ID of the new network ACL to associate with the subnet.
111527	//
111528	// NetworkAclId is a required field
111529	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
111530}
111531
111532// String returns the string representation
111533func (s ReplaceNetworkAclAssociationInput) String() string {
111534	return awsutil.Prettify(s)
111535}
111536
111537// GoString returns the string representation
111538func (s ReplaceNetworkAclAssociationInput) GoString() string {
111539	return s.String()
111540}
111541
111542// Validate inspects the fields of the type to determine if they are valid.
111543func (s *ReplaceNetworkAclAssociationInput) Validate() error {
111544	invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclAssociationInput"}
111545	if s.AssociationId == nil {
111546		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
111547	}
111548	if s.NetworkAclId == nil {
111549		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
111550	}
111551
111552	if invalidParams.Len() > 0 {
111553		return invalidParams
111554	}
111555	return nil
111556}
111557
111558// SetAssociationId sets the AssociationId field's value.
111559func (s *ReplaceNetworkAclAssociationInput) SetAssociationId(v string) *ReplaceNetworkAclAssociationInput {
111560	s.AssociationId = &v
111561	return s
111562}
111563
111564// SetDryRun sets the DryRun field's value.
111565func (s *ReplaceNetworkAclAssociationInput) SetDryRun(v bool) *ReplaceNetworkAclAssociationInput {
111566	s.DryRun = &v
111567	return s
111568}
111569
111570// SetNetworkAclId sets the NetworkAclId field's value.
111571func (s *ReplaceNetworkAclAssociationInput) SetNetworkAclId(v string) *ReplaceNetworkAclAssociationInput {
111572	s.NetworkAclId = &v
111573	return s
111574}
111575
111576type ReplaceNetworkAclAssociationOutput struct {
111577	_ struct{} `type:"structure"`
111578
111579	// The ID of the new association.
111580	NewAssociationId *string `locationName:"newAssociationId" type:"string"`
111581}
111582
111583// String returns the string representation
111584func (s ReplaceNetworkAclAssociationOutput) String() string {
111585	return awsutil.Prettify(s)
111586}
111587
111588// GoString returns the string representation
111589func (s ReplaceNetworkAclAssociationOutput) GoString() string {
111590	return s.String()
111591}
111592
111593// SetNewAssociationId sets the NewAssociationId field's value.
111594func (s *ReplaceNetworkAclAssociationOutput) SetNewAssociationId(v string) *ReplaceNetworkAclAssociationOutput {
111595	s.NewAssociationId = &v
111596	return s
111597}
111598
111599type ReplaceNetworkAclEntryInput struct {
111600	_ struct{} `type:"structure"`
111601
111602	// The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
111603	CidrBlock *string `locationName:"cidrBlock" type:"string"`
111604
111605	// Checks whether you have the required permissions for the action, without
111606	// actually making the request, and provides an error response. If you have
111607	// the required permissions, the error response is DryRunOperation. Otherwise,
111608	// it is UnauthorizedOperation.
111609	DryRun *bool `locationName:"dryRun" type:"boolean"`
111610
111611	// Indicates whether to replace the egress rule.
111612	//
111613	// Default: If no value is specified, we replace the ingress rule.
111614	//
111615	// Egress is a required field
111616	Egress *bool `locationName:"egress" type:"boolean" required:"true"`
111617
111618	// ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol
111619	// 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.
111620	IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
111621
111622	// The IPv6 network range to allow or deny, in CIDR notation (for example 2001:bd8:1234:1a00::/64).
111623	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
111624
111625	// The ID of the ACL.
111626	//
111627	// NetworkAclId is a required field
111628	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
111629
111630	// TCP or UDP protocols: The range of ports the rule applies to. Required if
111631	// specifying protocol 6 (TCP) or 17 (UDP).
111632	PortRange *PortRange `locationName:"portRange" type:"structure"`
111633
111634	// The protocol number. A value of "-1" means all protocols. If you specify
111635	// "-1" or a protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP),
111636	// traffic on all ports is allowed, regardless of any ports or ICMP types or
111637	// codes that you specify. If you specify protocol "58" (ICMPv6) and specify
111638	// an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless
111639	// of any that you specify. If you specify protocol "58" (ICMPv6) and specify
111640	// an IPv6 CIDR block, you must specify an ICMP type and code.
111641	//
111642	// Protocol is a required field
111643	Protocol *string `locationName:"protocol" type:"string" required:"true"`
111644
111645	// Indicates whether to allow or deny the traffic that matches the rule.
111646	//
111647	// RuleAction is a required field
111648	RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
111649
111650	// The rule number of the entry to replace.
111651	//
111652	// RuleNumber is a required field
111653	RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
111654}
111655
111656// String returns the string representation
111657func (s ReplaceNetworkAclEntryInput) String() string {
111658	return awsutil.Prettify(s)
111659}
111660
111661// GoString returns the string representation
111662func (s ReplaceNetworkAclEntryInput) GoString() string {
111663	return s.String()
111664}
111665
111666// Validate inspects the fields of the type to determine if they are valid.
111667func (s *ReplaceNetworkAclEntryInput) Validate() error {
111668	invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclEntryInput"}
111669	if s.Egress == nil {
111670		invalidParams.Add(request.NewErrParamRequired("Egress"))
111671	}
111672	if s.NetworkAclId == nil {
111673		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
111674	}
111675	if s.Protocol == nil {
111676		invalidParams.Add(request.NewErrParamRequired("Protocol"))
111677	}
111678	if s.RuleAction == nil {
111679		invalidParams.Add(request.NewErrParamRequired("RuleAction"))
111680	}
111681	if s.RuleNumber == nil {
111682		invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
111683	}
111684
111685	if invalidParams.Len() > 0 {
111686		return invalidParams
111687	}
111688	return nil
111689}
111690
111691// SetCidrBlock sets the CidrBlock field's value.
111692func (s *ReplaceNetworkAclEntryInput) SetCidrBlock(v string) *ReplaceNetworkAclEntryInput {
111693	s.CidrBlock = &v
111694	return s
111695}
111696
111697// SetDryRun sets the DryRun field's value.
111698func (s *ReplaceNetworkAclEntryInput) SetDryRun(v bool) *ReplaceNetworkAclEntryInput {
111699	s.DryRun = &v
111700	return s
111701}
111702
111703// SetEgress sets the Egress field's value.
111704func (s *ReplaceNetworkAclEntryInput) SetEgress(v bool) *ReplaceNetworkAclEntryInput {
111705	s.Egress = &v
111706	return s
111707}
111708
111709// SetIcmpTypeCode sets the IcmpTypeCode field's value.
111710func (s *ReplaceNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *ReplaceNetworkAclEntryInput {
111711	s.IcmpTypeCode = v
111712	return s
111713}
111714
111715// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
111716func (s *ReplaceNetworkAclEntryInput) SetIpv6CidrBlock(v string) *ReplaceNetworkAclEntryInput {
111717	s.Ipv6CidrBlock = &v
111718	return s
111719}
111720
111721// SetNetworkAclId sets the NetworkAclId field's value.
111722func (s *ReplaceNetworkAclEntryInput) SetNetworkAclId(v string) *ReplaceNetworkAclEntryInput {
111723	s.NetworkAclId = &v
111724	return s
111725}
111726
111727// SetPortRange sets the PortRange field's value.
111728func (s *ReplaceNetworkAclEntryInput) SetPortRange(v *PortRange) *ReplaceNetworkAclEntryInput {
111729	s.PortRange = v
111730	return s
111731}
111732
111733// SetProtocol sets the Protocol field's value.
111734func (s *ReplaceNetworkAclEntryInput) SetProtocol(v string) *ReplaceNetworkAclEntryInput {
111735	s.Protocol = &v
111736	return s
111737}
111738
111739// SetRuleAction sets the RuleAction field's value.
111740func (s *ReplaceNetworkAclEntryInput) SetRuleAction(v string) *ReplaceNetworkAclEntryInput {
111741	s.RuleAction = &v
111742	return s
111743}
111744
111745// SetRuleNumber sets the RuleNumber field's value.
111746func (s *ReplaceNetworkAclEntryInput) SetRuleNumber(v int64) *ReplaceNetworkAclEntryInput {
111747	s.RuleNumber = &v
111748	return s
111749}
111750
111751type ReplaceNetworkAclEntryOutput struct {
111752	_ struct{} `type:"structure"`
111753}
111754
111755// String returns the string representation
111756func (s ReplaceNetworkAclEntryOutput) String() string {
111757	return awsutil.Prettify(s)
111758}
111759
111760// GoString returns the string representation
111761func (s ReplaceNetworkAclEntryOutput) GoString() string {
111762	return s.String()
111763}
111764
111765// Information about a root volume replacement task.
111766type ReplaceRootVolumeTask struct {
111767	_ struct{} `type:"structure"`
111768
111769	// The time the task completed.
111770	CompleteTime *string `locationName:"completeTime" type:"string"`
111771
111772	// The ID of the instance for which the root volume replacement task was created.
111773	InstanceId *string `locationName:"instanceId" type:"string"`
111774
111775	// The ID of the root volume replacement task.
111776	ReplaceRootVolumeTaskId *string `locationName:"replaceRootVolumeTaskId" type:"string"`
111777
111778	// The time the task was started.
111779	StartTime *string `locationName:"startTime" type:"string"`
111780
111781	// The tags assigned to the task.
111782	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
111783
111784	// The state of the task. The task can be in one of the following states:
111785	//
111786	//    * pending - the replacement volume is being created.
111787	//
111788	//    * in-progress - the original volume is being detached and the replacement
111789	//    volume is being attached.
111790	//
111791	//    * succeeded - the replacement volume has been successfully attached to
111792	//    the instance and the instance is available.
111793	//
111794	//    * failing - the replacement task is in the process of failing.
111795	//
111796	//    * failed - the replacement task has failed but the original root volume
111797	//    is still attached.
111798	//
111799	//    * failing-detached - the replacement task is in the process of failing.
111800	//    The instance might have no root volume attached.
111801	//
111802	//    * failed-detached - the replacement task has failed and the instance has
111803	//    no root volume attached.
111804	TaskState *string `locationName:"taskState" type:"string" enum:"ReplaceRootVolumeTaskState"`
111805}
111806
111807// String returns the string representation
111808func (s ReplaceRootVolumeTask) String() string {
111809	return awsutil.Prettify(s)
111810}
111811
111812// GoString returns the string representation
111813func (s ReplaceRootVolumeTask) GoString() string {
111814	return s.String()
111815}
111816
111817// SetCompleteTime sets the CompleteTime field's value.
111818func (s *ReplaceRootVolumeTask) SetCompleteTime(v string) *ReplaceRootVolumeTask {
111819	s.CompleteTime = &v
111820	return s
111821}
111822
111823// SetInstanceId sets the InstanceId field's value.
111824func (s *ReplaceRootVolumeTask) SetInstanceId(v string) *ReplaceRootVolumeTask {
111825	s.InstanceId = &v
111826	return s
111827}
111828
111829// SetReplaceRootVolumeTaskId sets the ReplaceRootVolumeTaskId field's value.
111830func (s *ReplaceRootVolumeTask) SetReplaceRootVolumeTaskId(v string) *ReplaceRootVolumeTask {
111831	s.ReplaceRootVolumeTaskId = &v
111832	return s
111833}
111834
111835// SetStartTime sets the StartTime field's value.
111836func (s *ReplaceRootVolumeTask) SetStartTime(v string) *ReplaceRootVolumeTask {
111837	s.StartTime = &v
111838	return s
111839}
111840
111841// SetTags sets the Tags field's value.
111842func (s *ReplaceRootVolumeTask) SetTags(v []*Tag) *ReplaceRootVolumeTask {
111843	s.Tags = v
111844	return s
111845}
111846
111847// SetTaskState sets the TaskState field's value.
111848func (s *ReplaceRootVolumeTask) SetTaskState(v string) *ReplaceRootVolumeTask {
111849	s.TaskState = &v
111850	return s
111851}
111852
111853type ReplaceRouteInput struct {
111854	_ struct{} `type:"structure"`
111855
111856	// [IPv4 traffic only] The ID of a carrier gateway.
111857	CarrierGatewayId *string `type:"string"`
111858
111859	// The IPv4 CIDR address block used for the destination match. The value that
111860	// you provide must match the CIDR of an existing route in the table.
111861	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
111862
111863	// The IPv6 CIDR address block used for the destination match. The value that
111864	// you provide must match the CIDR of an existing route in the table.
111865	DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
111866
111867	// The ID of the prefix list for the route.
111868	DestinationPrefixListId *string `type:"string"`
111869
111870	// Checks whether you have the required permissions for the action, without
111871	// actually making the request, and provides an error response. If you have
111872	// the required permissions, the error response is DryRunOperation. Otherwise,
111873	// it is UnauthorizedOperation.
111874	DryRun *bool `locationName:"dryRun" type:"boolean"`
111875
111876	// [IPv6 traffic only] The ID of an egress-only internet gateway.
111877	EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
111878
111879	// The ID of an internet gateway or virtual private gateway.
111880	GatewayId *string `locationName:"gatewayId" type:"string"`
111881
111882	// The ID of a NAT instance in your VPC.
111883	InstanceId *string `locationName:"instanceId" type:"string"`
111884
111885	// The ID of the local gateway.
111886	LocalGatewayId *string `type:"string"`
111887
111888	// Specifies whether to reset the local route to its default target (local).
111889	LocalTarget *bool `type:"boolean"`
111890
111891	// [IPv4 traffic only] The ID of a NAT gateway.
111892	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
111893
111894	// The ID of a network interface.
111895	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
111896
111897	// The ID of the route table.
111898	//
111899	// RouteTableId is a required field
111900	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
111901
111902	// The ID of a transit gateway.
111903	TransitGatewayId *string `type:"string"`
111904
111905	// The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.
111906	VpcEndpointId *string `type:"string"`
111907
111908	// The ID of a VPC peering connection.
111909	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
111910}
111911
111912// String returns the string representation
111913func (s ReplaceRouteInput) String() string {
111914	return awsutil.Prettify(s)
111915}
111916
111917// GoString returns the string representation
111918func (s ReplaceRouteInput) GoString() string {
111919	return s.String()
111920}
111921
111922// Validate inspects the fields of the type to determine if they are valid.
111923func (s *ReplaceRouteInput) Validate() error {
111924	invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteInput"}
111925	if s.RouteTableId == nil {
111926		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
111927	}
111928
111929	if invalidParams.Len() > 0 {
111930		return invalidParams
111931	}
111932	return nil
111933}
111934
111935// SetCarrierGatewayId sets the CarrierGatewayId field's value.
111936func (s *ReplaceRouteInput) SetCarrierGatewayId(v string) *ReplaceRouteInput {
111937	s.CarrierGatewayId = &v
111938	return s
111939}
111940
111941// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
111942func (s *ReplaceRouteInput) SetDestinationCidrBlock(v string) *ReplaceRouteInput {
111943	s.DestinationCidrBlock = &v
111944	return s
111945}
111946
111947// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
111948func (s *ReplaceRouteInput) SetDestinationIpv6CidrBlock(v string) *ReplaceRouteInput {
111949	s.DestinationIpv6CidrBlock = &v
111950	return s
111951}
111952
111953// SetDestinationPrefixListId sets the DestinationPrefixListId field's value.
111954func (s *ReplaceRouteInput) SetDestinationPrefixListId(v string) *ReplaceRouteInput {
111955	s.DestinationPrefixListId = &v
111956	return s
111957}
111958
111959// SetDryRun sets the DryRun field's value.
111960func (s *ReplaceRouteInput) SetDryRun(v bool) *ReplaceRouteInput {
111961	s.DryRun = &v
111962	return s
111963}
111964
111965// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
111966func (s *ReplaceRouteInput) SetEgressOnlyInternetGatewayId(v string) *ReplaceRouteInput {
111967	s.EgressOnlyInternetGatewayId = &v
111968	return s
111969}
111970
111971// SetGatewayId sets the GatewayId field's value.
111972func (s *ReplaceRouteInput) SetGatewayId(v string) *ReplaceRouteInput {
111973	s.GatewayId = &v
111974	return s
111975}
111976
111977// SetInstanceId sets the InstanceId field's value.
111978func (s *ReplaceRouteInput) SetInstanceId(v string) *ReplaceRouteInput {
111979	s.InstanceId = &v
111980	return s
111981}
111982
111983// SetLocalGatewayId sets the LocalGatewayId field's value.
111984func (s *ReplaceRouteInput) SetLocalGatewayId(v string) *ReplaceRouteInput {
111985	s.LocalGatewayId = &v
111986	return s
111987}
111988
111989// SetLocalTarget sets the LocalTarget field's value.
111990func (s *ReplaceRouteInput) SetLocalTarget(v bool) *ReplaceRouteInput {
111991	s.LocalTarget = &v
111992	return s
111993}
111994
111995// SetNatGatewayId sets the NatGatewayId field's value.
111996func (s *ReplaceRouteInput) SetNatGatewayId(v string) *ReplaceRouteInput {
111997	s.NatGatewayId = &v
111998	return s
111999}
112000
112001// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
112002func (s *ReplaceRouteInput) SetNetworkInterfaceId(v string) *ReplaceRouteInput {
112003	s.NetworkInterfaceId = &v
112004	return s
112005}
112006
112007// SetRouteTableId sets the RouteTableId field's value.
112008func (s *ReplaceRouteInput) SetRouteTableId(v string) *ReplaceRouteInput {
112009	s.RouteTableId = &v
112010	return s
112011}
112012
112013// SetTransitGatewayId sets the TransitGatewayId field's value.
112014func (s *ReplaceRouteInput) SetTransitGatewayId(v string) *ReplaceRouteInput {
112015	s.TransitGatewayId = &v
112016	return s
112017}
112018
112019// SetVpcEndpointId sets the VpcEndpointId field's value.
112020func (s *ReplaceRouteInput) SetVpcEndpointId(v string) *ReplaceRouteInput {
112021	s.VpcEndpointId = &v
112022	return s
112023}
112024
112025// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
112026func (s *ReplaceRouteInput) SetVpcPeeringConnectionId(v string) *ReplaceRouteInput {
112027	s.VpcPeeringConnectionId = &v
112028	return s
112029}
112030
112031type ReplaceRouteOutput struct {
112032	_ struct{} `type:"structure"`
112033}
112034
112035// String returns the string representation
112036func (s ReplaceRouteOutput) String() string {
112037	return awsutil.Prettify(s)
112038}
112039
112040// GoString returns the string representation
112041func (s ReplaceRouteOutput) GoString() string {
112042	return s.String()
112043}
112044
112045type ReplaceRouteTableAssociationInput struct {
112046	_ struct{} `type:"structure"`
112047
112048	// The association ID.
112049	//
112050	// AssociationId is a required field
112051	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
112052
112053	// Checks whether you have the required permissions for the action, without
112054	// actually making the request, and provides an error response. If you have
112055	// the required permissions, the error response is DryRunOperation. Otherwise,
112056	// it is UnauthorizedOperation.
112057	DryRun *bool `locationName:"dryRun" type:"boolean"`
112058
112059	// The ID of the new route table to associate with the subnet.
112060	//
112061	// RouteTableId is a required field
112062	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
112063}
112064
112065// String returns the string representation
112066func (s ReplaceRouteTableAssociationInput) String() string {
112067	return awsutil.Prettify(s)
112068}
112069
112070// GoString returns the string representation
112071func (s ReplaceRouteTableAssociationInput) GoString() string {
112072	return s.String()
112073}
112074
112075// Validate inspects the fields of the type to determine if they are valid.
112076func (s *ReplaceRouteTableAssociationInput) Validate() error {
112077	invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteTableAssociationInput"}
112078	if s.AssociationId == nil {
112079		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
112080	}
112081	if s.RouteTableId == nil {
112082		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
112083	}
112084
112085	if invalidParams.Len() > 0 {
112086		return invalidParams
112087	}
112088	return nil
112089}
112090
112091// SetAssociationId sets the AssociationId field's value.
112092func (s *ReplaceRouteTableAssociationInput) SetAssociationId(v string) *ReplaceRouteTableAssociationInput {
112093	s.AssociationId = &v
112094	return s
112095}
112096
112097// SetDryRun sets the DryRun field's value.
112098func (s *ReplaceRouteTableAssociationInput) SetDryRun(v bool) *ReplaceRouteTableAssociationInput {
112099	s.DryRun = &v
112100	return s
112101}
112102
112103// SetRouteTableId sets the RouteTableId field's value.
112104func (s *ReplaceRouteTableAssociationInput) SetRouteTableId(v string) *ReplaceRouteTableAssociationInput {
112105	s.RouteTableId = &v
112106	return s
112107}
112108
112109type ReplaceRouteTableAssociationOutput struct {
112110	_ struct{} `type:"structure"`
112111
112112	// The state of the association.
112113	AssociationState *RouteTableAssociationState `locationName:"associationState" type:"structure"`
112114
112115	// The ID of the new association.
112116	NewAssociationId *string `locationName:"newAssociationId" type:"string"`
112117}
112118
112119// String returns the string representation
112120func (s ReplaceRouteTableAssociationOutput) String() string {
112121	return awsutil.Prettify(s)
112122}
112123
112124// GoString returns the string representation
112125func (s ReplaceRouteTableAssociationOutput) GoString() string {
112126	return s.String()
112127}
112128
112129// SetAssociationState sets the AssociationState field's value.
112130func (s *ReplaceRouteTableAssociationOutput) SetAssociationState(v *RouteTableAssociationState) *ReplaceRouteTableAssociationOutput {
112131	s.AssociationState = v
112132	return s
112133}
112134
112135// SetNewAssociationId sets the NewAssociationId field's value.
112136func (s *ReplaceRouteTableAssociationOutput) SetNewAssociationId(v string) *ReplaceRouteTableAssociationOutput {
112137	s.NewAssociationId = &v
112138	return s
112139}
112140
112141type ReplaceTransitGatewayRouteInput struct {
112142	_ struct{} `type:"structure"`
112143
112144	// Indicates whether traffic matching this route is to be dropped.
112145	Blackhole *bool `type:"boolean"`
112146
112147	// The CIDR range used for the destination match. Routing decisions are based
112148	// on the most specific match.
112149	//
112150	// DestinationCidrBlock is a required field
112151	DestinationCidrBlock *string `type:"string" required:"true"`
112152
112153	// Checks whether you have the required permissions for the action, without
112154	// actually making the request, and provides an error response. If you have
112155	// the required permissions, the error response is DryRunOperation. Otherwise,
112156	// it is UnauthorizedOperation.
112157	DryRun *bool `type:"boolean"`
112158
112159	// The ID of the attachment.
112160	TransitGatewayAttachmentId *string `type:"string"`
112161
112162	// The ID of the route table.
112163	//
112164	// TransitGatewayRouteTableId is a required field
112165	TransitGatewayRouteTableId *string `type:"string" required:"true"`
112166}
112167
112168// String returns the string representation
112169func (s ReplaceTransitGatewayRouteInput) String() string {
112170	return awsutil.Prettify(s)
112171}
112172
112173// GoString returns the string representation
112174func (s ReplaceTransitGatewayRouteInput) GoString() string {
112175	return s.String()
112176}
112177
112178// Validate inspects the fields of the type to determine if they are valid.
112179func (s *ReplaceTransitGatewayRouteInput) Validate() error {
112180	invalidParams := request.ErrInvalidParams{Context: "ReplaceTransitGatewayRouteInput"}
112181	if s.DestinationCidrBlock == nil {
112182		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
112183	}
112184	if s.TransitGatewayRouteTableId == nil {
112185		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
112186	}
112187
112188	if invalidParams.Len() > 0 {
112189		return invalidParams
112190	}
112191	return nil
112192}
112193
112194// SetBlackhole sets the Blackhole field's value.
112195func (s *ReplaceTransitGatewayRouteInput) SetBlackhole(v bool) *ReplaceTransitGatewayRouteInput {
112196	s.Blackhole = &v
112197	return s
112198}
112199
112200// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
112201func (s *ReplaceTransitGatewayRouteInput) SetDestinationCidrBlock(v string) *ReplaceTransitGatewayRouteInput {
112202	s.DestinationCidrBlock = &v
112203	return s
112204}
112205
112206// SetDryRun sets the DryRun field's value.
112207func (s *ReplaceTransitGatewayRouteInput) SetDryRun(v bool) *ReplaceTransitGatewayRouteInput {
112208	s.DryRun = &v
112209	return s
112210}
112211
112212// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
112213func (s *ReplaceTransitGatewayRouteInput) SetTransitGatewayAttachmentId(v string) *ReplaceTransitGatewayRouteInput {
112214	s.TransitGatewayAttachmentId = &v
112215	return s
112216}
112217
112218// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
112219func (s *ReplaceTransitGatewayRouteInput) SetTransitGatewayRouteTableId(v string) *ReplaceTransitGatewayRouteInput {
112220	s.TransitGatewayRouteTableId = &v
112221	return s
112222}
112223
112224type ReplaceTransitGatewayRouteOutput struct {
112225	_ struct{} `type:"structure"`
112226
112227	// Information about the modified route.
112228	Route *TransitGatewayRoute `locationName:"route" type:"structure"`
112229}
112230
112231// String returns the string representation
112232func (s ReplaceTransitGatewayRouteOutput) String() string {
112233	return awsutil.Prettify(s)
112234}
112235
112236// GoString returns the string representation
112237func (s ReplaceTransitGatewayRouteOutput) GoString() string {
112238	return s.String()
112239}
112240
112241// SetRoute sets the Route field's value.
112242func (s *ReplaceTransitGatewayRouteOutput) SetRoute(v *TransitGatewayRoute) *ReplaceTransitGatewayRouteOutput {
112243	s.Route = v
112244	return s
112245}
112246
112247type ReportInstanceStatusInput struct {
112248	_ struct{} `type:"structure"`
112249
112250	// Descriptive text about the health state of your instance.
112251	Description *string `locationName:"description" type:"string"`
112252
112253	// Checks whether you have the required permissions for the action, without
112254	// actually making the request, and provides an error response. If you have
112255	// the required permissions, the error response is DryRunOperation. Otherwise,
112256	// it is UnauthorizedOperation.
112257	DryRun *bool `locationName:"dryRun" type:"boolean"`
112258
112259	// The time at which the reported instance health state ended.
112260	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
112261
112262	// The instances.
112263	//
112264	// Instances is a required field
112265	Instances []*string `locationName:"instanceId" locationNameList:"InstanceId" type:"list" required:"true"`
112266
112267	// The reason codes that describe the health state of your instance.
112268	//
112269	//    * instance-stuck-in-state: My instance is stuck in a state.
112270	//
112271	//    * unresponsive: My instance is unresponsive.
112272	//
112273	//    * not-accepting-credentials: My instance is not accepting my credentials.
112274	//
112275	//    * password-not-available: A password is not available for my instance.
112276	//
112277	//    * performance-network: My instance is experiencing performance problems
112278	//    that I believe are network related.
112279	//
112280	//    * performance-instance-store: My instance is experiencing performance
112281	//    problems that I believe are related to the instance stores.
112282	//
112283	//    * performance-ebs-volume: My instance is experiencing performance problems
112284	//    that I believe are related to an EBS volume.
112285	//
112286	//    * performance-other: My instance is experiencing performance problems.
112287	//
112288	//    * other: [explain using the description parameter]
112289	//
112290	// ReasonCodes is a required field
112291	ReasonCodes []*string `locationName:"reasonCode" locationNameList:"item" type:"list" required:"true"`
112292
112293	// The time at which the reported instance health state began.
112294	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
112295
112296	// The status of all instances listed.
112297	//
112298	// Status is a required field
112299	Status *string `locationName:"status" type:"string" required:"true" enum:"ReportStatusType"`
112300}
112301
112302// String returns the string representation
112303func (s ReportInstanceStatusInput) String() string {
112304	return awsutil.Prettify(s)
112305}
112306
112307// GoString returns the string representation
112308func (s ReportInstanceStatusInput) GoString() string {
112309	return s.String()
112310}
112311
112312// Validate inspects the fields of the type to determine if they are valid.
112313func (s *ReportInstanceStatusInput) Validate() error {
112314	invalidParams := request.ErrInvalidParams{Context: "ReportInstanceStatusInput"}
112315	if s.Instances == nil {
112316		invalidParams.Add(request.NewErrParamRequired("Instances"))
112317	}
112318	if s.ReasonCodes == nil {
112319		invalidParams.Add(request.NewErrParamRequired("ReasonCodes"))
112320	}
112321	if s.Status == nil {
112322		invalidParams.Add(request.NewErrParamRequired("Status"))
112323	}
112324
112325	if invalidParams.Len() > 0 {
112326		return invalidParams
112327	}
112328	return nil
112329}
112330
112331// SetDescription sets the Description field's value.
112332func (s *ReportInstanceStatusInput) SetDescription(v string) *ReportInstanceStatusInput {
112333	s.Description = &v
112334	return s
112335}
112336
112337// SetDryRun sets the DryRun field's value.
112338func (s *ReportInstanceStatusInput) SetDryRun(v bool) *ReportInstanceStatusInput {
112339	s.DryRun = &v
112340	return s
112341}
112342
112343// SetEndTime sets the EndTime field's value.
112344func (s *ReportInstanceStatusInput) SetEndTime(v time.Time) *ReportInstanceStatusInput {
112345	s.EndTime = &v
112346	return s
112347}
112348
112349// SetInstances sets the Instances field's value.
112350func (s *ReportInstanceStatusInput) SetInstances(v []*string) *ReportInstanceStatusInput {
112351	s.Instances = v
112352	return s
112353}
112354
112355// SetReasonCodes sets the ReasonCodes field's value.
112356func (s *ReportInstanceStatusInput) SetReasonCodes(v []*string) *ReportInstanceStatusInput {
112357	s.ReasonCodes = v
112358	return s
112359}
112360
112361// SetStartTime sets the StartTime field's value.
112362func (s *ReportInstanceStatusInput) SetStartTime(v time.Time) *ReportInstanceStatusInput {
112363	s.StartTime = &v
112364	return s
112365}
112366
112367// SetStatus sets the Status field's value.
112368func (s *ReportInstanceStatusInput) SetStatus(v string) *ReportInstanceStatusInput {
112369	s.Status = &v
112370	return s
112371}
112372
112373type ReportInstanceStatusOutput struct {
112374	_ struct{} `type:"structure"`
112375}
112376
112377// String returns the string representation
112378func (s ReportInstanceStatusOutput) String() string {
112379	return awsutil.Prettify(s)
112380}
112381
112382// GoString returns the string representation
112383func (s ReportInstanceStatusOutput) GoString() string {
112384	return s.String()
112385}
112386
112387// The information to include in the launch template.
112388type RequestLaunchTemplateData struct {
112389	_ struct{} `type:"structure"`
112390
112391	// The block device mapping.
112392	BlockDeviceMappings []*LaunchTemplateBlockDeviceMappingRequest `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
112393
112394	// The Capacity Reservation targeting option. If you do not specify this parameter,
112395	// the instance's Capacity Reservation preference defaults to open, which enables
112396	// it to run in any open Capacity Reservation that has matching attributes (instance
112397	// type, platform, Availability Zone).
112398	CapacityReservationSpecification *LaunchTemplateCapacityReservationSpecificationRequest `type:"structure"`
112399
112400	// The CPU options for the instance. For more information, see Optimizing CPU
112401	// Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html)
112402	// in the Amazon Elastic Compute Cloud User Guide.
112403	CpuOptions *LaunchTemplateCpuOptionsRequest `type:"structure"`
112404
112405	// The credit option for CPU usage of the instance. Valid for T2, T3, or T3a
112406	// instances only.
112407	CreditSpecification *CreditSpecificationRequest `type:"structure"`
112408
112409	// If you set this parameter to true, you can't terminate the instance using
112410	// the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute
112411	// after launch, use ModifyInstanceAttribute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html).
112412	// Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate,
112413	// you can terminate the instance by running the shutdown command from the instance.
112414	DisableApiTermination *bool `type:"boolean"`
112415
112416	// Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
112417	// provides dedicated throughput to Amazon EBS and an optimized configuration
112418	// stack to provide optimal Amazon EBS I/O performance. This optimization isn't
112419	// available with all instance types. Additional usage charges apply when using
112420	// an EBS-optimized instance.
112421	EbsOptimized *bool `type:"boolean"`
112422
112423	// An elastic GPU to associate with the instance.
112424	ElasticGpuSpecifications []*ElasticGpuSpecification `locationName:"ElasticGpuSpecification" locationNameList:"ElasticGpuSpecification" type:"list"`
112425
112426	// The elastic inference accelerator for the instance.
112427	ElasticInferenceAccelerators []*LaunchTemplateElasticInferenceAccelerator `locationName:"ElasticInferenceAccelerator" locationNameList:"item" type:"list"`
112428
112429	// Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.
112430	// For more information, see What is Amazon Web Services Nitro Enclaves? (https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html)
112431	// in the Amazon Web Services Nitro Enclaves User Guide.
112432	//
112433	// You can't enable Amazon Web Services Nitro Enclaves and hibernation on the
112434	// same instance.
112435	EnclaveOptions *LaunchTemplateEnclaveOptionsRequest `type:"structure"`
112436
112437	// Indicates whether an instance is enabled for hibernation. This parameter
112438	// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
112439	// For more information, see Hibernate your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
112440	// in the Amazon Elastic Compute Cloud User Guide.
112441	HibernationOptions *LaunchTemplateHibernationOptionsRequest `type:"structure"`
112442
112443	// The name or Amazon Resource Name (ARN) of an IAM instance profile.
112444	IamInstanceProfile *LaunchTemplateIamInstanceProfileSpecificationRequest `type:"structure"`
112445
112446	// The ID of the AMI.
112447	ImageId *string `type:"string"`
112448
112449	// Indicates whether an instance stops or terminates when you initiate shutdown
112450	// from the instance (using the operating system command for system shutdown).
112451	//
112452	// Default: stop
112453	InstanceInitiatedShutdownBehavior *string `type:"string" enum:"ShutdownBehavior"`
112454
112455	// The market (purchasing) option for the instances.
112456	InstanceMarketOptions *LaunchTemplateInstanceMarketOptionsRequest `type:"structure"`
112457
112458	// The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
112459	// in the Amazon Elastic Compute Cloud User Guide.
112460	InstanceType *string `type:"string" enum:"InstanceType"`
112461
112462	// The ID of the kernel.
112463	//
112464	// We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
112465	// information, see User Provided Kernels (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
112466	// in the Amazon Elastic Compute Cloud User Guide.
112467	KernelId *string `type:"string"`
112468
112469	// 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)
112470	// or ImportKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html).
112471	//
112472	// If you do not specify a key pair, you can't connect to the instance unless
112473	// you choose an AMI that is configured to allow users another way to log in.
112474	KeyName *string `type:"string"`
112475
112476	// The license configurations.
112477	LicenseSpecifications []*LaunchTemplateLicenseConfigurationRequest `locationName:"LicenseSpecification" locationNameList:"item" type:"list"`
112478
112479	// The metadata options for the instance. For more information, see Instance
112480	// metadata and user data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
112481	// in the Amazon Elastic Compute Cloud User Guide.
112482	MetadataOptions *LaunchTemplateInstanceMetadataOptionsRequest `type:"structure"`
112483
112484	// The monitoring for the instance.
112485	Monitoring *LaunchTemplatesMonitoringRequest `type:"structure"`
112486
112487	// One or more network interfaces. If you specify a network interface, you must
112488	// specify any security groups and subnets as part of the network interface.
112489	NetworkInterfaces []*LaunchTemplateInstanceNetworkInterfaceSpecificationRequest `locationName:"NetworkInterface" locationNameList:"InstanceNetworkInterfaceSpecification" type:"list"`
112490
112491	// The placement for the instance.
112492	Placement *LaunchTemplatePlacementRequest `type:"structure"`
112493
112494	// The ID of the RAM disk.
112495	//
112496	// We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
112497	// information, see User Provided Kernels (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
112498	// in the Amazon Elastic Compute Cloud User Guide.
112499	RamDiskId *string `type:"string"`
112500
112501	// One or more security group IDs. You can create a security group using CreateSecurityGroup
112502	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html).
112503	// You cannot specify both a security group ID and security name in the same
112504	// request.
112505	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
112506
112507	// [EC2-Classic, default VPC] One or more security group names. For a nondefault
112508	// VPC, you must use security group IDs instead. You cannot specify both a security
112509	// group ID and security name in the same request.
112510	SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
112511
112512	// The tags to apply to the resources during launch. You can only tag instances
112513	// and volumes on launch. The specified tags are applied to all instances or
112514	// volumes that are created during launch. To tag a resource after it has been
112515	// created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
112516	TagSpecifications []*LaunchTemplateTagSpecificationRequest `locationName:"TagSpecification" locationNameList:"LaunchTemplateTagSpecificationRequest" type:"list"`
112517
112518	// The user data to make available to the instance. You must provide base64-encoded
112519	// text. User data is limited to 16 KB. For more information, see Running Commands
112520	// on Your Linux Instance at Launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
112521	// (Linux) or Adding User Data (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
112522	// (Windows).
112523	//
112524	// If you are creating the launch template for use with Batch, the user data
112525	// must be provided in the MIME multi-part archive format (https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive).
112526	// For more information, see Amazon EC2 user data in launch templates (https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html)
112527	// in the Batch User Guide.
112528	UserData *string `type:"string"`
112529}
112530
112531// String returns the string representation
112532func (s RequestLaunchTemplateData) String() string {
112533	return awsutil.Prettify(s)
112534}
112535
112536// GoString returns the string representation
112537func (s RequestLaunchTemplateData) GoString() string {
112538	return s.String()
112539}
112540
112541// Validate inspects the fields of the type to determine if they are valid.
112542func (s *RequestLaunchTemplateData) Validate() error {
112543	invalidParams := request.ErrInvalidParams{Context: "RequestLaunchTemplateData"}
112544	if s.CreditSpecification != nil {
112545		if err := s.CreditSpecification.Validate(); err != nil {
112546			invalidParams.AddNested("CreditSpecification", err.(request.ErrInvalidParams))
112547		}
112548	}
112549	if s.ElasticGpuSpecifications != nil {
112550		for i, v := range s.ElasticGpuSpecifications {
112551			if v == nil {
112552				continue
112553			}
112554			if err := v.Validate(); err != nil {
112555				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticGpuSpecifications", i), err.(request.ErrInvalidParams))
112556			}
112557		}
112558	}
112559	if s.ElasticInferenceAccelerators != nil {
112560		for i, v := range s.ElasticInferenceAccelerators {
112561			if v == nil {
112562				continue
112563			}
112564			if err := v.Validate(); err != nil {
112565				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticInferenceAccelerators", i), err.(request.ErrInvalidParams))
112566			}
112567		}
112568	}
112569
112570	if invalidParams.Len() > 0 {
112571		return invalidParams
112572	}
112573	return nil
112574}
112575
112576// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
112577func (s *RequestLaunchTemplateData) SetBlockDeviceMappings(v []*LaunchTemplateBlockDeviceMappingRequest) *RequestLaunchTemplateData {
112578	s.BlockDeviceMappings = v
112579	return s
112580}
112581
112582// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
112583func (s *RequestLaunchTemplateData) SetCapacityReservationSpecification(v *LaunchTemplateCapacityReservationSpecificationRequest) *RequestLaunchTemplateData {
112584	s.CapacityReservationSpecification = v
112585	return s
112586}
112587
112588// SetCpuOptions sets the CpuOptions field's value.
112589func (s *RequestLaunchTemplateData) SetCpuOptions(v *LaunchTemplateCpuOptionsRequest) *RequestLaunchTemplateData {
112590	s.CpuOptions = v
112591	return s
112592}
112593
112594// SetCreditSpecification sets the CreditSpecification field's value.
112595func (s *RequestLaunchTemplateData) SetCreditSpecification(v *CreditSpecificationRequest) *RequestLaunchTemplateData {
112596	s.CreditSpecification = v
112597	return s
112598}
112599
112600// SetDisableApiTermination sets the DisableApiTermination field's value.
112601func (s *RequestLaunchTemplateData) SetDisableApiTermination(v bool) *RequestLaunchTemplateData {
112602	s.DisableApiTermination = &v
112603	return s
112604}
112605
112606// SetEbsOptimized sets the EbsOptimized field's value.
112607func (s *RequestLaunchTemplateData) SetEbsOptimized(v bool) *RequestLaunchTemplateData {
112608	s.EbsOptimized = &v
112609	return s
112610}
112611
112612// SetElasticGpuSpecifications sets the ElasticGpuSpecifications field's value.
112613func (s *RequestLaunchTemplateData) SetElasticGpuSpecifications(v []*ElasticGpuSpecification) *RequestLaunchTemplateData {
112614	s.ElasticGpuSpecifications = v
112615	return s
112616}
112617
112618// SetElasticInferenceAccelerators sets the ElasticInferenceAccelerators field's value.
112619func (s *RequestLaunchTemplateData) SetElasticInferenceAccelerators(v []*LaunchTemplateElasticInferenceAccelerator) *RequestLaunchTemplateData {
112620	s.ElasticInferenceAccelerators = v
112621	return s
112622}
112623
112624// SetEnclaveOptions sets the EnclaveOptions field's value.
112625func (s *RequestLaunchTemplateData) SetEnclaveOptions(v *LaunchTemplateEnclaveOptionsRequest) *RequestLaunchTemplateData {
112626	s.EnclaveOptions = v
112627	return s
112628}
112629
112630// SetHibernationOptions sets the HibernationOptions field's value.
112631func (s *RequestLaunchTemplateData) SetHibernationOptions(v *LaunchTemplateHibernationOptionsRequest) *RequestLaunchTemplateData {
112632	s.HibernationOptions = v
112633	return s
112634}
112635
112636// SetIamInstanceProfile sets the IamInstanceProfile field's value.
112637func (s *RequestLaunchTemplateData) SetIamInstanceProfile(v *LaunchTemplateIamInstanceProfileSpecificationRequest) *RequestLaunchTemplateData {
112638	s.IamInstanceProfile = v
112639	return s
112640}
112641
112642// SetImageId sets the ImageId field's value.
112643func (s *RequestLaunchTemplateData) SetImageId(v string) *RequestLaunchTemplateData {
112644	s.ImageId = &v
112645	return s
112646}
112647
112648// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
112649func (s *RequestLaunchTemplateData) SetInstanceInitiatedShutdownBehavior(v string) *RequestLaunchTemplateData {
112650	s.InstanceInitiatedShutdownBehavior = &v
112651	return s
112652}
112653
112654// SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
112655func (s *RequestLaunchTemplateData) SetInstanceMarketOptions(v *LaunchTemplateInstanceMarketOptionsRequest) *RequestLaunchTemplateData {
112656	s.InstanceMarketOptions = v
112657	return s
112658}
112659
112660// SetInstanceType sets the InstanceType field's value.
112661func (s *RequestLaunchTemplateData) SetInstanceType(v string) *RequestLaunchTemplateData {
112662	s.InstanceType = &v
112663	return s
112664}
112665
112666// SetKernelId sets the KernelId field's value.
112667func (s *RequestLaunchTemplateData) SetKernelId(v string) *RequestLaunchTemplateData {
112668	s.KernelId = &v
112669	return s
112670}
112671
112672// SetKeyName sets the KeyName field's value.
112673func (s *RequestLaunchTemplateData) SetKeyName(v string) *RequestLaunchTemplateData {
112674	s.KeyName = &v
112675	return s
112676}
112677
112678// SetLicenseSpecifications sets the LicenseSpecifications field's value.
112679func (s *RequestLaunchTemplateData) SetLicenseSpecifications(v []*LaunchTemplateLicenseConfigurationRequest) *RequestLaunchTemplateData {
112680	s.LicenseSpecifications = v
112681	return s
112682}
112683
112684// SetMetadataOptions sets the MetadataOptions field's value.
112685func (s *RequestLaunchTemplateData) SetMetadataOptions(v *LaunchTemplateInstanceMetadataOptionsRequest) *RequestLaunchTemplateData {
112686	s.MetadataOptions = v
112687	return s
112688}
112689
112690// SetMonitoring sets the Monitoring field's value.
112691func (s *RequestLaunchTemplateData) SetMonitoring(v *LaunchTemplatesMonitoringRequest) *RequestLaunchTemplateData {
112692	s.Monitoring = v
112693	return s
112694}
112695
112696// SetNetworkInterfaces sets the NetworkInterfaces field's value.
112697func (s *RequestLaunchTemplateData) SetNetworkInterfaces(v []*LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) *RequestLaunchTemplateData {
112698	s.NetworkInterfaces = v
112699	return s
112700}
112701
112702// SetPlacement sets the Placement field's value.
112703func (s *RequestLaunchTemplateData) SetPlacement(v *LaunchTemplatePlacementRequest) *RequestLaunchTemplateData {
112704	s.Placement = v
112705	return s
112706}
112707
112708// SetRamDiskId sets the RamDiskId field's value.
112709func (s *RequestLaunchTemplateData) SetRamDiskId(v string) *RequestLaunchTemplateData {
112710	s.RamDiskId = &v
112711	return s
112712}
112713
112714// SetSecurityGroupIds sets the SecurityGroupIds field's value.
112715func (s *RequestLaunchTemplateData) SetSecurityGroupIds(v []*string) *RequestLaunchTemplateData {
112716	s.SecurityGroupIds = v
112717	return s
112718}
112719
112720// SetSecurityGroups sets the SecurityGroups field's value.
112721func (s *RequestLaunchTemplateData) SetSecurityGroups(v []*string) *RequestLaunchTemplateData {
112722	s.SecurityGroups = v
112723	return s
112724}
112725
112726// SetTagSpecifications sets the TagSpecifications field's value.
112727func (s *RequestLaunchTemplateData) SetTagSpecifications(v []*LaunchTemplateTagSpecificationRequest) *RequestLaunchTemplateData {
112728	s.TagSpecifications = v
112729	return s
112730}
112731
112732// SetUserData sets the UserData field's value.
112733func (s *RequestLaunchTemplateData) SetUserData(v string) *RequestLaunchTemplateData {
112734	s.UserData = &v
112735	return s
112736}
112737
112738// Contains the parameters for RequestSpotFleet.
112739type RequestSpotFleetInput struct {
112740	_ struct{} `type:"structure"`
112741
112742	// Checks whether you have the required permissions for the action, without
112743	// actually making the request, and provides an error response. If you have
112744	// the required permissions, the error response is DryRunOperation. Otherwise,
112745	// it is UnauthorizedOperation.
112746	DryRun *bool `locationName:"dryRun" type:"boolean"`
112747
112748	// The configuration for the Spot Fleet request.
112749	//
112750	// SpotFleetRequestConfig is a required field
112751	SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
112752}
112753
112754// String returns the string representation
112755func (s RequestSpotFleetInput) String() string {
112756	return awsutil.Prettify(s)
112757}
112758
112759// GoString returns the string representation
112760func (s RequestSpotFleetInput) GoString() string {
112761	return s.String()
112762}
112763
112764// Validate inspects the fields of the type to determine if they are valid.
112765func (s *RequestSpotFleetInput) Validate() error {
112766	invalidParams := request.ErrInvalidParams{Context: "RequestSpotFleetInput"}
112767	if s.SpotFleetRequestConfig == nil {
112768		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestConfig"))
112769	}
112770	if s.SpotFleetRequestConfig != nil {
112771		if err := s.SpotFleetRequestConfig.Validate(); err != nil {
112772			invalidParams.AddNested("SpotFleetRequestConfig", err.(request.ErrInvalidParams))
112773		}
112774	}
112775
112776	if invalidParams.Len() > 0 {
112777		return invalidParams
112778	}
112779	return nil
112780}
112781
112782// SetDryRun sets the DryRun field's value.
112783func (s *RequestSpotFleetInput) SetDryRun(v bool) *RequestSpotFleetInput {
112784	s.DryRun = &v
112785	return s
112786}
112787
112788// SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
112789func (s *RequestSpotFleetInput) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *RequestSpotFleetInput {
112790	s.SpotFleetRequestConfig = v
112791	return s
112792}
112793
112794// Contains the output of RequestSpotFleet.
112795type RequestSpotFleetOutput struct {
112796	_ struct{} `type:"structure"`
112797
112798	// The ID of the Spot Fleet request.
112799	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
112800}
112801
112802// String returns the string representation
112803func (s RequestSpotFleetOutput) String() string {
112804	return awsutil.Prettify(s)
112805}
112806
112807// GoString returns the string representation
112808func (s RequestSpotFleetOutput) GoString() string {
112809	return s.String()
112810}
112811
112812// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
112813func (s *RequestSpotFleetOutput) SetSpotFleetRequestId(v string) *RequestSpotFleetOutput {
112814	s.SpotFleetRequestId = &v
112815	return s
112816}
112817
112818// Contains the parameters for RequestSpotInstances.
112819type RequestSpotInstancesInput struct {
112820	_ struct{} `type:"structure"`
112821
112822	// The user-specified name for a logical grouping of requests.
112823	//
112824	// When you specify an Availability Zone group in a Spot Instance request, all
112825	// Spot Instances in the request are launched in the same Availability Zone.
112826	// Instance proximity is maintained with this parameter, but the choice of Availability
112827	// Zone is not. The group applies only to requests for Spot Instances of the
112828	// same instance type. Any additional Spot Instance requests that are specified
112829	// with the same Availability Zone group name are launched in that same Availability
112830	// Zone, as long as at least one instance from the group is still active.
112831	//
112832	// If there is no active instance running in the Availability Zone group that
112833	// you specify for a new Spot Instance request (all instances are terminated,
112834	// the request is expired, or the maximum price you specified falls below current
112835	// Spot price), then Amazon EC2 launches the instance in any Availability Zone
112836	// where the constraint can be met. Consequently, the subsequent set of Spot
112837	// Instances could be placed in a different zone from the original request,
112838	// even if you specified the same Availability Zone group.
112839	//
112840	// Default: Instances are launched in any available Availability Zone.
112841	AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
112842
112843	// Deprecated.
112844	BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
112845
112846	// Unique, case-sensitive identifier that you provide to ensure the idempotency
112847	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
112848	// in the Amazon EC2 User Guide for Linux Instances.
112849	ClientToken *string `locationName:"clientToken" type:"string"`
112850
112851	// Checks whether you have the required permissions for the action, without
112852	// actually making the request, and provides an error response. If you have
112853	// the required permissions, the error response is DryRunOperation. Otherwise,
112854	// it is UnauthorizedOperation.
112855	DryRun *bool `locationName:"dryRun" type:"boolean"`
112856
112857	// The maximum number of Spot Instances to launch.
112858	//
112859	// Default: 1
112860	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
112861
112862	// The behavior when a Spot Instance is interrupted. The default is terminate.
112863	InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
112864
112865	// The instance launch group. Launch groups are Spot Instances that launch together
112866	// and terminate together.
112867	//
112868	// Default: Instances are launched and terminated individually
112869	LaunchGroup *string `locationName:"launchGroup" type:"string"`
112870
112871	// The launch specification.
112872	LaunchSpecification *RequestSpotLaunchSpecification `type:"structure"`
112873
112874	// The maximum price per hour that you are willing to pay for a Spot Instance.
112875	// The default is the On-Demand price.
112876	SpotPrice *string `locationName:"spotPrice" type:"string"`
112877
112878	// The key-value pair for tagging the Spot Instance request on creation. The
112879	// value for ResourceType must be spot-instances-request, otherwise the Spot
112880	// Instance request fails. To tag the Spot Instance request after it has been
112881	// created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
112882	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
112883
112884	// The Spot Instance request type.
112885	//
112886	// Default: one-time
112887	Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
112888
112889	// The start date of the request. If this is a one-time request, the request
112890	// becomes active at this date and time and remains active until all instances
112891	// launch, the request expires, or the request is canceled. If the request is
112892	// persistent, the request becomes active at this date and time and remains
112893	// active until it expires or is canceled.
112894	//
112895	// The specified start date and time cannot be equal to the current date and
112896	// time. You must specify a start date and time that occurs after the current
112897	// date and time.
112898	ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
112899
112900	// The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ).
112901	//
112902	//    * For a persistent request, the request remains active until the ValidUntil
112903	//    date and time is reached. Otherwise, the request remains active until
112904	//    you cancel it.
112905	//
112906	//    * For a one-time request, the request remains active until all instances
112907	//    launch, the request is canceled, or the ValidUntil date and time is reached.
112908	//    By default, the request is valid for 7 days from the date the request
112909	//    was created.
112910	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
112911}
112912
112913// String returns the string representation
112914func (s RequestSpotInstancesInput) String() string {
112915	return awsutil.Prettify(s)
112916}
112917
112918// GoString returns the string representation
112919func (s RequestSpotInstancesInput) GoString() string {
112920	return s.String()
112921}
112922
112923// Validate inspects the fields of the type to determine if they are valid.
112924func (s *RequestSpotInstancesInput) Validate() error {
112925	invalidParams := request.ErrInvalidParams{Context: "RequestSpotInstancesInput"}
112926	if s.LaunchSpecification != nil {
112927		if err := s.LaunchSpecification.Validate(); err != nil {
112928			invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
112929		}
112930	}
112931
112932	if invalidParams.Len() > 0 {
112933		return invalidParams
112934	}
112935	return nil
112936}
112937
112938// SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
112939func (s *RequestSpotInstancesInput) SetAvailabilityZoneGroup(v string) *RequestSpotInstancesInput {
112940	s.AvailabilityZoneGroup = &v
112941	return s
112942}
112943
112944// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
112945func (s *RequestSpotInstancesInput) SetBlockDurationMinutes(v int64) *RequestSpotInstancesInput {
112946	s.BlockDurationMinutes = &v
112947	return s
112948}
112949
112950// SetClientToken sets the ClientToken field's value.
112951func (s *RequestSpotInstancesInput) SetClientToken(v string) *RequestSpotInstancesInput {
112952	s.ClientToken = &v
112953	return s
112954}
112955
112956// SetDryRun sets the DryRun field's value.
112957func (s *RequestSpotInstancesInput) SetDryRun(v bool) *RequestSpotInstancesInput {
112958	s.DryRun = &v
112959	return s
112960}
112961
112962// SetInstanceCount sets the InstanceCount field's value.
112963func (s *RequestSpotInstancesInput) SetInstanceCount(v int64) *RequestSpotInstancesInput {
112964	s.InstanceCount = &v
112965	return s
112966}
112967
112968// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
112969func (s *RequestSpotInstancesInput) SetInstanceInterruptionBehavior(v string) *RequestSpotInstancesInput {
112970	s.InstanceInterruptionBehavior = &v
112971	return s
112972}
112973
112974// SetLaunchGroup sets the LaunchGroup field's value.
112975func (s *RequestSpotInstancesInput) SetLaunchGroup(v string) *RequestSpotInstancesInput {
112976	s.LaunchGroup = &v
112977	return s
112978}
112979
112980// SetLaunchSpecification sets the LaunchSpecification field's value.
112981func (s *RequestSpotInstancesInput) SetLaunchSpecification(v *RequestSpotLaunchSpecification) *RequestSpotInstancesInput {
112982	s.LaunchSpecification = v
112983	return s
112984}
112985
112986// SetSpotPrice sets the SpotPrice field's value.
112987func (s *RequestSpotInstancesInput) SetSpotPrice(v string) *RequestSpotInstancesInput {
112988	s.SpotPrice = &v
112989	return s
112990}
112991
112992// SetTagSpecifications sets the TagSpecifications field's value.
112993func (s *RequestSpotInstancesInput) SetTagSpecifications(v []*TagSpecification) *RequestSpotInstancesInput {
112994	s.TagSpecifications = v
112995	return s
112996}
112997
112998// SetType sets the Type field's value.
112999func (s *RequestSpotInstancesInput) SetType(v string) *RequestSpotInstancesInput {
113000	s.Type = &v
113001	return s
113002}
113003
113004// SetValidFrom sets the ValidFrom field's value.
113005func (s *RequestSpotInstancesInput) SetValidFrom(v time.Time) *RequestSpotInstancesInput {
113006	s.ValidFrom = &v
113007	return s
113008}
113009
113010// SetValidUntil sets the ValidUntil field's value.
113011func (s *RequestSpotInstancesInput) SetValidUntil(v time.Time) *RequestSpotInstancesInput {
113012	s.ValidUntil = &v
113013	return s
113014}
113015
113016// Contains the output of RequestSpotInstances.
113017type RequestSpotInstancesOutput struct {
113018	_ struct{} `type:"structure"`
113019
113020	// One or more Spot Instance requests.
113021	SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
113022}
113023
113024// String returns the string representation
113025func (s RequestSpotInstancesOutput) String() string {
113026	return awsutil.Prettify(s)
113027}
113028
113029// GoString returns the string representation
113030func (s RequestSpotInstancesOutput) GoString() string {
113031	return s.String()
113032}
113033
113034// SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
113035func (s *RequestSpotInstancesOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *RequestSpotInstancesOutput {
113036	s.SpotInstanceRequests = v
113037	return s
113038}
113039
113040// Describes the launch specification for an instance.
113041type RequestSpotLaunchSpecification struct {
113042	_ struct{} `type:"structure"`
113043
113044	// Deprecated.
113045	AddressingType *string `locationName:"addressingType" type:"string"`
113046
113047	// One or more block device mapping entries. You can't specify both a snapshot
113048	// ID and an encryption value. This is because only blank volumes can be encrypted
113049	// on creation. If a snapshot is the basis for a volume, it is not blank and
113050	// its encryption status is used for the volume encryption status.
113051	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
113052
113053	// Indicates whether the instance is optimized for EBS I/O. This optimization
113054	// provides dedicated throughput to Amazon EBS and an optimized configuration
113055	// stack to provide optimal EBS I/O performance. This optimization isn't available
113056	// with all instance types. Additional usage charges apply when using an EBS
113057	// Optimized instance.
113058	//
113059	// Default: false
113060	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
113061
113062	// The IAM instance profile.
113063	IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
113064
113065	// The ID of the AMI.
113066	ImageId *string `locationName:"imageId" type:"string"`
113067
113068	// The instance type.
113069	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
113070
113071	// The ID of the kernel.
113072	KernelId *string `locationName:"kernelId" type:"string"`
113073
113074	// The name of the key pair.
113075	KeyName *string `locationName:"keyName" type:"string"`
113076
113077	// Indicates whether basic or detailed monitoring is enabled for the instance.
113078	//
113079	// Default: Disabled
113080	Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
113081
113082	// One or more network interfaces. If you specify a network interface, you must
113083	// specify subnet IDs and security group IDs using the network interface.
113084	NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"NetworkInterface" locationNameList:"item" type:"list"`
113085
113086	// The placement information for the instance.
113087	Placement *SpotPlacement `locationName:"placement" type:"structure"`
113088
113089	// The ID of the RAM disk.
113090	RamdiskId *string `locationName:"ramdiskId" type:"string"`
113091
113092	// One or more security group IDs.
113093	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
113094
113095	// One or more security groups. When requesting instances in a VPC, you must
113096	// specify the IDs of the security groups. When requesting instances in EC2-Classic,
113097	// you can specify the names or the IDs of the security groups.
113098	SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"item" type:"list"`
113099
113100	// The ID of the subnet in which to launch the instance.
113101	SubnetId *string `locationName:"subnetId" type:"string"`
113102
113103	// The Base64-encoded user data for the instance. User data is limited to 16
113104	// KB.
113105	UserData *string `locationName:"userData" type:"string"`
113106}
113107
113108// String returns the string representation
113109func (s RequestSpotLaunchSpecification) String() string {
113110	return awsutil.Prettify(s)
113111}
113112
113113// GoString returns the string representation
113114func (s RequestSpotLaunchSpecification) GoString() string {
113115	return s.String()
113116}
113117
113118// Validate inspects the fields of the type to determine if they are valid.
113119func (s *RequestSpotLaunchSpecification) Validate() error {
113120	invalidParams := request.ErrInvalidParams{Context: "RequestSpotLaunchSpecification"}
113121	if s.Monitoring != nil {
113122		if err := s.Monitoring.Validate(); err != nil {
113123			invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
113124		}
113125	}
113126
113127	if invalidParams.Len() > 0 {
113128		return invalidParams
113129	}
113130	return nil
113131}
113132
113133// SetAddressingType sets the AddressingType field's value.
113134func (s *RequestSpotLaunchSpecification) SetAddressingType(v string) *RequestSpotLaunchSpecification {
113135	s.AddressingType = &v
113136	return s
113137}
113138
113139// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
113140func (s *RequestSpotLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RequestSpotLaunchSpecification {
113141	s.BlockDeviceMappings = v
113142	return s
113143}
113144
113145// SetEbsOptimized sets the EbsOptimized field's value.
113146func (s *RequestSpotLaunchSpecification) SetEbsOptimized(v bool) *RequestSpotLaunchSpecification {
113147	s.EbsOptimized = &v
113148	return s
113149}
113150
113151// SetIamInstanceProfile sets the IamInstanceProfile field's value.
113152func (s *RequestSpotLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RequestSpotLaunchSpecification {
113153	s.IamInstanceProfile = v
113154	return s
113155}
113156
113157// SetImageId sets the ImageId field's value.
113158func (s *RequestSpotLaunchSpecification) SetImageId(v string) *RequestSpotLaunchSpecification {
113159	s.ImageId = &v
113160	return s
113161}
113162
113163// SetInstanceType sets the InstanceType field's value.
113164func (s *RequestSpotLaunchSpecification) SetInstanceType(v string) *RequestSpotLaunchSpecification {
113165	s.InstanceType = &v
113166	return s
113167}
113168
113169// SetKernelId sets the KernelId field's value.
113170func (s *RequestSpotLaunchSpecification) SetKernelId(v string) *RequestSpotLaunchSpecification {
113171	s.KernelId = &v
113172	return s
113173}
113174
113175// SetKeyName sets the KeyName field's value.
113176func (s *RequestSpotLaunchSpecification) SetKeyName(v string) *RequestSpotLaunchSpecification {
113177	s.KeyName = &v
113178	return s
113179}
113180
113181// SetMonitoring sets the Monitoring field's value.
113182func (s *RequestSpotLaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *RequestSpotLaunchSpecification {
113183	s.Monitoring = v
113184	return s
113185}
113186
113187// SetNetworkInterfaces sets the NetworkInterfaces field's value.
113188func (s *RequestSpotLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RequestSpotLaunchSpecification {
113189	s.NetworkInterfaces = v
113190	return s
113191}
113192
113193// SetPlacement sets the Placement field's value.
113194func (s *RequestSpotLaunchSpecification) SetPlacement(v *SpotPlacement) *RequestSpotLaunchSpecification {
113195	s.Placement = v
113196	return s
113197}
113198
113199// SetRamdiskId sets the RamdiskId field's value.
113200func (s *RequestSpotLaunchSpecification) SetRamdiskId(v string) *RequestSpotLaunchSpecification {
113201	s.RamdiskId = &v
113202	return s
113203}
113204
113205// SetSecurityGroupIds sets the SecurityGroupIds field's value.
113206func (s *RequestSpotLaunchSpecification) SetSecurityGroupIds(v []*string) *RequestSpotLaunchSpecification {
113207	s.SecurityGroupIds = v
113208	return s
113209}
113210
113211// SetSecurityGroups sets the SecurityGroups field's value.
113212func (s *RequestSpotLaunchSpecification) SetSecurityGroups(v []*string) *RequestSpotLaunchSpecification {
113213	s.SecurityGroups = v
113214	return s
113215}
113216
113217// SetSubnetId sets the SubnetId field's value.
113218func (s *RequestSpotLaunchSpecification) SetSubnetId(v string) *RequestSpotLaunchSpecification {
113219	s.SubnetId = &v
113220	return s
113221}
113222
113223// SetUserData sets the UserData field's value.
113224func (s *RequestSpotLaunchSpecification) SetUserData(v string) *RequestSpotLaunchSpecification {
113225	s.UserData = &v
113226	return s
113227}
113228
113229// Describes a launch request for one or more instances, and includes owner,
113230// requester, and security group information that applies to all instances in
113231// the launch request.
113232type Reservation struct {
113233	_ struct{} `type:"structure"`
113234
113235	// [EC2-Classic only] The security groups.
113236	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
113237
113238	// The instances.
113239	Instances []*Instance `locationName:"instancesSet" locationNameList:"item" type:"list"`
113240
113241	// The ID of the Amazon Web Services account that owns the reservation.
113242	OwnerId *string `locationName:"ownerId" type:"string"`
113243
113244	// The ID of the requester that launched the instances on your behalf (for example,
113245	// Amazon Web Services Management Console or Auto Scaling).
113246	RequesterId *string `locationName:"requesterId" type:"string"`
113247
113248	// The ID of the reservation.
113249	ReservationId *string `locationName:"reservationId" type:"string"`
113250}
113251
113252// String returns the string representation
113253func (s Reservation) String() string {
113254	return awsutil.Prettify(s)
113255}
113256
113257// GoString returns the string representation
113258func (s Reservation) GoString() string {
113259	return s.String()
113260}
113261
113262// SetGroups sets the Groups field's value.
113263func (s *Reservation) SetGroups(v []*GroupIdentifier) *Reservation {
113264	s.Groups = v
113265	return s
113266}
113267
113268// SetInstances sets the Instances field's value.
113269func (s *Reservation) SetInstances(v []*Instance) *Reservation {
113270	s.Instances = v
113271	return s
113272}
113273
113274// SetOwnerId sets the OwnerId field's value.
113275func (s *Reservation) SetOwnerId(v string) *Reservation {
113276	s.OwnerId = &v
113277	return s
113278}
113279
113280// SetRequesterId sets the RequesterId field's value.
113281func (s *Reservation) SetRequesterId(v string) *Reservation {
113282	s.RequesterId = &v
113283	return s
113284}
113285
113286// SetReservationId sets the ReservationId field's value.
113287func (s *Reservation) SetReservationId(v string) *Reservation {
113288	s.ReservationId = &v
113289	return s
113290}
113291
113292// The cost associated with the Reserved Instance.
113293type ReservationValue struct {
113294	_ struct{} `type:"structure"`
113295
113296	// The hourly rate of the reservation.
113297	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
113298
113299	// The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice
113300	// * number of hours remaining).
113301	RemainingTotalValue *string `locationName:"remainingTotalValue" type:"string"`
113302
113303	// The remaining upfront cost of the reservation.
113304	RemainingUpfrontValue *string `locationName:"remainingUpfrontValue" type:"string"`
113305}
113306
113307// String returns the string representation
113308func (s ReservationValue) String() string {
113309	return awsutil.Prettify(s)
113310}
113311
113312// GoString returns the string representation
113313func (s ReservationValue) GoString() string {
113314	return s.String()
113315}
113316
113317// SetHourlyPrice sets the HourlyPrice field's value.
113318func (s *ReservationValue) SetHourlyPrice(v string) *ReservationValue {
113319	s.HourlyPrice = &v
113320	return s
113321}
113322
113323// SetRemainingTotalValue sets the RemainingTotalValue field's value.
113324func (s *ReservationValue) SetRemainingTotalValue(v string) *ReservationValue {
113325	s.RemainingTotalValue = &v
113326	return s
113327}
113328
113329// SetRemainingUpfrontValue sets the RemainingUpfrontValue field's value.
113330func (s *ReservationValue) SetRemainingUpfrontValue(v string) *ReservationValue {
113331	s.RemainingUpfrontValue = &v
113332	return s
113333}
113334
113335// Describes the limit price of a Reserved Instance offering.
113336type ReservedInstanceLimitPrice struct {
113337	_ struct{} `type:"structure"`
113338
113339	// Used for Reserved Instance Marketplace offerings. Specifies the limit price
113340	// on the total order (instanceCount * price).
113341	Amount *float64 `locationName:"amount" type:"double"`
113342
113343	// The currency in which the limitPrice amount is specified. At this time, the
113344	// only supported currency is USD.
113345	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
113346}
113347
113348// String returns the string representation
113349func (s ReservedInstanceLimitPrice) String() string {
113350	return awsutil.Prettify(s)
113351}
113352
113353// GoString returns the string representation
113354func (s ReservedInstanceLimitPrice) GoString() string {
113355	return s.String()
113356}
113357
113358// SetAmount sets the Amount field's value.
113359func (s *ReservedInstanceLimitPrice) SetAmount(v float64) *ReservedInstanceLimitPrice {
113360	s.Amount = &v
113361	return s
113362}
113363
113364// SetCurrencyCode sets the CurrencyCode field's value.
113365func (s *ReservedInstanceLimitPrice) SetCurrencyCode(v string) *ReservedInstanceLimitPrice {
113366	s.CurrencyCode = &v
113367	return s
113368}
113369
113370// The total value of the Convertible Reserved Instance.
113371type ReservedInstanceReservationValue struct {
113372	_ struct{} `type:"structure"`
113373
113374	// The total value of the Convertible Reserved Instance that you are exchanging.
113375	ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
113376
113377	// The ID of the Convertible Reserved Instance that you are exchanging.
113378	ReservedInstanceId *string `locationName:"reservedInstanceId" type:"string"`
113379}
113380
113381// String returns the string representation
113382func (s ReservedInstanceReservationValue) String() string {
113383	return awsutil.Prettify(s)
113384}
113385
113386// GoString returns the string representation
113387func (s ReservedInstanceReservationValue) GoString() string {
113388	return s.String()
113389}
113390
113391// SetReservationValue sets the ReservationValue field's value.
113392func (s *ReservedInstanceReservationValue) SetReservationValue(v *ReservationValue) *ReservedInstanceReservationValue {
113393	s.ReservationValue = v
113394	return s
113395}
113396
113397// SetReservedInstanceId sets the ReservedInstanceId field's value.
113398func (s *ReservedInstanceReservationValue) SetReservedInstanceId(v string) *ReservedInstanceReservationValue {
113399	s.ReservedInstanceId = &v
113400	return s
113401}
113402
113403// Describes a Reserved Instance.
113404type ReservedInstances struct {
113405	_ struct{} `type:"structure"`
113406
113407	// The Availability Zone in which the Reserved Instance can be used.
113408	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
113409
113410	// The currency of the Reserved Instance. It's specified using ISO 4217 standard
113411	// currency codes. At this time, the only supported currency is USD.
113412	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
113413
113414	// The duration of the Reserved Instance, in seconds.
113415	Duration *int64 `locationName:"duration" type:"long"`
113416
113417	// The time when the Reserved Instance expires.
113418	End *time.Time `locationName:"end" type:"timestamp"`
113419
113420	// The purchase price of the Reserved Instance.
113421	FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
113422
113423	// The number of reservations purchased.
113424	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
113425
113426	// The tenancy of the instance.
113427	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
113428
113429	// The instance type on which the Reserved Instance can be used.
113430	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
113431
113432	// The offering class of the Reserved Instance.
113433	OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
113434
113435	// The Reserved Instance offering type.
113436	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
113437
113438	// The Reserved Instance product platform description.
113439	ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
113440
113441	// The recurring charge tag assigned to the resource.
113442	RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
113443
113444	// The ID of the Reserved Instance.
113445	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
113446
113447	// The scope of the Reserved Instance.
113448	Scope *string `locationName:"scope" type:"string" enum:"Scope"`
113449
113450	// The date and time the Reserved Instance started.
113451	Start *time.Time `locationName:"start" type:"timestamp"`
113452
113453	// The state of the Reserved Instance purchase.
113454	State *string `locationName:"state" type:"string" enum:"ReservedInstanceState"`
113455
113456	// Any tags assigned to the resource.
113457	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
113458
113459	// The usage price of the Reserved Instance, per hour.
113460	UsagePrice *float64 `locationName:"usagePrice" type:"float"`
113461}
113462
113463// String returns the string representation
113464func (s ReservedInstances) String() string {
113465	return awsutil.Prettify(s)
113466}
113467
113468// GoString returns the string representation
113469func (s ReservedInstances) GoString() string {
113470	return s.String()
113471}
113472
113473// SetAvailabilityZone sets the AvailabilityZone field's value.
113474func (s *ReservedInstances) SetAvailabilityZone(v string) *ReservedInstances {
113475	s.AvailabilityZone = &v
113476	return s
113477}
113478
113479// SetCurrencyCode sets the CurrencyCode field's value.
113480func (s *ReservedInstances) SetCurrencyCode(v string) *ReservedInstances {
113481	s.CurrencyCode = &v
113482	return s
113483}
113484
113485// SetDuration sets the Duration field's value.
113486func (s *ReservedInstances) SetDuration(v int64) *ReservedInstances {
113487	s.Duration = &v
113488	return s
113489}
113490
113491// SetEnd sets the End field's value.
113492func (s *ReservedInstances) SetEnd(v time.Time) *ReservedInstances {
113493	s.End = &v
113494	return s
113495}
113496
113497// SetFixedPrice sets the FixedPrice field's value.
113498func (s *ReservedInstances) SetFixedPrice(v float64) *ReservedInstances {
113499	s.FixedPrice = &v
113500	return s
113501}
113502
113503// SetInstanceCount sets the InstanceCount field's value.
113504func (s *ReservedInstances) SetInstanceCount(v int64) *ReservedInstances {
113505	s.InstanceCount = &v
113506	return s
113507}
113508
113509// SetInstanceTenancy sets the InstanceTenancy field's value.
113510func (s *ReservedInstances) SetInstanceTenancy(v string) *ReservedInstances {
113511	s.InstanceTenancy = &v
113512	return s
113513}
113514
113515// SetInstanceType sets the InstanceType field's value.
113516func (s *ReservedInstances) SetInstanceType(v string) *ReservedInstances {
113517	s.InstanceType = &v
113518	return s
113519}
113520
113521// SetOfferingClass sets the OfferingClass field's value.
113522func (s *ReservedInstances) SetOfferingClass(v string) *ReservedInstances {
113523	s.OfferingClass = &v
113524	return s
113525}
113526
113527// SetOfferingType sets the OfferingType field's value.
113528func (s *ReservedInstances) SetOfferingType(v string) *ReservedInstances {
113529	s.OfferingType = &v
113530	return s
113531}
113532
113533// SetProductDescription sets the ProductDescription field's value.
113534func (s *ReservedInstances) SetProductDescription(v string) *ReservedInstances {
113535	s.ProductDescription = &v
113536	return s
113537}
113538
113539// SetRecurringCharges sets the RecurringCharges field's value.
113540func (s *ReservedInstances) SetRecurringCharges(v []*RecurringCharge) *ReservedInstances {
113541	s.RecurringCharges = v
113542	return s
113543}
113544
113545// SetReservedInstancesId sets the ReservedInstancesId field's value.
113546func (s *ReservedInstances) SetReservedInstancesId(v string) *ReservedInstances {
113547	s.ReservedInstancesId = &v
113548	return s
113549}
113550
113551// SetScope sets the Scope field's value.
113552func (s *ReservedInstances) SetScope(v string) *ReservedInstances {
113553	s.Scope = &v
113554	return s
113555}
113556
113557// SetStart sets the Start field's value.
113558func (s *ReservedInstances) SetStart(v time.Time) *ReservedInstances {
113559	s.Start = &v
113560	return s
113561}
113562
113563// SetState sets the State field's value.
113564func (s *ReservedInstances) SetState(v string) *ReservedInstances {
113565	s.State = &v
113566	return s
113567}
113568
113569// SetTags sets the Tags field's value.
113570func (s *ReservedInstances) SetTags(v []*Tag) *ReservedInstances {
113571	s.Tags = v
113572	return s
113573}
113574
113575// SetUsagePrice sets the UsagePrice field's value.
113576func (s *ReservedInstances) SetUsagePrice(v float64) *ReservedInstances {
113577	s.UsagePrice = &v
113578	return s
113579}
113580
113581// Describes the configuration settings for the modified Reserved Instances.
113582type ReservedInstancesConfiguration struct {
113583	_ struct{} `type:"structure"`
113584
113585	// The Availability Zone for the modified Reserved Instances.
113586	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
113587
113588	// The number of modified Reserved Instances.
113589	//
113590	// This is a required field for a request.
113591	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
113592
113593	// The instance type for the modified Reserved Instances.
113594	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
113595
113596	// The network platform of the modified Reserved Instances, which is either
113597	// EC2-Classic or EC2-VPC.
113598	Platform *string `locationName:"platform" type:"string"`
113599
113600	// Whether the Reserved Instance is applied to instances in a Region or instances
113601	// in a specific Availability Zone.
113602	Scope *string `locationName:"scope" type:"string" enum:"Scope"`
113603}
113604
113605// String returns the string representation
113606func (s ReservedInstancesConfiguration) String() string {
113607	return awsutil.Prettify(s)
113608}
113609
113610// GoString returns the string representation
113611func (s ReservedInstancesConfiguration) GoString() string {
113612	return s.String()
113613}
113614
113615// SetAvailabilityZone sets the AvailabilityZone field's value.
113616func (s *ReservedInstancesConfiguration) SetAvailabilityZone(v string) *ReservedInstancesConfiguration {
113617	s.AvailabilityZone = &v
113618	return s
113619}
113620
113621// SetInstanceCount sets the InstanceCount field's value.
113622func (s *ReservedInstancesConfiguration) SetInstanceCount(v int64) *ReservedInstancesConfiguration {
113623	s.InstanceCount = &v
113624	return s
113625}
113626
113627// SetInstanceType sets the InstanceType field's value.
113628func (s *ReservedInstancesConfiguration) SetInstanceType(v string) *ReservedInstancesConfiguration {
113629	s.InstanceType = &v
113630	return s
113631}
113632
113633// SetPlatform sets the Platform field's value.
113634func (s *ReservedInstancesConfiguration) SetPlatform(v string) *ReservedInstancesConfiguration {
113635	s.Platform = &v
113636	return s
113637}
113638
113639// SetScope sets the Scope field's value.
113640func (s *ReservedInstancesConfiguration) SetScope(v string) *ReservedInstancesConfiguration {
113641	s.Scope = &v
113642	return s
113643}
113644
113645// Describes the ID of a Reserved Instance.
113646type ReservedInstancesId struct {
113647	_ struct{} `type:"structure"`
113648
113649	// The ID of the Reserved Instance.
113650	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
113651}
113652
113653// String returns the string representation
113654func (s ReservedInstancesId) String() string {
113655	return awsutil.Prettify(s)
113656}
113657
113658// GoString returns the string representation
113659func (s ReservedInstancesId) GoString() string {
113660	return s.String()
113661}
113662
113663// SetReservedInstancesId sets the ReservedInstancesId field's value.
113664func (s *ReservedInstancesId) SetReservedInstancesId(v string) *ReservedInstancesId {
113665	s.ReservedInstancesId = &v
113666	return s
113667}
113668
113669// Describes a Reserved Instance listing.
113670type ReservedInstancesListing struct {
113671	_ struct{} `type:"structure"`
113672
113673	// A unique, case-sensitive key supplied by the client to ensure that the request
113674	// is idempotent. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
113675	ClientToken *string `locationName:"clientToken" type:"string"`
113676
113677	// The time the listing was created.
113678	CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
113679
113680	// The number of instances in this state.
113681	InstanceCounts []*InstanceCount `locationName:"instanceCounts" locationNameList:"item" type:"list"`
113682
113683	// The price of the Reserved Instance listing.
113684	PriceSchedules []*PriceSchedule `locationName:"priceSchedules" locationNameList:"item" type:"list"`
113685
113686	// The ID of the Reserved Instance.
113687	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
113688
113689	// The ID of the Reserved Instance listing.
113690	ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
113691
113692	// The status of the Reserved Instance listing.
113693	Status *string `locationName:"status" type:"string" enum:"ListingStatus"`
113694
113695	// The reason for the current status of the Reserved Instance listing. The response
113696	// can be blank.
113697	StatusMessage *string `locationName:"statusMessage" type:"string"`
113698
113699	// Any tags assigned to the resource.
113700	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
113701
113702	// The last modified timestamp of the listing.
113703	UpdateDate *time.Time `locationName:"updateDate" type:"timestamp"`
113704}
113705
113706// String returns the string representation
113707func (s ReservedInstancesListing) String() string {
113708	return awsutil.Prettify(s)
113709}
113710
113711// GoString returns the string representation
113712func (s ReservedInstancesListing) GoString() string {
113713	return s.String()
113714}
113715
113716// SetClientToken sets the ClientToken field's value.
113717func (s *ReservedInstancesListing) SetClientToken(v string) *ReservedInstancesListing {
113718	s.ClientToken = &v
113719	return s
113720}
113721
113722// SetCreateDate sets the CreateDate field's value.
113723func (s *ReservedInstancesListing) SetCreateDate(v time.Time) *ReservedInstancesListing {
113724	s.CreateDate = &v
113725	return s
113726}
113727
113728// SetInstanceCounts sets the InstanceCounts field's value.
113729func (s *ReservedInstancesListing) SetInstanceCounts(v []*InstanceCount) *ReservedInstancesListing {
113730	s.InstanceCounts = v
113731	return s
113732}
113733
113734// SetPriceSchedules sets the PriceSchedules field's value.
113735func (s *ReservedInstancesListing) SetPriceSchedules(v []*PriceSchedule) *ReservedInstancesListing {
113736	s.PriceSchedules = v
113737	return s
113738}
113739
113740// SetReservedInstancesId sets the ReservedInstancesId field's value.
113741func (s *ReservedInstancesListing) SetReservedInstancesId(v string) *ReservedInstancesListing {
113742	s.ReservedInstancesId = &v
113743	return s
113744}
113745
113746// SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
113747func (s *ReservedInstancesListing) SetReservedInstancesListingId(v string) *ReservedInstancesListing {
113748	s.ReservedInstancesListingId = &v
113749	return s
113750}
113751
113752// SetStatus sets the Status field's value.
113753func (s *ReservedInstancesListing) SetStatus(v string) *ReservedInstancesListing {
113754	s.Status = &v
113755	return s
113756}
113757
113758// SetStatusMessage sets the StatusMessage field's value.
113759func (s *ReservedInstancesListing) SetStatusMessage(v string) *ReservedInstancesListing {
113760	s.StatusMessage = &v
113761	return s
113762}
113763
113764// SetTags sets the Tags field's value.
113765func (s *ReservedInstancesListing) SetTags(v []*Tag) *ReservedInstancesListing {
113766	s.Tags = v
113767	return s
113768}
113769
113770// SetUpdateDate sets the UpdateDate field's value.
113771func (s *ReservedInstancesListing) SetUpdateDate(v time.Time) *ReservedInstancesListing {
113772	s.UpdateDate = &v
113773	return s
113774}
113775
113776// Describes a Reserved Instance modification.
113777type ReservedInstancesModification struct {
113778	_ struct{} `type:"structure"`
113779
113780	// A unique, case-sensitive key supplied by the client to ensure that the request
113781	// is idempotent. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
113782	ClientToken *string `locationName:"clientToken" type:"string"`
113783
113784	// The time when the modification request was created.
113785	CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
113786
113787	// The time for the modification to become effective.
113788	EffectiveDate *time.Time `locationName:"effectiveDate" type:"timestamp"`
113789
113790	// Contains target configurations along with their corresponding new Reserved
113791	// Instance IDs.
113792	ModificationResults []*ReservedInstancesModificationResult `locationName:"modificationResultSet" locationNameList:"item" type:"list"`
113793
113794	// The IDs of one or more Reserved Instances.
113795	ReservedInstancesIds []*ReservedInstancesId `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
113796
113797	// A unique ID for the Reserved Instance modification.
113798	ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
113799
113800	// The status of the Reserved Instances modification request.
113801	Status *string `locationName:"status" type:"string"`
113802
113803	// The reason for the status.
113804	StatusMessage *string `locationName:"statusMessage" type:"string"`
113805
113806	// The time when the modification request was last updated.
113807	UpdateDate *time.Time `locationName:"updateDate" type:"timestamp"`
113808}
113809
113810// String returns the string representation
113811func (s ReservedInstancesModification) String() string {
113812	return awsutil.Prettify(s)
113813}
113814
113815// GoString returns the string representation
113816func (s ReservedInstancesModification) GoString() string {
113817	return s.String()
113818}
113819
113820// SetClientToken sets the ClientToken field's value.
113821func (s *ReservedInstancesModification) SetClientToken(v string) *ReservedInstancesModification {
113822	s.ClientToken = &v
113823	return s
113824}
113825
113826// SetCreateDate sets the CreateDate field's value.
113827func (s *ReservedInstancesModification) SetCreateDate(v time.Time) *ReservedInstancesModification {
113828	s.CreateDate = &v
113829	return s
113830}
113831
113832// SetEffectiveDate sets the EffectiveDate field's value.
113833func (s *ReservedInstancesModification) SetEffectiveDate(v time.Time) *ReservedInstancesModification {
113834	s.EffectiveDate = &v
113835	return s
113836}
113837
113838// SetModificationResults sets the ModificationResults field's value.
113839func (s *ReservedInstancesModification) SetModificationResults(v []*ReservedInstancesModificationResult) *ReservedInstancesModification {
113840	s.ModificationResults = v
113841	return s
113842}
113843
113844// SetReservedInstancesIds sets the ReservedInstancesIds field's value.
113845func (s *ReservedInstancesModification) SetReservedInstancesIds(v []*ReservedInstancesId) *ReservedInstancesModification {
113846	s.ReservedInstancesIds = v
113847	return s
113848}
113849
113850// SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
113851func (s *ReservedInstancesModification) SetReservedInstancesModificationId(v string) *ReservedInstancesModification {
113852	s.ReservedInstancesModificationId = &v
113853	return s
113854}
113855
113856// SetStatus sets the Status field's value.
113857func (s *ReservedInstancesModification) SetStatus(v string) *ReservedInstancesModification {
113858	s.Status = &v
113859	return s
113860}
113861
113862// SetStatusMessage sets the StatusMessage field's value.
113863func (s *ReservedInstancesModification) SetStatusMessage(v string) *ReservedInstancesModification {
113864	s.StatusMessage = &v
113865	return s
113866}
113867
113868// SetUpdateDate sets the UpdateDate field's value.
113869func (s *ReservedInstancesModification) SetUpdateDate(v time.Time) *ReservedInstancesModification {
113870	s.UpdateDate = &v
113871	return s
113872}
113873
113874// Describes the modification request/s.
113875type ReservedInstancesModificationResult struct {
113876	_ struct{} `type:"structure"`
113877
113878	// The ID for the Reserved Instances that were created as part of the modification
113879	// request. This field is only available when the modification is fulfilled.
113880	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
113881
113882	// The target Reserved Instances configurations supplied as part of the modification
113883	// request.
113884	TargetConfiguration *ReservedInstancesConfiguration `locationName:"targetConfiguration" type:"structure"`
113885}
113886
113887// String returns the string representation
113888func (s ReservedInstancesModificationResult) String() string {
113889	return awsutil.Prettify(s)
113890}
113891
113892// GoString returns the string representation
113893func (s ReservedInstancesModificationResult) GoString() string {
113894	return s.String()
113895}
113896
113897// SetReservedInstancesId sets the ReservedInstancesId field's value.
113898func (s *ReservedInstancesModificationResult) SetReservedInstancesId(v string) *ReservedInstancesModificationResult {
113899	s.ReservedInstancesId = &v
113900	return s
113901}
113902
113903// SetTargetConfiguration sets the TargetConfiguration field's value.
113904func (s *ReservedInstancesModificationResult) SetTargetConfiguration(v *ReservedInstancesConfiguration) *ReservedInstancesModificationResult {
113905	s.TargetConfiguration = v
113906	return s
113907}
113908
113909// Describes a Reserved Instance offering.
113910type ReservedInstancesOffering struct {
113911	_ struct{} `type:"structure"`
113912
113913	// The Availability Zone in which the Reserved Instance can be used.
113914	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
113915
113916	// The currency of the Reserved Instance offering you are purchasing. It's specified
113917	// using ISO 4217 standard currency codes. At this time, the only supported
113918	// currency is USD.
113919	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
113920
113921	// The duration of the Reserved Instance, in seconds.
113922	Duration *int64 `locationName:"duration" type:"long"`
113923
113924	// The purchase price of the Reserved Instance.
113925	FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
113926
113927	// The tenancy of the instance.
113928	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
113929
113930	// The instance type on which the Reserved Instance can be used.
113931	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
113932
113933	// Indicates whether the offering is available through the Reserved Instance
113934	// Marketplace (resale) or Amazon Web Services. If it's a Reserved Instance
113935	// Marketplace offering, this is true.
113936	Marketplace *bool `locationName:"marketplace" type:"boolean"`
113937
113938	// If convertible it can be exchanged for Reserved Instances of the same or
113939	// higher monetary value, with different configurations. If standard, it is
113940	// not possible to perform an exchange.
113941	OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
113942
113943	// The Reserved Instance offering type.
113944	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
113945
113946	// The pricing details of the Reserved Instance offering.
113947	PricingDetails []*PricingDetail `locationName:"pricingDetailsSet" locationNameList:"item" type:"list"`
113948
113949	// The Reserved Instance product platform description.
113950	ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
113951
113952	// The recurring charge tag assigned to the resource.
113953	RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
113954
113955	// The ID of the Reserved Instance offering. This is the offering ID used in
113956	// GetReservedInstancesExchangeQuote to confirm that an exchange can be made.
113957	ReservedInstancesOfferingId *string `locationName:"reservedInstancesOfferingId" type:"string"`
113958
113959	// Whether the Reserved Instance is applied to instances in a Region or an Availability
113960	// Zone.
113961	Scope *string `locationName:"scope" type:"string" enum:"Scope"`
113962
113963	// The usage price of the Reserved Instance, per hour.
113964	UsagePrice *float64 `locationName:"usagePrice" type:"float"`
113965}
113966
113967// String returns the string representation
113968func (s ReservedInstancesOffering) String() string {
113969	return awsutil.Prettify(s)
113970}
113971
113972// GoString returns the string representation
113973func (s ReservedInstancesOffering) GoString() string {
113974	return s.String()
113975}
113976
113977// SetAvailabilityZone sets the AvailabilityZone field's value.
113978func (s *ReservedInstancesOffering) SetAvailabilityZone(v string) *ReservedInstancesOffering {
113979	s.AvailabilityZone = &v
113980	return s
113981}
113982
113983// SetCurrencyCode sets the CurrencyCode field's value.
113984func (s *ReservedInstancesOffering) SetCurrencyCode(v string) *ReservedInstancesOffering {
113985	s.CurrencyCode = &v
113986	return s
113987}
113988
113989// SetDuration sets the Duration field's value.
113990func (s *ReservedInstancesOffering) SetDuration(v int64) *ReservedInstancesOffering {
113991	s.Duration = &v
113992	return s
113993}
113994
113995// SetFixedPrice sets the FixedPrice field's value.
113996func (s *ReservedInstancesOffering) SetFixedPrice(v float64) *ReservedInstancesOffering {
113997	s.FixedPrice = &v
113998	return s
113999}
114000
114001// SetInstanceTenancy sets the InstanceTenancy field's value.
114002func (s *ReservedInstancesOffering) SetInstanceTenancy(v string) *ReservedInstancesOffering {
114003	s.InstanceTenancy = &v
114004	return s
114005}
114006
114007// SetInstanceType sets the InstanceType field's value.
114008func (s *ReservedInstancesOffering) SetInstanceType(v string) *ReservedInstancesOffering {
114009	s.InstanceType = &v
114010	return s
114011}
114012
114013// SetMarketplace sets the Marketplace field's value.
114014func (s *ReservedInstancesOffering) SetMarketplace(v bool) *ReservedInstancesOffering {
114015	s.Marketplace = &v
114016	return s
114017}
114018
114019// SetOfferingClass sets the OfferingClass field's value.
114020func (s *ReservedInstancesOffering) SetOfferingClass(v string) *ReservedInstancesOffering {
114021	s.OfferingClass = &v
114022	return s
114023}
114024
114025// SetOfferingType sets the OfferingType field's value.
114026func (s *ReservedInstancesOffering) SetOfferingType(v string) *ReservedInstancesOffering {
114027	s.OfferingType = &v
114028	return s
114029}
114030
114031// SetPricingDetails sets the PricingDetails field's value.
114032func (s *ReservedInstancesOffering) SetPricingDetails(v []*PricingDetail) *ReservedInstancesOffering {
114033	s.PricingDetails = v
114034	return s
114035}
114036
114037// SetProductDescription sets the ProductDescription field's value.
114038func (s *ReservedInstancesOffering) SetProductDescription(v string) *ReservedInstancesOffering {
114039	s.ProductDescription = &v
114040	return s
114041}
114042
114043// SetRecurringCharges sets the RecurringCharges field's value.
114044func (s *ReservedInstancesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedInstancesOffering {
114045	s.RecurringCharges = v
114046	return s
114047}
114048
114049// SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
114050func (s *ReservedInstancesOffering) SetReservedInstancesOfferingId(v string) *ReservedInstancesOffering {
114051	s.ReservedInstancesOfferingId = &v
114052	return s
114053}
114054
114055// SetScope sets the Scope field's value.
114056func (s *ReservedInstancesOffering) SetScope(v string) *ReservedInstancesOffering {
114057	s.Scope = &v
114058	return s
114059}
114060
114061// SetUsagePrice sets the UsagePrice field's value.
114062func (s *ReservedInstancesOffering) SetUsagePrice(v float64) *ReservedInstancesOffering {
114063	s.UsagePrice = &v
114064	return s
114065}
114066
114067type ResetAddressAttributeInput struct {
114068	_ struct{} `type:"structure"`
114069
114070	// [EC2-VPC] The allocation ID.
114071	//
114072	// AllocationId is a required field
114073	AllocationId *string `type:"string" required:"true"`
114074
114075	// The attribute of the IP address.
114076	//
114077	// Attribute is a required field
114078	Attribute *string `type:"string" required:"true" enum:"AddressAttributeName"`
114079
114080	// Checks whether you have the required permissions for the action, without
114081	// actually making the request, and provides an error response. If you have
114082	// the required permissions, the error response is DryRunOperation. Otherwise,
114083	// it is UnauthorizedOperation.
114084	DryRun *bool `type:"boolean"`
114085}
114086
114087// String returns the string representation
114088func (s ResetAddressAttributeInput) String() string {
114089	return awsutil.Prettify(s)
114090}
114091
114092// GoString returns the string representation
114093func (s ResetAddressAttributeInput) GoString() string {
114094	return s.String()
114095}
114096
114097// Validate inspects the fields of the type to determine if they are valid.
114098func (s *ResetAddressAttributeInput) Validate() error {
114099	invalidParams := request.ErrInvalidParams{Context: "ResetAddressAttributeInput"}
114100	if s.AllocationId == nil {
114101		invalidParams.Add(request.NewErrParamRequired("AllocationId"))
114102	}
114103	if s.Attribute == nil {
114104		invalidParams.Add(request.NewErrParamRequired("Attribute"))
114105	}
114106
114107	if invalidParams.Len() > 0 {
114108		return invalidParams
114109	}
114110	return nil
114111}
114112
114113// SetAllocationId sets the AllocationId field's value.
114114func (s *ResetAddressAttributeInput) SetAllocationId(v string) *ResetAddressAttributeInput {
114115	s.AllocationId = &v
114116	return s
114117}
114118
114119// SetAttribute sets the Attribute field's value.
114120func (s *ResetAddressAttributeInput) SetAttribute(v string) *ResetAddressAttributeInput {
114121	s.Attribute = &v
114122	return s
114123}
114124
114125// SetDryRun sets the DryRun field's value.
114126func (s *ResetAddressAttributeInput) SetDryRun(v bool) *ResetAddressAttributeInput {
114127	s.DryRun = &v
114128	return s
114129}
114130
114131type ResetAddressAttributeOutput struct {
114132	_ struct{} `type:"structure"`
114133
114134	// Information about the IP address.
114135	Address *AddressAttribute `locationName:"address" type:"structure"`
114136}
114137
114138// String returns the string representation
114139func (s ResetAddressAttributeOutput) String() string {
114140	return awsutil.Prettify(s)
114141}
114142
114143// GoString returns the string representation
114144func (s ResetAddressAttributeOutput) GoString() string {
114145	return s.String()
114146}
114147
114148// SetAddress sets the Address field's value.
114149func (s *ResetAddressAttributeOutput) SetAddress(v *AddressAttribute) *ResetAddressAttributeOutput {
114150	s.Address = v
114151	return s
114152}
114153
114154type ResetEbsDefaultKmsKeyIdInput struct {
114155	_ struct{} `type:"structure"`
114156
114157	// Checks whether you have the required permissions for the action, without
114158	// actually making the request, and provides an error response. If you have
114159	// the required permissions, the error response is DryRunOperation. Otherwise,
114160	// it is UnauthorizedOperation.
114161	DryRun *bool `type:"boolean"`
114162}
114163
114164// String returns the string representation
114165func (s ResetEbsDefaultKmsKeyIdInput) String() string {
114166	return awsutil.Prettify(s)
114167}
114168
114169// GoString returns the string representation
114170func (s ResetEbsDefaultKmsKeyIdInput) GoString() string {
114171	return s.String()
114172}
114173
114174// SetDryRun sets the DryRun field's value.
114175func (s *ResetEbsDefaultKmsKeyIdInput) SetDryRun(v bool) *ResetEbsDefaultKmsKeyIdInput {
114176	s.DryRun = &v
114177	return s
114178}
114179
114180type ResetEbsDefaultKmsKeyIdOutput struct {
114181	_ struct{} `type:"structure"`
114182
114183	// The Amazon Resource Name (ARN) of the default KMS key for EBS encryption
114184	// by default.
114185	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
114186}
114187
114188// String returns the string representation
114189func (s ResetEbsDefaultKmsKeyIdOutput) String() string {
114190	return awsutil.Prettify(s)
114191}
114192
114193// GoString returns the string representation
114194func (s ResetEbsDefaultKmsKeyIdOutput) GoString() string {
114195	return s.String()
114196}
114197
114198// SetKmsKeyId sets the KmsKeyId field's value.
114199func (s *ResetEbsDefaultKmsKeyIdOutput) SetKmsKeyId(v string) *ResetEbsDefaultKmsKeyIdOutput {
114200	s.KmsKeyId = &v
114201	return s
114202}
114203
114204type ResetFpgaImageAttributeInput struct {
114205	_ struct{} `type:"structure"`
114206
114207	// The attribute.
114208	Attribute *string `type:"string" enum:"ResetFpgaImageAttributeName"`
114209
114210	// Checks whether you have the required permissions for the action, without
114211	// actually making the request, and provides an error response. If you have
114212	// the required permissions, the error response is DryRunOperation. Otherwise,
114213	// it is UnauthorizedOperation.
114214	DryRun *bool `type:"boolean"`
114215
114216	// The ID of the AFI.
114217	//
114218	// FpgaImageId is a required field
114219	FpgaImageId *string `type:"string" required:"true"`
114220}
114221
114222// String returns the string representation
114223func (s ResetFpgaImageAttributeInput) String() string {
114224	return awsutil.Prettify(s)
114225}
114226
114227// GoString returns the string representation
114228func (s ResetFpgaImageAttributeInput) GoString() string {
114229	return s.String()
114230}
114231
114232// Validate inspects the fields of the type to determine if they are valid.
114233func (s *ResetFpgaImageAttributeInput) Validate() error {
114234	invalidParams := request.ErrInvalidParams{Context: "ResetFpgaImageAttributeInput"}
114235	if s.FpgaImageId == nil {
114236		invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
114237	}
114238
114239	if invalidParams.Len() > 0 {
114240		return invalidParams
114241	}
114242	return nil
114243}
114244
114245// SetAttribute sets the Attribute field's value.
114246func (s *ResetFpgaImageAttributeInput) SetAttribute(v string) *ResetFpgaImageAttributeInput {
114247	s.Attribute = &v
114248	return s
114249}
114250
114251// SetDryRun sets the DryRun field's value.
114252func (s *ResetFpgaImageAttributeInput) SetDryRun(v bool) *ResetFpgaImageAttributeInput {
114253	s.DryRun = &v
114254	return s
114255}
114256
114257// SetFpgaImageId sets the FpgaImageId field's value.
114258func (s *ResetFpgaImageAttributeInput) SetFpgaImageId(v string) *ResetFpgaImageAttributeInput {
114259	s.FpgaImageId = &v
114260	return s
114261}
114262
114263type ResetFpgaImageAttributeOutput struct {
114264	_ struct{} `type:"structure"`
114265
114266	// Is true if the request succeeds, and an error otherwise.
114267	Return *bool `locationName:"return" type:"boolean"`
114268}
114269
114270// String returns the string representation
114271func (s ResetFpgaImageAttributeOutput) String() string {
114272	return awsutil.Prettify(s)
114273}
114274
114275// GoString returns the string representation
114276func (s ResetFpgaImageAttributeOutput) GoString() string {
114277	return s.String()
114278}
114279
114280// SetReturn sets the Return field's value.
114281func (s *ResetFpgaImageAttributeOutput) SetReturn(v bool) *ResetFpgaImageAttributeOutput {
114282	s.Return = &v
114283	return s
114284}
114285
114286// Contains the parameters for ResetImageAttribute.
114287type ResetImageAttributeInput struct {
114288	_ struct{} `type:"structure"`
114289
114290	// The attribute to reset (currently you can only reset the launch permission
114291	// attribute).
114292	//
114293	// Attribute is a required field
114294	Attribute *string `type:"string" required:"true" enum:"ResetImageAttributeName"`
114295
114296	// Checks whether you have the required permissions for the action, without
114297	// actually making the request, and provides an error response. If you have
114298	// the required permissions, the error response is DryRunOperation. Otherwise,
114299	// it is UnauthorizedOperation.
114300	DryRun *bool `locationName:"dryRun" type:"boolean"`
114301
114302	// The ID of the AMI.
114303	//
114304	// ImageId is a required field
114305	ImageId *string `type:"string" required:"true"`
114306}
114307
114308// String returns the string representation
114309func (s ResetImageAttributeInput) String() string {
114310	return awsutil.Prettify(s)
114311}
114312
114313// GoString returns the string representation
114314func (s ResetImageAttributeInput) GoString() string {
114315	return s.String()
114316}
114317
114318// Validate inspects the fields of the type to determine if they are valid.
114319func (s *ResetImageAttributeInput) Validate() error {
114320	invalidParams := request.ErrInvalidParams{Context: "ResetImageAttributeInput"}
114321	if s.Attribute == nil {
114322		invalidParams.Add(request.NewErrParamRequired("Attribute"))
114323	}
114324	if s.ImageId == nil {
114325		invalidParams.Add(request.NewErrParamRequired("ImageId"))
114326	}
114327
114328	if invalidParams.Len() > 0 {
114329		return invalidParams
114330	}
114331	return nil
114332}
114333
114334// SetAttribute sets the Attribute field's value.
114335func (s *ResetImageAttributeInput) SetAttribute(v string) *ResetImageAttributeInput {
114336	s.Attribute = &v
114337	return s
114338}
114339
114340// SetDryRun sets the DryRun field's value.
114341func (s *ResetImageAttributeInput) SetDryRun(v bool) *ResetImageAttributeInput {
114342	s.DryRun = &v
114343	return s
114344}
114345
114346// SetImageId sets the ImageId field's value.
114347func (s *ResetImageAttributeInput) SetImageId(v string) *ResetImageAttributeInput {
114348	s.ImageId = &v
114349	return s
114350}
114351
114352type ResetImageAttributeOutput struct {
114353	_ struct{} `type:"structure"`
114354}
114355
114356// String returns the string representation
114357func (s ResetImageAttributeOutput) String() string {
114358	return awsutil.Prettify(s)
114359}
114360
114361// GoString returns the string representation
114362func (s ResetImageAttributeOutput) GoString() string {
114363	return s.String()
114364}
114365
114366type ResetInstanceAttributeInput struct {
114367	_ struct{} `type:"structure"`
114368
114369	// The attribute to reset.
114370	//
114371	// You can only reset the following attributes: kernel | ramdisk | sourceDestCheck.
114372	// To change an instance attribute, use ModifyInstanceAttribute.
114373	//
114374	// Attribute is a required field
114375	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
114376
114377	// Checks whether you have the required permissions for the action, without
114378	// actually making the request, and provides an error response. If you have
114379	// the required permissions, the error response is DryRunOperation. Otherwise,
114380	// it is UnauthorizedOperation.
114381	DryRun *bool `locationName:"dryRun" type:"boolean"`
114382
114383	// The ID of the instance.
114384	//
114385	// InstanceId is a required field
114386	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
114387}
114388
114389// String returns the string representation
114390func (s ResetInstanceAttributeInput) String() string {
114391	return awsutil.Prettify(s)
114392}
114393
114394// GoString returns the string representation
114395func (s ResetInstanceAttributeInput) GoString() string {
114396	return s.String()
114397}
114398
114399// Validate inspects the fields of the type to determine if they are valid.
114400func (s *ResetInstanceAttributeInput) Validate() error {
114401	invalidParams := request.ErrInvalidParams{Context: "ResetInstanceAttributeInput"}
114402	if s.Attribute == nil {
114403		invalidParams.Add(request.NewErrParamRequired("Attribute"))
114404	}
114405	if s.InstanceId == nil {
114406		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
114407	}
114408
114409	if invalidParams.Len() > 0 {
114410		return invalidParams
114411	}
114412	return nil
114413}
114414
114415// SetAttribute sets the Attribute field's value.
114416func (s *ResetInstanceAttributeInput) SetAttribute(v string) *ResetInstanceAttributeInput {
114417	s.Attribute = &v
114418	return s
114419}
114420
114421// SetDryRun sets the DryRun field's value.
114422func (s *ResetInstanceAttributeInput) SetDryRun(v bool) *ResetInstanceAttributeInput {
114423	s.DryRun = &v
114424	return s
114425}
114426
114427// SetInstanceId sets the InstanceId field's value.
114428func (s *ResetInstanceAttributeInput) SetInstanceId(v string) *ResetInstanceAttributeInput {
114429	s.InstanceId = &v
114430	return s
114431}
114432
114433type ResetInstanceAttributeOutput struct {
114434	_ struct{} `type:"structure"`
114435}
114436
114437// String returns the string representation
114438func (s ResetInstanceAttributeOutput) String() string {
114439	return awsutil.Prettify(s)
114440}
114441
114442// GoString returns the string representation
114443func (s ResetInstanceAttributeOutput) GoString() string {
114444	return s.String()
114445}
114446
114447// Contains the parameters for ResetNetworkInterfaceAttribute.
114448type ResetNetworkInterfaceAttributeInput struct {
114449	_ struct{} `type:"structure"`
114450
114451	// Checks whether you have the required permissions for the action, without
114452	// actually making the request, and provides an error response. If you have
114453	// the required permissions, the error response is DryRunOperation. Otherwise,
114454	// it is UnauthorizedOperation.
114455	DryRun *bool `locationName:"dryRun" type:"boolean"`
114456
114457	// The ID of the network interface.
114458	//
114459	// NetworkInterfaceId is a required field
114460	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
114461
114462	// The source/destination checking attribute. Resets the value to true.
114463	SourceDestCheck *string `locationName:"sourceDestCheck" type:"string"`
114464}
114465
114466// String returns the string representation
114467func (s ResetNetworkInterfaceAttributeInput) String() string {
114468	return awsutil.Prettify(s)
114469}
114470
114471// GoString returns the string representation
114472func (s ResetNetworkInterfaceAttributeInput) GoString() string {
114473	return s.String()
114474}
114475
114476// Validate inspects the fields of the type to determine if they are valid.
114477func (s *ResetNetworkInterfaceAttributeInput) Validate() error {
114478	invalidParams := request.ErrInvalidParams{Context: "ResetNetworkInterfaceAttributeInput"}
114479	if s.NetworkInterfaceId == nil {
114480		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
114481	}
114482
114483	if invalidParams.Len() > 0 {
114484		return invalidParams
114485	}
114486	return nil
114487}
114488
114489// SetDryRun sets the DryRun field's value.
114490func (s *ResetNetworkInterfaceAttributeInput) SetDryRun(v bool) *ResetNetworkInterfaceAttributeInput {
114491	s.DryRun = &v
114492	return s
114493}
114494
114495// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
114496func (s *ResetNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ResetNetworkInterfaceAttributeInput {
114497	s.NetworkInterfaceId = &v
114498	return s
114499}
114500
114501// SetSourceDestCheck sets the SourceDestCheck field's value.
114502func (s *ResetNetworkInterfaceAttributeInput) SetSourceDestCheck(v string) *ResetNetworkInterfaceAttributeInput {
114503	s.SourceDestCheck = &v
114504	return s
114505}
114506
114507type ResetNetworkInterfaceAttributeOutput struct {
114508	_ struct{} `type:"structure"`
114509}
114510
114511// String returns the string representation
114512func (s ResetNetworkInterfaceAttributeOutput) String() string {
114513	return awsutil.Prettify(s)
114514}
114515
114516// GoString returns the string representation
114517func (s ResetNetworkInterfaceAttributeOutput) GoString() string {
114518	return s.String()
114519}
114520
114521type ResetSnapshotAttributeInput struct {
114522	_ struct{} `type:"structure"`
114523
114524	// The attribute to reset. Currently, only the attribute for permission to create
114525	// volumes can be reset.
114526	//
114527	// Attribute is a required field
114528	Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
114529
114530	// Checks whether you have the required permissions for the action, without
114531	// actually making the request, and provides an error response. If you have
114532	// the required permissions, the error response is DryRunOperation. Otherwise,
114533	// it is UnauthorizedOperation.
114534	DryRun *bool `locationName:"dryRun" type:"boolean"`
114535
114536	// The ID of the snapshot.
114537	//
114538	// SnapshotId is a required field
114539	SnapshotId *string `type:"string" required:"true"`
114540}
114541
114542// String returns the string representation
114543func (s ResetSnapshotAttributeInput) String() string {
114544	return awsutil.Prettify(s)
114545}
114546
114547// GoString returns the string representation
114548func (s ResetSnapshotAttributeInput) GoString() string {
114549	return s.String()
114550}
114551
114552// Validate inspects the fields of the type to determine if they are valid.
114553func (s *ResetSnapshotAttributeInput) Validate() error {
114554	invalidParams := request.ErrInvalidParams{Context: "ResetSnapshotAttributeInput"}
114555	if s.Attribute == nil {
114556		invalidParams.Add(request.NewErrParamRequired("Attribute"))
114557	}
114558	if s.SnapshotId == nil {
114559		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
114560	}
114561
114562	if invalidParams.Len() > 0 {
114563		return invalidParams
114564	}
114565	return nil
114566}
114567
114568// SetAttribute sets the Attribute field's value.
114569func (s *ResetSnapshotAttributeInput) SetAttribute(v string) *ResetSnapshotAttributeInput {
114570	s.Attribute = &v
114571	return s
114572}
114573
114574// SetDryRun sets the DryRun field's value.
114575func (s *ResetSnapshotAttributeInput) SetDryRun(v bool) *ResetSnapshotAttributeInput {
114576	s.DryRun = &v
114577	return s
114578}
114579
114580// SetSnapshotId sets the SnapshotId field's value.
114581func (s *ResetSnapshotAttributeInput) SetSnapshotId(v string) *ResetSnapshotAttributeInput {
114582	s.SnapshotId = &v
114583	return s
114584}
114585
114586type ResetSnapshotAttributeOutput struct {
114587	_ struct{} `type:"structure"`
114588}
114589
114590// String returns the string representation
114591func (s ResetSnapshotAttributeOutput) String() string {
114592	return awsutil.Prettify(s)
114593}
114594
114595// GoString returns the string representation
114596func (s ResetSnapshotAttributeOutput) GoString() string {
114597	return s.String()
114598}
114599
114600// Describes the error that's returned when you cannot delete a launch template
114601// version.
114602type ResponseError struct {
114603	_ struct{} `type:"structure"`
114604
114605	// The error code.
114606	Code *string `locationName:"code" type:"string" enum:"LaunchTemplateErrorCode"`
114607
114608	// The error message, if applicable.
114609	Message *string `locationName:"message" type:"string"`
114610}
114611
114612// String returns the string representation
114613func (s ResponseError) String() string {
114614	return awsutil.Prettify(s)
114615}
114616
114617// GoString returns the string representation
114618func (s ResponseError) GoString() string {
114619	return s.String()
114620}
114621
114622// SetCode sets the Code field's value.
114623func (s *ResponseError) SetCode(v string) *ResponseError {
114624	s.Code = &v
114625	return s
114626}
114627
114628// SetMessage sets the Message field's value.
114629func (s *ResponseError) SetMessage(v string) *ResponseError {
114630	s.Message = &v
114631	return s
114632}
114633
114634// The information for a launch template.
114635type ResponseLaunchTemplateData struct {
114636	_ struct{} `type:"structure"`
114637
114638	// The block device mappings.
114639	BlockDeviceMappings []*LaunchTemplateBlockDeviceMapping `locationName:"blockDeviceMappingSet" locationNameList:"item" type:"list"`
114640
114641	// Information about the Capacity Reservation targeting option.
114642	CapacityReservationSpecification *LaunchTemplateCapacityReservationSpecificationResponse `locationName:"capacityReservationSpecification" type:"structure"`
114643
114644	// The CPU options for the instance. For more information, see Optimizing CPU
114645	// options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html)
114646	// in the Amazon Elastic Compute Cloud User Guide.
114647	CpuOptions *LaunchTemplateCpuOptions `locationName:"cpuOptions" type:"structure"`
114648
114649	// The credit option for CPU usage of the instance.
114650	CreditSpecification *CreditSpecification `locationName:"creditSpecification" type:"structure"`
114651
114652	// If set to true, indicates that the instance cannot be terminated using the
114653	// Amazon EC2 console, command line tool, or API.
114654	DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
114655
114656	// Indicates whether the instance is optimized for Amazon EBS I/O.
114657	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
114658
114659	// The elastic GPU specification.
114660	ElasticGpuSpecifications []*ElasticGpuSpecificationResponse `locationName:"elasticGpuSpecificationSet" locationNameList:"item" type:"list"`
114661
114662	// The elastic inference accelerator for the instance.
114663	ElasticInferenceAccelerators []*LaunchTemplateElasticInferenceAcceleratorResponse `locationName:"elasticInferenceAcceleratorSet" locationNameList:"item" type:"list"`
114664
114665	// Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.
114666	EnclaveOptions *LaunchTemplateEnclaveOptions `locationName:"enclaveOptions" type:"structure"`
114667
114668	// Indicates whether an instance is configured for hibernation. For more information,
114669	// see Hibernate your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
114670	// in the Amazon Elastic Compute Cloud User Guide.
114671	HibernationOptions *LaunchTemplateHibernationOptions `locationName:"hibernationOptions" type:"structure"`
114672
114673	// The IAM instance profile.
114674	IamInstanceProfile *LaunchTemplateIamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
114675
114676	// The ID of the AMI that was used to launch the instance.
114677	ImageId *string `locationName:"imageId" type:"string"`
114678
114679	// Indicates whether an instance stops or terminates when you initiate shutdown
114680	// from the instance (using the operating system command for system shutdown).
114681	InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
114682
114683	// The market (purchasing) option for the instances.
114684	InstanceMarketOptions *LaunchTemplateInstanceMarketOptions `locationName:"instanceMarketOptions" type:"structure"`
114685
114686	// The instance type.
114687	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
114688
114689	// The ID of the kernel, if applicable.
114690	KernelId *string `locationName:"kernelId" type:"string"`
114691
114692	// The name of the key pair.
114693	KeyName *string `locationName:"keyName" type:"string"`
114694
114695	// The license configurations.
114696	LicenseSpecifications []*LaunchTemplateLicenseConfiguration `locationName:"licenseSet" locationNameList:"item" type:"list"`
114697
114698	// The metadata options for the instance. For more information, see Instance
114699	// metadata and user data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
114700	// in the Amazon Elastic Compute Cloud User Guide.
114701	MetadataOptions *LaunchTemplateInstanceMetadataOptions `locationName:"metadataOptions" type:"structure"`
114702
114703	// The monitoring for the instance.
114704	Monitoring *LaunchTemplatesMonitoring `locationName:"monitoring" type:"structure"`
114705
114706	// The network interfaces.
114707	NetworkInterfaces []*LaunchTemplateInstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
114708
114709	// The placement of the instance.
114710	Placement *LaunchTemplatePlacement `locationName:"placement" type:"structure"`
114711
114712	// The ID of the RAM disk, if applicable.
114713	RamDiskId *string `locationName:"ramDiskId" type:"string"`
114714
114715	// The security group IDs.
114716	SecurityGroupIds []*string `locationName:"securityGroupIdSet" locationNameList:"item" type:"list"`
114717
114718	// The security group names.
114719	SecurityGroups []*string `locationName:"securityGroupSet" locationNameList:"item" type:"list"`
114720
114721	// The tags.
114722	TagSpecifications []*LaunchTemplateTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"`
114723
114724	// The user data for the instance.
114725	UserData *string `locationName:"userData" type:"string"`
114726}
114727
114728// String returns the string representation
114729func (s ResponseLaunchTemplateData) String() string {
114730	return awsutil.Prettify(s)
114731}
114732
114733// GoString returns the string representation
114734func (s ResponseLaunchTemplateData) GoString() string {
114735	return s.String()
114736}
114737
114738// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
114739func (s *ResponseLaunchTemplateData) SetBlockDeviceMappings(v []*LaunchTemplateBlockDeviceMapping) *ResponseLaunchTemplateData {
114740	s.BlockDeviceMappings = v
114741	return s
114742}
114743
114744// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
114745func (s *ResponseLaunchTemplateData) SetCapacityReservationSpecification(v *LaunchTemplateCapacityReservationSpecificationResponse) *ResponseLaunchTemplateData {
114746	s.CapacityReservationSpecification = v
114747	return s
114748}
114749
114750// SetCpuOptions sets the CpuOptions field's value.
114751func (s *ResponseLaunchTemplateData) SetCpuOptions(v *LaunchTemplateCpuOptions) *ResponseLaunchTemplateData {
114752	s.CpuOptions = v
114753	return s
114754}
114755
114756// SetCreditSpecification sets the CreditSpecification field's value.
114757func (s *ResponseLaunchTemplateData) SetCreditSpecification(v *CreditSpecification) *ResponseLaunchTemplateData {
114758	s.CreditSpecification = v
114759	return s
114760}
114761
114762// SetDisableApiTermination sets the DisableApiTermination field's value.
114763func (s *ResponseLaunchTemplateData) SetDisableApiTermination(v bool) *ResponseLaunchTemplateData {
114764	s.DisableApiTermination = &v
114765	return s
114766}
114767
114768// SetEbsOptimized sets the EbsOptimized field's value.
114769func (s *ResponseLaunchTemplateData) SetEbsOptimized(v bool) *ResponseLaunchTemplateData {
114770	s.EbsOptimized = &v
114771	return s
114772}
114773
114774// SetElasticGpuSpecifications sets the ElasticGpuSpecifications field's value.
114775func (s *ResponseLaunchTemplateData) SetElasticGpuSpecifications(v []*ElasticGpuSpecificationResponse) *ResponseLaunchTemplateData {
114776	s.ElasticGpuSpecifications = v
114777	return s
114778}
114779
114780// SetElasticInferenceAccelerators sets the ElasticInferenceAccelerators field's value.
114781func (s *ResponseLaunchTemplateData) SetElasticInferenceAccelerators(v []*LaunchTemplateElasticInferenceAcceleratorResponse) *ResponseLaunchTemplateData {
114782	s.ElasticInferenceAccelerators = v
114783	return s
114784}
114785
114786// SetEnclaveOptions sets the EnclaveOptions field's value.
114787func (s *ResponseLaunchTemplateData) SetEnclaveOptions(v *LaunchTemplateEnclaveOptions) *ResponseLaunchTemplateData {
114788	s.EnclaveOptions = v
114789	return s
114790}
114791
114792// SetHibernationOptions sets the HibernationOptions field's value.
114793func (s *ResponseLaunchTemplateData) SetHibernationOptions(v *LaunchTemplateHibernationOptions) *ResponseLaunchTemplateData {
114794	s.HibernationOptions = v
114795	return s
114796}
114797
114798// SetIamInstanceProfile sets the IamInstanceProfile field's value.
114799func (s *ResponseLaunchTemplateData) SetIamInstanceProfile(v *LaunchTemplateIamInstanceProfileSpecification) *ResponseLaunchTemplateData {
114800	s.IamInstanceProfile = v
114801	return s
114802}
114803
114804// SetImageId sets the ImageId field's value.
114805func (s *ResponseLaunchTemplateData) SetImageId(v string) *ResponseLaunchTemplateData {
114806	s.ImageId = &v
114807	return s
114808}
114809
114810// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
114811func (s *ResponseLaunchTemplateData) SetInstanceInitiatedShutdownBehavior(v string) *ResponseLaunchTemplateData {
114812	s.InstanceInitiatedShutdownBehavior = &v
114813	return s
114814}
114815
114816// SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
114817func (s *ResponseLaunchTemplateData) SetInstanceMarketOptions(v *LaunchTemplateInstanceMarketOptions) *ResponseLaunchTemplateData {
114818	s.InstanceMarketOptions = v
114819	return s
114820}
114821
114822// SetInstanceType sets the InstanceType field's value.
114823func (s *ResponseLaunchTemplateData) SetInstanceType(v string) *ResponseLaunchTemplateData {
114824	s.InstanceType = &v
114825	return s
114826}
114827
114828// SetKernelId sets the KernelId field's value.
114829func (s *ResponseLaunchTemplateData) SetKernelId(v string) *ResponseLaunchTemplateData {
114830	s.KernelId = &v
114831	return s
114832}
114833
114834// SetKeyName sets the KeyName field's value.
114835func (s *ResponseLaunchTemplateData) SetKeyName(v string) *ResponseLaunchTemplateData {
114836	s.KeyName = &v
114837	return s
114838}
114839
114840// SetLicenseSpecifications sets the LicenseSpecifications field's value.
114841func (s *ResponseLaunchTemplateData) SetLicenseSpecifications(v []*LaunchTemplateLicenseConfiguration) *ResponseLaunchTemplateData {
114842	s.LicenseSpecifications = v
114843	return s
114844}
114845
114846// SetMetadataOptions sets the MetadataOptions field's value.
114847func (s *ResponseLaunchTemplateData) SetMetadataOptions(v *LaunchTemplateInstanceMetadataOptions) *ResponseLaunchTemplateData {
114848	s.MetadataOptions = v
114849	return s
114850}
114851
114852// SetMonitoring sets the Monitoring field's value.
114853func (s *ResponseLaunchTemplateData) SetMonitoring(v *LaunchTemplatesMonitoring) *ResponseLaunchTemplateData {
114854	s.Monitoring = v
114855	return s
114856}
114857
114858// SetNetworkInterfaces sets the NetworkInterfaces field's value.
114859func (s *ResponseLaunchTemplateData) SetNetworkInterfaces(v []*LaunchTemplateInstanceNetworkInterfaceSpecification) *ResponseLaunchTemplateData {
114860	s.NetworkInterfaces = v
114861	return s
114862}
114863
114864// SetPlacement sets the Placement field's value.
114865func (s *ResponseLaunchTemplateData) SetPlacement(v *LaunchTemplatePlacement) *ResponseLaunchTemplateData {
114866	s.Placement = v
114867	return s
114868}
114869
114870// SetRamDiskId sets the RamDiskId field's value.
114871func (s *ResponseLaunchTemplateData) SetRamDiskId(v string) *ResponseLaunchTemplateData {
114872	s.RamDiskId = &v
114873	return s
114874}
114875
114876// SetSecurityGroupIds sets the SecurityGroupIds field's value.
114877func (s *ResponseLaunchTemplateData) SetSecurityGroupIds(v []*string) *ResponseLaunchTemplateData {
114878	s.SecurityGroupIds = v
114879	return s
114880}
114881
114882// SetSecurityGroups sets the SecurityGroups field's value.
114883func (s *ResponseLaunchTemplateData) SetSecurityGroups(v []*string) *ResponseLaunchTemplateData {
114884	s.SecurityGroups = v
114885	return s
114886}
114887
114888// SetTagSpecifications sets the TagSpecifications field's value.
114889func (s *ResponseLaunchTemplateData) SetTagSpecifications(v []*LaunchTemplateTagSpecification) *ResponseLaunchTemplateData {
114890	s.TagSpecifications = v
114891	return s
114892}
114893
114894// SetUserData sets the UserData field's value.
114895func (s *ResponseLaunchTemplateData) SetUserData(v string) *ResponseLaunchTemplateData {
114896	s.UserData = &v
114897	return s
114898}
114899
114900type RestoreAddressToClassicInput struct {
114901	_ struct{} `type:"structure"`
114902
114903	// Checks whether you have the required permissions for the action, without
114904	// actually making the request, and provides an error response. If you have
114905	// the required permissions, the error response is DryRunOperation. Otherwise,
114906	// it is UnauthorizedOperation.
114907	DryRun *bool `locationName:"dryRun" type:"boolean"`
114908
114909	// The Elastic IP address.
114910	//
114911	// PublicIp is a required field
114912	PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
114913}
114914
114915// String returns the string representation
114916func (s RestoreAddressToClassicInput) String() string {
114917	return awsutil.Prettify(s)
114918}
114919
114920// GoString returns the string representation
114921func (s RestoreAddressToClassicInput) GoString() string {
114922	return s.String()
114923}
114924
114925// Validate inspects the fields of the type to determine if they are valid.
114926func (s *RestoreAddressToClassicInput) Validate() error {
114927	invalidParams := request.ErrInvalidParams{Context: "RestoreAddressToClassicInput"}
114928	if s.PublicIp == nil {
114929		invalidParams.Add(request.NewErrParamRequired("PublicIp"))
114930	}
114931
114932	if invalidParams.Len() > 0 {
114933		return invalidParams
114934	}
114935	return nil
114936}
114937
114938// SetDryRun sets the DryRun field's value.
114939func (s *RestoreAddressToClassicInput) SetDryRun(v bool) *RestoreAddressToClassicInput {
114940	s.DryRun = &v
114941	return s
114942}
114943
114944// SetPublicIp sets the PublicIp field's value.
114945func (s *RestoreAddressToClassicInput) SetPublicIp(v string) *RestoreAddressToClassicInput {
114946	s.PublicIp = &v
114947	return s
114948}
114949
114950type RestoreAddressToClassicOutput struct {
114951	_ struct{} `type:"structure"`
114952
114953	// The Elastic IP address.
114954	PublicIp *string `locationName:"publicIp" type:"string"`
114955
114956	// The move status for the IP address.
114957	Status *string `locationName:"status" type:"string" enum:"Status"`
114958}
114959
114960// String returns the string representation
114961func (s RestoreAddressToClassicOutput) String() string {
114962	return awsutil.Prettify(s)
114963}
114964
114965// GoString returns the string representation
114966func (s RestoreAddressToClassicOutput) GoString() string {
114967	return s.String()
114968}
114969
114970// SetPublicIp sets the PublicIp field's value.
114971func (s *RestoreAddressToClassicOutput) SetPublicIp(v string) *RestoreAddressToClassicOutput {
114972	s.PublicIp = &v
114973	return s
114974}
114975
114976// SetStatus sets the Status field's value.
114977func (s *RestoreAddressToClassicOutput) SetStatus(v string) *RestoreAddressToClassicOutput {
114978	s.Status = &v
114979	return s
114980}
114981
114982type RestoreManagedPrefixListVersionInput struct {
114983	_ struct{} `type:"structure"`
114984
114985	// The current version number for the prefix list.
114986	//
114987	// CurrentVersion is a required field
114988	CurrentVersion *int64 `type:"long" required:"true"`
114989
114990	// Checks whether you have the required permissions for the action, without
114991	// actually making the request, and provides an error response. If you have
114992	// the required permissions, the error response is DryRunOperation. Otherwise,
114993	// it is UnauthorizedOperation.
114994	DryRun *bool `type:"boolean"`
114995
114996	// The ID of the prefix list.
114997	//
114998	// PrefixListId is a required field
114999	PrefixListId *string `type:"string" required:"true"`
115000
115001	// The version to restore.
115002	//
115003	// PreviousVersion is a required field
115004	PreviousVersion *int64 `type:"long" required:"true"`
115005}
115006
115007// String returns the string representation
115008func (s RestoreManagedPrefixListVersionInput) String() string {
115009	return awsutil.Prettify(s)
115010}
115011
115012// GoString returns the string representation
115013func (s RestoreManagedPrefixListVersionInput) GoString() string {
115014	return s.String()
115015}
115016
115017// Validate inspects the fields of the type to determine if they are valid.
115018func (s *RestoreManagedPrefixListVersionInput) Validate() error {
115019	invalidParams := request.ErrInvalidParams{Context: "RestoreManagedPrefixListVersionInput"}
115020	if s.CurrentVersion == nil {
115021		invalidParams.Add(request.NewErrParamRequired("CurrentVersion"))
115022	}
115023	if s.PrefixListId == nil {
115024		invalidParams.Add(request.NewErrParamRequired("PrefixListId"))
115025	}
115026	if s.PreviousVersion == nil {
115027		invalidParams.Add(request.NewErrParamRequired("PreviousVersion"))
115028	}
115029
115030	if invalidParams.Len() > 0 {
115031		return invalidParams
115032	}
115033	return nil
115034}
115035
115036// SetCurrentVersion sets the CurrentVersion field's value.
115037func (s *RestoreManagedPrefixListVersionInput) SetCurrentVersion(v int64) *RestoreManagedPrefixListVersionInput {
115038	s.CurrentVersion = &v
115039	return s
115040}
115041
115042// SetDryRun sets the DryRun field's value.
115043func (s *RestoreManagedPrefixListVersionInput) SetDryRun(v bool) *RestoreManagedPrefixListVersionInput {
115044	s.DryRun = &v
115045	return s
115046}
115047
115048// SetPrefixListId sets the PrefixListId field's value.
115049func (s *RestoreManagedPrefixListVersionInput) SetPrefixListId(v string) *RestoreManagedPrefixListVersionInput {
115050	s.PrefixListId = &v
115051	return s
115052}
115053
115054// SetPreviousVersion sets the PreviousVersion field's value.
115055func (s *RestoreManagedPrefixListVersionInput) SetPreviousVersion(v int64) *RestoreManagedPrefixListVersionInput {
115056	s.PreviousVersion = &v
115057	return s
115058}
115059
115060type RestoreManagedPrefixListVersionOutput struct {
115061	_ struct{} `type:"structure"`
115062
115063	// Information about the prefix list.
115064	PrefixList *ManagedPrefixList `locationName:"prefixList" type:"structure"`
115065}
115066
115067// String returns the string representation
115068func (s RestoreManagedPrefixListVersionOutput) String() string {
115069	return awsutil.Prettify(s)
115070}
115071
115072// GoString returns the string representation
115073func (s RestoreManagedPrefixListVersionOutput) GoString() string {
115074	return s.String()
115075}
115076
115077// SetPrefixList sets the PrefixList field's value.
115078func (s *RestoreManagedPrefixListVersionOutput) SetPrefixList(v *ManagedPrefixList) *RestoreManagedPrefixListVersionOutput {
115079	s.PrefixList = v
115080	return s
115081}
115082
115083type RevokeClientVpnIngressInput struct {
115084	_ struct{} `type:"structure"`
115085
115086	// The ID of the Active Directory group for which to revoke access.
115087	AccessGroupId *string `type:"string"`
115088
115089	// The ID of the Client VPN endpoint with which the authorization rule is associated.
115090	//
115091	// ClientVpnEndpointId is a required field
115092	ClientVpnEndpointId *string `type:"string" required:"true"`
115093
115094	// Checks whether you have the required permissions for the action, without
115095	// actually making the request, and provides an error response. If you have
115096	// the required permissions, the error response is DryRunOperation. Otherwise,
115097	// it is UnauthorizedOperation.
115098	DryRun *bool `type:"boolean"`
115099
115100	// Indicates whether access should be revoked for all clients.
115101	RevokeAllGroups *bool `type:"boolean"`
115102
115103	// The IPv4 address range, in CIDR notation, of the network for which access
115104	// is being removed.
115105	//
115106	// TargetNetworkCidr is a required field
115107	TargetNetworkCidr *string `type:"string" required:"true"`
115108}
115109
115110// String returns the string representation
115111func (s RevokeClientVpnIngressInput) String() string {
115112	return awsutil.Prettify(s)
115113}
115114
115115// GoString returns the string representation
115116func (s RevokeClientVpnIngressInput) GoString() string {
115117	return s.String()
115118}
115119
115120// Validate inspects the fields of the type to determine if they are valid.
115121func (s *RevokeClientVpnIngressInput) Validate() error {
115122	invalidParams := request.ErrInvalidParams{Context: "RevokeClientVpnIngressInput"}
115123	if s.ClientVpnEndpointId == nil {
115124		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
115125	}
115126	if s.TargetNetworkCidr == nil {
115127		invalidParams.Add(request.NewErrParamRequired("TargetNetworkCidr"))
115128	}
115129
115130	if invalidParams.Len() > 0 {
115131		return invalidParams
115132	}
115133	return nil
115134}
115135
115136// SetAccessGroupId sets the AccessGroupId field's value.
115137func (s *RevokeClientVpnIngressInput) SetAccessGroupId(v string) *RevokeClientVpnIngressInput {
115138	s.AccessGroupId = &v
115139	return s
115140}
115141
115142// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
115143func (s *RevokeClientVpnIngressInput) SetClientVpnEndpointId(v string) *RevokeClientVpnIngressInput {
115144	s.ClientVpnEndpointId = &v
115145	return s
115146}
115147
115148// SetDryRun sets the DryRun field's value.
115149func (s *RevokeClientVpnIngressInput) SetDryRun(v bool) *RevokeClientVpnIngressInput {
115150	s.DryRun = &v
115151	return s
115152}
115153
115154// SetRevokeAllGroups sets the RevokeAllGroups field's value.
115155func (s *RevokeClientVpnIngressInput) SetRevokeAllGroups(v bool) *RevokeClientVpnIngressInput {
115156	s.RevokeAllGroups = &v
115157	return s
115158}
115159
115160// SetTargetNetworkCidr sets the TargetNetworkCidr field's value.
115161func (s *RevokeClientVpnIngressInput) SetTargetNetworkCidr(v string) *RevokeClientVpnIngressInput {
115162	s.TargetNetworkCidr = &v
115163	return s
115164}
115165
115166type RevokeClientVpnIngressOutput struct {
115167	_ struct{} `type:"structure"`
115168
115169	// The current state of the authorization rule.
115170	Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"`
115171}
115172
115173// String returns the string representation
115174func (s RevokeClientVpnIngressOutput) String() string {
115175	return awsutil.Prettify(s)
115176}
115177
115178// GoString returns the string representation
115179func (s RevokeClientVpnIngressOutput) GoString() string {
115180	return s.String()
115181}
115182
115183// SetStatus sets the Status field's value.
115184func (s *RevokeClientVpnIngressOutput) SetStatus(v *ClientVpnAuthorizationRuleStatus) *RevokeClientVpnIngressOutput {
115185	s.Status = v
115186	return s
115187}
115188
115189type RevokeSecurityGroupEgressInput struct {
115190	_ struct{} `type:"structure"`
115191
115192	// Not supported. Use a set of IP permissions to specify the CIDR.
115193	CidrIp *string `locationName:"cidrIp" type:"string"`
115194
115195	// Checks whether you have the required permissions for the action, without
115196	// actually making the request, and provides an error response. If you have
115197	// the required permissions, the error response is DryRunOperation. Otherwise,
115198	// it is UnauthorizedOperation.
115199	DryRun *bool `locationName:"dryRun" type:"boolean"`
115200
115201	// Not supported. Use a set of IP permissions to specify the port.
115202	FromPort *int64 `locationName:"fromPort" type:"integer"`
115203
115204	// The ID of the security group.
115205	//
115206	// GroupId is a required field
115207	GroupId *string `locationName:"groupId" type:"string" required:"true"`
115208
115209	// The sets of IP permissions. You can't specify a destination security group
115210	// and a CIDR IP address range in the same set of permissions.
115211	IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
115212
115213	// Not supported. Use a set of IP permissions to specify the protocol name or
115214	// number.
115215	IpProtocol *string `locationName:"ipProtocol" type:"string"`
115216
115217	// The IDs of the security group rules.
115218	SecurityGroupRuleIds []*string `locationName:"SecurityGroupRuleId" locationNameList:"item" type:"list"`
115219
115220	// Not supported. Use a set of IP permissions to specify a destination security
115221	// group.
115222	SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
115223
115224	// Not supported. Use a set of IP permissions to specify a destination security
115225	// group.
115226	SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
115227
115228	// Not supported. Use a set of IP permissions to specify the port.
115229	ToPort *int64 `locationName:"toPort" type:"integer"`
115230}
115231
115232// String returns the string representation
115233func (s RevokeSecurityGroupEgressInput) String() string {
115234	return awsutil.Prettify(s)
115235}
115236
115237// GoString returns the string representation
115238func (s RevokeSecurityGroupEgressInput) GoString() string {
115239	return s.String()
115240}
115241
115242// Validate inspects the fields of the type to determine if they are valid.
115243func (s *RevokeSecurityGroupEgressInput) Validate() error {
115244	invalidParams := request.ErrInvalidParams{Context: "RevokeSecurityGroupEgressInput"}
115245	if s.GroupId == nil {
115246		invalidParams.Add(request.NewErrParamRequired("GroupId"))
115247	}
115248
115249	if invalidParams.Len() > 0 {
115250		return invalidParams
115251	}
115252	return nil
115253}
115254
115255// SetCidrIp sets the CidrIp field's value.
115256func (s *RevokeSecurityGroupEgressInput) SetCidrIp(v string) *RevokeSecurityGroupEgressInput {
115257	s.CidrIp = &v
115258	return s
115259}
115260
115261// SetDryRun sets the DryRun field's value.
115262func (s *RevokeSecurityGroupEgressInput) SetDryRun(v bool) *RevokeSecurityGroupEgressInput {
115263	s.DryRun = &v
115264	return s
115265}
115266
115267// SetFromPort sets the FromPort field's value.
115268func (s *RevokeSecurityGroupEgressInput) SetFromPort(v int64) *RevokeSecurityGroupEgressInput {
115269	s.FromPort = &v
115270	return s
115271}
115272
115273// SetGroupId sets the GroupId field's value.
115274func (s *RevokeSecurityGroupEgressInput) SetGroupId(v string) *RevokeSecurityGroupEgressInput {
115275	s.GroupId = &v
115276	return s
115277}
115278
115279// SetIpPermissions sets the IpPermissions field's value.
115280func (s *RevokeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupEgressInput {
115281	s.IpPermissions = v
115282	return s
115283}
115284
115285// SetIpProtocol sets the IpProtocol field's value.
115286func (s *RevokeSecurityGroupEgressInput) SetIpProtocol(v string) *RevokeSecurityGroupEgressInput {
115287	s.IpProtocol = &v
115288	return s
115289}
115290
115291// SetSecurityGroupRuleIds sets the SecurityGroupRuleIds field's value.
115292func (s *RevokeSecurityGroupEgressInput) SetSecurityGroupRuleIds(v []*string) *RevokeSecurityGroupEgressInput {
115293	s.SecurityGroupRuleIds = v
115294	return s
115295}
115296
115297// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
115298func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupEgressInput {
115299	s.SourceSecurityGroupName = &v
115300	return s
115301}
115302
115303// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
115304func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupEgressInput {
115305	s.SourceSecurityGroupOwnerId = &v
115306	return s
115307}
115308
115309// SetToPort sets the ToPort field's value.
115310func (s *RevokeSecurityGroupEgressInput) SetToPort(v int64) *RevokeSecurityGroupEgressInput {
115311	s.ToPort = &v
115312	return s
115313}
115314
115315type RevokeSecurityGroupEgressOutput struct {
115316	_ struct{} `type:"structure"`
115317
115318	// Returns true if the request succeeds; otherwise, returns an error.
115319	Return *bool `locationName:"return" type:"boolean"`
115320
115321	// The outbound rules that were unknown to the service. In some cases, unknownIpPermissionSet
115322	// might be in a different format from the request parameter.
115323	UnknownIpPermissions []*IpPermission `locationName:"unknownIpPermissionSet" locationNameList:"item" type:"list"`
115324}
115325
115326// String returns the string representation
115327func (s RevokeSecurityGroupEgressOutput) String() string {
115328	return awsutil.Prettify(s)
115329}
115330
115331// GoString returns the string representation
115332func (s RevokeSecurityGroupEgressOutput) GoString() string {
115333	return s.String()
115334}
115335
115336// SetReturn sets the Return field's value.
115337func (s *RevokeSecurityGroupEgressOutput) SetReturn(v bool) *RevokeSecurityGroupEgressOutput {
115338	s.Return = &v
115339	return s
115340}
115341
115342// SetUnknownIpPermissions sets the UnknownIpPermissions field's value.
115343func (s *RevokeSecurityGroupEgressOutput) SetUnknownIpPermissions(v []*IpPermission) *RevokeSecurityGroupEgressOutput {
115344	s.UnknownIpPermissions = v
115345	return s
115346}
115347
115348type RevokeSecurityGroupIngressInput struct {
115349	_ struct{} `type:"structure"`
115350
115351	// The CIDR IP address range. You can't specify this parameter when specifying
115352	// a source security group.
115353	CidrIp *string `type:"string"`
115354
115355	// Checks whether you have the required permissions for the action, without
115356	// actually making the request, and provides an error response. If you have
115357	// the required permissions, the error response is DryRunOperation. Otherwise,
115358	// it is UnauthorizedOperation.
115359	DryRun *bool `locationName:"dryRun" type:"boolean"`
115360
115361	// The start of port range for the TCP and UDP protocols, or an ICMP type number.
115362	// For the ICMP type number, use -1 to specify all ICMP types.
115363	FromPort *int64 `type:"integer"`
115364
115365	// The ID of the security group. You must specify either the security group
115366	// ID or the security group name in the request. For security groups in a nondefault
115367	// VPC, you must specify the security group ID.
115368	GroupId *string `type:"string"`
115369
115370	// [EC2-Classic, default VPC] The name of the security group. You must specify
115371	// either the security group ID or the security group name in the request.
115372	GroupName *string `type:"string"`
115373
115374	// The sets of IP permissions. You can't specify a source security group and
115375	// a CIDR IP address range in the same set of permissions.
115376	IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
115377
115378	// The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
115379	// Use -1 to specify all.
115380	IpProtocol *string `type:"string"`
115381
115382	// The IDs of the security group rules.
115383	SecurityGroupRuleIds []*string `locationName:"SecurityGroupRuleId" locationNameList:"item" type:"list"`
115384
115385	// [EC2-Classic, default VPC] The name of the source security group. You can't
115386	// specify this parameter in combination with the following parameters: the
115387	// CIDR IP address range, the start of the port range, the IP protocol, and
115388	// the end of the port range. For EC2-VPC, the source security group must be
115389	// in the same VPC. To revoke a specific rule for an IP protocol and port range,
115390	// use a set of IP permissions instead.
115391	SourceSecurityGroupName *string `type:"string"`
115392
115393	// [EC2-Classic] The Amazon Web Services account ID of the source security group,
115394	// if the source security group is in a different account. You can't specify
115395	// this parameter in combination with the following parameters: the CIDR IP
115396	// address range, the IP protocol, the start of the port range, and the end
115397	// of the port range. To revoke a specific rule for an IP protocol and port
115398	// range, use a set of IP permissions instead.
115399	SourceSecurityGroupOwnerId *string `type:"string"`
115400
115401	// The end of port range for the TCP and UDP protocols, or an ICMP code number.
115402	// For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
115403	ToPort *int64 `type:"integer"`
115404}
115405
115406// String returns the string representation
115407func (s RevokeSecurityGroupIngressInput) String() string {
115408	return awsutil.Prettify(s)
115409}
115410
115411// GoString returns the string representation
115412func (s RevokeSecurityGroupIngressInput) GoString() string {
115413	return s.String()
115414}
115415
115416// SetCidrIp sets the CidrIp field's value.
115417func (s *RevokeSecurityGroupIngressInput) SetCidrIp(v string) *RevokeSecurityGroupIngressInput {
115418	s.CidrIp = &v
115419	return s
115420}
115421
115422// SetDryRun sets the DryRun field's value.
115423func (s *RevokeSecurityGroupIngressInput) SetDryRun(v bool) *RevokeSecurityGroupIngressInput {
115424	s.DryRun = &v
115425	return s
115426}
115427
115428// SetFromPort sets the FromPort field's value.
115429func (s *RevokeSecurityGroupIngressInput) SetFromPort(v int64) *RevokeSecurityGroupIngressInput {
115430	s.FromPort = &v
115431	return s
115432}
115433
115434// SetGroupId sets the GroupId field's value.
115435func (s *RevokeSecurityGroupIngressInput) SetGroupId(v string) *RevokeSecurityGroupIngressInput {
115436	s.GroupId = &v
115437	return s
115438}
115439
115440// SetGroupName sets the GroupName field's value.
115441func (s *RevokeSecurityGroupIngressInput) SetGroupName(v string) *RevokeSecurityGroupIngressInput {
115442	s.GroupName = &v
115443	return s
115444}
115445
115446// SetIpPermissions sets the IpPermissions field's value.
115447func (s *RevokeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupIngressInput {
115448	s.IpPermissions = v
115449	return s
115450}
115451
115452// SetIpProtocol sets the IpProtocol field's value.
115453func (s *RevokeSecurityGroupIngressInput) SetIpProtocol(v string) *RevokeSecurityGroupIngressInput {
115454	s.IpProtocol = &v
115455	return s
115456}
115457
115458// SetSecurityGroupRuleIds sets the SecurityGroupRuleIds field's value.
115459func (s *RevokeSecurityGroupIngressInput) SetSecurityGroupRuleIds(v []*string) *RevokeSecurityGroupIngressInput {
115460	s.SecurityGroupRuleIds = v
115461	return s
115462}
115463
115464// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
115465func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupIngressInput {
115466	s.SourceSecurityGroupName = &v
115467	return s
115468}
115469
115470// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
115471func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupIngressInput {
115472	s.SourceSecurityGroupOwnerId = &v
115473	return s
115474}
115475
115476// SetToPort sets the ToPort field's value.
115477func (s *RevokeSecurityGroupIngressInput) SetToPort(v int64) *RevokeSecurityGroupIngressInput {
115478	s.ToPort = &v
115479	return s
115480}
115481
115482type RevokeSecurityGroupIngressOutput struct {
115483	_ struct{} `type:"structure"`
115484
115485	// Returns true if the request succeeds; otherwise, returns an error.
115486	Return *bool `locationName:"return" type:"boolean"`
115487
115488	// The inbound rules that were unknown to the service. In some cases, unknownIpPermissionSet
115489	// might be in a different format from the request parameter.
115490	UnknownIpPermissions []*IpPermission `locationName:"unknownIpPermissionSet" locationNameList:"item" type:"list"`
115491}
115492
115493// String returns the string representation
115494func (s RevokeSecurityGroupIngressOutput) String() string {
115495	return awsutil.Prettify(s)
115496}
115497
115498// GoString returns the string representation
115499func (s RevokeSecurityGroupIngressOutput) GoString() string {
115500	return s.String()
115501}
115502
115503// SetReturn sets the Return field's value.
115504func (s *RevokeSecurityGroupIngressOutput) SetReturn(v bool) *RevokeSecurityGroupIngressOutput {
115505	s.Return = &v
115506	return s
115507}
115508
115509// SetUnknownIpPermissions sets the UnknownIpPermissions field's value.
115510func (s *RevokeSecurityGroupIngressOutput) SetUnknownIpPermissions(v []*IpPermission) *RevokeSecurityGroupIngressOutput {
115511	s.UnknownIpPermissions = v
115512	return s
115513}
115514
115515// Describes a route in a route table.
115516type Route struct {
115517	_ struct{} `type:"structure"`
115518
115519	// The ID of the carrier gateway.
115520	CarrierGatewayId *string `locationName:"carrierGatewayId" type:"string"`
115521
115522	// The IPv4 CIDR block used for the destination match.
115523	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
115524
115525	// The IPv6 CIDR block used for the destination match.
115526	DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
115527
115528	// The prefix of the Amazon Web Service.
115529	DestinationPrefixListId *string `locationName:"destinationPrefixListId" type:"string"`
115530
115531	// The ID of the egress-only internet gateway.
115532	EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
115533
115534	// The ID of a gateway attached to your VPC.
115535	GatewayId *string `locationName:"gatewayId" type:"string"`
115536
115537	// The ID of a NAT instance in your VPC.
115538	InstanceId *string `locationName:"instanceId" type:"string"`
115539
115540	// The ID of Amazon Web Services account that owns the instance.
115541	InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
115542
115543	// The ID of the local gateway.
115544	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
115545
115546	// The ID of a NAT gateway.
115547	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
115548
115549	// The ID of the network interface.
115550	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
115551
115552	// Describes how the route was created.
115553	//
115554	//    * CreateRouteTable - The route was automatically created when the route
115555	//    table was created.
115556	//
115557	//    * CreateRoute - The route was manually added to the route table.
115558	//
115559	//    * EnableVgwRoutePropagation - The route was propagated by route propagation.
115560	Origin *string `locationName:"origin" type:"string" enum:"RouteOrigin"`
115561
115562	// The state of the route. The blackhole state indicates that the route's target
115563	// isn't available (for example, the specified gateway isn't attached to the
115564	// VPC, or the specified NAT instance has been terminated).
115565	State *string `locationName:"state" type:"string" enum:"RouteState"`
115566
115567	// The ID of a transit gateway.
115568	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
115569
115570	// The ID of a VPC peering connection.
115571	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
115572}
115573
115574// String returns the string representation
115575func (s Route) String() string {
115576	return awsutil.Prettify(s)
115577}
115578
115579// GoString returns the string representation
115580func (s Route) GoString() string {
115581	return s.String()
115582}
115583
115584// SetCarrierGatewayId sets the CarrierGatewayId field's value.
115585func (s *Route) SetCarrierGatewayId(v string) *Route {
115586	s.CarrierGatewayId = &v
115587	return s
115588}
115589
115590// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
115591func (s *Route) SetDestinationCidrBlock(v string) *Route {
115592	s.DestinationCidrBlock = &v
115593	return s
115594}
115595
115596// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
115597func (s *Route) SetDestinationIpv6CidrBlock(v string) *Route {
115598	s.DestinationIpv6CidrBlock = &v
115599	return s
115600}
115601
115602// SetDestinationPrefixListId sets the DestinationPrefixListId field's value.
115603func (s *Route) SetDestinationPrefixListId(v string) *Route {
115604	s.DestinationPrefixListId = &v
115605	return s
115606}
115607
115608// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
115609func (s *Route) SetEgressOnlyInternetGatewayId(v string) *Route {
115610	s.EgressOnlyInternetGatewayId = &v
115611	return s
115612}
115613
115614// SetGatewayId sets the GatewayId field's value.
115615func (s *Route) SetGatewayId(v string) *Route {
115616	s.GatewayId = &v
115617	return s
115618}
115619
115620// SetInstanceId sets the InstanceId field's value.
115621func (s *Route) SetInstanceId(v string) *Route {
115622	s.InstanceId = &v
115623	return s
115624}
115625
115626// SetInstanceOwnerId sets the InstanceOwnerId field's value.
115627func (s *Route) SetInstanceOwnerId(v string) *Route {
115628	s.InstanceOwnerId = &v
115629	return s
115630}
115631
115632// SetLocalGatewayId sets the LocalGatewayId field's value.
115633func (s *Route) SetLocalGatewayId(v string) *Route {
115634	s.LocalGatewayId = &v
115635	return s
115636}
115637
115638// SetNatGatewayId sets the NatGatewayId field's value.
115639func (s *Route) SetNatGatewayId(v string) *Route {
115640	s.NatGatewayId = &v
115641	return s
115642}
115643
115644// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
115645func (s *Route) SetNetworkInterfaceId(v string) *Route {
115646	s.NetworkInterfaceId = &v
115647	return s
115648}
115649
115650// SetOrigin sets the Origin field's value.
115651func (s *Route) SetOrigin(v string) *Route {
115652	s.Origin = &v
115653	return s
115654}
115655
115656// SetState sets the State field's value.
115657func (s *Route) SetState(v string) *Route {
115658	s.State = &v
115659	return s
115660}
115661
115662// SetTransitGatewayId sets the TransitGatewayId field's value.
115663func (s *Route) SetTransitGatewayId(v string) *Route {
115664	s.TransitGatewayId = &v
115665	return s
115666}
115667
115668// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
115669func (s *Route) SetVpcPeeringConnectionId(v string) *Route {
115670	s.VpcPeeringConnectionId = &v
115671	return s
115672}
115673
115674// Describes a route table.
115675type RouteTable struct {
115676	_ struct{} `type:"structure"`
115677
115678	// The associations between the route table and one or more subnets or a gateway.
115679	Associations []*RouteTableAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
115680
115681	// The ID of the Amazon Web Services account that owns the route table.
115682	OwnerId *string `locationName:"ownerId" type:"string"`
115683
115684	// Any virtual private gateway (VGW) propagating routes.
115685	PropagatingVgws []*PropagatingVgw `locationName:"propagatingVgwSet" locationNameList:"item" type:"list"`
115686
115687	// The ID of the route table.
115688	RouteTableId *string `locationName:"routeTableId" type:"string"`
115689
115690	// The routes in the route table.
115691	Routes []*Route `locationName:"routeSet" locationNameList:"item" type:"list"`
115692
115693	// Any tags assigned to the route table.
115694	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
115695
115696	// The ID of the VPC.
115697	VpcId *string `locationName:"vpcId" type:"string"`
115698}
115699
115700// String returns the string representation
115701func (s RouteTable) String() string {
115702	return awsutil.Prettify(s)
115703}
115704
115705// GoString returns the string representation
115706func (s RouteTable) GoString() string {
115707	return s.String()
115708}
115709
115710// SetAssociations sets the Associations field's value.
115711func (s *RouteTable) SetAssociations(v []*RouteTableAssociation) *RouteTable {
115712	s.Associations = v
115713	return s
115714}
115715
115716// SetOwnerId sets the OwnerId field's value.
115717func (s *RouteTable) SetOwnerId(v string) *RouteTable {
115718	s.OwnerId = &v
115719	return s
115720}
115721
115722// SetPropagatingVgws sets the PropagatingVgws field's value.
115723func (s *RouteTable) SetPropagatingVgws(v []*PropagatingVgw) *RouteTable {
115724	s.PropagatingVgws = v
115725	return s
115726}
115727
115728// SetRouteTableId sets the RouteTableId field's value.
115729func (s *RouteTable) SetRouteTableId(v string) *RouteTable {
115730	s.RouteTableId = &v
115731	return s
115732}
115733
115734// SetRoutes sets the Routes field's value.
115735func (s *RouteTable) SetRoutes(v []*Route) *RouteTable {
115736	s.Routes = v
115737	return s
115738}
115739
115740// SetTags sets the Tags field's value.
115741func (s *RouteTable) SetTags(v []*Tag) *RouteTable {
115742	s.Tags = v
115743	return s
115744}
115745
115746// SetVpcId sets the VpcId field's value.
115747func (s *RouteTable) SetVpcId(v string) *RouteTable {
115748	s.VpcId = &v
115749	return s
115750}
115751
115752// Describes an association between a route table and a subnet or gateway.
115753type RouteTableAssociation struct {
115754	_ struct{} `type:"structure"`
115755
115756	// The state of the association.
115757	AssociationState *RouteTableAssociationState `locationName:"associationState" type:"structure"`
115758
115759	// The ID of the internet gateway or virtual private gateway.
115760	GatewayId *string `locationName:"gatewayId" type:"string"`
115761
115762	// Indicates whether this is the main route table.
115763	Main *bool `locationName:"main" type:"boolean"`
115764
115765	// The ID of the association.
115766	RouteTableAssociationId *string `locationName:"routeTableAssociationId" type:"string"`
115767
115768	// The ID of the route table.
115769	RouteTableId *string `locationName:"routeTableId" type:"string"`
115770
115771	// The ID of the subnet. A subnet ID is not returned for an implicit association.
115772	SubnetId *string `locationName:"subnetId" type:"string"`
115773}
115774
115775// String returns the string representation
115776func (s RouteTableAssociation) String() string {
115777	return awsutil.Prettify(s)
115778}
115779
115780// GoString returns the string representation
115781func (s RouteTableAssociation) GoString() string {
115782	return s.String()
115783}
115784
115785// SetAssociationState sets the AssociationState field's value.
115786func (s *RouteTableAssociation) SetAssociationState(v *RouteTableAssociationState) *RouteTableAssociation {
115787	s.AssociationState = v
115788	return s
115789}
115790
115791// SetGatewayId sets the GatewayId field's value.
115792func (s *RouteTableAssociation) SetGatewayId(v string) *RouteTableAssociation {
115793	s.GatewayId = &v
115794	return s
115795}
115796
115797// SetMain sets the Main field's value.
115798func (s *RouteTableAssociation) SetMain(v bool) *RouteTableAssociation {
115799	s.Main = &v
115800	return s
115801}
115802
115803// SetRouteTableAssociationId sets the RouteTableAssociationId field's value.
115804func (s *RouteTableAssociation) SetRouteTableAssociationId(v string) *RouteTableAssociation {
115805	s.RouteTableAssociationId = &v
115806	return s
115807}
115808
115809// SetRouteTableId sets the RouteTableId field's value.
115810func (s *RouteTableAssociation) SetRouteTableId(v string) *RouteTableAssociation {
115811	s.RouteTableId = &v
115812	return s
115813}
115814
115815// SetSubnetId sets the SubnetId field's value.
115816func (s *RouteTableAssociation) SetSubnetId(v string) *RouteTableAssociation {
115817	s.SubnetId = &v
115818	return s
115819}
115820
115821// Describes the state of an association between a route table and a subnet
115822// or gateway.
115823type RouteTableAssociationState struct {
115824	_ struct{} `type:"structure"`
115825
115826	// The state of the association.
115827	State *string `locationName:"state" type:"string" enum:"RouteTableAssociationStateCode"`
115828
115829	// The status message, if applicable.
115830	StatusMessage *string `locationName:"statusMessage" type:"string"`
115831}
115832
115833// String returns the string representation
115834func (s RouteTableAssociationState) String() string {
115835	return awsutil.Prettify(s)
115836}
115837
115838// GoString returns the string representation
115839func (s RouteTableAssociationState) GoString() string {
115840	return s.String()
115841}
115842
115843// SetState sets the State field's value.
115844func (s *RouteTableAssociationState) SetState(v string) *RouteTableAssociationState {
115845	s.State = &v
115846	return s
115847}
115848
115849// SetStatusMessage sets the StatusMessage field's value.
115850func (s *RouteTableAssociationState) SetStatusMessage(v string) *RouteTableAssociationState {
115851	s.StatusMessage = &v
115852	return s
115853}
115854
115855type RunInstancesInput struct {
115856	_ struct{} `type:"structure"`
115857
115858	// Reserved.
115859	AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
115860
115861	// The block device mapping, which defines the EBS volumes and instance store
115862	// volumes to attach to the instance at launch. For more information, see Block
115863	// device mappings (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html)
115864	// in the Amazon EC2 User Guide.
115865	BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
115866
115867	// Information about the Capacity Reservation targeting option. If you do not
115868	// specify this parameter, the instance's Capacity Reservation preference defaults
115869	// to open, which enables it to run in any open Capacity Reservation that has
115870	// matching attributes (instance type, platform, Availability Zone).
115871	CapacityReservationSpecification *CapacityReservationSpecification `type:"structure"`
115872
115873	// Unique, case-sensitive identifier you provide to ensure the idempotency of
115874	// the request. If you do not specify a client token, a randomly generated token
115875	// is used for the request to ensure idempotency.
115876	//
115877	// For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
115878	//
115879	// Constraints: Maximum 64 ASCII characters
115880	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
115881
115882	// The CPU options for the instance. For more information, see Optimizing CPU
115883	// options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html)
115884	// in the Amazon EC2 User Guide.
115885	CpuOptions *CpuOptionsRequest `type:"structure"`
115886
115887	// The credit option for CPU usage of the burstable performance instance. Valid
115888	// values are standard and unlimited. To change this attribute after launch,
115889	// use ModifyInstanceCreditSpecification (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html).
115890	// For more information, see Burstable performance instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
115891	// in the Amazon EC2 User Guide.
115892	//
115893	// Default: standard (T2 instances) or unlimited (T3/T3a instances)
115894	CreditSpecification *CreditSpecificationRequest `type:"structure"`
115895
115896	// If you set this parameter to true, you can't terminate the instance using
115897	// the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute
115898	// after launch, use ModifyInstanceAttribute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html).
115899	// Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate,
115900	// you can terminate the instance by running the shutdown command from the instance.
115901	//
115902	// Default: false
115903	DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
115904
115905	// Checks whether you have the required permissions for the action, without
115906	// actually making the request, and provides an error response. If you have
115907	// the required permissions, the error response is DryRunOperation. Otherwise,
115908	// it is UnauthorizedOperation.
115909	DryRun *bool `locationName:"dryRun" type:"boolean"`
115910
115911	// Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
115912	// provides dedicated throughput to Amazon EBS and an optimized configuration
115913	// stack to provide optimal Amazon EBS I/O performance. This optimization isn't
115914	// available with all instance types. Additional usage charges apply when using
115915	// an EBS-optimized instance.
115916	//
115917	// Default: false
115918	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
115919
115920	// An elastic GPU to associate with the instance. An Elastic GPU is a GPU resource
115921	// that you can attach to your Windows instance to accelerate the graphics performance
115922	// of your applications. For more information, see Amazon EC2 Elastic GPUs (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html)
115923	// in the Amazon EC2 User Guide.
115924	ElasticGpuSpecification []*ElasticGpuSpecification `locationNameList:"item" type:"list"`
115925
115926	// An elastic inference accelerator to associate with the instance. Elastic
115927	// inference accelerators are a resource you can attach to your Amazon EC2 instances
115928	// to accelerate your Deep Learning (DL) inference workloads.
115929	//
115930	// You cannot specify accelerators from different generations in the same request.
115931	ElasticInferenceAccelerators []*ElasticInferenceAccelerator `locationName:"ElasticInferenceAccelerator" locationNameList:"item" type:"list"`
115932
115933	// Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.
115934	// For more information, see What is Amazon Web Services Nitro Enclaves? (https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html)
115935	// in the Amazon Web Services Nitro Enclaves User Guide.
115936	//
115937	// You can't enable Amazon Web Services Nitro Enclaves and hibernation on the
115938	// same instance.
115939	EnclaveOptions *EnclaveOptionsRequest `type:"structure"`
115940
115941	// Indicates whether an instance is enabled for hibernation. For more information,
115942	// see Hibernate your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
115943	// in the Amazon EC2 User Guide.
115944	//
115945	// You can't enable hibernation and Amazon Web Services Nitro Enclaves on the
115946	// same instance.
115947	HibernationOptions *HibernationOptionsRequest `type:"structure"`
115948
115949	// The name or Amazon Resource Name (ARN) of an IAM instance profile.
115950	IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
115951
115952	// The ID of the AMI. An AMI ID is required to launch an instance and must be
115953	// specified here or in a launch template.
115954	ImageId *string `type:"string"`
115955
115956	// Indicates whether an instance stops or terminates when you initiate shutdown
115957	// from the instance (using the operating system command for system shutdown).
115958	//
115959	// Default: stop
115960	InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
115961
115962	// The market (purchasing) option for the instances.
115963	//
115964	// For RunInstances, persistent Spot Instance requests are only supported when
115965	// InstanceInterruptionBehavior is set to either hibernate or stop.
115966	InstanceMarketOptions *InstanceMarketOptionsRequest `type:"structure"`
115967
115968	// The instance type. For more information, see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
115969	// in the Amazon EC2 User Guide.
115970	//
115971	// Default: m1.small
115972	InstanceType *string `type:"string" enum:"InstanceType"`
115973
115974	// [EC2-VPC] The number of IPv6 addresses to associate with the primary network
115975	// interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
115976	// You cannot specify this option and the option to assign specific IPv6 addresses
115977	// in the same request. You can specify this option if you've specified a minimum
115978	// number of instances to launch.
115979	//
115980	// You cannot specify this option and the network interfaces option in the same
115981	// request.
115982	Ipv6AddressCount *int64 `type:"integer"`
115983
115984	// [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with
115985	// the primary network interface. You cannot specify this option and the option
115986	// to assign a number of IPv6 addresses in the same request. You cannot specify
115987	// this option if you've specified a minimum number of instances to launch.
115988	//
115989	// You cannot specify this option and the network interfaces option in the same
115990	// request.
115991	Ipv6Addresses []*InstanceIpv6Address `locationName:"Ipv6Address" locationNameList:"item" type:"list"`
115992
115993	// The ID of the kernel.
115994	//
115995	// We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
115996	// information, see PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
115997	// in the Amazon EC2 User Guide.
115998	KernelId *string `type:"string"`
115999
116000	// 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)
116001	// or ImportKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html).
116002	//
116003	// If you do not specify a key pair, you can't connect to the instance unless
116004	// you choose an AMI that is configured to allow users another way to log in.
116005	KeyName *string `type:"string"`
116006
116007	// The launch template to use to launch the instances. Any parameters that you
116008	// specify in RunInstances override the same parameters in the launch template.
116009	// You can specify either the name or ID of a launch template, but not both.
116010	LaunchTemplate *LaunchTemplateSpecification `type:"structure"`
116011
116012	// The license configurations.
116013	LicenseSpecifications []*LicenseConfigurationRequest `locationName:"LicenseSpecification" locationNameList:"item" type:"list"`
116014
116015	// The maximum number of instances to launch. If you specify more instances
116016	// than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches
116017	// the largest possible number of instances above MinCount.
116018	//
116019	// Constraints: Between 1 and the maximum number you're allowed for the specified
116020	// instance type. For more information about the default limits, and how to
116021	// 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)
116022	// in the Amazon EC2 FAQ.
116023	//
116024	// MaxCount is a required field
116025	MaxCount *int64 `type:"integer" required:"true"`
116026
116027	// The metadata options for the instance. For more information, see Instance
116028	// metadata and user data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html).
116029	MetadataOptions *InstanceMetadataOptionsRequest `type:"structure"`
116030
116031	// The minimum number of instances to launch. If you specify a minimum that
116032	// is more instances than Amazon EC2 can launch in the target Availability Zone,
116033	// Amazon EC2 launches no instances.
116034	//
116035	// Constraints: Between 1 and the maximum number you're allowed for the specified
116036	// instance type. For more information about the default limits, and how to
116037	// 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)
116038	// in the Amazon EC2 General FAQ.
116039	//
116040	// MinCount is a required field
116041	MinCount *int64 `type:"integer" required:"true"`
116042
116043	// Specifies whether detailed monitoring is enabled for the instance.
116044	Monitoring *RunInstancesMonitoringEnabled `type:"structure"`
116045
116046	// The network interfaces to associate with the instance. If you specify a network
116047	// interface, you must specify any security groups and subnets as part of the
116048	// network interface.
116049	NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterface" locationNameList:"item" type:"list"`
116050
116051	// The placement for the instance.
116052	Placement *Placement `type:"structure"`
116053
116054	// [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4
116055	// address range of the subnet.
116056	//
116057	// Only one private IP address can be designated as primary. You can't specify
116058	// this option if you've specified the option to designate a private IP address
116059	// as the primary IP address in a network interface specification. You cannot
116060	// specify this option if you're launching more than one instance in the request.
116061	//
116062	// You cannot specify this option and the network interfaces option in the same
116063	// request.
116064	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
116065
116066	// The ID of the RAM disk to select. Some kernels require additional drivers
116067	// at launch. Check the kernel requirements for information about whether you
116068	// need to specify a RAM disk. To find kernel requirements, go to the Amazon
116069	// Web Services Resource Center and search for the kernel ID.
116070	//
116071	// We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
116072	// information, see PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
116073	// in the Amazon EC2 User Guide.
116074	RamdiskId *string `type:"string"`
116075
116076	// The IDs of the security groups. You can create a security group using CreateSecurityGroup
116077	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html).
116078	//
116079	// If you specify a network interface, you must specify any security groups
116080	// as part of the network interface.
116081	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
116082
116083	// [EC2-Classic, default VPC] The names of the security groups. For a nondefault
116084	// VPC, you must use security group IDs instead.
116085	//
116086	// If you specify a network interface, you must specify any security groups
116087	// as part of the network interface.
116088	//
116089	// Default: Amazon EC2 uses the default security group.
116090	SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
116091
116092	// [EC2-VPC] The ID of the subnet to launch the instance into.
116093	//
116094	// If you specify a network interface, you must specify any subnets as part
116095	// of the network interface.
116096	SubnetId *string `type:"string"`
116097
116098	// The tags to apply to the resources during launch. You can only tag instances
116099	// and volumes on launch. The specified tags are applied to all instances or
116100	// volumes that are created during launch. To tag a resource after it has been
116101	// created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
116102	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
116103
116104	// The user data to make available to the instance. For more information, see
116105	// Running commands on your Linux instance at launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
116106	// (Linux) and Adding User Data (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
116107	// (Windows). If you are using a command line tool, base64-encoding is performed
116108	// for you, and you can load the text from a file. Otherwise, you must provide
116109	// base64-encoded text. User data is limited to 16 KB.
116110	UserData *string `type:"string"`
116111}
116112
116113// String returns the string representation
116114func (s RunInstancesInput) String() string {
116115	return awsutil.Prettify(s)
116116}
116117
116118// GoString returns the string representation
116119func (s RunInstancesInput) GoString() string {
116120	return s.String()
116121}
116122
116123// Validate inspects the fields of the type to determine if they are valid.
116124func (s *RunInstancesInput) Validate() error {
116125	invalidParams := request.ErrInvalidParams{Context: "RunInstancesInput"}
116126	if s.MaxCount == nil {
116127		invalidParams.Add(request.NewErrParamRequired("MaxCount"))
116128	}
116129	if s.MinCount == nil {
116130		invalidParams.Add(request.NewErrParamRequired("MinCount"))
116131	}
116132	if s.CreditSpecification != nil {
116133		if err := s.CreditSpecification.Validate(); err != nil {
116134			invalidParams.AddNested("CreditSpecification", err.(request.ErrInvalidParams))
116135		}
116136	}
116137	if s.ElasticGpuSpecification != nil {
116138		for i, v := range s.ElasticGpuSpecification {
116139			if v == nil {
116140				continue
116141			}
116142			if err := v.Validate(); err != nil {
116143				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticGpuSpecification", i), err.(request.ErrInvalidParams))
116144			}
116145		}
116146	}
116147	if s.ElasticInferenceAccelerators != nil {
116148		for i, v := range s.ElasticInferenceAccelerators {
116149			if v == nil {
116150				continue
116151			}
116152			if err := v.Validate(); err != nil {
116153				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticInferenceAccelerators", i), err.(request.ErrInvalidParams))
116154			}
116155		}
116156	}
116157	if s.Monitoring != nil {
116158		if err := s.Monitoring.Validate(); err != nil {
116159			invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
116160		}
116161	}
116162
116163	if invalidParams.Len() > 0 {
116164		return invalidParams
116165	}
116166	return nil
116167}
116168
116169// SetAdditionalInfo sets the AdditionalInfo field's value.
116170func (s *RunInstancesInput) SetAdditionalInfo(v string) *RunInstancesInput {
116171	s.AdditionalInfo = &v
116172	return s
116173}
116174
116175// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
116176func (s *RunInstancesInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RunInstancesInput {
116177	s.BlockDeviceMappings = v
116178	return s
116179}
116180
116181// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
116182func (s *RunInstancesInput) SetCapacityReservationSpecification(v *CapacityReservationSpecification) *RunInstancesInput {
116183	s.CapacityReservationSpecification = v
116184	return s
116185}
116186
116187// SetClientToken sets the ClientToken field's value.
116188func (s *RunInstancesInput) SetClientToken(v string) *RunInstancesInput {
116189	s.ClientToken = &v
116190	return s
116191}
116192
116193// SetCpuOptions sets the CpuOptions field's value.
116194func (s *RunInstancesInput) SetCpuOptions(v *CpuOptionsRequest) *RunInstancesInput {
116195	s.CpuOptions = v
116196	return s
116197}
116198
116199// SetCreditSpecification sets the CreditSpecification field's value.
116200func (s *RunInstancesInput) SetCreditSpecification(v *CreditSpecificationRequest) *RunInstancesInput {
116201	s.CreditSpecification = v
116202	return s
116203}
116204
116205// SetDisableApiTermination sets the DisableApiTermination field's value.
116206func (s *RunInstancesInput) SetDisableApiTermination(v bool) *RunInstancesInput {
116207	s.DisableApiTermination = &v
116208	return s
116209}
116210
116211// SetDryRun sets the DryRun field's value.
116212func (s *RunInstancesInput) SetDryRun(v bool) *RunInstancesInput {
116213	s.DryRun = &v
116214	return s
116215}
116216
116217// SetEbsOptimized sets the EbsOptimized field's value.
116218func (s *RunInstancesInput) SetEbsOptimized(v bool) *RunInstancesInput {
116219	s.EbsOptimized = &v
116220	return s
116221}
116222
116223// SetElasticGpuSpecification sets the ElasticGpuSpecification field's value.
116224func (s *RunInstancesInput) SetElasticGpuSpecification(v []*ElasticGpuSpecification) *RunInstancesInput {
116225	s.ElasticGpuSpecification = v
116226	return s
116227}
116228
116229// SetElasticInferenceAccelerators sets the ElasticInferenceAccelerators field's value.
116230func (s *RunInstancesInput) SetElasticInferenceAccelerators(v []*ElasticInferenceAccelerator) *RunInstancesInput {
116231	s.ElasticInferenceAccelerators = v
116232	return s
116233}
116234
116235// SetEnclaveOptions sets the EnclaveOptions field's value.
116236func (s *RunInstancesInput) SetEnclaveOptions(v *EnclaveOptionsRequest) *RunInstancesInput {
116237	s.EnclaveOptions = v
116238	return s
116239}
116240
116241// SetHibernationOptions sets the HibernationOptions field's value.
116242func (s *RunInstancesInput) SetHibernationOptions(v *HibernationOptionsRequest) *RunInstancesInput {
116243	s.HibernationOptions = v
116244	return s
116245}
116246
116247// SetIamInstanceProfile sets the IamInstanceProfile field's value.
116248func (s *RunInstancesInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RunInstancesInput {
116249	s.IamInstanceProfile = v
116250	return s
116251}
116252
116253// SetImageId sets the ImageId field's value.
116254func (s *RunInstancesInput) SetImageId(v string) *RunInstancesInput {
116255	s.ImageId = &v
116256	return s
116257}
116258
116259// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
116260func (s *RunInstancesInput) SetInstanceInitiatedShutdownBehavior(v string) *RunInstancesInput {
116261	s.InstanceInitiatedShutdownBehavior = &v
116262	return s
116263}
116264
116265// SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
116266func (s *RunInstancesInput) SetInstanceMarketOptions(v *InstanceMarketOptionsRequest) *RunInstancesInput {
116267	s.InstanceMarketOptions = v
116268	return s
116269}
116270
116271// SetInstanceType sets the InstanceType field's value.
116272func (s *RunInstancesInput) SetInstanceType(v string) *RunInstancesInput {
116273	s.InstanceType = &v
116274	return s
116275}
116276
116277// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
116278func (s *RunInstancesInput) SetIpv6AddressCount(v int64) *RunInstancesInput {
116279	s.Ipv6AddressCount = &v
116280	return s
116281}
116282
116283// SetIpv6Addresses sets the Ipv6Addresses field's value.
116284func (s *RunInstancesInput) SetIpv6Addresses(v []*InstanceIpv6Address) *RunInstancesInput {
116285	s.Ipv6Addresses = v
116286	return s
116287}
116288
116289// SetKernelId sets the KernelId field's value.
116290func (s *RunInstancesInput) SetKernelId(v string) *RunInstancesInput {
116291	s.KernelId = &v
116292	return s
116293}
116294
116295// SetKeyName sets the KeyName field's value.
116296func (s *RunInstancesInput) SetKeyName(v string) *RunInstancesInput {
116297	s.KeyName = &v
116298	return s
116299}
116300
116301// SetLaunchTemplate sets the LaunchTemplate field's value.
116302func (s *RunInstancesInput) SetLaunchTemplate(v *LaunchTemplateSpecification) *RunInstancesInput {
116303	s.LaunchTemplate = v
116304	return s
116305}
116306
116307// SetLicenseSpecifications sets the LicenseSpecifications field's value.
116308func (s *RunInstancesInput) SetLicenseSpecifications(v []*LicenseConfigurationRequest) *RunInstancesInput {
116309	s.LicenseSpecifications = v
116310	return s
116311}
116312
116313// SetMaxCount sets the MaxCount field's value.
116314func (s *RunInstancesInput) SetMaxCount(v int64) *RunInstancesInput {
116315	s.MaxCount = &v
116316	return s
116317}
116318
116319// SetMetadataOptions sets the MetadataOptions field's value.
116320func (s *RunInstancesInput) SetMetadataOptions(v *InstanceMetadataOptionsRequest) *RunInstancesInput {
116321	s.MetadataOptions = v
116322	return s
116323}
116324
116325// SetMinCount sets the MinCount field's value.
116326func (s *RunInstancesInput) SetMinCount(v int64) *RunInstancesInput {
116327	s.MinCount = &v
116328	return s
116329}
116330
116331// SetMonitoring sets the Monitoring field's value.
116332func (s *RunInstancesInput) SetMonitoring(v *RunInstancesMonitoringEnabled) *RunInstancesInput {
116333	s.Monitoring = v
116334	return s
116335}
116336
116337// SetNetworkInterfaces sets the NetworkInterfaces field's value.
116338func (s *RunInstancesInput) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RunInstancesInput {
116339	s.NetworkInterfaces = v
116340	return s
116341}
116342
116343// SetPlacement sets the Placement field's value.
116344func (s *RunInstancesInput) SetPlacement(v *Placement) *RunInstancesInput {
116345	s.Placement = v
116346	return s
116347}
116348
116349// SetPrivateIpAddress sets the PrivateIpAddress field's value.
116350func (s *RunInstancesInput) SetPrivateIpAddress(v string) *RunInstancesInput {
116351	s.PrivateIpAddress = &v
116352	return s
116353}
116354
116355// SetRamdiskId sets the RamdiskId field's value.
116356func (s *RunInstancesInput) SetRamdiskId(v string) *RunInstancesInput {
116357	s.RamdiskId = &v
116358	return s
116359}
116360
116361// SetSecurityGroupIds sets the SecurityGroupIds field's value.
116362func (s *RunInstancesInput) SetSecurityGroupIds(v []*string) *RunInstancesInput {
116363	s.SecurityGroupIds = v
116364	return s
116365}
116366
116367// SetSecurityGroups sets the SecurityGroups field's value.
116368func (s *RunInstancesInput) SetSecurityGroups(v []*string) *RunInstancesInput {
116369	s.SecurityGroups = v
116370	return s
116371}
116372
116373// SetSubnetId sets the SubnetId field's value.
116374func (s *RunInstancesInput) SetSubnetId(v string) *RunInstancesInput {
116375	s.SubnetId = &v
116376	return s
116377}
116378
116379// SetTagSpecifications sets the TagSpecifications field's value.
116380func (s *RunInstancesInput) SetTagSpecifications(v []*TagSpecification) *RunInstancesInput {
116381	s.TagSpecifications = v
116382	return s
116383}
116384
116385// SetUserData sets the UserData field's value.
116386func (s *RunInstancesInput) SetUserData(v string) *RunInstancesInput {
116387	s.UserData = &v
116388	return s
116389}
116390
116391// Describes the monitoring of an instance.
116392type RunInstancesMonitoringEnabled struct {
116393	_ struct{} `type:"structure"`
116394
116395	// Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
116396	// is enabled.
116397	//
116398	// Enabled is a required field
116399	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
116400}
116401
116402// String returns the string representation
116403func (s RunInstancesMonitoringEnabled) String() string {
116404	return awsutil.Prettify(s)
116405}
116406
116407// GoString returns the string representation
116408func (s RunInstancesMonitoringEnabled) GoString() string {
116409	return s.String()
116410}
116411
116412// Validate inspects the fields of the type to determine if they are valid.
116413func (s *RunInstancesMonitoringEnabled) Validate() error {
116414	invalidParams := request.ErrInvalidParams{Context: "RunInstancesMonitoringEnabled"}
116415	if s.Enabled == nil {
116416		invalidParams.Add(request.NewErrParamRequired("Enabled"))
116417	}
116418
116419	if invalidParams.Len() > 0 {
116420		return invalidParams
116421	}
116422	return nil
116423}
116424
116425// SetEnabled sets the Enabled field's value.
116426func (s *RunInstancesMonitoringEnabled) SetEnabled(v bool) *RunInstancesMonitoringEnabled {
116427	s.Enabled = &v
116428	return s
116429}
116430
116431// Contains the parameters for RunScheduledInstances.
116432type RunScheduledInstancesInput struct {
116433	_ struct{} `type:"structure"`
116434
116435	// Unique, case-sensitive identifier that ensures the idempotency of the request.
116436	// For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
116437	ClientToken *string `type:"string" idempotencyToken:"true"`
116438
116439	// Checks whether you have the required permissions for the action, without
116440	// actually making the request, and provides an error response. If you have
116441	// the required permissions, the error response is DryRunOperation. Otherwise,
116442	// it is UnauthorizedOperation.
116443	DryRun *bool `type:"boolean"`
116444
116445	// The number of instances.
116446	//
116447	// Default: 1
116448	InstanceCount *int64 `type:"integer"`
116449
116450	// The launch specification. You must match the instance type, Availability
116451	// Zone, network, and platform of the schedule that you purchased.
116452	//
116453	// LaunchSpecification is a required field
116454	LaunchSpecification *ScheduledInstancesLaunchSpecification `type:"structure" required:"true"`
116455
116456	// The Scheduled Instance ID.
116457	//
116458	// ScheduledInstanceId is a required field
116459	ScheduledInstanceId *string `type:"string" required:"true"`
116460}
116461
116462// String returns the string representation
116463func (s RunScheduledInstancesInput) String() string {
116464	return awsutil.Prettify(s)
116465}
116466
116467// GoString returns the string representation
116468func (s RunScheduledInstancesInput) GoString() string {
116469	return s.String()
116470}
116471
116472// Validate inspects the fields of the type to determine if they are valid.
116473func (s *RunScheduledInstancesInput) Validate() error {
116474	invalidParams := request.ErrInvalidParams{Context: "RunScheduledInstancesInput"}
116475	if s.LaunchSpecification == nil {
116476		invalidParams.Add(request.NewErrParamRequired("LaunchSpecification"))
116477	}
116478	if s.ScheduledInstanceId == nil {
116479		invalidParams.Add(request.NewErrParamRequired("ScheduledInstanceId"))
116480	}
116481	if s.LaunchSpecification != nil {
116482		if err := s.LaunchSpecification.Validate(); err != nil {
116483			invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
116484		}
116485	}
116486
116487	if invalidParams.Len() > 0 {
116488		return invalidParams
116489	}
116490	return nil
116491}
116492
116493// SetClientToken sets the ClientToken field's value.
116494func (s *RunScheduledInstancesInput) SetClientToken(v string) *RunScheduledInstancesInput {
116495	s.ClientToken = &v
116496	return s
116497}
116498
116499// SetDryRun sets the DryRun field's value.
116500func (s *RunScheduledInstancesInput) SetDryRun(v bool) *RunScheduledInstancesInput {
116501	s.DryRun = &v
116502	return s
116503}
116504
116505// SetInstanceCount sets the InstanceCount field's value.
116506func (s *RunScheduledInstancesInput) SetInstanceCount(v int64) *RunScheduledInstancesInput {
116507	s.InstanceCount = &v
116508	return s
116509}
116510
116511// SetLaunchSpecification sets the LaunchSpecification field's value.
116512func (s *RunScheduledInstancesInput) SetLaunchSpecification(v *ScheduledInstancesLaunchSpecification) *RunScheduledInstancesInput {
116513	s.LaunchSpecification = v
116514	return s
116515}
116516
116517// SetScheduledInstanceId sets the ScheduledInstanceId field's value.
116518func (s *RunScheduledInstancesInput) SetScheduledInstanceId(v string) *RunScheduledInstancesInput {
116519	s.ScheduledInstanceId = &v
116520	return s
116521}
116522
116523// Contains the output of RunScheduledInstances.
116524type RunScheduledInstancesOutput struct {
116525	_ struct{} `type:"structure"`
116526
116527	// The IDs of the newly launched instances.
116528	InstanceIdSet []*string `locationName:"instanceIdSet" locationNameList:"item" type:"list"`
116529}
116530
116531// String returns the string representation
116532func (s RunScheduledInstancesOutput) String() string {
116533	return awsutil.Prettify(s)
116534}
116535
116536// GoString returns the string representation
116537func (s RunScheduledInstancesOutput) GoString() string {
116538	return s.String()
116539}
116540
116541// SetInstanceIdSet sets the InstanceIdSet field's value.
116542func (s *RunScheduledInstancesOutput) SetInstanceIdSet(v []*string) *RunScheduledInstancesOutput {
116543	s.InstanceIdSet = v
116544	return s
116545}
116546
116547// The tags to apply to the AMI object that will be stored in the S3 bucket.
116548// For more information, see Categorizing your storage using tags (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html)
116549// in the Amazon Simple Storage Service User Guide.
116550type S3ObjectTag struct {
116551	_ struct{} `type:"structure"`
116552
116553	// The key of the tag.
116554	//
116555	// Constraints: Tag keys are case-sensitive and can be up to 128 Unicode characters
116556	// in length. May not begin with aws:.
116557	Key *string `type:"string"`
116558
116559	// The value of the tag.
116560	//
116561	// Constraints: Tag values are case-sensitive and can be up to 256 Unicode characters
116562	// in length.
116563	Value *string `type:"string"`
116564}
116565
116566// String returns the string representation
116567func (s S3ObjectTag) String() string {
116568	return awsutil.Prettify(s)
116569}
116570
116571// GoString returns the string representation
116572func (s S3ObjectTag) GoString() string {
116573	return s.String()
116574}
116575
116576// SetKey sets the Key field's value.
116577func (s *S3ObjectTag) SetKey(v string) *S3ObjectTag {
116578	s.Key = &v
116579	return s
116580}
116581
116582// SetValue sets the Value field's value.
116583func (s *S3ObjectTag) SetValue(v string) *S3ObjectTag {
116584	s.Value = &v
116585	return s
116586}
116587
116588// Describes the storage parameters for S3 and S3 buckets for an instance store-backed
116589// AMI.
116590type S3Storage struct {
116591	_ struct{} `type:"structure"`
116592
116593	// The access key ID of the owner of the bucket. Before you specify a value
116594	// for your access key ID, review and follow the guidance in Best Practices
116595	// for Managing AWS Access Keys (https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html).
116596	AWSAccessKeyId *string `type:"string"`
116597
116598	// The bucket in which to store the AMI. You can specify a bucket that you already
116599	// own or a new bucket that Amazon EC2 creates on your behalf. If you specify
116600	// a bucket that belongs to someone else, Amazon EC2 returns an error.
116601	Bucket *string `locationName:"bucket" type:"string"`
116602
116603	// The beginning of the file name of the AMI.
116604	Prefix *string `locationName:"prefix" type:"string"`
116605
116606	// An Amazon S3 upload policy that gives Amazon EC2 permission to upload items
116607	// into Amazon S3 on your behalf.
116608	//
116609	// UploadPolicy is automatically base64 encoded/decoded by the SDK.
116610	UploadPolicy []byte `locationName:"uploadPolicy" type:"blob"`
116611
116612	// The signature of the JSON document.
116613	UploadPolicySignature *string `locationName:"uploadPolicySignature" type:"string"`
116614}
116615
116616// String returns the string representation
116617func (s S3Storage) String() string {
116618	return awsutil.Prettify(s)
116619}
116620
116621// GoString returns the string representation
116622func (s S3Storage) GoString() string {
116623	return s.String()
116624}
116625
116626// SetAWSAccessKeyId sets the AWSAccessKeyId field's value.
116627func (s *S3Storage) SetAWSAccessKeyId(v string) *S3Storage {
116628	s.AWSAccessKeyId = &v
116629	return s
116630}
116631
116632// SetBucket sets the Bucket field's value.
116633func (s *S3Storage) SetBucket(v string) *S3Storage {
116634	s.Bucket = &v
116635	return s
116636}
116637
116638// SetPrefix sets the Prefix field's value.
116639func (s *S3Storage) SetPrefix(v string) *S3Storage {
116640	s.Prefix = &v
116641	return s
116642}
116643
116644// SetUploadPolicy sets the UploadPolicy field's value.
116645func (s *S3Storage) SetUploadPolicy(v []byte) *S3Storage {
116646	s.UploadPolicy = v
116647	return s
116648}
116649
116650// SetUploadPolicySignature sets the UploadPolicySignature field's value.
116651func (s *S3Storage) SetUploadPolicySignature(v string) *S3Storage {
116652	s.UploadPolicySignature = &v
116653	return s
116654}
116655
116656// Describes a Scheduled Instance.
116657type ScheduledInstance struct {
116658	_ struct{} `type:"structure"`
116659
116660	// The Availability Zone.
116661	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
116662
116663	// The date when the Scheduled Instance was purchased.
116664	CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
116665
116666	// The hourly price for a single instance.
116667	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
116668
116669	// The number of instances.
116670	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
116671
116672	// The instance type.
116673	InstanceType *string `locationName:"instanceType" type:"string"`
116674
116675	// The network platform (EC2-Classic or EC2-VPC).
116676	NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
116677
116678	// The time for the next schedule to start.
116679	NextSlotStartTime *time.Time `locationName:"nextSlotStartTime" type:"timestamp"`
116680
116681	// The platform (Linux/UNIX or Windows).
116682	Platform *string `locationName:"platform" type:"string"`
116683
116684	// The time that the previous schedule ended or will end.
116685	PreviousSlotEndTime *time.Time `locationName:"previousSlotEndTime" type:"timestamp"`
116686
116687	// The schedule recurrence.
116688	Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
116689
116690	// The Scheduled Instance ID.
116691	ScheduledInstanceId *string `locationName:"scheduledInstanceId" type:"string"`
116692
116693	// The number of hours in the schedule.
116694	SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
116695
116696	// The end date for the Scheduled Instance.
116697	TermEndDate *time.Time `locationName:"termEndDate" type:"timestamp"`
116698
116699	// The start date for the Scheduled Instance.
116700	TermStartDate *time.Time `locationName:"termStartDate" type:"timestamp"`
116701
116702	// The total number of hours for a single instance for the entire term.
116703	TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
116704}
116705
116706// String returns the string representation
116707func (s ScheduledInstance) String() string {
116708	return awsutil.Prettify(s)
116709}
116710
116711// GoString returns the string representation
116712func (s ScheduledInstance) GoString() string {
116713	return s.String()
116714}
116715
116716// SetAvailabilityZone sets the AvailabilityZone field's value.
116717func (s *ScheduledInstance) SetAvailabilityZone(v string) *ScheduledInstance {
116718	s.AvailabilityZone = &v
116719	return s
116720}
116721
116722// SetCreateDate sets the CreateDate field's value.
116723func (s *ScheduledInstance) SetCreateDate(v time.Time) *ScheduledInstance {
116724	s.CreateDate = &v
116725	return s
116726}
116727
116728// SetHourlyPrice sets the HourlyPrice field's value.
116729func (s *ScheduledInstance) SetHourlyPrice(v string) *ScheduledInstance {
116730	s.HourlyPrice = &v
116731	return s
116732}
116733
116734// SetInstanceCount sets the InstanceCount field's value.
116735func (s *ScheduledInstance) SetInstanceCount(v int64) *ScheduledInstance {
116736	s.InstanceCount = &v
116737	return s
116738}
116739
116740// SetInstanceType sets the InstanceType field's value.
116741func (s *ScheduledInstance) SetInstanceType(v string) *ScheduledInstance {
116742	s.InstanceType = &v
116743	return s
116744}
116745
116746// SetNetworkPlatform sets the NetworkPlatform field's value.
116747func (s *ScheduledInstance) SetNetworkPlatform(v string) *ScheduledInstance {
116748	s.NetworkPlatform = &v
116749	return s
116750}
116751
116752// SetNextSlotStartTime sets the NextSlotStartTime field's value.
116753func (s *ScheduledInstance) SetNextSlotStartTime(v time.Time) *ScheduledInstance {
116754	s.NextSlotStartTime = &v
116755	return s
116756}
116757
116758// SetPlatform sets the Platform field's value.
116759func (s *ScheduledInstance) SetPlatform(v string) *ScheduledInstance {
116760	s.Platform = &v
116761	return s
116762}
116763
116764// SetPreviousSlotEndTime sets the PreviousSlotEndTime field's value.
116765func (s *ScheduledInstance) SetPreviousSlotEndTime(v time.Time) *ScheduledInstance {
116766	s.PreviousSlotEndTime = &v
116767	return s
116768}
116769
116770// SetRecurrence sets the Recurrence field's value.
116771func (s *ScheduledInstance) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstance {
116772	s.Recurrence = v
116773	return s
116774}
116775
116776// SetScheduledInstanceId sets the ScheduledInstanceId field's value.
116777func (s *ScheduledInstance) SetScheduledInstanceId(v string) *ScheduledInstance {
116778	s.ScheduledInstanceId = &v
116779	return s
116780}
116781
116782// SetSlotDurationInHours sets the SlotDurationInHours field's value.
116783func (s *ScheduledInstance) SetSlotDurationInHours(v int64) *ScheduledInstance {
116784	s.SlotDurationInHours = &v
116785	return s
116786}
116787
116788// SetTermEndDate sets the TermEndDate field's value.
116789func (s *ScheduledInstance) SetTermEndDate(v time.Time) *ScheduledInstance {
116790	s.TermEndDate = &v
116791	return s
116792}
116793
116794// SetTermStartDate sets the TermStartDate field's value.
116795func (s *ScheduledInstance) SetTermStartDate(v time.Time) *ScheduledInstance {
116796	s.TermStartDate = &v
116797	return s
116798}
116799
116800// SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
116801func (s *ScheduledInstance) SetTotalScheduledInstanceHours(v int64) *ScheduledInstance {
116802	s.TotalScheduledInstanceHours = &v
116803	return s
116804}
116805
116806// Describes a schedule that is available for your Scheduled Instances.
116807type ScheduledInstanceAvailability struct {
116808	_ struct{} `type:"structure"`
116809
116810	// The Availability Zone.
116811	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
116812
116813	// The number of available instances.
116814	AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
116815
116816	// The time period for the first schedule to start.
116817	FirstSlotStartTime *time.Time `locationName:"firstSlotStartTime" type:"timestamp"`
116818
116819	// The hourly price for a single instance.
116820	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
116821
116822	// The instance type. You can specify one of the C3, C4, M4, or R3 instance
116823	// types.
116824	InstanceType *string `locationName:"instanceType" type:"string"`
116825
116826	// The maximum term. The only possible value is 365 days.
116827	MaxTermDurationInDays *int64 `locationName:"maxTermDurationInDays" type:"integer"`
116828
116829	// The minimum term. The only possible value is 365 days.
116830	MinTermDurationInDays *int64 `locationName:"minTermDurationInDays" type:"integer"`
116831
116832	// The network platform (EC2-Classic or EC2-VPC).
116833	NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
116834
116835	// The platform (Linux/UNIX or Windows).
116836	Platform *string `locationName:"platform" type:"string"`
116837
116838	// The purchase token. This token expires in two hours.
116839	PurchaseToken *string `locationName:"purchaseToken" type:"string"`
116840
116841	// The schedule recurrence.
116842	Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
116843
116844	// The number of hours in the schedule.
116845	SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
116846
116847	// The total number of hours for a single instance for the entire term.
116848	TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
116849}
116850
116851// String returns the string representation
116852func (s ScheduledInstanceAvailability) String() string {
116853	return awsutil.Prettify(s)
116854}
116855
116856// GoString returns the string representation
116857func (s ScheduledInstanceAvailability) GoString() string {
116858	return s.String()
116859}
116860
116861// SetAvailabilityZone sets the AvailabilityZone field's value.
116862func (s *ScheduledInstanceAvailability) SetAvailabilityZone(v string) *ScheduledInstanceAvailability {
116863	s.AvailabilityZone = &v
116864	return s
116865}
116866
116867// SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
116868func (s *ScheduledInstanceAvailability) SetAvailableInstanceCount(v int64) *ScheduledInstanceAvailability {
116869	s.AvailableInstanceCount = &v
116870	return s
116871}
116872
116873// SetFirstSlotStartTime sets the FirstSlotStartTime field's value.
116874func (s *ScheduledInstanceAvailability) SetFirstSlotStartTime(v time.Time) *ScheduledInstanceAvailability {
116875	s.FirstSlotStartTime = &v
116876	return s
116877}
116878
116879// SetHourlyPrice sets the HourlyPrice field's value.
116880func (s *ScheduledInstanceAvailability) SetHourlyPrice(v string) *ScheduledInstanceAvailability {
116881	s.HourlyPrice = &v
116882	return s
116883}
116884
116885// SetInstanceType sets the InstanceType field's value.
116886func (s *ScheduledInstanceAvailability) SetInstanceType(v string) *ScheduledInstanceAvailability {
116887	s.InstanceType = &v
116888	return s
116889}
116890
116891// SetMaxTermDurationInDays sets the MaxTermDurationInDays field's value.
116892func (s *ScheduledInstanceAvailability) SetMaxTermDurationInDays(v int64) *ScheduledInstanceAvailability {
116893	s.MaxTermDurationInDays = &v
116894	return s
116895}
116896
116897// SetMinTermDurationInDays sets the MinTermDurationInDays field's value.
116898func (s *ScheduledInstanceAvailability) SetMinTermDurationInDays(v int64) *ScheduledInstanceAvailability {
116899	s.MinTermDurationInDays = &v
116900	return s
116901}
116902
116903// SetNetworkPlatform sets the NetworkPlatform field's value.
116904func (s *ScheduledInstanceAvailability) SetNetworkPlatform(v string) *ScheduledInstanceAvailability {
116905	s.NetworkPlatform = &v
116906	return s
116907}
116908
116909// SetPlatform sets the Platform field's value.
116910func (s *ScheduledInstanceAvailability) SetPlatform(v string) *ScheduledInstanceAvailability {
116911	s.Platform = &v
116912	return s
116913}
116914
116915// SetPurchaseToken sets the PurchaseToken field's value.
116916func (s *ScheduledInstanceAvailability) SetPurchaseToken(v string) *ScheduledInstanceAvailability {
116917	s.PurchaseToken = &v
116918	return s
116919}
116920
116921// SetRecurrence sets the Recurrence field's value.
116922func (s *ScheduledInstanceAvailability) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstanceAvailability {
116923	s.Recurrence = v
116924	return s
116925}
116926
116927// SetSlotDurationInHours sets the SlotDurationInHours field's value.
116928func (s *ScheduledInstanceAvailability) SetSlotDurationInHours(v int64) *ScheduledInstanceAvailability {
116929	s.SlotDurationInHours = &v
116930	return s
116931}
116932
116933// SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
116934func (s *ScheduledInstanceAvailability) SetTotalScheduledInstanceHours(v int64) *ScheduledInstanceAvailability {
116935	s.TotalScheduledInstanceHours = &v
116936	return s
116937}
116938
116939// Describes the recurring schedule for a Scheduled Instance.
116940type ScheduledInstanceRecurrence struct {
116941	_ struct{} `type:"structure"`
116942
116943	// The frequency (Daily, Weekly, or Monthly).
116944	Frequency *string `locationName:"frequency" type:"string"`
116945
116946	// The interval quantity. The interval unit depends on the value of frequency.
116947	// For example, every 2 weeks or every 2 months.
116948	Interval *int64 `locationName:"interval" type:"integer"`
116949
116950	// The days. For a monthly schedule, this is one or more days of the month (1-31).
116951	// For a weekly schedule, this is one or more days of the week (1-7, where 1
116952	// is Sunday).
116953	OccurrenceDaySet []*int64 `locationName:"occurrenceDaySet" locationNameList:"item" type:"list"`
116954
116955	// Indicates whether the occurrence is relative to the end of the specified
116956	// week or month.
116957	OccurrenceRelativeToEnd *bool `locationName:"occurrenceRelativeToEnd" type:"boolean"`
116958
116959	// The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).
116960	OccurrenceUnit *string `locationName:"occurrenceUnit" type:"string"`
116961}
116962
116963// String returns the string representation
116964func (s ScheduledInstanceRecurrence) String() string {
116965	return awsutil.Prettify(s)
116966}
116967
116968// GoString returns the string representation
116969func (s ScheduledInstanceRecurrence) GoString() string {
116970	return s.String()
116971}
116972
116973// SetFrequency sets the Frequency field's value.
116974func (s *ScheduledInstanceRecurrence) SetFrequency(v string) *ScheduledInstanceRecurrence {
116975	s.Frequency = &v
116976	return s
116977}
116978
116979// SetInterval sets the Interval field's value.
116980func (s *ScheduledInstanceRecurrence) SetInterval(v int64) *ScheduledInstanceRecurrence {
116981	s.Interval = &v
116982	return s
116983}
116984
116985// SetOccurrenceDaySet sets the OccurrenceDaySet field's value.
116986func (s *ScheduledInstanceRecurrence) SetOccurrenceDaySet(v []*int64) *ScheduledInstanceRecurrence {
116987	s.OccurrenceDaySet = v
116988	return s
116989}
116990
116991// SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
116992func (s *ScheduledInstanceRecurrence) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrence {
116993	s.OccurrenceRelativeToEnd = &v
116994	return s
116995}
116996
116997// SetOccurrenceUnit sets the OccurrenceUnit field's value.
116998func (s *ScheduledInstanceRecurrence) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrence {
116999	s.OccurrenceUnit = &v
117000	return s
117001}
117002
117003// Describes the recurring schedule for a Scheduled Instance.
117004type ScheduledInstanceRecurrenceRequest struct {
117005	_ struct{} `type:"structure"`
117006
117007	// The frequency (Daily, Weekly, or Monthly).
117008	Frequency *string `type:"string"`
117009
117010	// The interval quantity. The interval unit depends on the value of Frequency.
117011	// For example, every 2 weeks or every 2 months.
117012	Interval *int64 `type:"integer"`
117013
117014	// The days. For a monthly schedule, this is one or more days of the month (1-31).
117015	// For a weekly schedule, this is one or more days of the week (1-7, where 1
117016	// is Sunday). You can't specify this value with a daily schedule. If the occurrence
117017	// is relative to the end of the month, you can specify only a single day.
117018	OccurrenceDays []*int64 `locationName:"OccurrenceDay" locationNameList:"OccurenceDay" type:"list"`
117019
117020	// Indicates whether the occurrence is relative to the end of the specified
117021	// week or month. You can't specify this value with a daily schedule.
117022	OccurrenceRelativeToEnd *bool `type:"boolean"`
117023
117024	// The unit for OccurrenceDays (DayOfWeek or DayOfMonth). This value is required
117025	// for a monthly schedule. You can't specify DayOfWeek with a weekly schedule.
117026	// You can't specify this value with a daily schedule.
117027	OccurrenceUnit *string `type:"string"`
117028}
117029
117030// String returns the string representation
117031func (s ScheduledInstanceRecurrenceRequest) String() string {
117032	return awsutil.Prettify(s)
117033}
117034
117035// GoString returns the string representation
117036func (s ScheduledInstanceRecurrenceRequest) GoString() string {
117037	return s.String()
117038}
117039
117040// SetFrequency sets the Frequency field's value.
117041func (s *ScheduledInstanceRecurrenceRequest) SetFrequency(v string) *ScheduledInstanceRecurrenceRequest {
117042	s.Frequency = &v
117043	return s
117044}
117045
117046// SetInterval sets the Interval field's value.
117047func (s *ScheduledInstanceRecurrenceRequest) SetInterval(v int64) *ScheduledInstanceRecurrenceRequest {
117048	s.Interval = &v
117049	return s
117050}
117051
117052// SetOccurrenceDays sets the OccurrenceDays field's value.
117053func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceDays(v []*int64) *ScheduledInstanceRecurrenceRequest {
117054	s.OccurrenceDays = v
117055	return s
117056}
117057
117058// SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
117059func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrenceRequest {
117060	s.OccurrenceRelativeToEnd = &v
117061	return s
117062}
117063
117064// SetOccurrenceUnit sets the OccurrenceUnit field's value.
117065func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrenceRequest {
117066	s.OccurrenceUnit = &v
117067	return s
117068}
117069
117070// Describes a block device mapping for a Scheduled Instance.
117071type ScheduledInstancesBlockDeviceMapping struct {
117072	_ struct{} `type:"structure"`
117073
117074	// The device name (for example, /dev/sdh or xvdh).
117075	DeviceName *string `type:"string"`
117076
117077	// Parameters used to set up EBS volumes automatically when the instance is
117078	// launched.
117079	Ebs *ScheduledInstancesEbs `type:"structure"`
117080
117081	// To omit the device from the block device mapping, specify an empty string.
117082	NoDevice *string `type:"string"`
117083
117084	// The virtual device name (ephemeralN). Instance store volumes are numbered
117085	// starting from 0. An instance type with two available instance store volumes
117086	// can specify mappings for ephemeral0 and ephemeral1. The number of available
117087	// instance store volumes depends on the instance type. After you connect to
117088	// the instance, you must mount the volume.
117089	//
117090	// Constraints: For M3 instances, you must specify instance store volumes in
117091	// the block device mapping for the instance. When you launch an M3 instance,
117092	// we ignore any instance store volumes specified in the block device mapping
117093	// for the AMI.
117094	VirtualName *string `type:"string"`
117095}
117096
117097// String returns the string representation
117098func (s ScheduledInstancesBlockDeviceMapping) String() string {
117099	return awsutil.Prettify(s)
117100}
117101
117102// GoString returns the string representation
117103func (s ScheduledInstancesBlockDeviceMapping) GoString() string {
117104	return s.String()
117105}
117106
117107// SetDeviceName sets the DeviceName field's value.
117108func (s *ScheduledInstancesBlockDeviceMapping) SetDeviceName(v string) *ScheduledInstancesBlockDeviceMapping {
117109	s.DeviceName = &v
117110	return s
117111}
117112
117113// SetEbs sets the Ebs field's value.
117114func (s *ScheduledInstancesBlockDeviceMapping) SetEbs(v *ScheduledInstancesEbs) *ScheduledInstancesBlockDeviceMapping {
117115	s.Ebs = v
117116	return s
117117}
117118
117119// SetNoDevice sets the NoDevice field's value.
117120func (s *ScheduledInstancesBlockDeviceMapping) SetNoDevice(v string) *ScheduledInstancesBlockDeviceMapping {
117121	s.NoDevice = &v
117122	return s
117123}
117124
117125// SetVirtualName sets the VirtualName field's value.
117126func (s *ScheduledInstancesBlockDeviceMapping) SetVirtualName(v string) *ScheduledInstancesBlockDeviceMapping {
117127	s.VirtualName = &v
117128	return s
117129}
117130
117131// Describes an EBS volume for a Scheduled Instance.
117132type ScheduledInstancesEbs struct {
117133	_ struct{} `type:"structure"`
117134
117135	// Indicates whether the volume is deleted on instance termination.
117136	DeleteOnTermination *bool `type:"boolean"`
117137
117138	// Indicates whether the volume is encrypted. You can attached encrypted volumes
117139	// only to instances that support them.
117140	Encrypted *bool `type:"boolean"`
117141
117142	// The number of I/O operations per second (IOPS) to provision for an io1 or
117143	// io2 volume, with a maximum ratio of 50 IOPS/GiB for io1, and 500 IOPS/GiB
117144	// for io2. Range is 100 to 64,000 IOPS for volumes in most Regions. Maximum
117145	// IOPS of 64,000 is guaranteed only on instances built on the Nitro System
117146	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
117147	// Other instance families guarantee performance up to 32,000 IOPS. For more
117148	// information, see Amazon EBS volume types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
117149	// in the Amazon EC2 User Guide.
117150	//
117151	// This parameter is valid only for Provisioned IOPS SSD (io1 and io2) volumes.
117152	Iops *int64 `type:"integer"`
117153
117154	// The ID of the snapshot.
117155	SnapshotId *string `type:"string"`
117156
117157	// The size of the volume, in GiB.
117158	//
117159	// Default: If you're creating the volume from a snapshot and don't specify
117160	// a volume size, the default is the snapshot size.
117161	VolumeSize *int64 `type:"integer"`
117162
117163	// The volume type. gp2 for General Purpose SSD, io1 or io2 for Provisioned
117164	// IOPS SSD, Throughput Optimized HDD for st1, Cold HDD for sc1, or standard
117165	// for Magnetic.
117166	//
117167	// Default: gp2
117168	VolumeType *string `type:"string"`
117169}
117170
117171// String returns the string representation
117172func (s ScheduledInstancesEbs) String() string {
117173	return awsutil.Prettify(s)
117174}
117175
117176// GoString returns the string representation
117177func (s ScheduledInstancesEbs) GoString() string {
117178	return s.String()
117179}
117180
117181// SetDeleteOnTermination sets the DeleteOnTermination field's value.
117182func (s *ScheduledInstancesEbs) SetDeleteOnTermination(v bool) *ScheduledInstancesEbs {
117183	s.DeleteOnTermination = &v
117184	return s
117185}
117186
117187// SetEncrypted sets the Encrypted field's value.
117188func (s *ScheduledInstancesEbs) SetEncrypted(v bool) *ScheduledInstancesEbs {
117189	s.Encrypted = &v
117190	return s
117191}
117192
117193// SetIops sets the Iops field's value.
117194func (s *ScheduledInstancesEbs) SetIops(v int64) *ScheduledInstancesEbs {
117195	s.Iops = &v
117196	return s
117197}
117198
117199// SetSnapshotId sets the SnapshotId field's value.
117200func (s *ScheduledInstancesEbs) SetSnapshotId(v string) *ScheduledInstancesEbs {
117201	s.SnapshotId = &v
117202	return s
117203}
117204
117205// SetVolumeSize sets the VolumeSize field's value.
117206func (s *ScheduledInstancesEbs) SetVolumeSize(v int64) *ScheduledInstancesEbs {
117207	s.VolumeSize = &v
117208	return s
117209}
117210
117211// SetVolumeType sets the VolumeType field's value.
117212func (s *ScheduledInstancesEbs) SetVolumeType(v string) *ScheduledInstancesEbs {
117213	s.VolumeType = &v
117214	return s
117215}
117216
117217// Describes an IAM instance profile for a Scheduled Instance.
117218type ScheduledInstancesIamInstanceProfile struct {
117219	_ struct{} `type:"structure"`
117220
117221	// The Amazon Resource Name (ARN).
117222	Arn *string `type:"string"`
117223
117224	// The name.
117225	Name *string `type:"string"`
117226}
117227
117228// String returns the string representation
117229func (s ScheduledInstancesIamInstanceProfile) String() string {
117230	return awsutil.Prettify(s)
117231}
117232
117233// GoString returns the string representation
117234func (s ScheduledInstancesIamInstanceProfile) GoString() string {
117235	return s.String()
117236}
117237
117238// SetArn sets the Arn field's value.
117239func (s *ScheduledInstancesIamInstanceProfile) SetArn(v string) *ScheduledInstancesIamInstanceProfile {
117240	s.Arn = &v
117241	return s
117242}
117243
117244// SetName sets the Name field's value.
117245func (s *ScheduledInstancesIamInstanceProfile) SetName(v string) *ScheduledInstancesIamInstanceProfile {
117246	s.Name = &v
117247	return s
117248}
117249
117250// Describes an IPv6 address.
117251type ScheduledInstancesIpv6Address struct {
117252	_ struct{} `type:"structure"`
117253
117254	// The IPv6 address.
117255	Ipv6Address *string `type:"string"`
117256}
117257
117258// String returns the string representation
117259func (s ScheduledInstancesIpv6Address) String() string {
117260	return awsutil.Prettify(s)
117261}
117262
117263// GoString returns the string representation
117264func (s ScheduledInstancesIpv6Address) GoString() string {
117265	return s.String()
117266}
117267
117268// SetIpv6Address sets the Ipv6Address field's value.
117269func (s *ScheduledInstancesIpv6Address) SetIpv6Address(v string) *ScheduledInstancesIpv6Address {
117270	s.Ipv6Address = &v
117271	return s
117272}
117273
117274// Describes the launch specification for a Scheduled Instance.
117275//
117276// If you are launching the Scheduled Instance in EC2-VPC, you must specify
117277// the ID of the subnet. You can specify the subnet using either SubnetId or
117278// NetworkInterface.
117279type ScheduledInstancesLaunchSpecification struct {
117280	_ struct{} `type:"structure"`
117281
117282	// The block device mapping entries.
117283	BlockDeviceMappings []*ScheduledInstancesBlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
117284
117285	// Indicates whether the instances are optimized for EBS I/O. This optimization
117286	// provides dedicated throughput to Amazon EBS and an optimized configuration
117287	// stack to provide optimal EBS I/O performance. This optimization isn't available
117288	// with all instance types. Additional usage charges apply when using an EBS-optimized
117289	// instance.
117290	//
117291	// Default: false
117292	EbsOptimized *bool `type:"boolean"`
117293
117294	// The IAM instance profile.
117295	IamInstanceProfile *ScheduledInstancesIamInstanceProfile `type:"structure"`
117296
117297	// The ID of the Amazon Machine Image (AMI).
117298	//
117299	// ImageId is a required field
117300	ImageId *string `type:"string" required:"true"`
117301
117302	// The instance type.
117303	InstanceType *string `type:"string"`
117304
117305	// The ID of the kernel.
117306	KernelId *string `type:"string"`
117307
117308	// The name of the key pair.
117309	KeyName *string `type:"string"`
117310
117311	// Enable or disable monitoring for the instances.
117312	Monitoring *ScheduledInstancesMonitoring `type:"structure"`
117313
117314	// The network interfaces.
117315	NetworkInterfaces []*ScheduledInstancesNetworkInterface `locationName:"NetworkInterface" locationNameList:"NetworkInterface" type:"list"`
117316
117317	// The placement information.
117318	Placement *ScheduledInstancesPlacement `type:"structure"`
117319
117320	// The ID of the RAM disk.
117321	RamdiskId *string `type:"string"`
117322
117323	// The IDs of the security groups.
117324	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
117325
117326	// The ID of the subnet in which to launch the instances.
117327	SubnetId *string `type:"string"`
117328
117329	// The base64-encoded MIME user data.
117330	UserData *string `type:"string"`
117331}
117332
117333// String returns the string representation
117334func (s ScheduledInstancesLaunchSpecification) String() string {
117335	return awsutil.Prettify(s)
117336}
117337
117338// GoString returns the string representation
117339func (s ScheduledInstancesLaunchSpecification) GoString() string {
117340	return s.String()
117341}
117342
117343// Validate inspects the fields of the type to determine if they are valid.
117344func (s *ScheduledInstancesLaunchSpecification) Validate() error {
117345	invalidParams := request.ErrInvalidParams{Context: "ScheduledInstancesLaunchSpecification"}
117346	if s.ImageId == nil {
117347		invalidParams.Add(request.NewErrParamRequired("ImageId"))
117348	}
117349
117350	if invalidParams.Len() > 0 {
117351		return invalidParams
117352	}
117353	return nil
117354}
117355
117356// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
117357func (s *ScheduledInstancesLaunchSpecification) SetBlockDeviceMappings(v []*ScheduledInstancesBlockDeviceMapping) *ScheduledInstancesLaunchSpecification {
117358	s.BlockDeviceMappings = v
117359	return s
117360}
117361
117362// SetEbsOptimized sets the EbsOptimized field's value.
117363func (s *ScheduledInstancesLaunchSpecification) SetEbsOptimized(v bool) *ScheduledInstancesLaunchSpecification {
117364	s.EbsOptimized = &v
117365	return s
117366}
117367
117368// SetIamInstanceProfile sets the IamInstanceProfile field's value.
117369func (s *ScheduledInstancesLaunchSpecification) SetIamInstanceProfile(v *ScheduledInstancesIamInstanceProfile) *ScheduledInstancesLaunchSpecification {
117370	s.IamInstanceProfile = v
117371	return s
117372}
117373
117374// SetImageId sets the ImageId field's value.
117375func (s *ScheduledInstancesLaunchSpecification) SetImageId(v string) *ScheduledInstancesLaunchSpecification {
117376	s.ImageId = &v
117377	return s
117378}
117379
117380// SetInstanceType sets the InstanceType field's value.
117381func (s *ScheduledInstancesLaunchSpecification) SetInstanceType(v string) *ScheduledInstancesLaunchSpecification {
117382	s.InstanceType = &v
117383	return s
117384}
117385
117386// SetKernelId sets the KernelId field's value.
117387func (s *ScheduledInstancesLaunchSpecification) SetKernelId(v string) *ScheduledInstancesLaunchSpecification {
117388	s.KernelId = &v
117389	return s
117390}
117391
117392// SetKeyName sets the KeyName field's value.
117393func (s *ScheduledInstancesLaunchSpecification) SetKeyName(v string) *ScheduledInstancesLaunchSpecification {
117394	s.KeyName = &v
117395	return s
117396}
117397
117398// SetMonitoring sets the Monitoring field's value.
117399func (s *ScheduledInstancesLaunchSpecification) SetMonitoring(v *ScheduledInstancesMonitoring) *ScheduledInstancesLaunchSpecification {
117400	s.Monitoring = v
117401	return s
117402}
117403
117404// SetNetworkInterfaces sets the NetworkInterfaces field's value.
117405func (s *ScheduledInstancesLaunchSpecification) SetNetworkInterfaces(v []*ScheduledInstancesNetworkInterface) *ScheduledInstancesLaunchSpecification {
117406	s.NetworkInterfaces = v
117407	return s
117408}
117409
117410// SetPlacement sets the Placement field's value.
117411func (s *ScheduledInstancesLaunchSpecification) SetPlacement(v *ScheduledInstancesPlacement) *ScheduledInstancesLaunchSpecification {
117412	s.Placement = v
117413	return s
117414}
117415
117416// SetRamdiskId sets the RamdiskId field's value.
117417func (s *ScheduledInstancesLaunchSpecification) SetRamdiskId(v string) *ScheduledInstancesLaunchSpecification {
117418	s.RamdiskId = &v
117419	return s
117420}
117421
117422// SetSecurityGroupIds sets the SecurityGroupIds field's value.
117423func (s *ScheduledInstancesLaunchSpecification) SetSecurityGroupIds(v []*string) *ScheduledInstancesLaunchSpecification {
117424	s.SecurityGroupIds = v
117425	return s
117426}
117427
117428// SetSubnetId sets the SubnetId field's value.
117429func (s *ScheduledInstancesLaunchSpecification) SetSubnetId(v string) *ScheduledInstancesLaunchSpecification {
117430	s.SubnetId = &v
117431	return s
117432}
117433
117434// SetUserData sets the UserData field's value.
117435func (s *ScheduledInstancesLaunchSpecification) SetUserData(v string) *ScheduledInstancesLaunchSpecification {
117436	s.UserData = &v
117437	return s
117438}
117439
117440// Describes whether monitoring is enabled for a Scheduled Instance.
117441type ScheduledInstancesMonitoring struct {
117442	_ struct{} `type:"structure"`
117443
117444	// Indicates whether monitoring is enabled.
117445	Enabled *bool `type:"boolean"`
117446}
117447
117448// String returns the string representation
117449func (s ScheduledInstancesMonitoring) String() string {
117450	return awsutil.Prettify(s)
117451}
117452
117453// GoString returns the string representation
117454func (s ScheduledInstancesMonitoring) GoString() string {
117455	return s.String()
117456}
117457
117458// SetEnabled sets the Enabled field's value.
117459func (s *ScheduledInstancesMonitoring) SetEnabled(v bool) *ScheduledInstancesMonitoring {
117460	s.Enabled = &v
117461	return s
117462}
117463
117464// Describes a network interface for a Scheduled Instance.
117465type ScheduledInstancesNetworkInterface struct {
117466	_ struct{} `type:"structure"`
117467
117468	// Indicates whether to assign a public IPv4 address to instances launched in
117469	// a VPC. The public IPv4 address can only be assigned to a network interface
117470	// for eth0, and can only be assigned to a new network interface, not an existing
117471	// one. You cannot specify more than one network interface in the request. If
117472	// launching into a default subnet, the default value is true.
117473	AssociatePublicIpAddress *bool `type:"boolean"`
117474
117475	// Indicates whether to delete the interface when the instance is terminated.
117476	DeleteOnTermination *bool `type:"boolean"`
117477
117478	// The description.
117479	Description *string `type:"string"`
117480
117481	// The index of the device for the network interface attachment.
117482	DeviceIndex *int64 `type:"integer"`
117483
117484	// The IDs of the security groups.
117485	Groups []*string `locationName:"Group" locationNameList:"SecurityGroupId" type:"list"`
117486
117487	// The number of IPv6 addresses to assign to the network interface. The IPv6
117488	// addresses are automatically selected from the subnet range.
117489	Ipv6AddressCount *int64 `type:"integer"`
117490
117491	// The specific IPv6 addresses from the subnet range.
117492	Ipv6Addresses []*ScheduledInstancesIpv6Address `locationName:"Ipv6Address" locationNameList:"Ipv6Address" type:"list"`
117493
117494	// The ID of the network interface.
117495	NetworkInterfaceId *string `type:"string"`
117496
117497	// The IPv4 address of the network interface within the subnet.
117498	PrivateIpAddress *string `type:"string"`
117499
117500	// The private IPv4 addresses.
117501	PrivateIpAddressConfigs []*ScheduledInstancesPrivateIpAddressConfig `locationName:"PrivateIpAddressConfig" locationNameList:"PrivateIpAddressConfigSet" type:"list"`
117502
117503	// The number of secondary private IPv4 addresses.
117504	SecondaryPrivateIpAddressCount *int64 `type:"integer"`
117505
117506	// The ID of the subnet.
117507	SubnetId *string `type:"string"`
117508}
117509
117510// String returns the string representation
117511func (s ScheduledInstancesNetworkInterface) String() string {
117512	return awsutil.Prettify(s)
117513}
117514
117515// GoString returns the string representation
117516func (s ScheduledInstancesNetworkInterface) GoString() string {
117517	return s.String()
117518}
117519
117520// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
117521func (s *ScheduledInstancesNetworkInterface) SetAssociatePublicIpAddress(v bool) *ScheduledInstancesNetworkInterface {
117522	s.AssociatePublicIpAddress = &v
117523	return s
117524}
117525
117526// SetDeleteOnTermination sets the DeleteOnTermination field's value.
117527func (s *ScheduledInstancesNetworkInterface) SetDeleteOnTermination(v bool) *ScheduledInstancesNetworkInterface {
117528	s.DeleteOnTermination = &v
117529	return s
117530}
117531
117532// SetDescription sets the Description field's value.
117533func (s *ScheduledInstancesNetworkInterface) SetDescription(v string) *ScheduledInstancesNetworkInterface {
117534	s.Description = &v
117535	return s
117536}
117537
117538// SetDeviceIndex sets the DeviceIndex field's value.
117539func (s *ScheduledInstancesNetworkInterface) SetDeviceIndex(v int64) *ScheduledInstancesNetworkInterface {
117540	s.DeviceIndex = &v
117541	return s
117542}
117543
117544// SetGroups sets the Groups field's value.
117545func (s *ScheduledInstancesNetworkInterface) SetGroups(v []*string) *ScheduledInstancesNetworkInterface {
117546	s.Groups = v
117547	return s
117548}
117549
117550// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
117551func (s *ScheduledInstancesNetworkInterface) SetIpv6AddressCount(v int64) *ScheduledInstancesNetworkInterface {
117552	s.Ipv6AddressCount = &v
117553	return s
117554}
117555
117556// SetIpv6Addresses sets the Ipv6Addresses field's value.
117557func (s *ScheduledInstancesNetworkInterface) SetIpv6Addresses(v []*ScheduledInstancesIpv6Address) *ScheduledInstancesNetworkInterface {
117558	s.Ipv6Addresses = v
117559	return s
117560}
117561
117562// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
117563func (s *ScheduledInstancesNetworkInterface) SetNetworkInterfaceId(v string) *ScheduledInstancesNetworkInterface {
117564	s.NetworkInterfaceId = &v
117565	return s
117566}
117567
117568// SetPrivateIpAddress sets the PrivateIpAddress field's value.
117569func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddress(v string) *ScheduledInstancesNetworkInterface {
117570	s.PrivateIpAddress = &v
117571	return s
117572}
117573
117574// SetPrivateIpAddressConfigs sets the PrivateIpAddressConfigs field's value.
117575func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddressConfigs(v []*ScheduledInstancesPrivateIpAddressConfig) *ScheduledInstancesNetworkInterface {
117576	s.PrivateIpAddressConfigs = v
117577	return s
117578}
117579
117580// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
117581func (s *ScheduledInstancesNetworkInterface) SetSecondaryPrivateIpAddressCount(v int64) *ScheduledInstancesNetworkInterface {
117582	s.SecondaryPrivateIpAddressCount = &v
117583	return s
117584}
117585
117586// SetSubnetId sets the SubnetId field's value.
117587func (s *ScheduledInstancesNetworkInterface) SetSubnetId(v string) *ScheduledInstancesNetworkInterface {
117588	s.SubnetId = &v
117589	return s
117590}
117591
117592// Describes the placement for a Scheduled Instance.
117593type ScheduledInstancesPlacement struct {
117594	_ struct{} `type:"structure"`
117595
117596	// The Availability Zone.
117597	AvailabilityZone *string `type:"string"`
117598
117599	// The name of the placement group.
117600	GroupName *string `type:"string"`
117601}
117602
117603// String returns the string representation
117604func (s ScheduledInstancesPlacement) String() string {
117605	return awsutil.Prettify(s)
117606}
117607
117608// GoString returns the string representation
117609func (s ScheduledInstancesPlacement) GoString() string {
117610	return s.String()
117611}
117612
117613// SetAvailabilityZone sets the AvailabilityZone field's value.
117614func (s *ScheduledInstancesPlacement) SetAvailabilityZone(v string) *ScheduledInstancesPlacement {
117615	s.AvailabilityZone = &v
117616	return s
117617}
117618
117619// SetGroupName sets the GroupName field's value.
117620func (s *ScheduledInstancesPlacement) SetGroupName(v string) *ScheduledInstancesPlacement {
117621	s.GroupName = &v
117622	return s
117623}
117624
117625// Describes a private IPv4 address for a Scheduled Instance.
117626type ScheduledInstancesPrivateIpAddressConfig struct {
117627	_ struct{} `type:"structure"`
117628
117629	// Indicates whether this is a primary IPv4 address. Otherwise, this is a secondary
117630	// IPv4 address.
117631	Primary *bool `type:"boolean"`
117632
117633	// The IPv4 address.
117634	PrivateIpAddress *string `type:"string"`
117635}
117636
117637// String returns the string representation
117638func (s ScheduledInstancesPrivateIpAddressConfig) String() string {
117639	return awsutil.Prettify(s)
117640}
117641
117642// GoString returns the string representation
117643func (s ScheduledInstancesPrivateIpAddressConfig) GoString() string {
117644	return s.String()
117645}
117646
117647// SetPrimary sets the Primary field's value.
117648func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrimary(v bool) *ScheduledInstancesPrivateIpAddressConfig {
117649	s.Primary = &v
117650	return s
117651}
117652
117653// SetPrivateIpAddress sets the PrivateIpAddress field's value.
117654func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrivateIpAddress(v string) *ScheduledInstancesPrivateIpAddressConfig {
117655	s.PrivateIpAddress = &v
117656	return s
117657}
117658
117659type SearchLocalGatewayRoutesInput struct {
117660	_ struct{} `type:"structure"`
117661
117662	// Checks whether you have the required permissions for the action, without
117663	// actually making the request, and provides an error response. If you have
117664	// the required permissions, the error response is DryRunOperation. Otherwise,
117665	// it is UnauthorizedOperation.
117666	DryRun *bool `type:"boolean"`
117667
117668	// One or more filters.
117669	//
117670	// Filters is a required field
117671	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list" required:"true"`
117672
117673	// The ID of the local gateway route table.
117674	//
117675	// LocalGatewayRouteTableId is a required field
117676	LocalGatewayRouteTableId *string `type:"string" required:"true"`
117677
117678	// The maximum number of results to return with a single call. To retrieve the
117679	// remaining results, make another call with the returned nextToken value.
117680	MaxResults *int64 `type:"integer"`
117681
117682	// The token for the next page of results.
117683	NextToken *string `type:"string"`
117684}
117685
117686// String returns the string representation
117687func (s SearchLocalGatewayRoutesInput) String() string {
117688	return awsutil.Prettify(s)
117689}
117690
117691// GoString returns the string representation
117692func (s SearchLocalGatewayRoutesInput) GoString() string {
117693	return s.String()
117694}
117695
117696// Validate inspects the fields of the type to determine if they are valid.
117697func (s *SearchLocalGatewayRoutesInput) Validate() error {
117698	invalidParams := request.ErrInvalidParams{Context: "SearchLocalGatewayRoutesInput"}
117699	if s.Filters == nil {
117700		invalidParams.Add(request.NewErrParamRequired("Filters"))
117701	}
117702	if s.LocalGatewayRouteTableId == nil {
117703		invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
117704	}
117705
117706	if invalidParams.Len() > 0 {
117707		return invalidParams
117708	}
117709	return nil
117710}
117711
117712// SetDryRun sets the DryRun field's value.
117713func (s *SearchLocalGatewayRoutesInput) SetDryRun(v bool) *SearchLocalGatewayRoutesInput {
117714	s.DryRun = &v
117715	return s
117716}
117717
117718// SetFilters sets the Filters field's value.
117719func (s *SearchLocalGatewayRoutesInput) SetFilters(v []*Filter) *SearchLocalGatewayRoutesInput {
117720	s.Filters = v
117721	return s
117722}
117723
117724// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
117725func (s *SearchLocalGatewayRoutesInput) SetLocalGatewayRouteTableId(v string) *SearchLocalGatewayRoutesInput {
117726	s.LocalGatewayRouteTableId = &v
117727	return s
117728}
117729
117730// SetMaxResults sets the MaxResults field's value.
117731func (s *SearchLocalGatewayRoutesInput) SetMaxResults(v int64) *SearchLocalGatewayRoutesInput {
117732	s.MaxResults = &v
117733	return s
117734}
117735
117736// SetNextToken sets the NextToken field's value.
117737func (s *SearchLocalGatewayRoutesInput) SetNextToken(v string) *SearchLocalGatewayRoutesInput {
117738	s.NextToken = &v
117739	return s
117740}
117741
117742type SearchLocalGatewayRoutesOutput struct {
117743	_ struct{} `type:"structure"`
117744
117745	// The token to use to retrieve the next page of results. This value is null
117746	// when there are no more results to return.
117747	NextToken *string `locationName:"nextToken" type:"string"`
117748
117749	// Information about the routes.
117750	Routes []*LocalGatewayRoute `locationName:"routeSet" locationNameList:"item" type:"list"`
117751}
117752
117753// String returns the string representation
117754func (s SearchLocalGatewayRoutesOutput) String() string {
117755	return awsutil.Prettify(s)
117756}
117757
117758// GoString returns the string representation
117759func (s SearchLocalGatewayRoutesOutput) GoString() string {
117760	return s.String()
117761}
117762
117763// SetNextToken sets the NextToken field's value.
117764func (s *SearchLocalGatewayRoutesOutput) SetNextToken(v string) *SearchLocalGatewayRoutesOutput {
117765	s.NextToken = &v
117766	return s
117767}
117768
117769// SetRoutes sets the Routes field's value.
117770func (s *SearchLocalGatewayRoutesOutput) SetRoutes(v []*LocalGatewayRoute) *SearchLocalGatewayRoutesOutput {
117771	s.Routes = v
117772	return s
117773}
117774
117775type SearchTransitGatewayMulticastGroupsInput struct {
117776	_ struct{} `type:"structure"`
117777
117778	// Checks whether you have the required permissions for the action, without
117779	// actually making the request, and provides an error response. If you have
117780	// the required permissions, the error response is DryRunOperation. Otherwise,
117781	// it is UnauthorizedOperation.
117782	DryRun *bool `type:"boolean"`
117783
117784	// One or more filters. The possible values are:
117785	//
117786	//    * group-ip-address - The IP address of the transit gateway multicast group.
117787	//
117788	//    * is-group-member - The resource is a group member. Valid values are true
117789	//    | false.
117790	//
117791	//    * is-group-source - The resource is a group source. Valid values are true
117792	//    | false.
117793	//
117794	//    * member-type - The member type. Valid values are igmp | static.
117795	//
117796	//    * resource-id - The ID of the resource.
117797	//
117798	//    * resource-type - The type of resource. Valid values are vpc | vpn | direct-connect-gateway
117799	//    | tgw-peering.
117800	//
117801	//    * source-type - The source type. Valid values are igmp | static.
117802	//
117803	//    * subnet-id - The ID of the subnet.
117804	//
117805	//    * transit-gateway-attachment-id - The id of the transit gateway attachment.
117806	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
117807
117808	// The maximum number of results to return with a single call. To retrieve the
117809	// remaining results, make another call with the returned nextToken value.
117810	MaxResults *int64 `min:"5" type:"integer"`
117811
117812	// The token for the next page of results.
117813	NextToken *string `type:"string"`
117814
117815	// The ID of the transit gateway multicast domain.
117816	TransitGatewayMulticastDomainId *string `type:"string"`
117817}
117818
117819// String returns the string representation
117820func (s SearchTransitGatewayMulticastGroupsInput) String() string {
117821	return awsutil.Prettify(s)
117822}
117823
117824// GoString returns the string representation
117825func (s SearchTransitGatewayMulticastGroupsInput) GoString() string {
117826	return s.String()
117827}
117828
117829// Validate inspects the fields of the type to determine if they are valid.
117830func (s *SearchTransitGatewayMulticastGroupsInput) Validate() error {
117831	invalidParams := request.ErrInvalidParams{Context: "SearchTransitGatewayMulticastGroupsInput"}
117832	if s.MaxResults != nil && *s.MaxResults < 5 {
117833		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
117834	}
117835
117836	if invalidParams.Len() > 0 {
117837		return invalidParams
117838	}
117839	return nil
117840}
117841
117842// SetDryRun sets the DryRun field's value.
117843func (s *SearchTransitGatewayMulticastGroupsInput) SetDryRun(v bool) *SearchTransitGatewayMulticastGroupsInput {
117844	s.DryRun = &v
117845	return s
117846}
117847
117848// SetFilters sets the Filters field's value.
117849func (s *SearchTransitGatewayMulticastGroupsInput) SetFilters(v []*Filter) *SearchTransitGatewayMulticastGroupsInput {
117850	s.Filters = v
117851	return s
117852}
117853
117854// SetMaxResults sets the MaxResults field's value.
117855func (s *SearchTransitGatewayMulticastGroupsInput) SetMaxResults(v int64) *SearchTransitGatewayMulticastGroupsInput {
117856	s.MaxResults = &v
117857	return s
117858}
117859
117860// SetNextToken sets the NextToken field's value.
117861func (s *SearchTransitGatewayMulticastGroupsInput) SetNextToken(v string) *SearchTransitGatewayMulticastGroupsInput {
117862	s.NextToken = &v
117863	return s
117864}
117865
117866// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
117867func (s *SearchTransitGatewayMulticastGroupsInput) SetTransitGatewayMulticastDomainId(v string) *SearchTransitGatewayMulticastGroupsInput {
117868	s.TransitGatewayMulticastDomainId = &v
117869	return s
117870}
117871
117872type SearchTransitGatewayMulticastGroupsOutput struct {
117873	_ struct{} `type:"structure"`
117874
117875	// Information about the transit gateway multicast group.
117876	MulticastGroups []*TransitGatewayMulticastGroup `locationName:"multicastGroups" locationNameList:"item" type:"list"`
117877
117878	// The token to use to retrieve the next page of results. This value is null
117879	// when there are no more results to return.
117880	NextToken *string `locationName:"nextToken" type:"string"`
117881}
117882
117883// String returns the string representation
117884func (s SearchTransitGatewayMulticastGroupsOutput) String() string {
117885	return awsutil.Prettify(s)
117886}
117887
117888// GoString returns the string representation
117889func (s SearchTransitGatewayMulticastGroupsOutput) GoString() string {
117890	return s.String()
117891}
117892
117893// SetMulticastGroups sets the MulticastGroups field's value.
117894func (s *SearchTransitGatewayMulticastGroupsOutput) SetMulticastGroups(v []*TransitGatewayMulticastGroup) *SearchTransitGatewayMulticastGroupsOutput {
117895	s.MulticastGroups = v
117896	return s
117897}
117898
117899// SetNextToken sets the NextToken field's value.
117900func (s *SearchTransitGatewayMulticastGroupsOutput) SetNextToken(v string) *SearchTransitGatewayMulticastGroupsOutput {
117901	s.NextToken = &v
117902	return s
117903}
117904
117905type SearchTransitGatewayRoutesInput struct {
117906	_ struct{} `type:"structure"`
117907
117908	// Checks whether you have the required permissions for the action, without
117909	// actually making the request, and provides an error response. If you have
117910	// the required permissions, the error response is DryRunOperation. Otherwise,
117911	// it is UnauthorizedOperation.
117912	DryRun *bool `type:"boolean"`
117913
117914	// One or more filters. The possible values are:
117915	//
117916	//    * attachment.transit-gateway-attachment-id- The id of the transit gateway
117917	//    attachment.
117918	//
117919	//    * attachment.resource-id - The resource id of the transit gateway attachment.
117920	//
117921	//    * attachment.resource-type - The attachment resource type. Valid values
117922	//    are vpc | vpn | direct-connect-gateway | peering | connect.
117923	//
117924	//    * prefix-list-id - The ID of the prefix list.
117925	//
117926	//    * route-search.exact-match - The exact match of the specified filter.
117927	//
117928	//    * route-search.longest-prefix-match - The longest prefix that matches
117929	//    the route.
117930	//
117931	//    * route-search.subnet-of-match - The routes with a subnet that match the
117932	//    specified CIDR filter.
117933	//
117934	//    * route-search.supernet-of-match - The routes with a CIDR that encompass
117935	//    the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31
117936	//    routes in your route table and you specify supernet-of-match as 10.0.1.0/30,
117937	//    then the result returns 10.0.1.0/29.
117938	//
117939	//    * state - The state of the route (active | blackhole).
117940	//
117941	//    * type - The type of route (propagated | static).
117942	//
117943	// Filters is a required field
117944	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list" required:"true"`
117945
117946	// The maximum number of routes to return.
117947	MaxResults *int64 `min:"5" type:"integer"`
117948
117949	// The ID of the transit gateway route table.
117950	//
117951	// TransitGatewayRouteTableId is a required field
117952	TransitGatewayRouteTableId *string `type:"string" required:"true"`
117953}
117954
117955// String returns the string representation
117956func (s SearchTransitGatewayRoutesInput) String() string {
117957	return awsutil.Prettify(s)
117958}
117959
117960// GoString returns the string representation
117961func (s SearchTransitGatewayRoutesInput) GoString() string {
117962	return s.String()
117963}
117964
117965// Validate inspects the fields of the type to determine if they are valid.
117966func (s *SearchTransitGatewayRoutesInput) Validate() error {
117967	invalidParams := request.ErrInvalidParams{Context: "SearchTransitGatewayRoutesInput"}
117968	if s.Filters == nil {
117969		invalidParams.Add(request.NewErrParamRequired("Filters"))
117970	}
117971	if s.MaxResults != nil && *s.MaxResults < 5 {
117972		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
117973	}
117974	if s.TransitGatewayRouteTableId == nil {
117975		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
117976	}
117977
117978	if invalidParams.Len() > 0 {
117979		return invalidParams
117980	}
117981	return nil
117982}
117983
117984// SetDryRun sets the DryRun field's value.
117985func (s *SearchTransitGatewayRoutesInput) SetDryRun(v bool) *SearchTransitGatewayRoutesInput {
117986	s.DryRun = &v
117987	return s
117988}
117989
117990// SetFilters sets the Filters field's value.
117991func (s *SearchTransitGatewayRoutesInput) SetFilters(v []*Filter) *SearchTransitGatewayRoutesInput {
117992	s.Filters = v
117993	return s
117994}
117995
117996// SetMaxResults sets the MaxResults field's value.
117997func (s *SearchTransitGatewayRoutesInput) SetMaxResults(v int64) *SearchTransitGatewayRoutesInput {
117998	s.MaxResults = &v
117999	return s
118000}
118001
118002// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
118003func (s *SearchTransitGatewayRoutesInput) SetTransitGatewayRouteTableId(v string) *SearchTransitGatewayRoutesInput {
118004	s.TransitGatewayRouteTableId = &v
118005	return s
118006}
118007
118008type SearchTransitGatewayRoutesOutput struct {
118009	_ struct{} `type:"structure"`
118010
118011	// Indicates whether there are additional routes available.
118012	AdditionalRoutesAvailable *bool `locationName:"additionalRoutesAvailable" type:"boolean"`
118013
118014	// Information about the routes.
118015	Routes []*TransitGatewayRoute `locationName:"routeSet" locationNameList:"item" type:"list"`
118016}
118017
118018// String returns the string representation
118019func (s SearchTransitGatewayRoutesOutput) String() string {
118020	return awsutil.Prettify(s)
118021}
118022
118023// GoString returns the string representation
118024func (s SearchTransitGatewayRoutesOutput) GoString() string {
118025	return s.String()
118026}
118027
118028// SetAdditionalRoutesAvailable sets the AdditionalRoutesAvailable field's value.
118029func (s *SearchTransitGatewayRoutesOutput) SetAdditionalRoutesAvailable(v bool) *SearchTransitGatewayRoutesOutput {
118030	s.AdditionalRoutesAvailable = &v
118031	return s
118032}
118033
118034// SetRoutes sets the Routes field's value.
118035func (s *SearchTransitGatewayRoutesOutput) SetRoutes(v []*TransitGatewayRoute) *SearchTransitGatewayRoutesOutput {
118036	s.Routes = v
118037	return s
118038}
118039
118040// Describes a security group.
118041type SecurityGroup struct {
118042	_ struct{} `type:"structure"`
118043
118044	// A description of the security group.
118045	Description *string `locationName:"groupDescription" type:"string"`
118046
118047	// The ID of the security group.
118048	GroupId *string `locationName:"groupId" type:"string"`
118049
118050	// The name of the security group.
118051	GroupName *string `locationName:"groupName" type:"string"`
118052
118053	// The inbound rules associated with the security group.
118054	IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
118055
118056	// [VPC only] The outbound rules associated with the security group.
118057	IpPermissionsEgress []*IpPermission `locationName:"ipPermissionsEgress" locationNameList:"item" type:"list"`
118058
118059	// The Amazon Web Services account ID of the owner of the security group.
118060	OwnerId *string `locationName:"ownerId" type:"string"`
118061
118062	// Any tags assigned to the security group.
118063	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
118064
118065	// [VPC only] The ID of the VPC for the security group.
118066	VpcId *string `locationName:"vpcId" type:"string"`
118067}
118068
118069// String returns the string representation
118070func (s SecurityGroup) String() string {
118071	return awsutil.Prettify(s)
118072}
118073
118074// GoString returns the string representation
118075func (s SecurityGroup) GoString() string {
118076	return s.String()
118077}
118078
118079// SetDescription sets the Description field's value.
118080func (s *SecurityGroup) SetDescription(v string) *SecurityGroup {
118081	s.Description = &v
118082	return s
118083}
118084
118085// SetGroupId sets the GroupId field's value.
118086func (s *SecurityGroup) SetGroupId(v string) *SecurityGroup {
118087	s.GroupId = &v
118088	return s
118089}
118090
118091// SetGroupName sets the GroupName field's value.
118092func (s *SecurityGroup) SetGroupName(v string) *SecurityGroup {
118093	s.GroupName = &v
118094	return s
118095}
118096
118097// SetIpPermissions sets the IpPermissions field's value.
118098func (s *SecurityGroup) SetIpPermissions(v []*IpPermission) *SecurityGroup {
118099	s.IpPermissions = v
118100	return s
118101}
118102
118103// SetIpPermissionsEgress sets the IpPermissionsEgress field's value.
118104func (s *SecurityGroup) SetIpPermissionsEgress(v []*IpPermission) *SecurityGroup {
118105	s.IpPermissionsEgress = v
118106	return s
118107}
118108
118109// SetOwnerId sets the OwnerId field's value.
118110func (s *SecurityGroup) SetOwnerId(v string) *SecurityGroup {
118111	s.OwnerId = &v
118112	return s
118113}
118114
118115// SetTags sets the Tags field's value.
118116func (s *SecurityGroup) SetTags(v []*Tag) *SecurityGroup {
118117	s.Tags = v
118118	return s
118119}
118120
118121// SetVpcId sets the VpcId field's value.
118122func (s *SecurityGroup) SetVpcId(v string) *SecurityGroup {
118123	s.VpcId = &v
118124	return s
118125}
118126
118127// Describes a security group.
118128type SecurityGroupIdentifier struct {
118129	_ struct{} `type:"structure"`
118130
118131	// The ID of the security group.
118132	GroupId *string `locationName:"groupId" type:"string"`
118133
118134	// The name of the security group.
118135	GroupName *string `locationName:"groupName" type:"string"`
118136}
118137
118138// String returns the string representation
118139func (s SecurityGroupIdentifier) String() string {
118140	return awsutil.Prettify(s)
118141}
118142
118143// GoString returns the string representation
118144func (s SecurityGroupIdentifier) GoString() string {
118145	return s.String()
118146}
118147
118148// SetGroupId sets the GroupId field's value.
118149func (s *SecurityGroupIdentifier) SetGroupId(v string) *SecurityGroupIdentifier {
118150	s.GroupId = &v
118151	return s
118152}
118153
118154// SetGroupName sets the GroupName field's value.
118155func (s *SecurityGroupIdentifier) SetGroupName(v string) *SecurityGroupIdentifier {
118156	s.GroupName = &v
118157	return s
118158}
118159
118160// Describes a VPC with a security group that references your security group.
118161type SecurityGroupReference struct {
118162	_ struct{} `type:"structure"`
118163
118164	// The ID of your security group.
118165	GroupId *string `locationName:"groupId" type:"string"`
118166
118167	// The ID of the VPC with the referencing security group.
118168	ReferencingVpcId *string `locationName:"referencingVpcId" type:"string"`
118169
118170	// The ID of the VPC peering connection.
118171	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
118172}
118173
118174// String returns the string representation
118175func (s SecurityGroupReference) String() string {
118176	return awsutil.Prettify(s)
118177}
118178
118179// GoString returns the string representation
118180func (s SecurityGroupReference) GoString() string {
118181	return s.String()
118182}
118183
118184// SetGroupId sets the GroupId field's value.
118185func (s *SecurityGroupReference) SetGroupId(v string) *SecurityGroupReference {
118186	s.GroupId = &v
118187	return s
118188}
118189
118190// SetReferencingVpcId sets the ReferencingVpcId field's value.
118191func (s *SecurityGroupReference) SetReferencingVpcId(v string) *SecurityGroupReference {
118192	s.ReferencingVpcId = &v
118193	return s
118194}
118195
118196// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
118197func (s *SecurityGroupReference) SetVpcPeeringConnectionId(v string) *SecurityGroupReference {
118198	s.VpcPeeringConnectionId = &v
118199	return s
118200}
118201
118202// Describes a security group rule.
118203type SecurityGroupRule struct {
118204	_ struct{} `type:"structure"`
118205
118206	// The IPv4 CIDR range.
118207	CidrIpv4 *string `locationName:"cidrIpv4" type:"string"`
118208
118209	// The IPv6 CIDR range.
118210	CidrIpv6 *string `locationName:"cidrIpv6" type:"string"`
118211
118212	// The security group rule description.
118213	Description *string `locationName:"description" type:"string"`
118214
118215	// The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6
118216	// type. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6
118217	// types, you must specify all codes.
118218	FromPort *int64 `locationName:"fromPort" type:"integer"`
118219
118220	// The ID of the security group.
118221	GroupId *string `locationName:"groupId" type:"string"`
118222
118223	// The ID of the Amazon Web Services account that owns the security group.
118224	GroupOwnerId *string `locationName:"groupOwnerId" type:"string"`
118225
118226	// The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers
118227	// (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
118228	//
118229	// Use -1 to specify all protocols.
118230	IpProtocol *string `locationName:"ipProtocol" type:"string"`
118231
118232	// Indicates whether the security group rule is an outbound rule.
118233	IsEgress *bool `locationName:"isEgress" type:"boolean"`
118234
118235	// The ID of the prefix list.
118236	PrefixListId *string `locationName:"prefixListId" type:"string"`
118237
118238	// Describes the security group that is referenced in the rule.
118239	ReferencedGroupInfo *ReferencedSecurityGroup `locationName:"referencedGroupInfo" type:"structure"`
118240
118241	// The ID of the security group rule.
118242	SecurityGroupRuleId *string `locationName:"securityGroupRuleId" type:"string"`
118243
118244	// The tags applied to the security group rule.
118245	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
118246
118247	// The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.
118248	// A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6
118249	// types, you must specify all codes.
118250	ToPort *int64 `locationName:"toPort" type:"integer"`
118251}
118252
118253// String returns the string representation
118254func (s SecurityGroupRule) String() string {
118255	return awsutil.Prettify(s)
118256}
118257
118258// GoString returns the string representation
118259func (s SecurityGroupRule) GoString() string {
118260	return s.String()
118261}
118262
118263// SetCidrIpv4 sets the CidrIpv4 field's value.
118264func (s *SecurityGroupRule) SetCidrIpv4(v string) *SecurityGroupRule {
118265	s.CidrIpv4 = &v
118266	return s
118267}
118268
118269// SetCidrIpv6 sets the CidrIpv6 field's value.
118270func (s *SecurityGroupRule) SetCidrIpv6(v string) *SecurityGroupRule {
118271	s.CidrIpv6 = &v
118272	return s
118273}
118274
118275// SetDescription sets the Description field's value.
118276func (s *SecurityGroupRule) SetDescription(v string) *SecurityGroupRule {
118277	s.Description = &v
118278	return s
118279}
118280
118281// SetFromPort sets the FromPort field's value.
118282func (s *SecurityGroupRule) SetFromPort(v int64) *SecurityGroupRule {
118283	s.FromPort = &v
118284	return s
118285}
118286
118287// SetGroupId sets the GroupId field's value.
118288func (s *SecurityGroupRule) SetGroupId(v string) *SecurityGroupRule {
118289	s.GroupId = &v
118290	return s
118291}
118292
118293// SetGroupOwnerId sets the GroupOwnerId field's value.
118294func (s *SecurityGroupRule) SetGroupOwnerId(v string) *SecurityGroupRule {
118295	s.GroupOwnerId = &v
118296	return s
118297}
118298
118299// SetIpProtocol sets the IpProtocol field's value.
118300func (s *SecurityGroupRule) SetIpProtocol(v string) *SecurityGroupRule {
118301	s.IpProtocol = &v
118302	return s
118303}
118304
118305// SetIsEgress sets the IsEgress field's value.
118306func (s *SecurityGroupRule) SetIsEgress(v bool) *SecurityGroupRule {
118307	s.IsEgress = &v
118308	return s
118309}
118310
118311// SetPrefixListId sets the PrefixListId field's value.
118312func (s *SecurityGroupRule) SetPrefixListId(v string) *SecurityGroupRule {
118313	s.PrefixListId = &v
118314	return s
118315}
118316
118317// SetReferencedGroupInfo sets the ReferencedGroupInfo field's value.
118318func (s *SecurityGroupRule) SetReferencedGroupInfo(v *ReferencedSecurityGroup) *SecurityGroupRule {
118319	s.ReferencedGroupInfo = v
118320	return s
118321}
118322
118323// SetSecurityGroupRuleId sets the SecurityGroupRuleId field's value.
118324func (s *SecurityGroupRule) SetSecurityGroupRuleId(v string) *SecurityGroupRule {
118325	s.SecurityGroupRuleId = &v
118326	return s
118327}
118328
118329// SetTags sets the Tags field's value.
118330func (s *SecurityGroupRule) SetTags(v []*Tag) *SecurityGroupRule {
118331	s.Tags = v
118332	return s
118333}
118334
118335// SetToPort sets the ToPort field's value.
118336func (s *SecurityGroupRule) SetToPort(v int64) *SecurityGroupRule {
118337	s.ToPort = &v
118338	return s
118339}
118340
118341// Describes the description of a security group rule.
118342//
118343// You can use this when you want to update the security group rule description
118344// for either an inbound or outbound rule.
118345type SecurityGroupRuleDescription struct {
118346	_ struct{} `type:"structure"`
118347
118348	// The description of the security group rule.
118349	Description *string `type:"string"`
118350
118351	// The ID of the security group rule.
118352	SecurityGroupRuleId *string `type:"string"`
118353}
118354
118355// String returns the string representation
118356func (s SecurityGroupRuleDescription) String() string {
118357	return awsutil.Prettify(s)
118358}
118359
118360// GoString returns the string representation
118361func (s SecurityGroupRuleDescription) GoString() string {
118362	return s.String()
118363}
118364
118365// SetDescription sets the Description field's value.
118366func (s *SecurityGroupRuleDescription) SetDescription(v string) *SecurityGroupRuleDescription {
118367	s.Description = &v
118368	return s
118369}
118370
118371// SetSecurityGroupRuleId sets the SecurityGroupRuleId field's value.
118372func (s *SecurityGroupRuleDescription) SetSecurityGroupRuleId(v string) *SecurityGroupRuleDescription {
118373	s.SecurityGroupRuleId = &v
118374	return s
118375}
118376
118377// Describes a security group rule.
118378//
118379// You must specify exactly one of the following parameters, based on the rule
118380// type:
118381//
118382//    * CidrIpv4
118383//
118384//    * CidrIpv6
118385//
118386//    * PrefixListId
118387//
118388//    * ReferencedGroupId
118389//
118390// When you modify a rule, you cannot change the rule type. For example, if
118391// the rule uses an IPv4 address range, you must use CidrIpv4 to specify a new
118392// IPv4 address range.
118393type SecurityGroupRuleRequest struct {
118394	_ struct{} `type:"structure"`
118395
118396	// The IPv4 CIDR range. To specify a single IPv4 address, use the /32 prefix
118397	// length.
118398	CidrIpv4 *string `type:"string"`
118399
118400	// The IPv6 CIDR range. To specify a single IPv6 address, use the /128 prefix
118401	// length.
118402	CidrIpv6 *string `type:"string"`
118403
118404	// The description of the security group rule.
118405	Description *string `type:"string"`
118406
118407	// The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6
118408	// type. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6
118409	// types, you must specify all codes.
118410	FromPort *int64 `type:"integer"`
118411
118412	// The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers
118413	// (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
118414	//
118415	// Use -1 to specify all protocols.
118416	IpProtocol *string `type:"string"`
118417
118418	// The ID of the prefix list.
118419	PrefixListId *string `type:"string"`
118420
118421	// The ID of the security group that is referenced in the security group rule.
118422	ReferencedGroupId *string `type:"string"`
118423
118424	// The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.
118425	// A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6
118426	// types, you must specify all codes.
118427	ToPort *int64 `type:"integer"`
118428}
118429
118430// String returns the string representation
118431func (s SecurityGroupRuleRequest) String() string {
118432	return awsutil.Prettify(s)
118433}
118434
118435// GoString returns the string representation
118436func (s SecurityGroupRuleRequest) GoString() string {
118437	return s.String()
118438}
118439
118440// SetCidrIpv4 sets the CidrIpv4 field's value.
118441func (s *SecurityGroupRuleRequest) SetCidrIpv4(v string) *SecurityGroupRuleRequest {
118442	s.CidrIpv4 = &v
118443	return s
118444}
118445
118446// SetCidrIpv6 sets the CidrIpv6 field's value.
118447func (s *SecurityGroupRuleRequest) SetCidrIpv6(v string) *SecurityGroupRuleRequest {
118448	s.CidrIpv6 = &v
118449	return s
118450}
118451
118452// SetDescription sets the Description field's value.
118453func (s *SecurityGroupRuleRequest) SetDescription(v string) *SecurityGroupRuleRequest {
118454	s.Description = &v
118455	return s
118456}
118457
118458// SetFromPort sets the FromPort field's value.
118459func (s *SecurityGroupRuleRequest) SetFromPort(v int64) *SecurityGroupRuleRequest {
118460	s.FromPort = &v
118461	return s
118462}
118463
118464// SetIpProtocol sets the IpProtocol field's value.
118465func (s *SecurityGroupRuleRequest) SetIpProtocol(v string) *SecurityGroupRuleRequest {
118466	s.IpProtocol = &v
118467	return s
118468}
118469
118470// SetPrefixListId sets the PrefixListId field's value.
118471func (s *SecurityGroupRuleRequest) SetPrefixListId(v string) *SecurityGroupRuleRequest {
118472	s.PrefixListId = &v
118473	return s
118474}
118475
118476// SetReferencedGroupId sets the ReferencedGroupId field's value.
118477func (s *SecurityGroupRuleRequest) SetReferencedGroupId(v string) *SecurityGroupRuleRequest {
118478	s.ReferencedGroupId = &v
118479	return s
118480}
118481
118482// SetToPort sets the ToPort field's value.
118483func (s *SecurityGroupRuleRequest) SetToPort(v int64) *SecurityGroupRuleRequest {
118484	s.ToPort = &v
118485	return s
118486}
118487
118488// Describes an update to a security group rule.
118489type SecurityGroupRuleUpdate struct {
118490	_ struct{} `type:"structure"`
118491
118492	// Information about the security group rule.
118493	SecurityGroupRule *SecurityGroupRuleRequest `type:"structure"`
118494
118495	// The ID of the security group rule.
118496	SecurityGroupRuleId *string `type:"string"`
118497}
118498
118499// String returns the string representation
118500func (s SecurityGroupRuleUpdate) String() string {
118501	return awsutil.Prettify(s)
118502}
118503
118504// GoString returns the string representation
118505func (s SecurityGroupRuleUpdate) GoString() string {
118506	return s.String()
118507}
118508
118509// SetSecurityGroupRule sets the SecurityGroupRule field's value.
118510func (s *SecurityGroupRuleUpdate) SetSecurityGroupRule(v *SecurityGroupRuleRequest) *SecurityGroupRuleUpdate {
118511	s.SecurityGroupRule = v
118512	return s
118513}
118514
118515// SetSecurityGroupRuleId sets the SecurityGroupRuleId field's value.
118516func (s *SecurityGroupRuleUpdate) SetSecurityGroupRuleId(v string) *SecurityGroupRuleUpdate {
118517	s.SecurityGroupRuleId = &v
118518	return s
118519}
118520
118521type SendDiagnosticInterruptInput struct {
118522	_ struct{} `type:"structure"`
118523
118524	// Checks whether you have the required permissions for the action, without
118525	// actually making the request, and provides an error response. If you have
118526	// the required permissions, the error response is DryRunOperation. Otherwise,
118527	// it is UnauthorizedOperation.
118528	DryRun *bool `type:"boolean"`
118529
118530	// The ID of the instance.
118531	//
118532	// InstanceId is a required field
118533	InstanceId *string `type:"string" required:"true"`
118534}
118535
118536// String returns the string representation
118537func (s SendDiagnosticInterruptInput) String() string {
118538	return awsutil.Prettify(s)
118539}
118540
118541// GoString returns the string representation
118542func (s SendDiagnosticInterruptInput) GoString() string {
118543	return s.String()
118544}
118545
118546// Validate inspects the fields of the type to determine if they are valid.
118547func (s *SendDiagnosticInterruptInput) Validate() error {
118548	invalidParams := request.ErrInvalidParams{Context: "SendDiagnosticInterruptInput"}
118549	if s.InstanceId == nil {
118550		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
118551	}
118552
118553	if invalidParams.Len() > 0 {
118554		return invalidParams
118555	}
118556	return nil
118557}
118558
118559// SetDryRun sets the DryRun field's value.
118560func (s *SendDiagnosticInterruptInput) SetDryRun(v bool) *SendDiagnosticInterruptInput {
118561	s.DryRun = &v
118562	return s
118563}
118564
118565// SetInstanceId sets the InstanceId field's value.
118566func (s *SendDiagnosticInterruptInput) SetInstanceId(v string) *SendDiagnosticInterruptInput {
118567	s.InstanceId = &v
118568	return s
118569}
118570
118571type SendDiagnosticInterruptOutput struct {
118572	_ struct{} `type:"structure"`
118573}
118574
118575// String returns the string representation
118576func (s SendDiagnosticInterruptOutput) String() string {
118577	return awsutil.Prettify(s)
118578}
118579
118580// GoString returns the string representation
118581func (s SendDiagnosticInterruptOutput) GoString() string {
118582	return s.String()
118583}
118584
118585// Describes a service configuration for a VPC endpoint service.
118586type ServiceConfiguration struct {
118587	_ struct{} `type:"structure"`
118588
118589	// Indicates whether requests from other AWS accounts to create an endpoint
118590	// to the service must first be accepted.
118591	AcceptanceRequired *bool `locationName:"acceptanceRequired" type:"boolean"`
118592
118593	// The Availability Zones in which the service is available.
118594	AvailabilityZones []*string `locationName:"availabilityZoneSet" locationNameList:"item" type:"list"`
118595
118596	// The DNS names for the service.
118597	BaseEndpointDnsNames []*string `locationName:"baseEndpointDnsNameSet" locationNameList:"item" type:"list"`
118598
118599	// The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service.
118600	GatewayLoadBalancerArns []*string `locationName:"gatewayLoadBalancerArnSet" locationNameList:"item" type:"list"`
118601
118602	// Indicates whether the service manages its VPC endpoints. Management of the
118603	// service VPC endpoints using the VPC endpoint API is restricted.
118604	ManagesVpcEndpoints *bool `locationName:"managesVpcEndpoints" type:"boolean"`
118605
118606	// The Amazon Resource Names (ARNs) of the Network Load Balancers for the service.
118607	NetworkLoadBalancerArns []*string `locationName:"networkLoadBalancerArnSet" locationNameList:"item" type:"list"`
118608
118609	// The private DNS name for the service.
118610	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
118611
118612	// Information about the endpoint service private DNS name configuration.
118613	PrivateDnsNameConfiguration *PrivateDnsNameConfiguration `locationName:"privateDnsNameConfiguration" type:"structure"`
118614
118615	// The ID of the service.
118616	ServiceId *string `locationName:"serviceId" type:"string"`
118617
118618	// The name of the service.
118619	ServiceName *string `locationName:"serviceName" type:"string"`
118620
118621	// The service state.
118622	ServiceState *string `locationName:"serviceState" type:"string" enum:"ServiceState"`
118623
118624	// The type of service.
118625	ServiceType []*ServiceTypeDetail `locationName:"serviceType" locationNameList:"item" type:"list"`
118626
118627	// Any tags assigned to the service.
118628	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
118629}
118630
118631// String returns the string representation
118632func (s ServiceConfiguration) String() string {
118633	return awsutil.Prettify(s)
118634}
118635
118636// GoString returns the string representation
118637func (s ServiceConfiguration) GoString() string {
118638	return s.String()
118639}
118640
118641// SetAcceptanceRequired sets the AcceptanceRequired field's value.
118642func (s *ServiceConfiguration) SetAcceptanceRequired(v bool) *ServiceConfiguration {
118643	s.AcceptanceRequired = &v
118644	return s
118645}
118646
118647// SetAvailabilityZones sets the AvailabilityZones field's value.
118648func (s *ServiceConfiguration) SetAvailabilityZones(v []*string) *ServiceConfiguration {
118649	s.AvailabilityZones = v
118650	return s
118651}
118652
118653// SetBaseEndpointDnsNames sets the BaseEndpointDnsNames field's value.
118654func (s *ServiceConfiguration) SetBaseEndpointDnsNames(v []*string) *ServiceConfiguration {
118655	s.BaseEndpointDnsNames = v
118656	return s
118657}
118658
118659// SetGatewayLoadBalancerArns sets the GatewayLoadBalancerArns field's value.
118660func (s *ServiceConfiguration) SetGatewayLoadBalancerArns(v []*string) *ServiceConfiguration {
118661	s.GatewayLoadBalancerArns = v
118662	return s
118663}
118664
118665// SetManagesVpcEndpoints sets the ManagesVpcEndpoints field's value.
118666func (s *ServiceConfiguration) SetManagesVpcEndpoints(v bool) *ServiceConfiguration {
118667	s.ManagesVpcEndpoints = &v
118668	return s
118669}
118670
118671// SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
118672func (s *ServiceConfiguration) SetNetworkLoadBalancerArns(v []*string) *ServiceConfiguration {
118673	s.NetworkLoadBalancerArns = v
118674	return s
118675}
118676
118677// SetPrivateDnsName sets the PrivateDnsName field's value.
118678func (s *ServiceConfiguration) SetPrivateDnsName(v string) *ServiceConfiguration {
118679	s.PrivateDnsName = &v
118680	return s
118681}
118682
118683// SetPrivateDnsNameConfiguration sets the PrivateDnsNameConfiguration field's value.
118684func (s *ServiceConfiguration) SetPrivateDnsNameConfiguration(v *PrivateDnsNameConfiguration) *ServiceConfiguration {
118685	s.PrivateDnsNameConfiguration = v
118686	return s
118687}
118688
118689// SetServiceId sets the ServiceId field's value.
118690func (s *ServiceConfiguration) SetServiceId(v string) *ServiceConfiguration {
118691	s.ServiceId = &v
118692	return s
118693}
118694
118695// SetServiceName sets the ServiceName field's value.
118696func (s *ServiceConfiguration) SetServiceName(v string) *ServiceConfiguration {
118697	s.ServiceName = &v
118698	return s
118699}
118700
118701// SetServiceState sets the ServiceState field's value.
118702func (s *ServiceConfiguration) SetServiceState(v string) *ServiceConfiguration {
118703	s.ServiceState = &v
118704	return s
118705}
118706
118707// SetServiceType sets the ServiceType field's value.
118708func (s *ServiceConfiguration) SetServiceType(v []*ServiceTypeDetail) *ServiceConfiguration {
118709	s.ServiceType = v
118710	return s
118711}
118712
118713// SetTags sets the Tags field's value.
118714func (s *ServiceConfiguration) SetTags(v []*Tag) *ServiceConfiguration {
118715	s.Tags = v
118716	return s
118717}
118718
118719// Describes a VPC endpoint service.
118720type ServiceDetail struct {
118721	_ struct{} `type:"structure"`
118722
118723	// Indicates whether VPC endpoint connection requests to the service must be
118724	// accepted by the service owner.
118725	AcceptanceRequired *bool `locationName:"acceptanceRequired" type:"boolean"`
118726
118727	// The Availability Zones in which the service is available.
118728	AvailabilityZones []*string `locationName:"availabilityZoneSet" locationNameList:"item" type:"list"`
118729
118730	// The DNS names for the service.
118731	BaseEndpointDnsNames []*string `locationName:"baseEndpointDnsNameSet" locationNameList:"item" type:"list"`
118732
118733	// Indicates whether the service manages its VPC endpoints. Management of the
118734	// service VPC endpoints using the VPC endpoint API is restricted.
118735	ManagesVpcEndpoints *bool `locationName:"managesVpcEndpoints" type:"boolean"`
118736
118737	// The AWS account ID of the service owner.
118738	Owner *string `locationName:"owner" type:"string"`
118739
118740	// The private DNS name for the service.
118741	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
118742
118743	// The verification state of the VPC endpoint service.
118744	//
118745	// Consumers of the endpoint service cannot use the private name when the state
118746	// is not verified.
118747	PrivateDnsNameVerificationState *string `locationName:"privateDnsNameVerificationState" type:"string" enum:"DnsNameState"`
118748
118749	// The private DNS names assigned to the VPC endpoint service.
118750	PrivateDnsNames []*PrivateDnsDetails `locationName:"privateDnsNameSet" locationNameList:"item" type:"list"`
118751
118752	// The ID of the endpoint service.
118753	ServiceId *string `locationName:"serviceId" type:"string"`
118754
118755	// The Amazon Resource Name (ARN) of the service.
118756	ServiceName *string `locationName:"serviceName" type:"string"`
118757
118758	// The type of service.
118759	ServiceType []*ServiceTypeDetail `locationName:"serviceType" locationNameList:"item" type:"list"`
118760
118761	// Any tags assigned to the service.
118762	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
118763
118764	// Indicates whether the service supports endpoint policies.
118765	VpcEndpointPolicySupported *bool `locationName:"vpcEndpointPolicySupported" type:"boolean"`
118766}
118767
118768// String returns the string representation
118769func (s ServiceDetail) String() string {
118770	return awsutil.Prettify(s)
118771}
118772
118773// GoString returns the string representation
118774func (s ServiceDetail) GoString() string {
118775	return s.String()
118776}
118777
118778// SetAcceptanceRequired sets the AcceptanceRequired field's value.
118779func (s *ServiceDetail) SetAcceptanceRequired(v bool) *ServiceDetail {
118780	s.AcceptanceRequired = &v
118781	return s
118782}
118783
118784// SetAvailabilityZones sets the AvailabilityZones field's value.
118785func (s *ServiceDetail) SetAvailabilityZones(v []*string) *ServiceDetail {
118786	s.AvailabilityZones = v
118787	return s
118788}
118789
118790// SetBaseEndpointDnsNames sets the BaseEndpointDnsNames field's value.
118791func (s *ServiceDetail) SetBaseEndpointDnsNames(v []*string) *ServiceDetail {
118792	s.BaseEndpointDnsNames = v
118793	return s
118794}
118795
118796// SetManagesVpcEndpoints sets the ManagesVpcEndpoints field's value.
118797func (s *ServiceDetail) SetManagesVpcEndpoints(v bool) *ServiceDetail {
118798	s.ManagesVpcEndpoints = &v
118799	return s
118800}
118801
118802// SetOwner sets the Owner field's value.
118803func (s *ServiceDetail) SetOwner(v string) *ServiceDetail {
118804	s.Owner = &v
118805	return s
118806}
118807
118808// SetPrivateDnsName sets the PrivateDnsName field's value.
118809func (s *ServiceDetail) SetPrivateDnsName(v string) *ServiceDetail {
118810	s.PrivateDnsName = &v
118811	return s
118812}
118813
118814// SetPrivateDnsNameVerificationState sets the PrivateDnsNameVerificationState field's value.
118815func (s *ServiceDetail) SetPrivateDnsNameVerificationState(v string) *ServiceDetail {
118816	s.PrivateDnsNameVerificationState = &v
118817	return s
118818}
118819
118820// SetPrivateDnsNames sets the PrivateDnsNames field's value.
118821func (s *ServiceDetail) SetPrivateDnsNames(v []*PrivateDnsDetails) *ServiceDetail {
118822	s.PrivateDnsNames = v
118823	return s
118824}
118825
118826// SetServiceId sets the ServiceId field's value.
118827func (s *ServiceDetail) SetServiceId(v string) *ServiceDetail {
118828	s.ServiceId = &v
118829	return s
118830}
118831
118832// SetServiceName sets the ServiceName field's value.
118833func (s *ServiceDetail) SetServiceName(v string) *ServiceDetail {
118834	s.ServiceName = &v
118835	return s
118836}
118837
118838// SetServiceType sets the ServiceType field's value.
118839func (s *ServiceDetail) SetServiceType(v []*ServiceTypeDetail) *ServiceDetail {
118840	s.ServiceType = v
118841	return s
118842}
118843
118844// SetTags sets the Tags field's value.
118845func (s *ServiceDetail) SetTags(v []*Tag) *ServiceDetail {
118846	s.Tags = v
118847	return s
118848}
118849
118850// SetVpcEndpointPolicySupported sets the VpcEndpointPolicySupported field's value.
118851func (s *ServiceDetail) SetVpcEndpointPolicySupported(v bool) *ServiceDetail {
118852	s.VpcEndpointPolicySupported = &v
118853	return s
118854}
118855
118856// Describes the type of service for a VPC endpoint.
118857type ServiceTypeDetail struct {
118858	_ struct{} `type:"structure"`
118859
118860	// The type of service.
118861	ServiceType *string `locationName:"serviceType" type:"string" enum:"ServiceType"`
118862}
118863
118864// String returns the string representation
118865func (s ServiceTypeDetail) String() string {
118866	return awsutil.Prettify(s)
118867}
118868
118869// GoString returns the string representation
118870func (s ServiceTypeDetail) GoString() string {
118871	return s.String()
118872}
118873
118874// SetServiceType sets the ServiceType field's value.
118875func (s *ServiceTypeDetail) SetServiceType(v string) *ServiceTypeDetail {
118876	s.ServiceType = &v
118877	return s
118878}
118879
118880// Describes the time period for a Scheduled Instance to start its first schedule.
118881// The time period must span less than one day.
118882type SlotDateTimeRangeRequest struct {
118883	_ struct{} `type:"structure"`
118884
118885	// The earliest date and time, in UTC, for the Scheduled Instance to start.
118886	//
118887	// EarliestTime is a required field
118888	EarliestTime *time.Time `type:"timestamp" required:"true"`
118889
118890	// The latest date and time, in UTC, for the Scheduled Instance to start. This
118891	// value must be later than or equal to the earliest date and at most three
118892	// months in the future.
118893	//
118894	// LatestTime is a required field
118895	LatestTime *time.Time `type:"timestamp" required:"true"`
118896}
118897
118898// String returns the string representation
118899func (s SlotDateTimeRangeRequest) String() string {
118900	return awsutil.Prettify(s)
118901}
118902
118903// GoString returns the string representation
118904func (s SlotDateTimeRangeRequest) GoString() string {
118905	return s.String()
118906}
118907
118908// Validate inspects the fields of the type to determine if they are valid.
118909func (s *SlotDateTimeRangeRequest) Validate() error {
118910	invalidParams := request.ErrInvalidParams{Context: "SlotDateTimeRangeRequest"}
118911	if s.EarliestTime == nil {
118912		invalidParams.Add(request.NewErrParamRequired("EarliestTime"))
118913	}
118914	if s.LatestTime == nil {
118915		invalidParams.Add(request.NewErrParamRequired("LatestTime"))
118916	}
118917
118918	if invalidParams.Len() > 0 {
118919		return invalidParams
118920	}
118921	return nil
118922}
118923
118924// SetEarliestTime sets the EarliestTime field's value.
118925func (s *SlotDateTimeRangeRequest) SetEarliestTime(v time.Time) *SlotDateTimeRangeRequest {
118926	s.EarliestTime = &v
118927	return s
118928}
118929
118930// SetLatestTime sets the LatestTime field's value.
118931func (s *SlotDateTimeRangeRequest) SetLatestTime(v time.Time) *SlotDateTimeRangeRequest {
118932	s.LatestTime = &v
118933	return s
118934}
118935
118936// Describes the time period for a Scheduled Instance to start its first schedule.
118937type SlotStartTimeRangeRequest struct {
118938	_ struct{} `type:"structure"`
118939
118940	// The earliest date and time, in UTC, for the Scheduled Instance to start.
118941	EarliestTime *time.Time `type:"timestamp"`
118942
118943	// The latest date and time, in UTC, for the Scheduled Instance to start.
118944	LatestTime *time.Time `type:"timestamp"`
118945}
118946
118947// String returns the string representation
118948func (s SlotStartTimeRangeRequest) String() string {
118949	return awsutil.Prettify(s)
118950}
118951
118952// GoString returns the string representation
118953func (s SlotStartTimeRangeRequest) GoString() string {
118954	return s.String()
118955}
118956
118957// SetEarliestTime sets the EarliestTime field's value.
118958func (s *SlotStartTimeRangeRequest) SetEarliestTime(v time.Time) *SlotStartTimeRangeRequest {
118959	s.EarliestTime = &v
118960	return s
118961}
118962
118963// SetLatestTime sets the LatestTime field's value.
118964func (s *SlotStartTimeRangeRequest) SetLatestTime(v time.Time) *SlotStartTimeRangeRequest {
118965	s.LatestTime = &v
118966	return s
118967}
118968
118969// Describes a snapshot.
118970type Snapshot struct {
118971	_ struct{} `type:"structure"`
118972
118973	// The data encryption key identifier for the snapshot. This value is a unique
118974	// identifier that corresponds to the data encryption key that was used to encrypt
118975	// the original volume or snapshot copy. Because data encryption keys are inherited
118976	// by volumes created from snapshots, and vice versa, if snapshots share the
118977	// same data encryption key identifier, then they belong to the same volume/snapshot
118978	// lineage. This parameter is only returned by DescribeSnapshots.
118979	DataEncryptionKeyId *string `locationName:"dataEncryptionKeyId" type:"string"`
118980
118981	// The description for the snapshot.
118982	Description *string `locationName:"description" type:"string"`
118983
118984	// Indicates whether the snapshot is encrypted.
118985	Encrypted *bool `locationName:"encrypted" type:"boolean"`
118986
118987	// The Amazon Resource Name (ARN) of the Key Management Service (KMS) KMS key
118988	// that was used to protect the volume encryption key for the parent volume.
118989	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
118990
118991	// The ARN of the Outpost on which the snapshot is stored. For more information,
118992	// see Amazon EBS local snapshots on Outposts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html)
118993	// in the Amazon Elastic Compute Cloud User Guide.
118994	OutpostArn *string `locationName:"outpostArn" type:"string"`
118995
118996	// The Amazon Web Services owner alias, from an Amazon-maintained list (amazon).
118997	// This is not the user-configured Amazon Web Services account alias set using
118998	// the IAM console.
118999	OwnerAlias *string `locationName:"ownerAlias" type:"string"`
119000
119001	// The ID of the Amazon Web Services account that owns the EBS snapshot.
119002	OwnerId *string `locationName:"ownerId" type:"string"`
119003
119004	// The progress of the snapshot, as a percentage.
119005	Progress *string `locationName:"progress" type:"string"`
119006
119007	// The ID of the snapshot. Each snapshot receives a unique identifier when it
119008	// is created.
119009	SnapshotId *string `locationName:"snapshotId" type:"string"`
119010
119011	// The time stamp when the snapshot was initiated.
119012	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
119013
119014	// The snapshot state.
119015	State *string `locationName:"status" type:"string" enum:"SnapshotState"`
119016
119017	// Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy
119018	// operation fails (for example, if the proper Key Management Service (KMS)
119019	// permissions are not obtained) this field displays error state details to
119020	// help you diagnose why the error occurred. This parameter is only returned
119021	// by DescribeSnapshots.
119022	StateMessage *string `locationName:"statusMessage" type:"string"`
119023
119024	// Any tags assigned to the snapshot.
119025	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
119026
119027	// The ID of the volume that was used to create the snapshot. Snapshots created
119028	// by the CopySnapshot action have an arbitrary volume ID that should not be
119029	// used for any purpose.
119030	VolumeId *string `locationName:"volumeId" type:"string"`
119031
119032	// The size of the volume, in GiB.
119033	VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
119034}
119035
119036// String returns the string representation
119037func (s Snapshot) String() string {
119038	return awsutil.Prettify(s)
119039}
119040
119041// GoString returns the string representation
119042func (s Snapshot) GoString() string {
119043	return s.String()
119044}
119045
119046// SetDataEncryptionKeyId sets the DataEncryptionKeyId field's value.
119047func (s *Snapshot) SetDataEncryptionKeyId(v string) *Snapshot {
119048	s.DataEncryptionKeyId = &v
119049	return s
119050}
119051
119052// SetDescription sets the Description field's value.
119053func (s *Snapshot) SetDescription(v string) *Snapshot {
119054	s.Description = &v
119055	return s
119056}
119057
119058// SetEncrypted sets the Encrypted field's value.
119059func (s *Snapshot) SetEncrypted(v bool) *Snapshot {
119060	s.Encrypted = &v
119061	return s
119062}
119063
119064// SetKmsKeyId sets the KmsKeyId field's value.
119065func (s *Snapshot) SetKmsKeyId(v string) *Snapshot {
119066	s.KmsKeyId = &v
119067	return s
119068}
119069
119070// SetOutpostArn sets the OutpostArn field's value.
119071func (s *Snapshot) SetOutpostArn(v string) *Snapshot {
119072	s.OutpostArn = &v
119073	return s
119074}
119075
119076// SetOwnerAlias sets the OwnerAlias field's value.
119077func (s *Snapshot) SetOwnerAlias(v string) *Snapshot {
119078	s.OwnerAlias = &v
119079	return s
119080}
119081
119082// SetOwnerId sets the OwnerId field's value.
119083func (s *Snapshot) SetOwnerId(v string) *Snapshot {
119084	s.OwnerId = &v
119085	return s
119086}
119087
119088// SetProgress sets the Progress field's value.
119089func (s *Snapshot) SetProgress(v string) *Snapshot {
119090	s.Progress = &v
119091	return s
119092}
119093
119094// SetSnapshotId sets the SnapshotId field's value.
119095func (s *Snapshot) SetSnapshotId(v string) *Snapshot {
119096	s.SnapshotId = &v
119097	return s
119098}
119099
119100// SetStartTime sets the StartTime field's value.
119101func (s *Snapshot) SetStartTime(v time.Time) *Snapshot {
119102	s.StartTime = &v
119103	return s
119104}
119105
119106// SetState sets the State field's value.
119107func (s *Snapshot) SetState(v string) *Snapshot {
119108	s.State = &v
119109	return s
119110}
119111
119112// SetStateMessage sets the StateMessage field's value.
119113func (s *Snapshot) SetStateMessage(v string) *Snapshot {
119114	s.StateMessage = &v
119115	return s
119116}
119117
119118// SetTags sets the Tags field's value.
119119func (s *Snapshot) SetTags(v []*Tag) *Snapshot {
119120	s.Tags = v
119121	return s
119122}
119123
119124// SetVolumeId sets the VolumeId field's value.
119125func (s *Snapshot) SetVolumeId(v string) *Snapshot {
119126	s.VolumeId = &v
119127	return s
119128}
119129
119130// SetVolumeSize sets the VolumeSize field's value.
119131func (s *Snapshot) SetVolumeSize(v int64) *Snapshot {
119132	s.VolumeSize = &v
119133	return s
119134}
119135
119136// Describes the snapshot created from the imported disk.
119137type SnapshotDetail struct {
119138	_ struct{} `type:"structure"`
119139
119140	// A description for the snapshot.
119141	Description *string `locationName:"description" type:"string"`
119142
119143	// The block device mapping for the snapshot.
119144	DeviceName *string `locationName:"deviceName" type:"string"`
119145
119146	// The size of the disk in the snapshot, in GiB.
119147	DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
119148
119149	// The format of the disk image from which the snapshot is created.
119150	Format *string `locationName:"format" type:"string"`
119151
119152	// The percentage of progress for the task.
119153	Progress *string `locationName:"progress" type:"string"`
119154
119155	// The snapshot ID of the disk being imported.
119156	SnapshotId *string `locationName:"snapshotId" type:"string"`
119157
119158	// A brief status of the snapshot creation.
119159	Status *string `locationName:"status" type:"string"`
119160
119161	// A detailed status message for the snapshot creation.
119162	StatusMessage *string `locationName:"statusMessage" type:"string"`
119163
119164	// The URL used to access the disk image.
119165	Url *string `locationName:"url" type:"string"`
119166
119167	// The Amazon S3 bucket for the disk image.
119168	UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
119169}
119170
119171// String returns the string representation
119172func (s SnapshotDetail) String() string {
119173	return awsutil.Prettify(s)
119174}
119175
119176// GoString returns the string representation
119177func (s SnapshotDetail) GoString() string {
119178	return s.String()
119179}
119180
119181// SetDescription sets the Description field's value.
119182func (s *SnapshotDetail) SetDescription(v string) *SnapshotDetail {
119183	s.Description = &v
119184	return s
119185}
119186
119187// SetDeviceName sets the DeviceName field's value.
119188func (s *SnapshotDetail) SetDeviceName(v string) *SnapshotDetail {
119189	s.DeviceName = &v
119190	return s
119191}
119192
119193// SetDiskImageSize sets the DiskImageSize field's value.
119194func (s *SnapshotDetail) SetDiskImageSize(v float64) *SnapshotDetail {
119195	s.DiskImageSize = &v
119196	return s
119197}
119198
119199// SetFormat sets the Format field's value.
119200func (s *SnapshotDetail) SetFormat(v string) *SnapshotDetail {
119201	s.Format = &v
119202	return s
119203}
119204
119205// SetProgress sets the Progress field's value.
119206func (s *SnapshotDetail) SetProgress(v string) *SnapshotDetail {
119207	s.Progress = &v
119208	return s
119209}
119210
119211// SetSnapshotId sets the SnapshotId field's value.
119212func (s *SnapshotDetail) SetSnapshotId(v string) *SnapshotDetail {
119213	s.SnapshotId = &v
119214	return s
119215}
119216
119217// SetStatus sets the Status field's value.
119218func (s *SnapshotDetail) SetStatus(v string) *SnapshotDetail {
119219	s.Status = &v
119220	return s
119221}
119222
119223// SetStatusMessage sets the StatusMessage field's value.
119224func (s *SnapshotDetail) SetStatusMessage(v string) *SnapshotDetail {
119225	s.StatusMessage = &v
119226	return s
119227}
119228
119229// SetUrl sets the Url field's value.
119230func (s *SnapshotDetail) SetUrl(v string) *SnapshotDetail {
119231	s.Url = &v
119232	return s
119233}
119234
119235// SetUserBucket sets the UserBucket field's value.
119236func (s *SnapshotDetail) SetUserBucket(v *UserBucketDetails) *SnapshotDetail {
119237	s.UserBucket = v
119238	return s
119239}
119240
119241// The disk container object for the import snapshot request.
119242type SnapshotDiskContainer struct {
119243	_ struct{} `type:"structure"`
119244
119245	// The description of the disk image being imported.
119246	Description *string `type:"string"`
119247
119248	// The format of the disk image being imported.
119249	//
119250	// Valid values: VHD | VMDK | RAW
119251	Format *string `type:"string"`
119252
119253	// The URL to the Amazon S3-based disk image being imported. It can either be
119254	// a https URL (https://..) or an Amazon S3 URL (s3://..).
119255	Url *string `type:"string"`
119256
119257	// The Amazon S3 bucket for the disk image.
119258	UserBucket *UserBucket `type:"structure"`
119259}
119260
119261// String returns the string representation
119262func (s SnapshotDiskContainer) String() string {
119263	return awsutil.Prettify(s)
119264}
119265
119266// GoString returns the string representation
119267func (s SnapshotDiskContainer) GoString() string {
119268	return s.String()
119269}
119270
119271// SetDescription sets the Description field's value.
119272func (s *SnapshotDiskContainer) SetDescription(v string) *SnapshotDiskContainer {
119273	s.Description = &v
119274	return s
119275}
119276
119277// SetFormat sets the Format field's value.
119278func (s *SnapshotDiskContainer) SetFormat(v string) *SnapshotDiskContainer {
119279	s.Format = &v
119280	return s
119281}
119282
119283// SetUrl sets the Url field's value.
119284func (s *SnapshotDiskContainer) SetUrl(v string) *SnapshotDiskContainer {
119285	s.Url = &v
119286	return s
119287}
119288
119289// SetUserBucket sets the UserBucket field's value.
119290func (s *SnapshotDiskContainer) SetUserBucket(v *UserBucket) *SnapshotDiskContainer {
119291	s.UserBucket = v
119292	return s
119293}
119294
119295// Information about a snapshot.
119296type SnapshotInfo struct {
119297	_ struct{} `type:"structure"`
119298
119299	// Description specified by the CreateSnapshotRequest that has been applied
119300	// to all snapshots.
119301	Description *string `locationName:"description" type:"string"`
119302
119303	// Indicates whether the snapshot is encrypted.
119304	Encrypted *bool `locationName:"encrypted" type:"boolean"`
119305
119306	// The ARN of the Outpost on which the snapshot is stored. For more information,
119307	// see Amazon EBS local snapshots on Outposts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html)
119308	// in the Amazon Elastic Compute Cloud User Guide.
119309	OutpostArn *string `locationName:"outpostArn" type:"string"`
119310
119311	// Account id used when creating this snapshot.
119312	OwnerId *string `locationName:"ownerId" type:"string"`
119313
119314	// Progress this snapshot has made towards completing.
119315	Progress *string `locationName:"progress" type:"string"`
119316
119317	// Snapshot id that can be used to describe this snapshot.
119318	SnapshotId *string `locationName:"snapshotId" type:"string"`
119319
119320	// Time this snapshot was started. This is the same for all snapshots initiated
119321	// by the same request.
119322	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
119323
119324	// Current state of the snapshot.
119325	State *string `locationName:"state" type:"string" enum:"SnapshotState"`
119326
119327	// Tags associated with this snapshot.
119328	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
119329
119330	// Source volume from which this snapshot was created.
119331	VolumeId *string `locationName:"volumeId" type:"string"`
119332
119333	// Size of the volume from which this snapshot was created.
119334	VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
119335}
119336
119337// String returns the string representation
119338func (s SnapshotInfo) String() string {
119339	return awsutil.Prettify(s)
119340}
119341
119342// GoString returns the string representation
119343func (s SnapshotInfo) GoString() string {
119344	return s.String()
119345}
119346
119347// SetDescription sets the Description field's value.
119348func (s *SnapshotInfo) SetDescription(v string) *SnapshotInfo {
119349	s.Description = &v
119350	return s
119351}
119352
119353// SetEncrypted sets the Encrypted field's value.
119354func (s *SnapshotInfo) SetEncrypted(v bool) *SnapshotInfo {
119355	s.Encrypted = &v
119356	return s
119357}
119358
119359// SetOutpostArn sets the OutpostArn field's value.
119360func (s *SnapshotInfo) SetOutpostArn(v string) *SnapshotInfo {
119361	s.OutpostArn = &v
119362	return s
119363}
119364
119365// SetOwnerId sets the OwnerId field's value.
119366func (s *SnapshotInfo) SetOwnerId(v string) *SnapshotInfo {
119367	s.OwnerId = &v
119368	return s
119369}
119370
119371// SetProgress sets the Progress field's value.
119372func (s *SnapshotInfo) SetProgress(v string) *SnapshotInfo {
119373	s.Progress = &v
119374	return s
119375}
119376
119377// SetSnapshotId sets the SnapshotId field's value.
119378func (s *SnapshotInfo) SetSnapshotId(v string) *SnapshotInfo {
119379	s.SnapshotId = &v
119380	return s
119381}
119382
119383// SetStartTime sets the StartTime field's value.
119384func (s *SnapshotInfo) SetStartTime(v time.Time) *SnapshotInfo {
119385	s.StartTime = &v
119386	return s
119387}
119388
119389// SetState sets the State field's value.
119390func (s *SnapshotInfo) SetState(v string) *SnapshotInfo {
119391	s.State = &v
119392	return s
119393}
119394
119395// SetTags sets the Tags field's value.
119396func (s *SnapshotInfo) SetTags(v []*Tag) *SnapshotInfo {
119397	s.Tags = v
119398	return s
119399}
119400
119401// SetVolumeId sets the VolumeId field's value.
119402func (s *SnapshotInfo) SetVolumeId(v string) *SnapshotInfo {
119403	s.VolumeId = &v
119404	return s
119405}
119406
119407// SetVolumeSize sets the VolumeSize field's value.
119408func (s *SnapshotInfo) SetVolumeSize(v int64) *SnapshotInfo {
119409	s.VolumeSize = &v
119410	return s
119411}
119412
119413// Details about the import snapshot task.
119414type SnapshotTaskDetail struct {
119415	_ struct{} `type:"structure"`
119416
119417	// The description of the snapshot.
119418	Description *string `locationName:"description" type:"string"`
119419
119420	// The size of the disk in the snapshot, in GiB.
119421	DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
119422
119423	// Indicates whether the snapshot is encrypted.
119424	Encrypted *bool `locationName:"encrypted" type:"boolean"`
119425
119426	// The format of the disk image from which the snapshot is created.
119427	Format *string `locationName:"format" type:"string"`
119428
119429	// The identifier for the KMS key that was used to create the encrypted snapshot.
119430	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
119431
119432	// The percentage of completion for the import snapshot task.
119433	Progress *string `locationName:"progress" type:"string"`
119434
119435	// The snapshot ID of the disk being imported.
119436	SnapshotId *string `locationName:"snapshotId" type:"string"`
119437
119438	// A brief status for the import snapshot task.
119439	Status *string `locationName:"status" type:"string"`
119440
119441	// A detailed status message for the import snapshot task.
119442	StatusMessage *string `locationName:"statusMessage" type:"string"`
119443
119444	// The URL of the disk image from which the snapshot is created.
119445	Url *string `locationName:"url" type:"string"`
119446
119447	// The Amazon S3 bucket for the disk image.
119448	UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
119449}
119450
119451// String returns the string representation
119452func (s SnapshotTaskDetail) String() string {
119453	return awsutil.Prettify(s)
119454}
119455
119456// GoString returns the string representation
119457func (s SnapshotTaskDetail) GoString() string {
119458	return s.String()
119459}
119460
119461// SetDescription sets the Description field's value.
119462func (s *SnapshotTaskDetail) SetDescription(v string) *SnapshotTaskDetail {
119463	s.Description = &v
119464	return s
119465}
119466
119467// SetDiskImageSize sets the DiskImageSize field's value.
119468func (s *SnapshotTaskDetail) SetDiskImageSize(v float64) *SnapshotTaskDetail {
119469	s.DiskImageSize = &v
119470	return s
119471}
119472
119473// SetEncrypted sets the Encrypted field's value.
119474func (s *SnapshotTaskDetail) SetEncrypted(v bool) *SnapshotTaskDetail {
119475	s.Encrypted = &v
119476	return s
119477}
119478
119479// SetFormat sets the Format field's value.
119480func (s *SnapshotTaskDetail) SetFormat(v string) *SnapshotTaskDetail {
119481	s.Format = &v
119482	return s
119483}
119484
119485// SetKmsKeyId sets the KmsKeyId field's value.
119486func (s *SnapshotTaskDetail) SetKmsKeyId(v string) *SnapshotTaskDetail {
119487	s.KmsKeyId = &v
119488	return s
119489}
119490
119491// SetProgress sets the Progress field's value.
119492func (s *SnapshotTaskDetail) SetProgress(v string) *SnapshotTaskDetail {
119493	s.Progress = &v
119494	return s
119495}
119496
119497// SetSnapshotId sets the SnapshotId field's value.
119498func (s *SnapshotTaskDetail) SetSnapshotId(v string) *SnapshotTaskDetail {
119499	s.SnapshotId = &v
119500	return s
119501}
119502
119503// SetStatus sets the Status field's value.
119504func (s *SnapshotTaskDetail) SetStatus(v string) *SnapshotTaskDetail {
119505	s.Status = &v
119506	return s
119507}
119508
119509// SetStatusMessage sets the StatusMessage field's value.
119510func (s *SnapshotTaskDetail) SetStatusMessage(v string) *SnapshotTaskDetail {
119511	s.StatusMessage = &v
119512	return s
119513}
119514
119515// SetUrl sets the Url field's value.
119516func (s *SnapshotTaskDetail) SetUrl(v string) *SnapshotTaskDetail {
119517	s.Url = &v
119518	return s
119519}
119520
119521// SetUserBucket sets the UserBucket field's value.
119522func (s *SnapshotTaskDetail) SetUserBucket(v *UserBucketDetails) *SnapshotTaskDetail {
119523	s.UserBucket = v
119524	return s
119525}
119526
119527// The Spot Instance replacement strategy to use when Amazon EC2 emits a signal
119528// that your Spot Instance is at an elevated risk of being interrupted. For
119529// more information, see Capacity rebalancing (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#spot-fleet-capacity-rebalance)
119530// in the Amazon EC2 User Guide for Linux Instances.
119531type SpotCapacityRebalance struct {
119532	_ struct{} `type:"structure"`
119533
119534	// The replacement strategy to use. Only available for fleets of type maintain.
119535	// You must specify a value, otherwise you get an error.
119536	//
119537	// To allow Spot Fleet to launch a replacement Spot Instance when an instance
119538	// rebalance notification is emitted for a Spot Instance in the fleet, specify
119539	// launch.
119540	//
119541	// When a replacement instance is launched, the instance marked for rebalance
119542	// is not automatically terminated. You can terminate it, or you can leave it
119543	// running. You are charged for all instances while they are running.
119544	ReplacementStrategy *string `locationName:"replacementStrategy" type:"string" enum:"ReplacementStrategy"`
119545}
119546
119547// String returns the string representation
119548func (s SpotCapacityRebalance) String() string {
119549	return awsutil.Prettify(s)
119550}
119551
119552// GoString returns the string representation
119553func (s SpotCapacityRebalance) GoString() string {
119554	return s.String()
119555}
119556
119557// SetReplacementStrategy sets the ReplacementStrategy field's value.
119558func (s *SpotCapacityRebalance) SetReplacementStrategy(v string) *SpotCapacityRebalance {
119559	s.ReplacementStrategy = &v
119560	return s
119561}
119562
119563// Describes the data feed for a Spot Instance.
119564type SpotDatafeedSubscription struct {
119565	_ struct{} `type:"structure"`
119566
119567	// The name of the Amazon S3 bucket where the Spot Instance data feed is located.
119568	Bucket *string `locationName:"bucket" type:"string"`
119569
119570	// The fault codes for the Spot Instance request, if any.
119571	Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
119572
119573	// The Amazon Web Services account ID of the account.
119574	OwnerId *string `locationName:"ownerId" type:"string"`
119575
119576	// The prefix for the data feed files.
119577	Prefix *string `locationName:"prefix" type:"string"`
119578
119579	// The state of the Spot Instance data feed subscription.
119580	State *string `locationName:"state" type:"string" enum:"DatafeedSubscriptionState"`
119581}
119582
119583// String returns the string representation
119584func (s SpotDatafeedSubscription) String() string {
119585	return awsutil.Prettify(s)
119586}
119587
119588// GoString returns the string representation
119589func (s SpotDatafeedSubscription) GoString() string {
119590	return s.String()
119591}
119592
119593// SetBucket sets the Bucket field's value.
119594func (s *SpotDatafeedSubscription) SetBucket(v string) *SpotDatafeedSubscription {
119595	s.Bucket = &v
119596	return s
119597}
119598
119599// SetFault sets the Fault field's value.
119600func (s *SpotDatafeedSubscription) SetFault(v *SpotInstanceStateFault) *SpotDatafeedSubscription {
119601	s.Fault = v
119602	return s
119603}
119604
119605// SetOwnerId sets the OwnerId field's value.
119606func (s *SpotDatafeedSubscription) SetOwnerId(v string) *SpotDatafeedSubscription {
119607	s.OwnerId = &v
119608	return s
119609}
119610
119611// SetPrefix sets the Prefix field's value.
119612func (s *SpotDatafeedSubscription) SetPrefix(v string) *SpotDatafeedSubscription {
119613	s.Prefix = &v
119614	return s
119615}
119616
119617// SetState sets the State field's value.
119618func (s *SpotDatafeedSubscription) SetState(v string) *SpotDatafeedSubscription {
119619	s.State = &v
119620	return s
119621}
119622
119623// Describes the launch specification for one or more Spot Instances. If you
119624// include On-Demand capacity in your fleet request or want to specify an EFA
119625// network device, you can't use SpotFleetLaunchSpecification; you must use
119626// LaunchTemplateConfig (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateConfig.html).
119627type SpotFleetLaunchSpecification struct {
119628	_ struct{} `type:"structure"`
119629
119630	// Deprecated.
119631	AddressingType *string `locationName:"addressingType" type:"string"`
119632
119633	// One or more block devices that are mapped to the Spot Instances. You can't
119634	// specify both a snapshot ID and an encryption value. This is because only
119635	// blank volumes can be encrypted on creation. If a snapshot is the basis for
119636	// a volume, it is not blank and its encryption status is used for the volume
119637	// encryption status.
119638	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
119639
119640	// Indicates whether the instances are optimized for EBS I/O. This optimization
119641	// provides dedicated throughput to Amazon EBS and an optimized configuration
119642	// stack to provide optimal EBS I/O performance. This optimization isn't available
119643	// with all instance types. Additional usage charges apply when using an EBS
119644	// Optimized instance.
119645	//
119646	// Default: false
119647	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
119648
119649	// The IAM instance profile.
119650	IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
119651
119652	// The ID of the AMI.
119653	ImageId *string `locationName:"imageId" type:"string"`
119654
119655	// The instance type.
119656	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
119657
119658	// The ID of the kernel.
119659	KernelId *string `locationName:"kernelId" type:"string"`
119660
119661	// The name of the key pair.
119662	KeyName *string `locationName:"keyName" type:"string"`
119663
119664	// Enable or disable monitoring for the instances.
119665	Monitoring *SpotFleetMonitoring `locationName:"monitoring" type:"structure"`
119666
119667	// One or more network interfaces. If you specify a network interface, you must
119668	// specify subnet IDs and security group IDs using the network interface.
119669	//
119670	// SpotFleetLaunchSpecification currently does not support Elastic Fabric Adapter
119671	// (EFA). To specify an EFA, you must use LaunchTemplateConfig (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateConfig.html).
119672	NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
119673
119674	// The placement information.
119675	Placement *SpotPlacement `locationName:"placement" type:"structure"`
119676
119677	// The ID of the RAM disk. Some kernels require additional drivers at launch.
119678	// Check the kernel requirements for information about whether you need to specify
119679	// a RAM disk. To find kernel requirements, refer to the Amazon Web Services
119680	// Resource Center and search for the kernel ID.
119681	RamdiskId *string `locationName:"ramdiskId" type:"string"`
119682
119683	// One or more security groups. When requesting instances in a VPC, you must
119684	// specify the IDs of the security groups. When requesting instances in EC2-Classic,
119685	// you can specify the names or the IDs of the security groups.
119686	SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
119687
119688	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
119689	// If this value is not specified, the default is the Spot price specified for
119690	// the fleet. To determine the Spot price per unit hour, divide the Spot price
119691	// by the value of WeightedCapacity.
119692	SpotPrice *string `locationName:"spotPrice" type:"string"`
119693
119694	// The IDs of the subnets in which to launch the instances. To specify multiple
119695	// subnets, separate them using commas; for example, "subnet-1234abcdeexample1,
119696	// subnet-0987cdef6example2".
119697	SubnetId *string `locationName:"subnetId" type:"string"`
119698
119699	// The tags to apply during creation.
119700	TagSpecifications []*SpotFleetTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"`
119701
119702	// The Base64-encoded user data that instances use when starting up.
119703	UserData *string `locationName:"userData" type:"string"`
119704
119705	// The number of units provided by the specified instance type. These are the
119706	// same units that you chose to set the target capacity in terms of instances,
119707	// or a performance characteristic such as vCPUs, memory, or I/O.
119708	//
119709	// If the target capacity divided by this value is not a whole number, Amazon
119710	// EC2 rounds the number of instances to the next whole number. If this value
119711	// is not specified, the default is 1.
119712	WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
119713}
119714
119715// String returns the string representation
119716func (s SpotFleetLaunchSpecification) String() string {
119717	return awsutil.Prettify(s)
119718}
119719
119720// GoString returns the string representation
119721func (s SpotFleetLaunchSpecification) GoString() string {
119722	return s.String()
119723}
119724
119725// SetAddressingType sets the AddressingType field's value.
119726func (s *SpotFleetLaunchSpecification) SetAddressingType(v string) *SpotFleetLaunchSpecification {
119727	s.AddressingType = &v
119728	return s
119729}
119730
119731// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
119732func (s *SpotFleetLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *SpotFleetLaunchSpecification {
119733	s.BlockDeviceMappings = v
119734	return s
119735}
119736
119737// SetEbsOptimized sets the EbsOptimized field's value.
119738func (s *SpotFleetLaunchSpecification) SetEbsOptimized(v bool) *SpotFleetLaunchSpecification {
119739	s.EbsOptimized = &v
119740	return s
119741}
119742
119743// SetIamInstanceProfile sets the IamInstanceProfile field's value.
119744func (s *SpotFleetLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *SpotFleetLaunchSpecification {
119745	s.IamInstanceProfile = v
119746	return s
119747}
119748
119749// SetImageId sets the ImageId field's value.
119750func (s *SpotFleetLaunchSpecification) SetImageId(v string) *SpotFleetLaunchSpecification {
119751	s.ImageId = &v
119752	return s
119753}
119754
119755// SetInstanceType sets the InstanceType field's value.
119756func (s *SpotFleetLaunchSpecification) SetInstanceType(v string) *SpotFleetLaunchSpecification {
119757	s.InstanceType = &v
119758	return s
119759}
119760
119761// SetKernelId sets the KernelId field's value.
119762func (s *SpotFleetLaunchSpecification) SetKernelId(v string) *SpotFleetLaunchSpecification {
119763	s.KernelId = &v
119764	return s
119765}
119766
119767// SetKeyName sets the KeyName field's value.
119768func (s *SpotFleetLaunchSpecification) SetKeyName(v string) *SpotFleetLaunchSpecification {
119769	s.KeyName = &v
119770	return s
119771}
119772
119773// SetMonitoring sets the Monitoring field's value.
119774func (s *SpotFleetLaunchSpecification) SetMonitoring(v *SpotFleetMonitoring) *SpotFleetLaunchSpecification {
119775	s.Monitoring = v
119776	return s
119777}
119778
119779// SetNetworkInterfaces sets the NetworkInterfaces field's value.
119780func (s *SpotFleetLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *SpotFleetLaunchSpecification {
119781	s.NetworkInterfaces = v
119782	return s
119783}
119784
119785// SetPlacement sets the Placement field's value.
119786func (s *SpotFleetLaunchSpecification) SetPlacement(v *SpotPlacement) *SpotFleetLaunchSpecification {
119787	s.Placement = v
119788	return s
119789}
119790
119791// SetRamdiskId sets the RamdiskId field's value.
119792func (s *SpotFleetLaunchSpecification) SetRamdiskId(v string) *SpotFleetLaunchSpecification {
119793	s.RamdiskId = &v
119794	return s
119795}
119796
119797// SetSecurityGroups sets the SecurityGroups field's value.
119798func (s *SpotFleetLaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *SpotFleetLaunchSpecification {
119799	s.SecurityGroups = v
119800	return s
119801}
119802
119803// SetSpotPrice sets the SpotPrice field's value.
119804func (s *SpotFleetLaunchSpecification) SetSpotPrice(v string) *SpotFleetLaunchSpecification {
119805	s.SpotPrice = &v
119806	return s
119807}
119808
119809// SetSubnetId sets the SubnetId field's value.
119810func (s *SpotFleetLaunchSpecification) SetSubnetId(v string) *SpotFleetLaunchSpecification {
119811	s.SubnetId = &v
119812	return s
119813}
119814
119815// SetTagSpecifications sets the TagSpecifications field's value.
119816func (s *SpotFleetLaunchSpecification) SetTagSpecifications(v []*SpotFleetTagSpecification) *SpotFleetLaunchSpecification {
119817	s.TagSpecifications = v
119818	return s
119819}
119820
119821// SetUserData sets the UserData field's value.
119822func (s *SpotFleetLaunchSpecification) SetUserData(v string) *SpotFleetLaunchSpecification {
119823	s.UserData = &v
119824	return s
119825}
119826
119827// SetWeightedCapacity sets the WeightedCapacity field's value.
119828func (s *SpotFleetLaunchSpecification) SetWeightedCapacity(v float64) *SpotFleetLaunchSpecification {
119829	s.WeightedCapacity = &v
119830	return s
119831}
119832
119833// Describes whether monitoring is enabled.
119834type SpotFleetMonitoring struct {
119835	_ struct{} `type:"structure"`
119836
119837	// Enables monitoring for the instance.
119838	//
119839	// Default: false
119840	Enabled *bool `locationName:"enabled" type:"boolean"`
119841}
119842
119843// String returns the string representation
119844func (s SpotFleetMonitoring) String() string {
119845	return awsutil.Prettify(s)
119846}
119847
119848// GoString returns the string representation
119849func (s SpotFleetMonitoring) GoString() string {
119850	return s.String()
119851}
119852
119853// SetEnabled sets the Enabled field's value.
119854func (s *SpotFleetMonitoring) SetEnabled(v bool) *SpotFleetMonitoring {
119855	s.Enabled = &v
119856	return s
119857}
119858
119859// Describes a Spot Fleet request.
119860type SpotFleetRequestConfig struct {
119861	_ struct{} `type:"structure"`
119862
119863	// The progress of the Spot Fleet request. If there is an error, the status
119864	// is error. After all requests are placed, the status is pending_fulfillment.
119865	// If the size of the fleet is equal to or greater than its target capacity,
119866	// the status is fulfilled. If the size of the fleet is decreased, the status
119867	// is pending_termination while Spot Instances are terminating.
119868	ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"ActivityStatus"`
119869
119870	// The creation date and time of the request.
119871	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
119872
119873	// The configuration of the Spot Fleet request.
119874	SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure"`
119875
119876	// The ID of the Spot Fleet request.
119877	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
119878
119879	// The state of the Spot Fleet request.
119880	SpotFleetRequestState *string `locationName:"spotFleetRequestState" type:"string" enum:"BatchState"`
119881
119882	// The tags for a Spot Fleet resource.
119883	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
119884}
119885
119886// String returns the string representation
119887func (s SpotFleetRequestConfig) String() string {
119888	return awsutil.Prettify(s)
119889}
119890
119891// GoString returns the string representation
119892func (s SpotFleetRequestConfig) GoString() string {
119893	return s.String()
119894}
119895
119896// SetActivityStatus sets the ActivityStatus field's value.
119897func (s *SpotFleetRequestConfig) SetActivityStatus(v string) *SpotFleetRequestConfig {
119898	s.ActivityStatus = &v
119899	return s
119900}
119901
119902// SetCreateTime sets the CreateTime field's value.
119903func (s *SpotFleetRequestConfig) SetCreateTime(v time.Time) *SpotFleetRequestConfig {
119904	s.CreateTime = &v
119905	return s
119906}
119907
119908// SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
119909func (s *SpotFleetRequestConfig) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *SpotFleetRequestConfig {
119910	s.SpotFleetRequestConfig = v
119911	return s
119912}
119913
119914// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
119915func (s *SpotFleetRequestConfig) SetSpotFleetRequestId(v string) *SpotFleetRequestConfig {
119916	s.SpotFleetRequestId = &v
119917	return s
119918}
119919
119920// SetSpotFleetRequestState sets the SpotFleetRequestState field's value.
119921func (s *SpotFleetRequestConfig) SetSpotFleetRequestState(v string) *SpotFleetRequestConfig {
119922	s.SpotFleetRequestState = &v
119923	return s
119924}
119925
119926// SetTags sets the Tags field's value.
119927func (s *SpotFleetRequestConfig) SetTags(v []*Tag) *SpotFleetRequestConfig {
119928	s.Tags = v
119929	return s
119930}
119931
119932// Describes the configuration of a Spot Fleet request.
119933type SpotFleetRequestConfigData struct {
119934	_ struct{} `type:"structure"`
119935
119936	// Indicates how to allocate the target Spot Instance capacity across the Spot
119937	// Instance pools specified by the Spot Fleet request.
119938	//
119939	// If the allocation strategy is lowestPrice, Spot Fleet launches instances
119940	// from the Spot Instance pools with the lowest price. This is the default allocation
119941	// strategy.
119942	//
119943	// If the allocation strategy is diversified, Spot Fleet launches instances
119944	// from all the Spot Instance pools that you specify.
119945	//
119946	// If the allocation strategy is capacityOptimized (recommended), Spot Fleet
119947	// launches instances from Spot Instance pools with optimal capacity for the
119948	// number of instances that are launching. To give certain instance types a
119949	// higher chance of launching first, use capacityOptimizedPrioritized. Set a
119950	// priority for each instance type by using the Priority parameter for LaunchTemplateOverrides.
119951	// You can assign the same priority to different LaunchTemplateOverrides. EC2
119952	// implements the priorities on a best-effort basis, but optimizes for capacity
119953	// first. capacityOptimizedPrioritized is supported only if your Spot Fleet
119954	// uses a launch template. Note that if the OnDemandAllocationStrategy is set
119955	// to prioritized, the same priority is applied when fulfilling On-Demand capacity.
119956	AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"AllocationStrategy"`
119957
119958	// A unique, case-sensitive identifier that you provide to ensure the idempotency
119959	// of your listings. This helps to avoid duplicate listings. For more information,
119960	// see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
119961	ClientToken *string `locationName:"clientToken" type:"string"`
119962
119963	// Reserved.
119964	Context *string `locationName:"context" type:"string"`
119965
119966	// Indicates whether running Spot Instances should be terminated if you decrease
119967	// the target capacity of the Spot Fleet request below the current size of the
119968	// Spot Fleet.
119969	ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
119970
119971	// The number of units fulfilled by this request compared to the set target
119972	// capacity. You cannot set this value.
119973	FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
119974
119975	// The Amazon Resource Name (ARN) of an Identity and Access Management (IAM)
119976	// role that grants the Spot Fleet the permission to request, launch, terminate,
119977	// and tag instances on your behalf. For more information, see Spot Fleet prerequisites
119978	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html#spot-fleet-prerequisites)
119979	// in the Amazon EC2 User Guide for Linux Instances. Spot Fleet can terminate
119980	// Spot Instances on your behalf when you cancel its Spot Fleet request using
119981	// CancelSpotFleetRequests (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CancelSpotFleetRequests)
119982	// or when the Spot Fleet request expires, if you set TerminateInstancesWithExpiration.
119983	//
119984	// IamFleetRole is a required field
119985	IamFleetRole *string `locationName:"iamFleetRole" type:"string" required:"true"`
119986
119987	// The behavior when a Spot Instance is interrupted. The default is terminate.
119988	InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
119989
119990	// The number of Spot pools across which to allocate your target Spot capacity.
119991	// Valid only when Spot AllocationStrategy is set to lowest-price. Spot Fleet
119992	// selects the cheapest Spot pools and evenly allocates your target Spot capacity
119993	// across the number of Spot pools that you specify.
119994	//
119995	// Note that Spot Fleet attempts to draw Spot Instances from the number of pools
119996	// that you specify on a best effort basis. If a pool runs out of Spot capacity
119997	// before fulfilling your target capacity, Spot Fleet will continue to fulfill
119998	// your request by drawing from the next cheapest pool. To ensure that your
119999	// target capacity is met, you might receive Spot Instances from more than the
120000	// number of pools that you specified. Similarly, if most of the pools have
120001	// no Spot capacity, you might receive your full target capacity from fewer
120002	// than the number of pools that you specified.
120003	InstancePoolsToUseCount *int64 `locationName:"instancePoolsToUseCount" type:"integer"`
120004
120005	// The launch specifications for the Spot Fleet request. If you specify LaunchSpecifications,
120006	// you can't specify LaunchTemplateConfigs. If you include On-Demand capacity
120007	// in your request, you must use LaunchTemplateConfigs.
120008	LaunchSpecifications []*SpotFleetLaunchSpecification `locationName:"launchSpecifications" locationNameList:"item" type:"list"`
120009
120010	// The launch template and overrides. If you specify LaunchTemplateConfigs,
120011	// you can't specify LaunchSpecifications. If you include On-Demand capacity
120012	// in your request, you must use LaunchTemplateConfigs.
120013	LaunchTemplateConfigs []*LaunchTemplateConfig `locationName:"launchTemplateConfigs" locationNameList:"item" type:"list"`
120014
120015	// One or more Classic Load Balancers and target groups to attach to the Spot
120016	// Fleet request. Spot Fleet registers the running Spot Instances with the specified
120017	// Classic Load Balancers and target groups.
120018	//
120019	// With Network Load Balancers, Spot Fleet cannot register instances that have
120020	// the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1,
120021	// HS1, M1, M2, M3, and T1.
120022	LoadBalancersConfig *LoadBalancersConfig `locationName:"loadBalancersConfig" type:"structure"`
120023
120024	// The order of the launch template overrides to use in fulfilling On-Demand
120025	// capacity. If you specify lowestPrice, Spot Fleet uses price to determine
120026	// the order, launching the lowest price first. If you specify prioritized,
120027	// Spot Fleet uses the priority that you assign to each Spot Fleet launch template
120028	// override, launching the highest priority first. If you do not specify a value,
120029	// Spot Fleet defaults to lowestPrice.
120030	OnDemandAllocationStrategy *string `locationName:"onDemandAllocationStrategy" type:"string" enum:"OnDemandAllocationStrategy"`
120031
120032	// The number of On-Demand units fulfilled by this request compared to the set
120033	// target On-Demand capacity.
120034	OnDemandFulfilledCapacity *float64 `locationName:"onDemandFulfilledCapacity" type:"double"`
120035
120036	// The maximum amount per hour for On-Demand Instances that you're willing to
120037	// pay. You can use the onDemandMaxTotalPrice parameter, the spotMaxTotalPrice
120038	// parameter, or both parameters to ensure that your fleet cost does not exceed
120039	// your budget. If you set a maximum price per hour for the On-Demand Instances
120040	// and Spot Instances in your request, Spot Fleet will launch instances until
120041	// it reaches the maximum amount you're willing to pay. When the maximum amount
120042	// you're willing to pay is reached, the fleet stops launching instances even
120043	// if it hasn’t met the target capacity.
120044	OnDemandMaxTotalPrice *string `locationName:"onDemandMaxTotalPrice" type:"string"`
120045
120046	// The number of On-Demand units to request. You can choose to set the target
120047	// capacity in terms of instances or a performance characteristic that is important
120048	// to your application workload, such as vCPUs, memory, or I/O. If the request
120049	// type is maintain, you can specify a target capacity of 0 and add capacity
120050	// later.
120051	OnDemandTargetCapacity *int64 `locationName:"onDemandTargetCapacity" type:"integer"`
120052
120053	// Indicates whether Spot Fleet should replace unhealthy instances.
120054	ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"`
120055
120056	// The strategies for managing your Spot Instances that are at an elevated risk
120057	// of being interrupted.
120058	SpotMaintenanceStrategies *SpotMaintenanceStrategies `locationName:"spotMaintenanceStrategies" type:"structure"`
120059
120060	// The maximum amount per hour for Spot Instances that you're willing to pay.
120061	// You can use the spotdMaxTotalPrice parameter, the onDemandMaxTotalPrice parameter,
120062	// or both parameters to ensure that your fleet cost does not exceed your budget.
120063	// If you set a maximum price per hour for the On-Demand Instances and Spot
120064	// Instances in your request, Spot Fleet will launch instances until it reaches
120065	// the maximum amount you're willing to pay. When the maximum amount you're
120066	// willing to pay is reached, the fleet stops launching instances even if it
120067	// hasn’t met the target capacity.
120068	SpotMaxTotalPrice *string `locationName:"spotMaxTotalPrice" type:"string"`
120069
120070	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
120071	// The default is the On-Demand price.
120072	SpotPrice *string `locationName:"spotPrice" type:"string"`
120073
120074	// The key-value pair for tagging the Spot Fleet request on creation. The value
120075	// for ResourceType must be spot-fleet-request, otherwise the Spot Fleet request
120076	// fails. To tag instances at launch, specify the tags in the launch template
120077	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template)
120078	// (valid only if you use LaunchTemplateConfigs) or in the SpotFleetTagSpecification
120079	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotFleetTagSpecification.html)
120080	// (valid only if you use LaunchSpecifications). For information about tagging
120081	// after launch, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources).
120082	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
120083
120084	// The number of units to request for the Spot Fleet. You can choose to set
120085	// the target capacity in terms of instances or a performance characteristic
120086	// that is important to your application workload, such as vCPUs, memory, or
120087	// I/O. If the request type is maintain, you can specify a target capacity of
120088	// 0 and add capacity later.
120089	//
120090	// TargetCapacity is a required field
120091	TargetCapacity *int64 `locationName:"targetCapacity" type:"integer" required:"true"`
120092
120093	// Indicates whether running Spot Instances are terminated when the Spot Fleet
120094	// request expires.
120095	TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
120096
120097	// The type of request. Indicates whether the Spot Fleet only requests the target
120098	// capacity or also attempts to maintain it. When this value is request, the
120099	// Spot Fleet only places the required requests. It does not attempt to replenish
120100	// Spot Instances if capacity is diminished, nor does it submit requests in
120101	// alternative Spot pools if capacity is not available. When this value is maintain,
120102	// the Spot Fleet maintains the target capacity. The Spot Fleet places the required
120103	// requests to meet capacity and automatically replenishes any interrupted instances.
120104	// Default: maintain. instant is listed but is not used by Spot Fleet.
120105	Type *string `locationName:"type" type:"string" enum:"FleetType"`
120106
120107	// The start date and time of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ).
120108	// By default, Amazon EC2 starts fulfilling the request immediately.
120109	ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
120110
120111	// The end date and time of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ).
120112	// After the end date and time, no new Spot Instance requests are placed or
120113	// able to fulfill the request. If no value is specified, the Spot Fleet request
120114	// remains until you cancel it.
120115	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
120116}
120117
120118// String returns the string representation
120119func (s SpotFleetRequestConfigData) String() string {
120120	return awsutil.Prettify(s)
120121}
120122
120123// GoString returns the string representation
120124func (s SpotFleetRequestConfigData) GoString() string {
120125	return s.String()
120126}
120127
120128// Validate inspects the fields of the type to determine if they are valid.
120129func (s *SpotFleetRequestConfigData) Validate() error {
120130	invalidParams := request.ErrInvalidParams{Context: "SpotFleetRequestConfigData"}
120131	if s.IamFleetRole == nil {
120132		invalidParams.Add(request.NewErrParamRequired("IamFleetRole"))
120133	}
120134	if s.TargetCapacity == nil {
120135		invalidParams.Add(request.NewErrParamRequired("TargetCapacity"))
120136	}
120137	if s.LaunchTemplateConfigs != nil {
120138		for i, v := range s.LaunchTemplateConfigs {
120139			if v == nil {
120140				continue
120141			}
120142			if err := v.Validate(); err != nil {
120143				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigs", i), err.(request.ErrInvalidParams))
120144			}
120145		}
120146	}
120147	if s.LoadBalancersConfig != nil {
120148		if err := s.LoadBalancersConfig.Validate(); err != nil {
120149			invalidParams.AddNested("LoadBalancersConfig", err.(request.ErrInvalidParams))
120150		}
120151	}
120152
120153	if invalidParams.Len() > 0 {
120154		return invalidParams
120155	}
120156	return nil
120157}
120158
120159// SetAllocationStrategy sets the AllocationStrategy field's value.
120160func (s *SpotFleetRequestConfigData) SetAllocationStrategy(v string) *SpotFleetRequestConfigData {
120161	s.AllocationStrategy = &v
120162	return s
120163}
120164
120165// SetClientToken sets the ClientToken field's value.
120166func (s *SpotFleetRequestConfigData) SetClientToken(v string) *SpotFleetRequestConfigData {
120167	s.ClientToken = &v
120168	return s
120169}
120170
120171// SetContext sets the Context field's value.
120172func (s *SpotFleetRequestConfigData) SetContext(v string) *SpotFleetRequestConfigData {
120173	s.Context = &v
120174	return s
120175}
120176
120177// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
120178func (s *SpotFleetRequestConfigData) SetExcessCapacityTerminationPolicy(v string) *SpotFleetRequestConfigData {
120179	s.ExcessCapacityTerminationPolicy = &v
120180	return s
120181}
120182
120183// SetFulfilledCapacity sets the FulfilledCapacity field's value.
120184func (s *SpotFleetRequestConfigData) SetFulfilledCapacity(v float64) *SpotFleetRequestConfigData {
120185	s.FulfilledCapacity = &v
120186	return s
120187}
120188
120189// SetIamFleetRole sets the IamFleetRole field's value.
120190func (s *SpotFleetRequestConfigData) SetIamFleetRole(v string) *SpotFleetRequestConfigData {
120191	s.IamFleetRole = &v
120192	return s
120193}
120194
120195// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
120196func (s *SpotFleetRequestConfigData) SetInstanceInterruptionBehavior(v string) *SpotFleetRequestConfigData {
120197	s.InstanceInterruptionBehavior = &v
120198	return s
120199}
120200
120201// SetInstancePoolsToUseCount sets the InstancePoolsToUseCount field's value.
120202func (s *SpotFleetRequestConfigData) SetInstancePoolsToUseCount(v int64) *SpotFleetRequestConfigData {
120203	s.InstancePoolsToUseCount = &v
120204	return s
120205}
120206
120207// SetLaunchSpecifications sets the LaunchSpecifications field's value.
120208func (s *SpotFleetRequestConfigData) SetLaunchSpecifications(v []*SpotFleetLaunchSpecification) *SpotFleetRequestConfigData {
120209	s.LaunchSpecifications = v
120210	return s
120211}
120212
120213// SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
120214func (s *SpotFleetRequestConfigData) SetLaunchTemplateConfigs(v []*LaunchTemplateConfig) *SpotFleetRequestConfigData {
120215	s.LaunchTemplateConfigs = v
120216	return s
120217}
120218
120219// SetLoadBalancersConfig sets the LoadBalancersConfig field's value.
120220func (s *SpotFleetRequestConfigData) SetLoadBalancersConfig(v *LoadBalancersConfig) *SpotFleetRequestConfigData {
120221	s.LoadBalancersConfig = v
120222	return s
120223}
120224
120225// SetOnDemandAllocationStrategy sets the OnDemandAllocationStrategy field's value.
120226func (s *SpotFleetRequestConfigData) SetOnDemandAllocationStrategy(v string) *SpotFleetRequestConfigData {
120227	s.OnDemandAllocationStrategy = &v
120228	return s
120229}
120230
120231// SetOnDemandFulfilledCapacity sets the OnDemandFulfilledCapacity field's value.
120232func (s *SpotFleetRequestConfigData) SetOnDemandFulfilledCapacity(v float64) *SpotFleetRequestConfigData {
120233	s.OnDemandFulfilledCapacity = &v
120234	return s
120235}
120236
120237// SetOnDemandMaxTotalPrice sets the OnDemandMaxTotalPrice field's value.
120238func (s *SpotFleetRequestConfigData) SetOnDemandMaxTotalPrice(v string) *SpotFleetRequestConfigData {
120239	s.OnDemandMaxTotalPrice = &v
120240	return s
120241}
120242
120243// SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
120244func (s *SpotFleetRequestConfigData) SetOnDemandTargetCapacity(v int64) *SpotFleetRequestConfigData {
120245	s.OnDemandTargetCapacity = &v
120246	return s
120247}
120248
120249// SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
120250func (s *SpotFleetRequestConfigData) SetReplaceUnhealthyInstances(v bool) *SpotFleetRequestConfigData {
120251	s.ReplaceUnhealthyInstances = &v
120252	return s
120253}
120254
120255// SetSpotMaintenanceStrategies sets the SpotMaintenanceStrategies field's value.
120256func (s *SpotFleetRequestConfigData) SetSpotMaintenanceStrategies(v *SpotMaintenanceStrategies) *SpotFleetRequestConfigData {
120257	s.SpotMaintenanceStrategies = v
120258	return s
120259}
120260
120261// SetSpotMaxTotalPrice sets the SpotMaxTotalPrice field's value.
120262func (s *SpotFleetRequestConfigData) SetSpotMaxTotalPrice(v string) *SpotFleetRequestConfigData {
120263	s.SpotMaxTotalPrice = &v
120264	return s
120265}
120266
120267// SetSpotPrice sets the SpotPrice field's value.
120268func (s *SpotFleetRequestConfigData) SetSpotPrice(v string) *SpotFleetRequestConfigData {
120269	s.SpotPrice = &v
120270	return s
120271}
120272
120273// SetTagSpecifications sets the TagSpecifications field's value.
120274func (s *SpotFleetRequestConfigData) SetTagSpecifications(v []*TagSpecification) *SpotFleetRequestConfigData {
120275	s.TagSpecifications = v
120276	return s
120277}
120278
120279// SetTargetCapacity sets the TargetCapacity field's value.
120280func (s *SpotFleetRequestConfigData) SetTargetCapacity(v int64) *SpotFleetRequestConfigData {
120281	s.TargetCapacity = &v
120282	return s
120283}
120284
120285// SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
120286func (s *SpotFleetRequestConfigData) SetTerminateInstancesWithExpiration(v bool) *SpotFleetRequestConfigData {
120287	s.TerminateInstancesWithExpiration = &v
120288	return s
120289}
120290
120291// SetType sets the Type field's value.
120292func (s *SpotFleetRequestConfigData) SetType(v string) *SpotFleetRequestConfigData {
120293	s.Type = &v
120294	return s
120295}
120296
120297// SetValidFrom sets the ValidFrom field's value.
120298func (s *SpotFleetRequestConfigData) SetValidFrom(v time.Time) *SpotFleetRequestConfigData {
120299	s.ValidFrom = &v
120300	return s
120301}
120302
120303// SetValidUntil sets the ValidUntil field's value.
120304func (s *SpotFleetRequestConfigData) SetValidUntil(v time.Time) *SpotFleetRequestConfigData {
120305	s.ValidUntil = &v
120306	return s
120307}
120308
120309// The tags for a Spot Fleet resource.
120310type SpotFleetTagSpecification struct {
120311	_ struct{} `type:"structure"`
120312
120313	// The type of resource. Currently, the only resource type that is supported
120314	// is instance. To tag the Spot Fleet request on creation, use the TagSpecifications
120315	// parameter in SpotFleetRequestConfigData (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotFleetRequestConfigData.html).
120316	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
120317
120318	// The tags.
120319	Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
120320}
120321
120322// String returns the string representation
120323func (s SpotFleetTagSpecification) String() string {
120324	return awsutil.Prettify(s)
120325}
120326
120327// GoString returns the string representation
120328func (s SpotFleetTagSpecification) GoString() string {
120329	return s.String()
120330}
120331
120332// SetResourceType sets the ResourceType field's value.
120333func (s *SpotFleetTagSpecification) SetResourceType(v string) *SpotFleetTagSpecification {
120334	s.ResourceType = &v
120335	return s
120336}
120337
120338// SetTags sets the Tags field's value.
120339func (s *SpotFleetTagSpecification) SetTags(v []*Tag) *SpotFleetTagSpecification {
120340	s.Tags = v
120341	return s
120342}
120343
120344// Describes a Spot Instance request.
120345type SpotInstanceRequest struct {
120346	_ struct{} `type:"structure"`
120347
120348	// Deprecated.
120349	ActualBlockHourlyPrice *string `locationName:"actualBlockHourlyPrice" type:"string"`
120350
120351	// The Availability Zone group. If you specify the same Availability Zone group
120352	// for all Spot Instance requests, all Spot Instances are launched in the same
120353	// Availability Zone.
120354	AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
120355
120356	// Deprecated.
120357	BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
120358
120359	// The date and time when the Spot Instance request was created, in UTC format
120360	// (for example, YYYY-MM-DDTHH:MM:SSZ).
120361	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
120362
120363	// The fault codes for the Spot Instance request, if any.
120364	Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
120365
120366	// The instance ID, if an instance has been launched to fulfill the Spot Instance
120367	// request.
120368	InstanceId *string `locationName:"instanceId" type:"string"`
120369
120370	// The behavior when a Spot Instance is interrupted.
120371	InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
120372
120373	// The instance launch group. Launch groups are Spot Instances that launch together
120374	// and terminate together.
120375	LaunchGroup *string `locationName:"launchGroup" type:"string"`
120376
120377	// Additional information for launching instances.
120378	LaunchSpecification *LaunchSpecification `locationName:"launchSpecification" type:"structure"`
120379
120380	// The Availability Zone in which the request is launched.
120381	LaunchedAvailabilityZone *string `locationName:"launchedAvailabilityZone" type:"string"`
120382
120383	// The product description associated with the Spot Instance.
120384	ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
120385
120386	// The ID of the Spot Instance request.
120387	SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
120388
120389	// The maximum price per hour that you are willing to pay for a Spot Instance.
120390	SpotPrice *string `locationName:"spotPrice" type:"string"`
120391
120392	// The state of the Spot Instance request. Spot status information helps track
120393	// your Spot Instance requests. For more information, see Spot status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
120394	// in the Amazon EC2 User Guide for Linux Instances.
120395	State *string `locationName:"state" type:"string" enum:"SpotInstanceState"`
120396
120397	// The status code and status message describing the Spot Instance request.
120398	Status *SpotInstanceStatus `locationName:"status" type:"structure"`
120399
120400	// Any tags assigned to the resource.
120401	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
120402
120403	// The Spot Instance request type.
120404	Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
120405
120406	// The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
120407	// The request becomes active at this date and time.
120408	ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
120409
120410	// The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ).
120411	//
120412	//    * For a persistent request, the request remains active until the validUntil
120413	//    date and time is reached. Otherwise, the request remains active until
120414	//    you cancel it.
120415	//
120416	//    * For a one-time request, the request remains active until all instances
120417	//    launch, the request is canceled, or the validUntil date and time is reached.
120418	//    By default, the request is valid for 7 days from the date the request
120419	//    was created.
120420	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
120421}
120422
120423// String returns the string representation
120424func (s SpotInstanceRequest) String() string {
120425	return awsutil.Prettify(s)
120426}
120427
120428// GoString returns the string representation
120429func (s SpotInstanceRequest) GoString() string {
120430	return s.String()
120431}
120432
120433// SetActualBlockHourlyPrice sets the ActualBlockHourlyPrice field's value.
120434func (s *SpotInstanceRequest) SetActualBlockHourlyPrice(v string) *SpotInstanceRequest {
120435	s.ActualBlockHourlyPrice = &v
120436	return s
120437}
120438
120439// SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
120440func (s *SpotInstanceRequest) SetAvailabilityZoneGroup(v string) *SpotInstanceRequest {
120441	s.AvailabilityZoneGroup = &v
120442	return s
120443}
120444
120445// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
120446func (s *SpotInstanceRequest) SetBlockDurationMinutes(v int64) *SpotInstanceRequest {
120447	s.BlockDurationMinutes = &v
120448	return s
120449}
120450
120451// SetCreateTime sets the CreateTime field's value.
120452func (s *SpotInstanceRequest) SetCreateTime(v time.Time) *SpotInstanceRequest {
120453	s.CreateTime = &v
120454	return s
120455}
120456
120457// SetFault sets the Fault field's value.
120458func (s *SpotInstanceRequest) SetFault(v *SpotInstanceStateFault) *SpotInstanceRequest {
120459	s.Fault = v
120460	return s
120461}
120462
120463// SetInstanceId sets the InstanceId field's value.
120464func (s *SpotInstanceRequest) SetInstanceId(v string) *SpotInstanceRequest {
120465	s.InstanceId = &v
120466	return s
120467}
120468
120469// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
120470func (s *SpotInstanceRequest) SetInstanceInterruptionBehavior(v string) *SpotInstanceRequest {
120471	s.InstanceInterruptionBehavior = &v
120472	return s
120473}
120474
120475// SetLaunchGroup sets the LaunchGroup field's value.
120476func (s *SpotInstanceRequest) SetLaunchGroup(v string) *SpotInstanceRequest {
120477	s.LaunchGroup = &v
120478	return s
120479}
120480
120481// SetLaunchSpecification sets the LaunchSpecification field's value.
120482func (s *SpotInstanceRequest) SetLaunchSpecification(v *LaunchSpecification) *SpotInstanceRequest {
120483	s.LaunchSpecification = v
120484	return s
120485}
120486
120487// SetLaunchedAvailabilityZone sets the LaunchedAvailabilityZone field's value.
120488func (s *SpotInstanceRequest) SetLaunchedAvailabilityZone(v string) *SpotInstanceRequest {
120489	s.LaunchedAvailabilityZone = &v
120490	return s
120491}
120492
120493// SetProductDescription sets the ProductDescription field's value.
120494func (s *SpotInstanceRequest) SetProductDescription(v string) *SpotInstanceRequest {
120495	s.ProductDescription = &v
120496	return s
120497}
120498
120499// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
120500func (s *SpotInstanceRequest) SetSpotInstanceRequestId(v string) *SpotInstanceRequest {
120501	s.SpotInstanceRequestId = &v
120502	return s
120503}
120504
120505// SetSpotPrice sets the SpotPrice field's value.
120506func (s *SpotInstanceRequest) SetSpotPrice(v string) *SpotInstanceRequest {
120507	s.SpotPrice = &v
120508	return s
120509}
120510
120511// SetState sets the State field's value.
120512func (s *SpotInstanceRequest) SetState(v string) *SpotInstanceRequest {
120513	s.State = &v
120514	return s
120515}
120516
120517// SetStatus sets the Status field's value.
120518func (s *SpotInstanceRequest) SetStatus(v *SpotInstanceStatus) *SpotInstanceRequest {
120519	s.Status = v
120520	return s
120521}
120522
120523// SetTags sets the Tags field's value.
120524func (s *SpotInstanceRequest) SetTags(v []*Tag) *SpotInstanceRequest {
120525	s.Tags = v
120526	return s
120527}
120528
120529// SetType sets the Type field's value.
120530func (s *SpotInstanceRequest) SetType(v string) *SpotInstanceRequest {
120531	s.Type = &v
120532	return s
120533}
120534
120535// SetValidFrom sets the ValidFrom field's value.
120536func (s *SpotInstanceRequest) SetValidFrom(v time.Time) *SpotInstanceRequest {
120537	s.ValidFrom = &v
120538	return s
120539}
120540
120541// SetValidUntil sets the ValidUntil field's value.
120542func (s *SpotInstanceRequest) SetValidUntil(v time.Time) *SpotInstanceRequest {
120543	s.ValidUntil = &v
120544	return s
120545}
120546
120547// Describes a Spot Instance state change.
120548type SpotInstanceStateFault struct {
120549	_ struct{} `type:"structure"`
120550
120551	// The reason code for the Spot Instance state change.
120552	Code *string `locationName:"code" type:"string"`
120553
120554	// The message for the Spot Instance state change.
120555	Message *string `locationName:"message" type:"string"`
120556}
120557
120558// String returns the string representation
120559func (s SpotInstanceStateFault) String() string {
120560	return awsutil.Prettify(s)
120561}
120562
120563// GoString returns the string representation
120564func (s SpotInstanceStateFault) GoString() string {
120565	return s.String()
120566}
120567
120568// SetCode sets the Code field's value.
120569func (s *SpotInstanceStateFault) SetCode(v string) *SpotInstanceStateFault {
120570	s.Code = &v
120571	return s
120572}
120573
120574// SetMessage sets the Message field's value.
120575func (s *SpotInstanceStateFault) SetMessage(v string) *SpotInstanceStateFault {
120576	s.Message = &v
120577	return s
120578}
120579
120580// Describes the status of a Spot Instance request.
120581type SpotInstanceStatus struct {
120582	_ struct{} `type:"structure"`
120583
120584	// 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)
120585	// in the Amazon EC2 User Guide for Linux Instances.
120586	Code *string `locationName:"code" type:"string"`
120587
120588	// The description for the status code.
120589	Message *string `locationName:"message" type:"string"`
120590
120591	// The date and time of the most recent status update, in UTC format (for example,
120592	// YYYY-MM-DDTHH:MM:SSZ).
120593	UpdateTime *time.Time `locationName:"updateTime" type:"timestamp"`
120594}
120595
120596// String returns the string representation
120597func (s SpotInstanceStatus) String() string {
120598	return awsutil.Prettify(s)
120599}
120600
120601// GoString returns the string representation
120602func (s SpotInstanceStatus) GoString() string {
120603	return s.String()
120604}
120605
120606// SetCode sets the Code field's value.
120607func (s *SpotInstanceStatus) SetCode(v string) *SpotInstanceStatus {
120608	s.Code = &v
120609	return s
120610}
120611
120612// SetMessage sets the Message field's value.
120613func (s *SpotInstanceStatus) SetMessage(v string) *SpotInstanceStatus {
120614	s.Message = &v
120615	return s
120616}
120617
120618// SetUpdateTime sets the UpdateTime field's value.
120619func (s *SpotInstanceStatus) SetUpdateTime(v time.Time) *SpotInstanceStatus {
120620	s.UpdateTime = &v
120621	return s
120622}
120623
120624// The strategies for managing your Spot Instances that are at an elevated risk
120625// of being interrupted.
120626type SpotMaintenanceStrategies struct {
120627	_ struct{} `type:"structure"`
120628
120629	// The strategy to use when Amazon EC2 emits a signal that your Spot Instance
120630	// is at an elevated risk of being interrupted.
120631	CapacityRebalance *SpotCapacityRebalance `locationName:"capacityRebalance" type:"structure"`
120632}
120633
120634// String returns the string representation
120635func (s SpotMaintenanceStrategies) String() string {
120636	return awsutil.Prettify(s)
120637}
120638
120639// GoString returns the string representation
120640func (s SpotMaintenanceStrategies) GoString() string {
120641	return s.String()
120642}
120643
120644// SetCapacityRebalance sets the CapacityRebalance field's value.
120645func (s *SpotMaintenanceStrategies) SetCapacityRebalance(v *SpotCapacityRebalance) *SpotMaintenanceStrategies {
120646	s.CapacityRebalance = v
120647	return s
120648}
120649
120650// The options for Spot Instances.
120651type SpotMarketOptions struct {
120652	_ struct{} `type:"structure"`
120653
120654	// Deprecated.
120655	BlockDurationMinutes *int64 `type:"integer"`
120656
120657	// The behavior when a Spot Instance is interrupted. The default is terminate.
120658	InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
120659
120660	// The maximum hourly price you're willing to pay for the Spot Instances. The
120661	// default is the On-Demand price.
120662	MaxPrice *string `type:"string"`
120663
120664	// The Spot Instance request type. For RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances),
120665	// persistent Spot Instance requests are only supported when the instance interruption
120666	// behavior is either hibernate or stop.
120667	SpotInstanceType *string `type:"string" enum:"SpotInstanceType"`
120668
120669	// The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). Supported
120670	// only for persistent requests.
120671	//
120672	//    * For a persistent request, the request remains active until the ValidUntil
120673	//    date and time is reached. Otherwise, the request remains active until
120674	//    you cancel it.
120675	//
120676	//    * For a one-time request, ValidUntil is not supported. The request remains
120677	//    active until all instances launch or you cancel the request.
120678	ValidUntil *time.Time `type:"timestamp"`
120679}
120680
120681// String returns the string representation
120682func (s SpotMarketOptions) String() string {
120683	return awsutil.Prettify(s)
120684}
120685
120686// GoString returns the string representation
120687func (s SpotMarketOptions) GoString() string {
120688	return s.String()
120689}
120690
120691// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
120692func (s *SpotMarketOptions) SetBlockDurationMinutes(v int64) *SpotMarketOptions {
120693	s.BlockDurationMinutes = &v
120694	return s
120695}
120696
120697// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
120698func (s *SpotMarketOptions) SetInstanceInterruptionBehavior(v string) *SpotMarketOptions {
120699	s.InstanceInterruptionBehavior = &v
120700	return s
120701}
120702
120703// SetMaxPrice sets the MaxPrice field's value.
120704func (s *SpotMarketOptions) SetMaxPrice(v string) *SpotMarketOptions {
120705	s.MaxPrice = &v
120706	return s
120707}
120708
120709// SetSpotInstanceType sets the SpotInstanceType field's value.
120710func (s *SpotMarketOptions) SetSpotInstanceType(v string) *SpotMarketOptions {
120711	s.SpotInstanceType = &v
120712	return s
120713}
120714
120715// SetValidUntil sets the ValidUntil field's value.
120716func (s *SpotMarketOptions) SetValidUntil(v time.Time) *SpotMarketOptions {
120717	s.ValidUntil = &v
120718	return s
120719}
120720
120721// Describes the configuration of Spot Instances in an EC2 Fleet.
120722type SpotOptions struct {
120723	_ struct{} `type:"structure"`
120724
120725	// Indicates how to allocate the target Spot Instance capacity across the Spot
120726	// Instance pools specified by the EC2 Fleet.
120727	//
120728	// If the allocation strategy is lowest-price, EC2 Fleet launches instances
120729	// from the Spot Instance pools with the lowest price. This is the default allocation
120730	// strategy.
120731	//
120732	// If the allocation strategy is diversified, EC2 Fleet launches instances from
120733	// all of the Spot Instance pools that you specify.
120734	//
120735	// If the allocation strategy is capacity-optimized (recommended), EC2 Fleet
120736	// launches instances from Spot Instance pools with optimal capacity for the
120737	// number of instances that are launching. To give certain instance types a
120738	// higher chance of launching first, use capacity-optimized-prioritized. Set
120739	// a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides.
120740	// You can assign the same priority to different LaunchTemplateOverrides. EC2
120741	// implements the priorities on a best-effort basis, but optimizes for capacity
120742	// first. capacity-optimized-prioritized is supported only if your fleet uses
120743	// a launch template. Note that if the On-Demand AllocationStrategy is set to
120744	// prioritized, the same priority is applied when fulfilling On-Demand capacity.
120745	AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"SpotAllocationStrategy"`
120746
120747	// The behavior when a Spot Instance is interrupted. The default is terminate.
120748	InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"SpotInstanceInterruptionBehavior"`
120749
120750	// The number of Spot pools across which to allocate your target Spot capacity.
120751	// Valid only when AllocationStrategy is set to lowest-price. EC2 Fleet selects
120752	// the cheapest Spot pools and evenly allocates your target Spot capacity across
120753	// the number of Spot pools that you specify.
120754	//
120755	// Note that EC2 Fleet attempts to draw Spot Instances from the number of pools
120756	// that you specify on a best effort basis. If a pool runs out of Spot capacity
120757	// before fulfilling your target capacity, EC2 Fleet will continue to fulfill
120758	// your request by drawing from the next cheapest pool. To ensure that your
120759	// target capacity is met, you might receive Spot Instances from more than the
120760	// number of pools that you specified. Similarly, if most of the pools have
120761	// no Spot capacity, you might receive your full target capacity from fewer
120762	// than the number of pools that you specified.
120763	InstancePoolsToUseCount *int64 `locationName:"instancePoolsToUseCount" type:"integer"`
120764
120765	// The strategies for managing your workloads on your Spot Instances that will
120766	// be interrupted. Currently only the capacity rebalance strategy is available.
120767	MaintenanceStrategies *FleetSpotMaintenanceStrategies `locationName:"maintenanceStrategies" type:"structure"`
120768
120769	// The maximum amount per hour for Spot Instances that you're willing to pay.
120770	MaxTotalPrice *string `locationName:"maxTotalPrice" type:"string"`
120771
120772	// The minimum target capacity for Spot Instances in the fleet. If the minimum
120773	// target capacity is not reached, the fleet launches no instances.
120774	MinTargetCapacity *int64 `locationName:"minTargetCapacity" type:"integer"`
120775
120776	// Indicates that the fleet launches all Spot Instances into a single Availability
120777	// Zone. Supported only for fleets of type instant.
120778	SingleAvailabilityZone *bool `locationName:"singleAvailabilityZone" type:"boolean"`
120779
120780	// Indicates that the fleet uses a single instance type to launch all Spot Instances
120781	// in the fleet. Supported only for fleets of type instant.
120782	SingleInstanceType *bool `locationName:"singleInstanceType" type:"boolean"`
120783}
120784
120785// String returns the string representation
120786func (s SpotOptions) String() string {
120787	return awsutil.Prettify(s)
120788}
120789
120790// GoString returns the string representation
120791func (s SpotOptions) GoString() string {
120792	return s.String()
120793}
120794
120795// SetAllocationStrategy sets the AllocationStrategy field's value.
120796func (s *SpotOptions) SetAllocationStrategy(v string) *SpotOptions {
120797	s.AllocationStrategy = &v
120798	return s
120799}
120800
120801// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
120802func (s *SpotOptions) SetInstanceInterruptionBehavior(v string) *SpotOptions {
120803	s.InstanceInterruptionBehavior = &v
120804	return s
120805}
120806
120807// SetInstancePoolsToUseCount sets the InstancePoolsToUseCount field's value.
120808func (s *SpotOptions) SetInstancePoolsToUseCount(v int64) *SpotOptions {
120809	s.InstancePoolsToUseCount = &v
120810	return s
120811}
120812
120813// SetMaintenanceStrategies sets the MaintenanceStrategies field's value.
120814func (s *SpotOptions) SetMaintenanceStrategies(v *FleetSpotMaintenanceStrategies) *SpotOptions {
120815	s.MaintenanceStrategies = v
120816	return s
120817}
120818
120819// SetMaxTotalPrice sets the MaxTotalPrice field's value.
120820func (s *SpotOptions) SetMaxTotalPrice(v string) *SpotOptions {
120821	s.MaxTotalPrice = &v
120822	return s
120823}
120824
120825// SetMinTargetCapacity sets the MinTargetCapacity field's value.
120826func (s *SpotOptions) SetMinTargetCapacity(v int64) *SpotOptions {
120827	s.MinTargetCapacity = &v
120828	return s
120829}
120830
120831// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
120832func (s *SpotOptions) SetSingleAvailabilityZone(v bool) *SpotOptions {
120833	s.SingleAvailabilityZone = &v
120834	return s
120835}
120836
120837// SetSingleInstanceType sets the SingleInstanceType field's value.
120838func (s *SpotOptions) SetSingleInstanceType(v bool) *SpotOptions {
120839	s.SingleInstanceType = &v
120840	return s
120841}
120842
120843// Describes the configuration of Spot Instances in an EC2 Fleet request.
120844type SpotOptionsRequest struct {
120845	_ struct{} `type:"structure"`
120846
120847	// Indicates how to allocate the target Spot Instance capacity across the Spot
120848	// Instance pools specified by the EC2 Fleet.
120849	//
120850	// If the allocation strategy is lowest-price, EC2 Fleet launches instances
120851	// from the Spot Instance pools with the lowest price. This is the default allocation
120852	// strategy.
120853	//
120854	// If the allocation strategy is diversified, EC2 Fleet launches instances from
120855	// all of the Spot Instance pools that you specify.
120856	//
120857	// If the allocation strategy is capacity-optimized (recommended), EC2 Fleet
120858	// launches instances from Spot Instance pools with optimal capacity for the
120859	// number of instances that are launching. To give certain instance types a
120860	// higher chance of launching first, use capacity-optimized-prioritized. Set
120861	// a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides.
120862	// You can assign the same priority to different LaunchTemplateOverrides. EC2
120863	// implements the priorities on a best-effort basis, but optimizes for capacity
120864	// first. capacity-optimized-prioritized is supported only if your fleet uses
120865	// a launch template. Note that if the On-Demand AllocationStrategy is set to
120866	// prioritized, the same priority is applied when fulfilling On-Demand capacity.
120867	AllocationStrategy *string `type:"string" enum:"SpotAllocationStrategy"`
120868
120869	// The behavior when a Spot Instance is interrupted. The default is terminate.
120870	InstanceInterruptionBehavior *string `type:"string" enum:"SpotInstanceInterruptionBehavior"`
120871
120872	// The number of Spot pools across which to allocate your target Spot capacity.
120873	// Valid only when Spot AllocationStrategy is set to lowest-price. EC2 Fleet
120874	// selects the cheapest Spot pools and evenly allocates your target Spot capacity
120875	// across the number of Spot pools that you specify.
120876	//
120877	// Note that EC2 Fleet attempts to draw Spot Instances from the number of pools
120878	// that you specify on a best effort basis. If a pool runs out of Spot capacity
120879	// before fulfilling your target capacity, EC2 Fleet will continue to fulfill
120880	// your request by drawing from the next cheapest pool. To ensure that your
120881	// target capacity is met, you might receive Spot Instances from more than the
120882	// number of pools that you specified. Similarly, if most of the pools have
120883	// no Spot capacity, you might receive your full target capacity from fewer
120884	// than the number of pools that you specified.
120885	InstancePoolsToUseCount *int64 `type:"integer"`
120886
120887	// The strategies for managing your Spot Instances that are at an elevated risk
120888	// of being interrupted.
120889	MaintenanceStrategies *FleetSpotMaintenanceStrategiesRequest `type:"structure"`
120890
120891	// The maximum amount per hour for Spot Instances that you're willing to pay.
120892	MaxTotalPrice *string `type:"string"`
120893
120894	// The minimum target capacity for Spot Instances in the fleet. If the minimum
120895	// target capacity is not reached, the fleet launches no instances.
120896	MinTargetCapacity *int64 `type:"integer"`
120897
120898	// Indicates that the fleet launches all Spot Instances into a single Availability
120899	// Zone. Supported only for fleets of type instant.
120900	SingleAvailabilityZone *bool `type:"boolean"`
120901
120902	// Indicates that the fleet uses a single instance type to launch all Spot Instances
120903	// in the fleet. Supported only for fleets of type instant.
120904	SingleInstanceType *bool `type:"boolean"`
120905}
120906
120907// String returns the string representation
120908func (s SpotOptionsRequest) String() string {
120909	return awsutil.Prettify(s)
120910}
120911
120912// GoString returns the string representation
120913func (s SpotOptionsRequest) GoString() string {
120914	return s.String()
120915}
120916
120917// SetAllocationStrategy sets the AllocationStrategy field's value.
120918func (s *SpotOptionsRequest) SetAllocationStrategy(v string) *SpotOptionsRequest {
120919	s.AllocationStrategy = &v
120920	return s
120921}
120922
120923// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
120924func (s *SpotOptionsRequest) SetInstanceInterruptionBehavior(v string) *SpotOptionsRequest {
120925	s.InstanceInterruptionBehavior = &v
120926	return s
120927}
120928
120929// SetInstancePoolsToUseCount sets the InstancePoolsToUseCount field's value.
120930func (s *SpotOptionsRequest) SetInstancePoolsToUseCount(v int64) *SpotOptionsRequest {
120931	s.InstancePoolsToUseCount = &v
120932	return s
120933}
120934
120935// SetMaintenanceStrategies sets the MaintenanceStrategies field's value.
120936func (s *SpotOptionsRequest) SetMaintenanceStrategies(v *FleetSpotMaintenanceStrategiesRequest) *SpotOptionsRequest {
120937	s.MaintenanceStrategies = v
120938	return s
120939}
120940
120941// SetMaxTotalPrice sets the MaxTotalPrice field's value.
120942func (s *SpotOptionsRequest) SetMaxTotalPrice(v string) *SpotOptionsRequest {
120943	s.MaxTotalPrice = &v
120944	return s
120945}
120946
120947// SetMinTargetCapacity sets the MinTargetCapacity field's value.
120948func (s *SpotOptionsRequest) SetMinTargetCapacity(v int64) *SpotOptionsRequest {
120949	s.MinTargetCapacity = &v
120950	return s
120951}
120952
120953// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
120954func (s *SpotOptionsRequest) SetSingleAvailabilityZone(v bool) *SpotOptionsRequest {
120955	s.SingleAvailabilityZone = &v
120956	return s
120957}
120958
120959// SetSingleInstanceType sets the SingleInstanceType field's value.
120960func (s *SpotOptionsRequest) SetSingleInstanceType(v bool) *SpotOptionsRequest {
120961	s.SingleInstanceType = &v
120962	return s
120963}
120964
120965// Describes Spot Instance placement.
120966type SpotPlacement struct {
120967	_ struct{} `type:"structure"`
120968
120969	// The Availability Zone.
120970	//
120971	// [Spot Fleet only] To specify multiple Availability Zones, separate them using
120972	// commas; for example, "us-west-2a, us-west-2b".
120973	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
120974
120975	// The name of the placement group.
120976	GroupName *string `locationName:"groupName" type:"string"`
120977
120978	// The tenancy of the instance (if the instance is running in a VPC). An instance
120979	// with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
120980	// is not supported for Spot Instances.
120981	Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
120982}
120983
120984// String returns the string representation
120985func (s SpotPlacement) String() string {
120986	return awsutil.Prettify(s)
120987}
120988
120989// GoString returns the string representation
120990func (s SpotPlacement) GoString() string {
120991	return s.String()
120992}
120993
120994// SetAvailabilityZone sets the AvailabilityZone field's value.
120995func (s *SpotPlacement) SetAvailabilityZone(v string) *SpotPlacement {
120996	s.AvailabilityZone = &v
120997	return s
120998}
120999
121000// SetGroupName sets the GroupName field's value.
121001func (s *SpotPlacement) SetGroupName(v string) *SpotPlacement {
121002	s.GroupName = &v
121003	return s
121004}
121005
121006// SetTenancy sets the Tenancy field's value.
121007func (s *SpotPlacement) SetTenancy(v string) *SpotPlacement {
121008	s.Tenancy = &v
121009	return s
121010}
121011
121012// Describes the maximum price per hour that you are willing to pay for a Spot
121013// Instance.
121014type SpotPrice struct {
121015	_ struct{} `type:"structure"`
121016
121017	// The Availability Zone.
121018	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
121019
121020	// The instance type.
121021	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
121022
121023	// A general description of the AMI.
121024	ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
121025
121026	// The maximum price per hour that you are willing to pay for a Spot Instance.
121027	SpotPrice *string `locationName:"spotPrice" type:"string"`
121028
121029	// The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
121030	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
121031}
121032
121033// String returns the string representation
121034func (s SpotPrice) String() string {
121035	return awsutil.Prettify(s)
121036}
121037
121038// GoString returns the string representation
121039func (s SpotPrice) GoString() string {
121040	return s.String()
121041}
121042
121043// SetAvailabilityZone sets the AvailabilityZone field's value.
121044func (s *SpotPrice) SetAvailabilityZone(v string) *SpotPrice {
121045	s.AvailabilityZone = &v
121046	return s
121047}
121048
121049// SetInstanceType sets the InstanceType field's value.
121050func (s *SpotPrice) SetInstanceType(v string) *SpotPrice {
121051	s.InstanceType = &v
121052	return s
121053}
121054
121055// SetProductDescription sets the ProductDescription field's value.
121056func (s *SpotPrice) SetProductDescription(v string) *SpotPrice {
121057	s.ProductDescription = &v
121058	return s
121059}
121060
121061// SetSpotPrice sets the SpotPrice field's value.
121062func (s *SpotPrice) SetSpotPrice(v string) *SpotPrice {
121063	s.SpotPrice = &v
121064	return s
121065}
121066
121067// SetTimestamp sets the Timestamp field's value.
121068func (s *SpotPrice) SetTimestamp(v time.Time) *SpotPrice {
121069	s.Timestamp = &v
121070	return s
121071}
121072
121073// Describes a stale rule in a security group.
121074type StaleIpPermission struct {
121075	_ struct{} `type:"structure"`
121076
121077	// The start of the port range for the TCP and UDP protocols, or an ICMP type
121078	// number. A value of -1 indicates all ICMP types.
121079	FromPort *int64 `locationName:"fromPort" type:"integer"`
121080
121081	// The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers)
121082	// (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).
121083	IpProtocol *string `locationName:"ipProtocol" type:"string"`
121084
121085	// The IP ranges. Not applicable for stale security group rules.
121086	IpRanges []*string `locationName:"ipRanges" locationNameList:"item" type:"list"`
121087
121088	// The prefix list IDs. Not applicable for stale security group rules.
121089	PrefixListIds []*string `locationName:"prefixListIds" locationNameList:"item" type:"list"`
121090
121091	// The end of the port range for the TCP and UDP protocols, or an ICMP type
121092	// number. A value of -1 indicates all ICMP types.
121093	ToPort *int64 `locationName:"toPort" type:"integer"`
121094
121095	// The security group pairs. Returns the ID of the referenced security group
121096	// and VPC, and the ID and status of the VPC peering connection.
121097	UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
121098}
121099
121100// String returns the string representation
121101func (s StaleIpPermission) String() string {
121102	return awsutil.Prettify(s)
121103}
121104
121105// GoString returns the string representation
121106func (s StaleIpPermission) GoString() string {
121107	return s.String()
121108}
121109
121110// SetFromPort sets the FromPort field's value.
121111func (s *StaleIpPermission) SetFromPort(v int64) *StaleIpPermission {
121112	s.FromPort = &v
121113	return s
121114}
121115
121116// SetIpProtocol sets the IpProtocol field's value.
121117func (s *StaleIpPermission) SetIpProtocol(v string) *StaleIpPermission {
121118	s.IpProtocol = &v
121119	return s
121120}
121121
121122// SetIpRanges sets the IpRanges field's value.
121123func (s *StaleIpPermission) SetIpRanges(v []*string) *StaleIpPermission {
121124	s.IpRanges = v
121125	return s
121126}
121127
121128// SetPrefixListIds sets the PrefixListIds field's value.
121129func (s *StaleIpPermission) SetPrefixListIds(v []*string) *StaleIpPermission {
121130	s.PrefixListIds = v
121131	return s
121132}
121133
121134// SetToPort sets the ToPort field's value.
121135func (s *StaleIpPermission) SetToPort(v int64) *StaleIpPermission {
121136	s.ToPort = &v
121137	return s
121138}
121139
121140// SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
121141func (s *StaleIpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *StaleIpPermission {
121142	s.UserIdGroupPairs = v
121143	return s
121144}
121145
121146// Describes a stale security group (a security group that contains stale rules).
121147type StaleSecurityGroup struct {
121148	_ struct{} `type:"structure"`
121149
121150	// The description of the security group.
121151	Description *string `locationName:"description" type:"string"`
121152
121153	// The ID of the security group.
121154	GroupId *string `locationName:"groupId" type:"string"`
121155
121156	// The name of the security group.
121157	GroupName *string `locationName:"groupName" type:"string"`
121158
121159	// Information about the stale inbound rules in the security group.
121160	StaleIpPermissions []*StaleIpPermission `locationName:"staleIpPermissions" locationNameList:"item" type:"list"`
121161
121162	// Information about the stale outbound rules in the security group.
121163	StaleIpPermissionsEgress []*StaleIpPermission `locationName:"staleIpPermissionsEgress" locationNameList:"item" type:"list"`
121164
121165	// The ID of the VPC for the security group.
121166	VpcId *string `locationName:"vpcId" type:"string"`
121167}
121168
121169// String returns the string representation
121170func (s StaleSecurityGroup) String() string {
121171	return awsutil.Prettify(s)
121172}
121173
121174// GoString returns the string representation
121175func (s StaleSecurityGroup) GoString() string {
121176	return s.String()
121177}
121178
121179// SetDescription sets the Description field's value.
121180func (s *StaleSecurityGroup) SetDescription(v string) *StaleSecurityGroup {
121181	s.Description = &v
121182	return s
121183}
121184
121185// SetGroupId sets the GroupId field's value.
121186func (s *StaleSecurityGroup) SetGroupId(v string) *StaleSecurityGroup {
121187	s.GroupId = &v
121188	return s
121189}
121190
121191// SetGroupName sets the GroupName field's value.
121192func (s *StaleSecurityGroup) SetGroupName(v string) *StaleSecurityGroup {
121193	s.GroupName = &v
121194	return s
121195}
121196
121197// SetStaleIpPermissions sets the StaleIpPermissions field's value.
121198func (s *StaleSecurityGroup) SetStaleIpPermissions(v []*StaleIpPermission) *StaleSecurityGroup {
121199	s.StaleIpPermissions = v
121200	return s
121201}
121202
121203// SetStaleIpPermissionsEgress sets the StaleIpPermissionsEgress field's value.
121204func (s *StaleSecurityGroup) SetStaleIpPermissionsEgress(v []*StaleIpPermission) *StaleSecurityGroup {
121205	s.StaleIpPermissionsEgress = v
121206	return s
121207}
121208
121209// SetVpcId sets the VpcId field's value.
121210func (s *StaleSecurityGroup) SetVpcId(v string) *StaleSecurityGroup {
121211	s.VpcId = &v
121212	return s
121213}
121214
121215type StartInstancesInput struct {
121216	_ struct{} `type:"structure"`
121217
121218	// Reserved.
121219	AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
121220
121221	// Checks whether you have the required permissions for the action, without
121222	// actually making the request, and provides an error response. If you have
121223	// the required permissions, the error response is DryRunOperation. Otherwise,
121224	// it is UnauthorizedOperation.
121225	DryRun *bool `locationName:"dryRun" type:"boolean"`
121226
121227	// The IDs of the instances.
121228	//
121229	// InstanceIds is a required field
121230	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
121231}
121232
121233// String returns the string representation
121234func (s StartInstancesInput) String() string {
121235	return awsutil.Prettify(s)
121236}
121237
121238// GoString returns the string representation
121239func (s StartInstancesInput) GoString() string {
121240	return s.String()
121241}
121242
121243// Validate inspects the fields of the type to determine if they are valid.
121244func (s *StartInstancesInput) Validate() error {
121245	invalidParams := request.ErrInvalidParams{Context: "StartInstancesInput"}
121246	if s.InstanceIds == nil {
121247		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
121248	}
121249
121250	if invalidParams.Len() > 0 {
121251		return invalidParams
121252	}
121253	return nil
121254}
121255
121256// SetAdditionalInfo sets the AdditionalInfo field's value.
121257func (s *StartInstancesInput) SetAdditionalInfo(v string) *StartInstancesInput {
121258	s.AdditionalInfo = &v
121259	return s
121260}
121261
121262// SetDryRun sets the DryRun field's value.
121263func (s *StartInstancesInput) SetDryRun(v bool) *StartInstancesInput {
121264	s.DryRun = &v
121265	return s
121266}
121267
121268// SetInstanceIds sets the InstanceIds field's value.
121269func (s *StartInstancesInput) SetInstanceIds(v []*string) *StartInstancesInput {
121270	s.InstanceIds = v
121271	return s
121272}
121273
121274type StartInstancesOutput struct {
121275	_ struct{} `type:"structure"`
121276
121277	// Information about the started instances.
121278	StartingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
121279}
121280
121281// String returns the string representation
121282func (s StartInstancesOutput) String() string {
121283	return awsutil.Prettify(s)
121284}
121285
121286// GoString returns the string representation
121287func (s StartInstancesOutput) GoString() string {
121288	return s.String()
121289}
121290
121291// SetStartingInstances sets the StartingInstances field's value.
121292func (s *StartInstancesOutput) SetStartingInstances(v []*InstanceStateChange) *StartInstancesOutput {
121293	s.StartingInstances = v
121294	return s
121295}
121296
121297type StartNetworkInsightsAnalysisInput struct {
121298	_ struct{} `type:"structure"`
121299
121300	// Unique, case-sensitive identifier that you provide to ensure the idempotency
121301	// of the request. For more information, see How to ensure idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
121302	ClientToken *string `type:"string" idempotencyToken:"true"`
121303
121304	// Checks whether you have the required permissions for the action, without
121305	// actually making the request, and provides an error response. If you have
121306	// the required permissions, the error response is DryRunOperation. Otherwise,
121307	// it is UnauthorizedOperation.
121308	DryRun *bool `type:"boolean"`
121309
121310	// The Amazon Resource Names (ARN) of the resources that the path must traverse.
121311	FilterInArns []*string `locationName:"FilterInArn" locationNameList:"item" type:"list"`
121312
121313	// The ID of the path.
121314	//
121315	// NetworkInsightsPathId is a required field
121316	NetworkInsightsPathId *string `type:"string" required:"true"`
121317
121318	// The tags to apply.
121319	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
121320}
121321
121322// String returns the string representation
121323func (s StartNetworkInsightsAnalysisInput) String() string {
121324	return awsutil.Prettify(s)
121325}
121326
121327// GoString returns the string representation
121328func (s StartNetworkInsightsAnalysisInput) GoString() string {
121329	return s.String()
121330}
121331
121332// Validate inspects the fields of the type to determine if they are valid.
121333func (s *StartNetworkInsightsAnalysisInput) Validate() error {
121334	invalidParams := request.ErrInvalidParams{Context: "StartNetworkInsightsAnalysisInput"}
121335	if s.NetworkInsightsPathId == nil {
121336		invalidParams.Add(request.NewErrParamRequired("NetworkInsightsPathId"))
121337	}
121338
121339	if invalidParams.Len() > 0 {
121340		return invalidParams
121341	}
121342	return nil
121343}
121344
121345// SetClientToken sets the ClientToken field's value.
121346func (s *StartNetworkInsightsAnalysisInput) SetClientToken(v string) *StartNetworkInsightsAnalysisInput {
121347	s.ClientToken = &v
121348	return s
121349}
121350
121351// SetDryRun sets the DryRun field's value.
121352func (s *StartNetworkInsightsAnalysisInput) SetDryRun(v bool) *StartNetworkInsightsAnalysisInput {
121353	s.DryRun = &v
121354	return s
121355}
121356
121357// SetFilterInArns sets the FilterInArns field's value.
121358func (s *StartNetworkInsightsAnalysisInput) SetFilterInArns(v []*string) *StartNetworkInsightsAnalysisInput {
121359	s.FilterInArns = v
121360	return s
121361}
121362
121363// SetNetworkInsightsPathId sets the NetworkInsightsPathId field's value.
121364func (s *StartNetworkInsightsAnalysisInput) SetNetworkInsightsPathId(v string) *StartNetworkInsightsAnalysisInput {
121365	s.NetworkInsightsPathId = &v
121366	return s
121367}
121368
121369// SetTagSpecifications sets the TagSpecifications field's value.
121370func (s *StartNetworkInsightsAnalysisInput) SetTagSpecifications(v []*TagSpecification) *StartNetworkInsightsAnalysisInput {
121371	s.TagSpecifications = v
121372	return s
121373}
121374
121375type StartNetworkInsightsAnalysisOutput struct {
121376	_ struct{} `type:"structure"`
121377
121378	// Information about the network insights analysis.
121379	NetworkInsightsAnalysis *NetworkInsightsAnalysis `locationName:"networkInsightsAnalysis" type:"structure"`
121380}
121381
121382// String returns the string representation
121383func (s StartNetworkInsightsAnalysisOutput) String() string {
121384	return awsutil.Prettify(s)
121385}
121386
121387// GoString returns the string representation
121388func (s StartNetworkInsightsAnalysisOutput) GoString() string {
121389	return s.String()
121390}
121391
121392// SetNetworkInsightsAnalysis sets the NetworkInsightsAnalysis field's value.
121393func (s *StartNetworkInsightsAnalysisOutput) SetNetworkInsightsAnalysis(v *NetworkInsightsAnalysis) *StartNetworkInsightsAnalysisOutput {
121394	s.NetworkInsightsAnalysis = v
121395	return s
121396}
121397
121398type StartVpcEndpointServicePrivateDnsVerificationInput struct {
121399	_ struct{} `type:"structure"`
121400
121401	// Checks whether you have the required permissions for the action, without
121402	// actually making the request, and provides an error response. If you have
121403	// the required permissions, the error response is DryRunOperation. Otherwise,
121404	// it is UnauthorizedOperation.
121405	DryRun *bool `type:"boolean"`
121406
121407	// The ID of the endpoint service.
121408	//
121409	// ServiceId is a required field
121410	ServiceId *string `type:"string" required:"true"`
121411}
121412
121413// String returns the string representation
121414func (s StartVpcEndpointServicePrivateDnsVerificationInput) String() string {
121415	return awsutil.Prettify(s)
121416}
121417
121418// GoString returns the string representation
121419func (s StartVpcEndpointServicePrivateDnsVerificationInput) GoString() string {
121420	return s.String()
121421}
121422
121423// Validate inspects the fields of the type to determine if they are valid.
121424func (s *StartVpcEndpointServicePrivateDnsVerificationInput) Validate() error {
121425	invalidParams := request.ErrInvalidParams{Context: "StartVpcEndpointServicePrivateDnsVerificationInput"}
121426	if s.ServiceId == nil {
121427		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
121428	}
121429
121430	if invalidParams.Len() > 0 {
121431		return invalidParams
121432	}
121433	return nil
121434}
121435
121436// SetDryRun sets the DryRun field's value.
121437func (s *StartVpcEndpointServicePrivateDnsVerificationInput) SetDryRun(v bool) *StartVpcEndpointServicePrivateDnsVerificationInput {
121438	s.DryRun = &v
121439	return s
121440}
121441
121442// SetServiceId sets the ServiceId field's value.
121443func (s *StartVpcEndpointServicePrivateDnsVerificationInput) SetServiceId(v string) *StartVpcEndpointServicePrivateDnsVerificationInput {
121444	s.ServiceId = &v
121445	return s
121446}
121447
121448type StartVpcEndpointServicePrivateDnsVerificationOutput struct {
121449	_ struct{} `type:"structure"`
121450
121451	// Returns true if the request succeeds; otherwise, it returns an error.
121452	ReturnValue *bool `locationName:"return" type:"boolean"`
121453}
121454
121455// String returns the string representation
121456func (s StartVpcEndpointServicePrivateDnsVerificationOutput) String() string {
121457	return awsutil.Prettify(s)
121458}
121459
121460// GoString returns the string representation
121461func (s StartVpcEndpointServicePrivateDnsVerificationOutput) GoString() string {
121462	return s.String()
121463}
121464
121465// SetReturnValue sets the ReturnValue field's value.
121466func (s *StartVpcEndpointServicePrivateDnsVerificationOutput) SetReturnValue(v bool) *StartVpcEndpointServicePrivateDnsVerificationOutput {
121467	s.ReturnValue = &v
121468	return s
121469}
121470
121471// Describes a state change.
121472type StateReason struct {
121473	_ struct{} `type:"structure"`
121474
121475	// The reason code for the state change.
121476	Code *string `locationName:"code" type:"string"`
121477
121478	// The message for the state change.
121479	//
121480	//    * Server.InsufficientInstanceCapacity: There was insufficient capacity
121481	//    available to satisfy the launch request.
121482	//
121483	//    * Server.InternalError: An internal error caused the instance to terminate
121484	//    during launch.
121485	//
121486	//    * Server.ScheduledStop: The instance was stopped due to a scheduled retirement.
121487	//
121488	//    * Server.SpotInstanceShutdown: The instance was stopped because the number
121489	//    of Spot requests with a maximum price equal to or higher than the Spot
121490	//    price exceeded available capacity or because of an increase in the Spot
121491	//    price.
121492	//
121493	//    * Server.SpotInstanceTermination: The instance was terminated because
121494	//    the number of Spot requests with a maximum price equal to or higher than
121495	//    the Spot price exceeded available capacity or because of an increase in
121496	//    the Spot price.
121497	//
121498	//    * Client.InstanceInitiatedShutdown: The instance was shut down using the
121499	//    shutdown -h command from the instance.
121500	//
121501	//    * Client.InstanceTerminated: The instance was terminated or rebooted during
121502	//    AMI creation.
121503	//
121504	//    * Client.InternalError: A client error caused the instance to terminate
121505	//    during launch.
121506	//
121507	//    * Client.InvalidSnapshot.NotFound: The specified snapshot was not found.
121508	//
121509	//    * Client.UserInitiatedHibernate: Hibernation was initiated on the instance.
121510	//
121511	//    * Client.UserInitiatedShutdown: The instance was shut down using the Amazon
121512	//    EC2 API.
121513	//
121514	//    * Client.VolumeLimitExceeded: The limit on the number of EBS volumes or
121515	//    total storage was exceeded. Decrease usage or request an increase in your
121516	//    account limits.
121517	Message *string `locationName:"message" type:"string"`
121518}
121519
121520// String returns the string representation
121521func (s StateReason) String() string {
121522	return awsutil.Prettify(s)
121523}
121524
121525// GoString returns the string representation
121526func (s StateReason) GoString() string {
121527	return s.String()
121528}
121529
121530// SetCode sets the Code field's value.
121531func (s *StateReason) SetCode(v string) *StateReason {
121532	s.Code = &v
121533	return s
121534}
121535
121536// SetMessage sets the Message field's value.
121537func (s *StateReason) SetMessage(v string) *StateReason {
121538	s.Message = &v
121539	return s
121540}
121541
121542type StopInstancesInput struct {
121543	_ struct{} `type:"structure"`
121544
121545	// Checks whether you have the required permissions for the action, without
121546	// actually making the request, and provides an error response. If you have
121547	// the required permissions, the error response is DryRunOperation. Otherwise,
121548	// it is UnauthorizedOperation.
121549	DryRun *bool `locationName:"dryRun" type:"boolean"`
121550
121551	// Forces the instances to stop. The instances do not have an opportunity to
121552	// flush file system caches or file system metadata. If you use this option,
121553	// you must perform file system check and repair procedures. This option is
121554	// not recommended for Windows instances.
121555	//
121556	// Default: false
121557	Force *bool `locationName:"force" type:"boolean"`
121558
121559	// Hibernates the instance if the instance was enabled for hibernation at launch.
121560	// If the instance cannot hibernate successfully, a normal shutdown occurs.
121561	// For more information, see Hibernate your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
121562	// in the Amazon EC2 User Guide.
121563	//
121564	// Default: false
121565	Hibernate *bool `type:"boolean"`
121566
121567	// The IDs of the instances.
121568	//
121569	// InstanceIds is a required field
121570	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
121571}
121572
121573// String returns the string representation
121574func (s StopInstancesInput) String() string {
121575	return awsutil.Prettify(s)
121576}
121577
121578// GoString returns the string representation
121579func (s StopInstancesInput) GoString() string {
121580	return s.String()
121581}
121582
121583// Validate inspects the fields of the type to determine if they are valid.
121584func (s *StopInstancesInput) Validate() error {
121585	invalidParams := request.ErrInvalidParams{Context: "StopInstancesInput"}
121586	if s.InstanceIds == nil {
121587		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
121588	}
121589
121590	if invalidParams.Len() > 0 {
121591		return invalidParams
121592	}
121593	return nil
121594}
121595
121596// SetDryRun sets the DryRun field's value.
121597func (s *StopInstancesInput) SetDryRun(v bool) *StopInstancesInput {
121598	s.DryRun = &v
121599	return s
121600}
121601
121602// SetForce sets the Force field's value.
121603func (s *StopInstancesInput) SetForce(v bool) *StopInstancesInput {
121604	s.Force = &v
121605	return s
121606}
121607
121608// SetHibernate sets the Hibernate field's value.
121609func (s *StopInstancesInput) SetHibernate(v bool) *StopInstancesInput {
121610	s.Hibernate = &v
121611	return s
121612}
121613
121614// SetInstanceIds sets the InstanceIds field's value.
121615func (s *StopInstancesInput) SetInstanceIds(v []*string) *StopInstancesInput {
121616	s.InstanceIds = v
121617	return s
121618}
121619
121620type StopInstancesOutput struct {
121621	_ struct{} `type:"structure"`
121622
121623	// Information about the stopped instances.
121624	StoppingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
121625}
121626
121627// String returns the string representation
121628func (s StopInstancesOutput) String() string {
121629	return awsutil.Prettify(s)
121630}
121631
121632// GoString returns the string representation
121633func (s StopInstancesOutput) GoString() string {
121634	return s.String()
121635}
121636
121637// SetStoppingInstances sets the StoppingInstances field's value.
121638func (s *StopInstancesOutput) SetStoppingInstances(v []*InstanceStateChange) *StopInstancesOutput {
121639	s.StoppingInstances = v
121640	return s
121641}
121642
121643// Describes the storage location for an instance store-backed AMI.
121644type Storage struct {
121645	_ struct{} `type:"structure"`
121646
121647	// An Amazon S3 storage location.
121648	S3 *S3Storage `type:"structure"`
121649}
121650
121651// String returns the string representation
121652func (s Storage) String() string {
121653	return awsutil.Prettify(s)
121654}
121655
121656// GoString returns the string representation
121657func (s Storage) GoString() string {
121658	return s.String()
121659}
121660
121661// SetS3 sets the S3 field's value.
121662func (s *Storage) SetS3(v *S3Storage) *Storage {
121663	s.S3 = v
121664	return s
121665}
121666
121667// Describes a storage location in Amazon S3.
121668type StorageLocation struct {
121669	_ struct{} `type:"structure"`
121670
121671	// The name of the S3 bucket.
121672	Bucket *string `type:"string"`
121673
121674	// The key.
121675	Key *string `type:"string"`
121676}
121677
121678// String returns the string representation
121679func (s StorageLocation) String() string {
121680	return awsutil.Prettify(s)
121681}
121682
121683// GoString returns the string representation
121684func (s StorageLocation) GoString() string {
121685	return s.String()
121686}
121687
121688// SetBucket sets the Bucket field's value.
121689func (s *StorageLocation) SetBucket(v string) *StorageLocation {
121690	s.Bucket = &v
121691	return s
121692}
121693
121694// SetKey sets the Key field's value.
121695func (s *StorageLocation) SetKey(v string) *StorageLocation {
121696	s.Key = &v
121697	return s
121698}
121699
121700// The information about the AMI store task, including the progress of the task.
121701type StoreImageTaskResult struct {
121702	_ struct{} `type:"structure"`
121703
121704	// The ID of the AMI that is being stored.
121705	AmiId *string `locationName:"amiId" type:"string"`
121706
121707	// The name of the S3 bucket that contains the stored AMI object.
121708	Bucket *string `locationName:"bucket" type:"string"`
121709
121710	// The progress of the task as a percentage.
121711	ProgressPercentage *int64 `locationName:"progressPercentage" type:"integer"`
121712
121713	// The name of the stored AMI object in the bucket.
121714	S3objectKey *string `locationName:"s3objectKey" type:"string"`
121715
121716	// If the tasks fails, the reason for the failure is returned. If the task succeeds,
121717	// null is returned.
121718	StoreTaskFailureReason *string `locationName:"storeTaskFailureReason" type:"string"`
121719
121720	// The state of the store task (InProgress, Completed, or Failed).
121721	StoreTaskState *string `locationName:"storeTaskState" type:"string"`
121722
121723	// The time the task started.
121724	TaskStartTime *time.Time `locationName:"taskStartTime" type:"timestamp"`
121725}
121726
121727// String returns the string representation
121728func (s StoreImageTaskResult) String() string {
121729	return awsutil.Prettify(s)
121730}
121731
121732// GoString returns the string representation
121733func (s StoreImageTaskResult) GoString() string {
121734	return s.String()
121735}
121736
121737// SetAmiId sets the AmiId field's value.
121738func (s *StoreImageTaskResult) SetAmiId(v string) *StoreImageTaskResult {
121739	s.AmiId = &v
121740	return s
121741}
121742
121743// SetBucket sets the Bucket field's value.
121744func (s *StoreImageTaskResult) SetBucket(v string) *StoreImageTaskResult {
121745	s.Bucket = &v
121746	return s
121747}
121748
121749// SetProgressPercentage sets the ProgressPercentage field's value.
121750func (s *StoreImageTaskResult) SetProgressPercentage(v int64) *StoreImageTaskResult {
121751	s.ProgressPercentage = &v
121752	return s
121753}
121754
121755// SetS3objectKey sets the S3objectKey field's value.
121756func (s *StoreImageTaskResult) SetS3objectKey(v string) *StoreImageTaskResult {
121757	s.S3objectKey = &v
121758	return s
121759}
121760
121761// SetStoreTaskFailureReason sets the StoreTaskFailureReason field's value.
121762func (s *StoreImageTaskResult) SetStoreTaskFailureReason(v string) *StoreImageTaskResult {
121763	s.StoreTaskFailureReason = &v
121764	return s
121765}
121766
121767// SetStoreTaskState sets the StoreTaskState field's value.
121768func (s *StoreImageTaskResult) SetStoreTaskState(v string) *StoreImageTaskResult {
121769	s.StoreTaskState = &v
121770	return s
121771}
121772
121773// SetTaskStartTime sets the TaskStartTime field's value.
121774func (s *StoreImageTaskResult) SetTaskStartTime(v time.Time) *StoreImageTaskResult {
121775	s.TaskStartTime = &v
121776	return s
121777}
121778
121779// Describes a subnet.
121780type Subnet struct {
121781	_ struct{} `type:"structure"`
121782
121783	// Indicates whether a network interface created in this subnet (including a
121784	// network interface created by RunInstances) receives an IPv6 address.
121785	AssignIpv6AddressOnCreation *bool `locationName:"assignIpv6AddressOnCreation" type:"boolean"`
121786
121787	// The Availability Zone of the subnet.
121788	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
121789
121790	// The AZ ID of the subnet.
121791	AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"`
121792
121793	// The number of unused private IPv4 addresses in the subnet. The IPv4 addresses
121794	// for any stopped instances are considered unavailable.
121795	AvailableIpAddressCount *int64 `locationName:"availableIpAddressCount" type:"integer"`
121796
121797	// The IPv4 CIDR block assigned to the subnet.
121798	CidrBlock *string `locationName:"cidrBlock" type:"string"`
121799
121800	// The customer-owned IPv4 address pool associated with the subnet.
121801	CustomerOwnedIpv4Pool *string `locationName:"customerOwnedIpv4Pool" type:"string"`
121802
121803	// Indicates whether this is the default subnet for the Availability Zone.
121804	DefaultForAz *bool `locationName:"defaultForAz" type:"boolean"`
121805
121806	// Information about the IPv6 CIDR blocks associated with the subnet.
121807	Ipv6CidrBlockAssociationSet []*SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
121808
121809	// Indicates whether a network interface created in this subnet (including a
121810	// network interface created by RunInstances) receives a customer-owned IPv4
121811	// address.
121812	MapCustomerOwnedIpOnLaunch *bool `locationName:"mapCustomerOwnedIpOnLaunch" type:"boolean"`
121813
121814	// Indicates whether instances launched in this subnet receive a public IPv4
121815	// address.
121816	MapPublicIpOnLaunch *bool `locationName:"mapPublicIpOnLaunch" type:"boolean"`
121817
121818	// The Amazon Resource Name (ARN) of the Outpost.
121819	OutpostArn *string `locationName:"outpostArn" type:"string"`
121820
121821	// The ID of the Amazon Web Services account that owns the subnet.
121822	OwnerId *string `locationName:"ownerId" type:"string"`
121823
121824	// The current state of the subnet.
121825	State *string `locationName:"state" type:"string" enum:"SubnetState"`
121826
121827	// The Amazon Resource Name (ARN) of the subnet.
121828	SubnetArn *string `locationName:"subnetArn" type:"string"`
121829
121830	// The ID of the subnet.
121831	SubnetId *string `locationName:"subnetId" type:"string"`
121832
121833	// Any tags assigned to the subnet.
121834	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
121835
121836	// The ID of the VPC the subnet is in.
121837	VpcId *string `locationName:"vpcId" type:"string"`
121838}
121839
121840// String returns the string representation
121841func (s Subnet) String() string {
121842	return awsutil.Prettify(s)
121843}
121844
121845// GoString returns the string representation
121846func (s Subnet) GoString() string {
121847	return s.String()
121848}
121849
121850// SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
121851func (s *Subnet) SetAssignIpv6AddressOnCreation(v bool) *Subnet {
121852	s.AssignIpv6AddressOnCreation = &v
121853	return s
121854}
121855
121856// SetAvailabilityZone sets the AvailabilityZone field's value.
121857func (s *Subnet) SetAvailabilityZone(v string) *Subnet {
121858	s.AvailabilityZone = &v
121859	return s
121860}
121861
121862// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
121863func (s *Subnet) SetAvailabilityZoneId(v string) *Subnet {
121864	s.AvailabilityZoneId = &v
121865	return s
121866}
121867
121868// SetAvailableIpAddressCount sets the AvailableIpAddressCount field's value.
121869func (s *Subnet) SetAvailableIpAddressCount(v int64) *Subnet {
121870	s.AvailableIpAddressCount = &v
121871	return s
121872}
121873
121874// SetCidrBlock sets the CidrBlock field's value.
121875func (s *Subnet) SetCidrBlock(v string) *Subnet {
121876	s.CidrBlock = &v
121877	return s
121878}
121879
121880// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
121881func (s *Subnet) SetCustomerOwnedIpv4Pool(v string) *Subnet {
121882	s.CustomerOwnedIpv4Pool = &v
121883	return s
121884}
121885
121886// SetDefaultForAz sets the DefaultForAz field's value.
121887func (s *Subnet) SetDefaultForAz(v bool) *Subnet {
121888	s.DefaultForAz = &v
121889	return s
121890}
121891
121892// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
121893func (s *Subnet) SetIpv6CidrBlockAssociationSet(v []*SubnetIpv6CidrBlockAssociation) *Subnet {
121894	s.Ipv6CidrBlockAssociationSet = v
121895	return s
121896}
121897
121898// SetMapCustomerOwnedIpOnLaunch sets the MapCustomerOwnedIpOnLaunch field's value.
121899func (s *Subnet) SetMapCustomerOwnedIpOnLaunch(v bool) *Subnet {
121900	s.MapCustomerOwnedIpOnLaunch = &v
121901	return s
121902}
121903
121904// SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
121905func (s *Subnet) SetMapPublicIpOnLaunch(v bool) *Subnet {
121906	s.MapPublicIpOnLaunch = &v
121907	return s
121908}
121909
121910// SetOutpostArn sets the OutpostArn field's value.
121911func (s *Subnet) SetOutpostArn(v string) *Subnet {
121912	s.OutpostArn = &v
121913	return s
121914}
121915
121916// SetOwnerId sets the OwnerId field's value.
121917func (s *Subnet) SetOwnerId(v string) *Subnet {
121918	s.OwnerId = &v
121919	return s
121920}
121921
121922// SetState sets the State field's value.
121923func (s *Subnet) SetState(v string) *Subnet {
121924	s.State = &v
121925	return s
121926}
121927
121928// SetSubnetArn sets the SubnetArn field's value.
121929func (s *Subnet) SetSubnetArn(v string) *Subnet {
121930	s.SubnetArn = &v
121931	return s
121932}
121933
121934// SetSubnetId sets the SubnetId field's value.
121935func (s *Subnet) SetSubnetId(v string) *Subnet {
121936	s.SubnetId = &v
121937	return s
121938}
121939
121940// SetTags sets the Tags field's value.
121941func (s *Subnet) SetTags(v []*Tag) *Subnet {
121942	s.Tags = v
121943	return s
121944}
121945
121946// SetVpcId sets the VpcId field's value.
121947func (s *Subnet) SetVpcId(v string) *Subnet {
121948	s.VpcId = &v
121949	return s
121950}
121951
121952// Describes the subnet association with the transit gateway multicast domain.
121953type SubnetAssociation struct {
121954	_ struct{} `type:"structure"`
121955
121956	// The state of the subnet association.
121957	State *string `locationName:"state" type:"string" enum:"TransitGatewayMulitcastDomainAssociationState"`
121958
121959	// The ID of the subnet.
121960	SubnetId *string `locationName:"subnetId" type:"string"`
121961}
121962
121963// String returns the string representation
121964func (s SubnetAssociation) String() string {
121965	return awsutil.Prettify(s)
121966}
121967
121968// GoString returns the string representation
121969func (s SubnetAssociation) GoString() string {
121970	return s.String()
121971}
121972
121973// SetState sets the State field's value.
121974func (s *SubnetAssociation) SetState(v string) *SubnetAssociation {
121975	s.State = &v
121976	return s
121977}
121978
121979// SetSubnetId sets the SubnetId field's value.
121980func (s *SubnetAssociation) SetSubnetId(v string) *SubnetAssociation {
121981	s.SubnetId = &v
121982	return s
121983}
121984
121985// Describes the state of a CIDR block.
121986type SubnetCidrBlockState struct {
121987	_ struct{} `type:"structure"`
121988
121989	// The state of a CIDR block.
121990	State *string `locationName:"state" type:"string" enum:"SubnetCidrBlockStateCode"`
121991
121992	// A message about the status of the CIDR block, if applicable.
121993	StatusMessage *string `locationName:"statusMessage" type:"string"`
121994}
121995
121996// String returns the string representation
121997func (s SubnetCidrBlockState) String() string {
121998	return awsutil.Prettify(s)
121999}
122000
122001// GoString returns the string representation
122002func (s SubnetCidrBlockState) GoString() string {
122003	return s.String()
122004}
122005
122006// SetState sets the State field's value.
122007func (s *SubnetCidrBlockState) SetState(v string) *SubnetCidrBlockState {
122008	s.State = &v
122009	return s
122010}
122011
122012// SetStatusMessage sets the StatusMessage field's value.
122013func (s *SubnetCidrBlockState) SetStatusMessage(v string) *SubnetCidrBlockState {
122014	s.StatusMessage = &v
122015	return s
122016}
122017
122018// Describes a subnet CIDR reservation.
122019type SubnetCidrReservation struct {
122020	_ struct{} `type:"structure"`
122021
122022	// The CIDR that has been reserved.
122023	Cidr *string `locationName:"cidr" type:"string"`
122024
122025	// The description assigned to the subnet CIDR reservation.
122026	Description *string `locationName:"description" type:"string"`
122027
122028	// The ID of the account that owns the subnet CIDR reservation.
122029	OwnerId *string `locationName:"ownerId" type:"string"`
122030
122031	// The type of reservation.
122032	ReservationType *string `locationName:"reservationType" type:"string" enum:"SubnetCidrReservationType"`
122033
122034	// The ID of the subnet CIDR reservation.
122035	SubnetCidrReservationId *string `locationName:"subnetCidrReservationId" type:"string"`
122036
122037	// The ID of the subnet.
122038	SubnetId *string `locationName:"subnetId" type:"string"`
122039
122040	// The tags assigned to the subnet CIDR reservation.
122041	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
122042}
122043
122044// String returns the string representation
122045func (s SubnetCidrReservation) String() string {
122046	return awsutil.Prettify(s)
122047}
122048
122049// GoString returns the string representation
122050func (s SubnetCidrReservation) GoString() string {
122051	return s.String()
122052}
122053
122054// SetCidr sets the Cidr field's value.
122055func (s *SubnetCidrReservation) SetCidr(v string) *SubnetCidrReservation {
122056	s.Cidr = &v
122057	return s
122058}
122059
122060// SetDescription sets the Description field's value.
122061func (s *SubnetCidrReservation) SetDescription(v string) *SubnetCidrReservation {
122062	s.Description = &v
122063	return s
122064}
122065
122066// SetOwnerId sets the OwnerId field's value.
122067func (s *SubnetCidrReservation) SetOwnerId(v string) *SubnetCidrReservation {
122068	s.OwnerId = &v
122069	return s
122070}
122071
122072// SetReservationType sets the ReservationType field's value.
122073func (s *SubnetCidrReservation) SetReservationType(v string) *SubnetCidrReservation {
122074	s.ReservationType = &v
122075	return s
122076}
122077
122078// SetSubnetCidrReservationId sets the SubnetCidrReservationId field's value.
122079func (s *SubnetCidrReservation) SetSubnetCidrReservationId(v string) *SubnetCidrReservation {
122080	s.SubnetCidrReservationId = &v
122081	return s
122082}
122083
122084// SetSubnetId sets the SubnetId field's value.
122085func (s *SubnetCidrReservation) SetSubnetId(v string) *SubnetCidrReservation {
122086	s.SubnetId = &v
122087	return s
122088}
122089
122090// SetTags sets the Tags field's value.
122091func (s *SubnetCidrReservation) SetTags(v []*Tag) *SubnetCidrReservation {
122092	s.Tags = v
122093	return s
122094}
122095
122096// Describes an IPv6 CIDR block associated with a subnet.
122097type SubnetIpv6CidrBlockAssociation struct {
122098	_ struct{} `type:"structure"`
122099
122100	// The association ID for the CIDR block.
122101	AssociationId *string `locationName:"associationId" type:"string"`
122102
122103	// The IPv6 CIDR block.
122104	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
122105
122106	// Information about the state of the CIDR block.
122107	Ipv6CidrBlockState *SubnetCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
122108}
122109
122110// String returns the string representation
122111func (s SubnetIpv6CidrBlockAssociation) String() string {
122112	return awsutil.Prettify(s)
122113}
122114
122115// GoString returns the string representation
122116func (s SubnetIpv6CidrBlockAssociation) GoString() string {
122117	return s.String()
122118}
122119
122120// SetAssociationId sets the AssociationId field's value.
122121func (s *SubnetIpv6CidrBlockAssociation) SetAssociationId(v string) *SubnetIpv6CidrBlockAssociation {
122122	s.AssociationId = &v
122123	return s
122124}
122125
122126// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
122127func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *SubnetIpv6CidrBlockAssociation {
122128	s.Ipv6CidrBlock = &v
122129	return s
122130}
122131
122132// SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
122133func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *SubnetCidrBlockState) *SubnetIpv6CidrBlockAssociation {
122134	s.Ipv6CidrBlockState = v
122135	return s
122136}
122137
122138// Describes the burstable performance instance whose credit option for CPU
122139// usage was successfully modified.
122140type SuccessfulInstanceCreditSpecificationItem struct {
122141	_ struct{} `type:"structure"`
122142
122143	// The ID of the instance.
122144	InstanceId *string `locationName:"instanceId" type:"string"`
122145}
122146
122147// String returns the string representation
122148func (s SuccessfulInstanceCreditSpecificationItem) String() string {
122149	return awsutil.Prettify(s)
122150}
122151
122152// GoString returns the string representation
122153func (s SuccessfulInstanceCreditSpecificationItem) GoString() string {
122154	return s.String()
122155}
122156
122157// SetInstanceId sets the InstanceId field's value.
122158func (s *SuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *SuccessfulInstanceCreditSpecificationItem {
122159	s.InstanceId = &v
122160	return s
122161}
122162
122163// Describes a Reserved Instance whose queued purchase was successfully deleted.
122164type SuccessfulQueuedPurchaseDeletion struct {
122165	_ struct{} `type:"structure"`
122166
122167	// The ID of the Reserved Instance.
122168	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
122169}
122170
122171// String returns the string representation
122172func (s SuccessfulQueuedPurchaseDeletion) String() string {
122173	return awsutil.Prettify(s)
122174}
122175
122176// GoString returns the string representation
122177func (s SuccessfulQueuedPurchaseDeletion) GoString() string {
122178	return s.String()
122179}
122180
122181// SetReservedInstancesId sets the ReservedInstancesId field's value.
122182func (s *SuccessfulQueuedPurchaseDeletion) SetReservedInstancesId(v string) *SuccessfulQueuedPurchaseDeletion {
122183	s.ReservedInstancesId = &v
122184	return s
122185}
122186
122187// Describes a tag.
122188type Tag struct {
122189	_ struct{} `type:"structure"`
122190
122191	// The key of the tag.
122192	//
122193	// Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode
122194	// characters. May not begin with aws:.
122195	Key *string `locationName:"key" type:"string"`
122196
122197	// The value of the tag.
122198	//
122199	// Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode
122200	// characters.
122201	Value *string `locationName:"value" type:"string"`
122202}
122203
122204// String returns the string representation
122205func (s Tag) String() string {
122206	return awsutil.Prettify(s)
122207}
122208
122209// GoString returns the string representation
122210func (s Tag) GoString() string {
122211	return s.String()
122212}
122213
122214// SetKey sets the Key field's value.
122215func (s *Tag) SetKey(v string) *Tag {
122216	s.Key = &v
122217	return s
122218}
122219
122220// SetValue sets the Value field's value.
122221func (s *Tag) SetValue(v string) *Tag {
122222	s.Value = &v
122223	return s
122224}
122225
122226// Describes a tag.
122227type TagDescription struct {
122228	_ struct{} `type:"structure"`
122229
122230	// The tag key.
122231	Key *string `locationName:"key" type:"string"`
122232
122233	// The ID of the resource.
122234	ResourceId *string `locationName:"resourceId" type:"string"`
122235
122236	// The resource type.
122237	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
122238
122239	// The tag value.
122240	Value *string `locationName:"value" type:"string"`
122241}
122242
122243// String returns the string representation
122244func (s TagDescription) String() string {
122245	return awsutil.Prettify(s)
122246}
122247
122248// GoString returns the string representation
122249func (s TagDescription) GoString() string {
122250	return s.String()
122251}
122252
122253// SetKey sets the Key field's value.
122254func (s *TagDescription) SetKey(v string) *TagDescription {
122255	s.Key = &v
122256	return s
122257}
122258
122259// SetResourceId sets the ResourceId field's value.
122260func (s *TagDescription) SetResourceId(v string) *TagDescription {
122261	s.ResourceId = &v
122262	return s
122263}
122264
122265// SetResourceType sets the ResourceType field's value.
122266func (s *TagDescription) SetResourceType(v string) *TagDescription {
122267	s.ResourceType = &v
122268	return s
122269}
122270
122271// SetValue sets the Value field's value.
122272func (s *TagDescription) SetValue(v string) *TagDescription {
122273	s.Value = &v
122274	return s
122275}
122276
122277// The tags to apply to a resource when the resource is being created.
122278type TagSpecification struct {
122279	_ struct{} `type:"structure"`
122280
122281	// The type of resource to tag. Currently, the resource types that support tagging
122282	// on creation are: capacity-reservation | carrier-gateway | client-vpn-endpoint
122283	// | customer-gateway | dedicated-host | dhcp-options | egress-only-internet-gateway
122284	// | elastic-ip | elastic-gpu | export-image-task | export-instance-task | fleet
122285	// | fpga-image | host-reservation | image| import-image-task | import-snapshot-task
122286	// | instance | instance-event-window | internet-gateway | ipv4pool-ec2 | ipv6pool-ec2
122287	// | key-pair | launch-template | local-gateway-route-table-vpc-association
122288	// | placement-group | prefix-list | natgateway | network-acl | network-interface
122289	// | reserved-instances |route-table | security-group| snapshot | spot-fleet-request
122290	// | spot-instances-request | snapshot | subnet | traffic-mirror-filter | traffic-mirror-session
122291	// | traffic-mirror-target | transit-gateway | transit-gateway-attachment |
122292	// transit-gateway-multicast-domain | transit-gateway-route-table | volume |vpc
122293	// | vpc-peering-connection | vpc-endpoint (for interface and gateway endpoints)
122294	// | vpc-endpoint-service (for Amazon Web Services PrivateLink) | vpc-flow-log
122295	// | vpn-connection | vpn-gateway.
122296	//
122297	// To tag a resource after it has been created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
122298	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
122299
122300	// The tags to apply to the resource.
122301	Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
122302}
122303
122304// String returns the string representation
122305func (s TagSpecification) String() string {
122306	return awsutil.Prettify(s)
122307}
122308
122309// GoString returns the string representation
122310func (s TagSpecification) GoString() string {
122311	return s.String()
122312}
122313
122314// SetResourceType sets the ResourceType field's value.
122315func (s *TagSpecification) SetResourceType(v string) *TagSpecification {
122316	s.ResourceType = &v
122317	return s
122318}
122319
122320// SetTags sets the Tags field's value.
122321func (s *TagSpecification) SetTags(v []*Tag) *TagSpecification {
122322	s.Tags = v
122323	return s
122324}
122325
122326// The number of units to request. You can choose to set the target capacity
122327// in terms of instances or a performance characteristic that is important to
122328// your application workload, such as vCPUs, memory, or I/O. If the request
122329// type is maintain, you can specify a target capacity of 0 and add capacity
122330// later.
122331//
122332// You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance
122333// MaxTotalPrice, or both to ensure that your fleet cost does not exceed your
122334// budget. If you set a maximum price per hour for the On-Demand Instances and
122335// Spot Instances in your request, EC2 Fleet will launch instances until it
122336// reaches the maximum amount that you're willing to pay. When the maximum amount
122337// you're willing to pay is reached, the fleet stops launching instances even
122338// if it hasn’t met the target capacity. The MaxTotalPrice parameters are
122339// located in OnDemandOptions (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_OnDemandOptions.html)
122340// and SpotOptions (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotOptions).
122341type TargetCapacitySpecification struct {
122342	_ struct{} `type:"structure"`
122343
122344	// The default TotalTargetCapacity, which is either Spot or On-Demand.
122345	DefaultTargetCapacityType *string `locationName:"defaultTargetCapacityType" type:"string" enum:"DefaultTargetCapacityType"`
122346
122347	// The number of On-Demand units to request. If you specify a target capacity
122348	// for Spot units, you cannot specify a target capacity for On-Demand units.
122349	OnDemandTargetCapacity *int64 `locationName:"onDemandTargetCapacity" type:"integer"`
122350
122351	// The maximum number of Spot units to launch. If you specify a target capacity
122352	// for On-Demand units, you cannot specify a target capacity for Spot units.
122353	SpotTargetCapacity *int64 `locationName:"spotTargetCapacity" type:"integer"`
122354
122355	// The number of units to request, filled using DefaultTargetCapacityType.
122356	TotalTargetCapacity *int64 `locationName:"totalTargetCapacity" type:"integer"`
122357}
122358
122359// String returns the string representation
122360func (s TargetCapacitySpecification) String() string {
122361	return awsutil.Prettify(s)
122362}
122363
122364// GoString returns the string representation
122365func (s TargetCapacitySpecification) GoString() string {
122366	return s.String()
122367}
122368
122369// SetDefaultTargetCapacityType sets the DefaultTargetCapacityType field's value.
122370func (s *TargetCapacitySpecification) SetDefaultTargetCapacityType(v string) *TargetCapacitySpecification {
122371	s.DefaultTargetCapacityType = &v
122372	return s
122373}
122374
122375// SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
122376func (s *TargetCapacitySpecification) SetOnDemandTargetCapacity(v int64) *TargetCapacitySpecification {
122377	s.OnDemandTargetCapacity = &v
122378	return s
122379}
122380
122381// SetSpotTargetCapacity sets the SpotTargetCapacity field's value.
122382func (s *TargetCapacitySpecification) SetSpotTargetCapacity(v int64) *TargetCapacitySpecification {
122383	s.SpotTargetCapacity = &v
122384	return s
122385}
122386
122387// SetTotalTargetCapacity sets the TotalTargetCapacity field's value.
122388func (s *TargetCapacitySpecification) SetTotalTargetCapacity(v int64) *TargetCapacitySpecification {
122389	s.TotalTargetCapacity = &v
122390	return s
122391}
122392
122393// The number of units to request. You can choose to set the target capacity
122394// as the number of instances. Or you can set the target capacity to a performance
122395// characteristic that is important to your application workload, such as vCPUs,
122396// memory, or I/O. If the request type is maintain, you can specify a target
122397// capacity of 0 and add capacity later.
122398//
122399// You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance
122400// MaxTotalPrice parameter, or both parameters to ensure that your fleet cost
122401// does not exceed your budget. If you set a maximum price per hour for the
122402// On-Demand Instances and Spot Instances in your request, EC2 Fleet will launch
122403// instances until it reaches the maximum amount that you're willing to pay.
122404// When the maximum amount you're willing to pay is reached, the fleet stops
122405// launching instances even if it hasn’t met the target capacity. The MaxTotalPrice
122406// parameters are located in OnDemandOptionsRequest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_OnDemandOptionsRequest)
122407// and SpotOptionsRequest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotOptionsRequest).
122408type TargetCapacitySpecificationRequest struct {
122409	_ struct{} `type:"structure"`
122410
122411	// The default TotalTargetCapacity, which is either Spot or On-Demand.
122412	DefaultTargetCapacityType *string `type:"string" enum:"DefaultTargetCapacityType"`
122413
122414	// The number of On-Demand units to request.
122415	OnDemandTargetCapacity *int64 `type:"integer"`
122416
122417	// The number of Spot units to request.
122418	SpotTargetCapacity *int64 `type:"integer"`
122419
122420	// The number of units to request, filled using DefaultTargetCapacityType.
122421	//
122422	// TotalTargetCapacity is a required field
122423	TotalTargetCapacity *int64 `type:"integer" required:"true"`
122424}
122425
122426// String returns the string representation
122427func (s TargetCapacitySpecificationRequest) String() string {
122428	return awsutil.Prettify(s)
122429}
122430
122431// GoString returns the string representation
122432func (s TargetCapacitySpecificationRequest) GoString() string {
122433	return s.String()
122434}
122435
122436// Validate inspects the fields of the type to determine if they are valid.
122437func (s *TargetCapacitySpecificationRequest) Validate() error {
122438	invalidParams := request.ErrInvalidParams{Context: "TargetCapacitySpecificationRequest"}
122439	if s.TotalTargetCapacity == nil {
122440		invalidParams.Add(request.NewErrParamRequired("TotalTargetCapacity"))
122441	}
122442
122443	if invalidParams.Len() > 0 {
122444		return invalidParams
122445	}
122446	return nil
122447}
122448
122449// SetDefaultTargetCapacityType sets the DefaultTargetCapacityType field's value.
122450func (s *TargetCapacitySpecificationRequest) SetDefaultTargetCapacityType(v string) *TargetCapacitySpecificationRequest {
122451	s.DefaultTargetCapacityType = &v
122452	return s
122453}
122454
122455// SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
122456func (s *TargetCapacitySpecificationRequest) SetOnDemandTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
122457	s.OnDemandTargetCapacity = &v
122458	return s
122459}
122460
122461// SetSpotTargetCapacity sets the SpotTargetCapacity field's value.
122462func (s *TargetCapacitySpecificationRequest) SetSpotTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
122463	s.SpotTargetCapacity = &v
122464	return s
122465}
122466
122467// SetTotalTargetCapacity sets the TotalTargetCapacity field's value.
122468func (s *TargetCapacitySpecificationRequest) SetTotalTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
122469	s.TotalTargetCapacity = &v
122470	return s
122471}
122472
122473// Information about the Convertible Reserved Instance offering.
122474type TargetConfiguration struct {
122475	_ struct{} `type:"structure"`
122476
122477	// The number of instances the Convertible Reserved Instance offering can be
122478	// applied to. This parameter is reserved and cannot be specified in a request
122479	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
122480
122481	// The ID of the Convertible Reserved Instance offering.
122482	OfferingId *string `locationName:"offeringId" type:"string"`
122483}
122484
122485// String returns the string representation
122486func (s TargetConfiguration) String() string {
122487	return awsutil.Prettify(s)
122488}
122489
122490// GoString returns the string representation
122491func (s TargetConfiguration) GoString() string {
122492	return s.String()
122493}
122494
122495// SetInstanceCount sets the InstanceCount field's value.
122496func (s *TargetConfiguration) SetInstanceCount(v int64) *TargetConfiguration {
122497	s.InstanceCount = &v
122498	return s
122499}
122500
122501// SetOfferingId sets the OfferingId field's value.
122502func (s *TargetConfiguration) SetOfferingId(v string) *TargetConfiguration {
122503	s.OfferingId = &v
122504	return s
122505}
122506
122507// Details about the target configuration.
122508type TargetConfigurationRequest struct {
122509	_ struct{} `type:"structure"`
122510
122511	// The number of instances the Covertible Reserved Instance offering can be
122512	// applied to. This parameter is reserved and cannot be specified in a request
122513	InstanceCount *int64 `type:"integer"`
122514
122515	// The Convertible Reserved Instance offering ID.
122516	//
122517	// OfferingId is a required field
122518	OfferingId *string `type:"string" required:"true"`
122519}
122520
122521// String returns the string representation
122522func (s TargetConfigurationRequest) String() string {
122523	return awsutil.Prettify(s)
122524}
122525
122526// GoString returns the string representation
122527func (s TargetConfigurationRequest) GoString() string {
122528	return s.String()
122529}
122530
122531// Validate inspects the fields of the type to determine if they are valid.
122532func (s *TargetConfigurationRequest) Validate() error {
122533	invalidParams := request.ErrInvalidParams{Context: "TargetConfigurationRequest"}
122534	if s.OfferingId == nil {
122535		invalidParams.Add(request.NewErrParamRequired("OfferingId"))
122536	}
122537
122538	if invalidParams.Len() > 0 {
122539		return invalidParams
122540	}
122541	return nil
122542}
122543
122544// SetInstanceCount sets the InstanceCount field's value.
122545func (s *TargetConfigurationRequest) SetInstanceCount(v int64) *TargetConfigurationRequest {
122546	s.InstanceCount = &v
122547	return s
122548}
122549
122550// SetOfferingId sets the OfferingId field's value.
122551func (s *TargetConfigurationRequest) SetOfferingId(v string) *TargetConfigurationRequest {
122552	s.OfferingId = &v
122553	return s
122554}
122555
122556// Describes a load balancer target group.
122557type TargetGroup struct {
122558	_ struct{} `type:"structure"`
122559
122560	// The Amazon Resource Name (ARN) of the target group.
122561	Arn *string `locationName:"arn" type:"string"`
122562}
122563
122564// String returns the string representation
122565func (s TargetGroup) String() string {
122566	return awsutil.Prettify(s)
122567}
122568
122569// GoString returns the string representation
122570func (s TargetGroup) GoString() string {
122571	return s.String()
122572}
122573
122574// SetArn sets the Arn field's value.
122575func (s *TargetGroup) SetArn(v string) *TargetGroup {
122576	s.Arn = &v
122577	return s
122578}
122579
122580// Describes the target groups to attach to a Spot Fleet. Spot Fleet registers
122581// the running Spot Instances with these target groups.
122582type TargetGroupsConfig struct {
122583	_ struct{} `type:"structure"`
122584
122585	// One or more target groups.
122586	TargetGroups []*TargetGroup `locationName:"targetGroups" locationNameList:"item" min:"1" type:"list"`
122587}
122588
122589// String returns the string representation
122590func (s TargetGroupsConfig) String() string {
122591	return awsutil.Prettify(s)
122592}
122593
122594// GoString returns the string representation
122595func (s TargetGroupsConfig) GoString() string {
122596	return s.String()
122597}
122598
122599// Validate inspects the fields of the type to determine if they are valid.
122600func (s *TargetGroupsConfig) Validate() error {
122601	invalidParams := request.ErrInvalidParams{Context: "TargetGroupsConfig"}
122602	if s.TargetGroups != nil && len(s.TargetGroups) < 1 {
122603		invalidParams.Add(request.NewErrParamMinLen("TargetGroups", 1))
122604	}
122605
122606	if invalidParams.Len() > 0 {
122607		return invalidParams
122608	}
122609	return nil
122610}
122611
122612// SetTargetGroups sets the TargetGroups field's value.
122613func (s *TargetGroupsConfig) SetTargetGroups(v []*TargetGroup) *TargetGroupsConfig {
122614	s.TargetGroups = v
122615	return s
122616}
122617
122618// Describes a target network associated with a Client VPN endpoint.
122619type TargetNetwork struct {
122620	_ struct{} `type:"structure"`
122621
122622	// The ID of the association.
122623	AssociationId *string `locationName:"associationId" type:"string"`
122624
122625	// The ID of the Client VPN endpoint with which the target network is associated.
122626	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
122627
122628	// The IDs of the security groups applied to the target network association.
122629	SecurityGroups []*string `locationName:"securityGroups" locationNameList:"item" type:"list"`
122630
122631	// The current state of the target network association.
122632	Status *AssociationStatus `locationName:"status" type:"structure"`
122633
122634	// The ID of the subnet specified as the target network.
122635	TargetNetworkId *string `locationName:"targetNetworkId" type:"string"`
122636
122637	// The ID of the VPC in which the target network (subnet) is located.
122638	VpcId *string `locationName:"vpcId" type:"string"`
122639}
122640
122641// String returns the string representation
122642func (s TargetNetwork) String() string {
122643	return awsutil.Prettify(s)
122644}
122645
122646// GoString returns the string representation
122647func (s TargetNetwork) GoString() string {
122648	return s.String()
122649}
122650
122651// SetAssociationId sets the AssociationId field's value.
122652func (s *TargetNetwork) SetAssociationId(v string) *TargetNetwork {
122653	s.AssociationId = &v
122654	return s
122655}
122656
122657// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
122658func (s *TargetNetwork) SetClientVpnEndpointId(v string) *TargetNetwork {
122659	s.ClientVpnEndpointId = &v
122660	return s
122661}
122662
122663// SetSecurityGroups sets the SecurityGroups field's value.
122664func (s *TargetNetwork) SetSecurityGroups(v []*string) *TargetNetwork {
122665	s.SecurityGroups = v
122666	return s
122667}
122668
122669// SetStatus sets the Status field's value.
122670func (s *TargetNetwork) SetStatus(v *AssociationStatus) *TargetNetwork {
122671	s.Status = v
122672	return s
122673}
122674
122675// SetTargetNetworkId sets the TargetNetworkId field's value.
122676func (s *TargetNetwork) SetTargetNetworkId(v string) *TargetNetwork {
122677	s.TargetNetworkId = &v
122678	return s
122679}
122680
122681// SetVpcId sets the VpcId field's value.
122682func (s *TargetNetwork) SetVpcId(v string) *TargetNetwork {
122683	s.VpcId = &v
122684	return s
122685}
122686
122687// The total value of the new Convertible Reserved Instances.
122688type TargetReservationValue struct {
122689	_ struct{} `type:"structure"`
122690
122691	// The total value of the Convertible Reserved Instances that make up the exchange.
122692	// This is the sum of the list value, remaining upfront price, and additional
122693	// upfront cost of the exchange.
122694	ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
122695
122696	// The configuration of the Convertible Reserved Instances that make up the
122697	// exchange.
122698	TargetConfiguration *TargetConfiguration `locationName:"targetConfiguration" type:"structure"`
122699}
122700
122701// String returns the string representation
122702func (s TargetReservationValue) String() string {
122703	return awsutil.Prettify(s)
122704}
122705
122706// GoString returns the string representation
122707func (s TargetReservationValue) GoString() string {
122708	return s.String()
122709}
122710
122711// SetReservationValue sets the ReservationValue field's value.
122712func (s *TargetReservationValue) SetReservationValue(v *ReservationValue) *TargetReservationValue {
122713	s.ReservationValue = v
122714	return s
122715}
122716
122717// SetTargetConfiguration sets the TargetConfiguration field's value.
122718func (s *TargetReservationValue) SetTargetConfiguration(v *TargetConfiguration) *TargetReservationValue {
122719	s.TargetConfiguration = v
122720	return s
122721}
122722
122723type TerminateClientVpnConnectionsInput struct {
122724	_ struct{} `type:"structure"`
122725
122726	// The ID of the Client VPN endpoint to which the client is connected.
122727	//
122728	// ClientVpnEndpointId is a required field
122729	ClientVpnEndpointId *string `type:"string" required:"true"`
122730
122731	// The ID of the client connection to be terminated.
122732	ConnectionId *string `type:"string"`
122733
122734	// Checks whether you have the required permissions for the action, without
122735	// actually making the request, and provides an error response. If you have
122736	// the required permissions, the error response is DryRunOperation. Otherwise,
122737	// it is UnauthorizedOperation.
122738	DryRun *bool `type:"boolean"`
122739
122740	// The name of the user who initiated the connection. Use this option to terminate
122741	// all active connections for the specified user. This option can only be used
122742	// if the user has established up to five connections.
122743	Username *string `type:"string"`
122744}
122745
122746// String returns the string representation
122747func (s TerminateClientVpnConnectionsInput) String() string {
122748	return awsutil.Prettify(s)
122749}
122750
122751// GoString returns the string representation
122752func (s TerminateClientVpnConnectionsInput) GoString() string {
122753	return s.String()
122754}
122755
122756// Validate inspects the fields of the type to determine if they are valid.
122757func (s *TerminateClientVpnConnectionsInput) Validate() error {
122758	invalidParams := request.ErrInvalidParams{Context: "TerminateClientVpnConnectionsInput"}
122759	if s.ClientVpnEndpointId == nil {
122760		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
122761	}
122762
122763	if invalidParams.Len() > 0 {
122764		return invalidParams
122765	}
122766	return nil
122767}
122768
122769// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
122770func (s *TerminateClientVpnConnectionsInput) SetClientVpnEndpointId(v string) *TerminateClientVpnConnectionsInput {
122771	s.ClientVpnEndpointId = &v
122772	return s
122773}
122774
122775// SetConnectionId sets the ConnectionId field's value.
122776func (s *TerminateClientVpnConnectionsInput) SetConnectionId(v string) *TerminateClientVpnConnectionsInput {
122777	s.ConnectionId = &v
122778	return s
122779}
122780
122781// SetDryRun sets the DryRun field's value.
122782func (s *TerminateClientVpnConnectionsInput) SetDryRun(v bool) *TerminateClientVpnConnectionsInput {
122783	s.DryRun = &v
122784	return s
122785}
122786
122787// SetUsername sets the Username field's value.
122788func (s *TerminateClientVpnConnectionsInput) SetUsername(v string) *TerminateClientVpnConnectionsInput {
122789	s.Username = &v
122790	return s
122791}
122792
122793type TerminateClientVpnConnectionsOutput struct {
122794	_ struct{} `type:"structure"`
122795
122796	// The ID of the Client VPN endpoint.
122797	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
122798
122799	// The current state of the client connections.
122800	ConnectionStatuses []*TerminateConnectionStatus `locationName:"connectionStatuses" locationNameList:"item" type:"list"`
122801
122802	// The user who established the terminated client connections.
122803	Username *string `locationName:"username" type:"string"`
122804}
122805
122806// String returns the string representation
122807func (s TerminateClientVpnConnectionsOutput) String() string {
122808	return awsutil.Prettify(s)
122809}
122810
122811// GoString returns the string representation
122812func (s TerminateClientVpnConnectionsOutput) GoString() string {
122813	return s.String()
122814}
122815
122816// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
122817func (s *TerminateClientVpnConnectionsOutput) SetClientVpnEndpointId(v string) *TerminateClientVpnConnectionsOutput {
122818	s.ClientVpnEndpointId = &v
122819	return s
122820}
122821
122822// SetConnectionStatuses sets the ConnectionStatuses field's value.
122823func (s *TerminateClientVpnConnectionsOutput) SetConnectionStatuses(v []*TerminateConnectionStatus) *TerminateClientVpnConnectionsOutput {
122824	s.ConnectionStatuses = v
122825	return s
122826}
122827
122828// SetUsername sets the Username field's value.
122829func (s *TerminateClientVpnConnectionsOutput) SetUsername(v string) *TerminateClientVpnConnectionsOutput {
122830	s.Username = &v
122831	return s
122832}
122833
122834// Information about a terminated Client VPN endpoint client connection.
122835type TerminateConnectionStatus struct {
122836	_ struct{} `type:"structure"`
122837
122838	// The ID of the client connection.
122839	ConnectionId *string `locationName:"connectionId" type:"string"`
122840
122841	// A message about the status of the client connection, if applicable.
122842	CurrentStatus *ClientVpnConnectionStatus `locationName:"currentStatus" type:"structure"`
122843
122844	// The state of the client connection.
122845	PreviousStatus *ClientVpnConnectionStatus `locationName:"previousStatus" type:"structure"`
122846}
122847
122848// String returns the string representation
122849func (s TerminateConnectionStatus) String() string {
122850	return awsutil.Prettify(s)
122851}
122852
122853// GoString returns the string representation
122854func (s TerminateConnectionStatus) GoString() string {
122855	return s.String()
122856}
122857
122858// SetConnectionId sets the ConnectionId field's value.
122859func (s *TerminateConnectionStatus) SetConnectionId(v string) *TerminateConnectionStatus {
122860	s.ConnectionId = &v
122861	return s
122862}
122863
122864// SetCurrentStatus sets the CurrentStatus field's value.
122865func (s *TerminateConnectionStatus) SetCurrentStatus(v *ClientVpnConnectionStatus) *TerminateConnectionStatus {
122866	s.CurrentStatus = v
122867	return s
122868}
122869
122870// SetPreviousStatus sets the PreviousStatus field's value.
122871func (s *TerminateConnectionStatus) SetPreviousStatus(v *ClientVpnConnectionStatus) *TerminateConnectionStatus {
122872	s.PreviousStatus = v
122873	return s
122874}
122875
122876type TerminateInstancesInput struct {
122877	_ struct{} `type:"structure"`
122878
122879	// Checks whether you have the required permissions for the action, without
122880	// actually making the request, and provides an error response. If you have
122881	// the required permissions, the error response is DryRunOperation. Otherwise,
122882	// it is UnauthorizedOperation.
122883	DryRun *bool `locationName:"dryRun" type:"boolean"`
122884
122885	// The IDs of the instances.
122886	//
122887	// Constraints: Up to 1000 instance IDs. We recommend breaking up this request
122888	// into smaller batches.
122889	//
122890	// InstanceIds is a required field
122891	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
122892}
122893
122894// String returns the string representation
122895func (s TerminateInstancesInput) String() string {
122896	return awsutil.Prettify(s)
122897}
122898
122899// GoString returns the string representation
122900func (s TerminateInstancesInput) GoString() string {
122901	return s.String()
122902}
122903
122904// Validate inspects the fields of the type to determine if they are valid.
122905func (s *TerminateInstancesInput) Validate() error {
122906	invalidParams := request.ErrInvalidParams{Context: "TerminateInstancesInput"}
122907	if s.InstanceIds == nil {
122908		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
122909	}
122910
122911	if invalidParams.Len() > 0 {
122912		return invalidParams
122913	}
122914	return nil
122915}
122916
122917// SetDryRun sets the DryRun field's value.
122918func (s *TerminateInstancesInput) SetDryRun(v bool) *TerminateInstancesInput {
122919	s.DryRun = &v
122920	return s
122921}
122922
122923// SetInstanceIds sets the InstanceIds field's value.
122924func (s *TerminateInstancesInput) SetInstanceIds(v []*string) *TerminateInstancesInput {
122925	s.InstanceIds = v
122926	return s
122927}
122928
122929type TerminateInstancesOutput struct {
122930	_ struct{} `type:"structure"`
122931
122932	// Information about the terminated instances.
122933	TerminatingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
122934}
122935
122936// String returns the string representation
122937func (s TerminateInstancesOutput) String() string {
122938	return awsutil.Prettify(s)
122939}
122940
122941// GoString returns the string representation
122942func (s TerminateInstancesOutput) GoString() string {
122943	return s.String()
122944}
122945
122946// SetTerminatingInstances sets the TerminatingInstances field's value.
122947func (s *TerminateInstancesOutput) SetTerminatingInstances(v []*InstanceStateChange) *TerminateInstancesOutput {
122948	s.TerminatingInstances = v
122949	return s
122950}
122951
122952// Describes the Traffic Mirror filter.
122953type TrafficMirrorFilter struct {
122954	_ struct{} `type:"structure"`
122955
122956	// The description of the Traffic Mirror filter.
122957	Description *string `locationName:"description" type:"string"`
122958
122959	// Information about the egress rules that are associated with the Traffic Mirror
122960	// filter.
122961	EgressFilterRules []*TrafficMirrorFilterRule `locationName:"egressFilterRuleSet" locationNameList:"item" type:"list"`
122962
122963	// Information about the ingress rules that are associated with the Traffic
122964	// Mirror filter.
122965	IngressFilterRules []*TrafficMirrorFilterRule `locationName:"ingressFilterRuleSet" locationNameList:"item" type:"list"`
122966
122967	// The network service traffic that is associated with the Traffic Mirror filter.
122968	NetworkServices []*string `locationName:"networkServiceSet" locationNameList:"item" type:"list"`
122969
122970	// The tags assigned to the Traffic Mirror filter.
122971	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
122972
122973	// The ID of the Traffic Mirror filter.
122974	TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"`
122975}
122976
122977// String returns the string representation
122978func (s TrafficMirrorFilter) String() string {
122979	return awsutil.Prettify(s)
122980}
122981
122982// GoString returns the string representation
122983func (s TrafficMirrorFilter) GoString() string {
122984	return s.String()
122985}
122986
122987// SetDescription sets the Description field's value.
122988func (s *TrafficMirrorFilter) SetDescription(v string) *TrafficMirrorFilter {
122989	s.Description = &v
122990	return s
122991}
122992
122993// SetEgressFilterRules sets the EgressFilterRules field's value.
122994func (s *TrafficMirrorFilter) SetEgressFilterRules(v []*TrafficMirrorFilterRule) *TrafficMirrorFilter {
122995	s.EgressFilterRules = v
122996	return s
122997}
122998
122999// SetIngressFilterRules sets the IngressFilterRules field's value.
123000func (s *TrafficMirrorFilter) SetIngressFilterRules(v []*TrafficMirrorFilterRule) *TrafficMirrorFilter {
123001	s.IngressFilterRules = v
123002	return s
123003}
123004
123005// SetNetworkServices sets the NetworkServices field's value.
123006func (s *TrafficMirrorFilter) SetNetworkServices(v []*string) *TrafficMirrorFilter {
123007	s.NetworkServices = v
123008	return s
123009}
123010
123011// SetTags sets the Tags field's value.
123012func (s *TrafficMirrorFilter) SetTags(v []*Tag) *TrafficMirrorFilter {
123013	s.Tags = v
123014	return s
123015}
123016
123017// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
123018func (s *TrafficMirrorFilter) SetTrafficMirrorFilterId(v string) *TrafficMirrorFilter {
123019	s.TrafficMirrorFilterId = &v
123020	return s
123021}
123022
123023// Describes the Traffic Mirror rule.
123024type TrafficMirrorFilterRule struct {
123025	_ struct{} `type:"structure"`
123026
123027	// The description of the Traffic Mirror rule.
123028	Description *string `locationName:"description" type:"string"`
123029
123030	// The destination CIDR block assigned to the Traffic Mirror rule.
123031	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
123032
123033	// The destination port range assigned to the Traffic Mirror rule.
123034	DestinationPortRange *TrafficMirrorPortRange `locationName:"destinationPortRange" type:"structure"`
123035
123036	// The protocol assigned to the Traffic Mirror rule.
123037	Protocol *int64 `locationName:"protocol" type:"integer"`
123038
123039	// The action assigned to the Traffic Mirror rule.
123040	RuleAction *string `locationName:"ruleAction" type:"string" enum:"TrafficMirrorRuleAction"`
123041
123042	// The rule number of the Traffic Mirror rule.
123043	RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
123044
123045	// The source CIDR block assigned to the Traffic Mirror rule.
123046	SourceCidrBlock *string `locationName:"sourceCidrBlock" type:"string"`
123047
123048	// The source port range assigned to the Traffic Mirror rule.
123049	SourcePortRange *TrafficMirrorPortRange `locationName:"sourcePortRange" type:"structure"`
123050
123051	// The traffic direction assigned to the Traffic Mirror rule.
123052	TrafficDirection *string `locationName:"trafficDirection" type:"string" enum:"TrafficDirection"`
123053
123054	// The ID of the Traffic Mirror filter that the rule is associated with.
123055	TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"`
123056
123057	// The ID of the Traffic Mirror rule.
123058	TrafficMirrorFilterRuleId *string `locationName:"trafficMirrorFilterRuleId" type:"string"`
123059}
123060
123061// String returns the string representation
123062func (s TrafficMirrorFilterRule) String() string {
123063	return awsutil.Prettify(s)
123064}
123065
123066// GoString returns the string representation
123067func (s TrafficMirrorFilterRule) GoString() string {
123068	return s.String()
123069}
123070
123071// SetDescription sets the Description field's value.
123072func (s *TrafficMirrorFilterRule) SetDescription(v string) *TrafficMirrorFilterRule {
123073	s.Description = &v
123074	return s
123075}
123076
123077// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
123078func (s *TrafficMirrorFilterRule) SetDestinationCidrBlock(v string) *TrafficMirrorFilterRule {
123079	s.DestinationCidrBlock = &v
123080	return s
123081}
123082
123083// SetDestinationPortRange sets the DestinationPortRange field's value.
123084func (s *TrafficMirrorFilterRule) SetDestinationPortRange(v *TrafficMirrorPortRange) *TrafficMirrorFilterRule {
123085	s.DestinationPortRange = v
123086	return s
123087}
123088
123089// SetProtocol sets the Protocol field's value.
123090func (s *TrafficMirrorFilterRule) SetProtocol(v int64) *TrafficMirrorFilterRule {
123091	s.Protocol = &v
123092	return s
123093}
123094
123095// SetRuleAction sets the RuleAction field's value.
123096func (s *TrafficMirrorFilterRule) SetRuleAction(v string) *TrafficMirrorFilterRule {
123097	s.RuleAction = &v
123098	return s
123099}
123100
123101// SetRuleNumber sets the RuleNumber field's value.
123102func (s *TrafficMirrorFilterRule) SetRuleNumber(v int64) *TrafficMirrorFilterRule {
123103	s.RuleNumber = &v
123104	return s
123105}
123106
123107// SetSourceCidrBlock sets the SourceCidrBlock field's value.
123108func (s *TrafficMirrorFilterRule) SetSourceCidrBlock(v string) *TrafficMirrorFilterRule {
123109	s.SourceCidrBlock = &v
123110	return s
123111}
123112
123113// SetSourcePortRange sets the SourcePortRange field's value.
123114func (s *TrafficMirrorFilterRule) SetSourcePortRange(v *TrafficMirrorPortRange) *TrafficMirrorFilterRule {
123115	s.SourcePortRange = v
123116	return s
123117}
123118
123119// SetTrafficDirection sets the TrafficDirection field's value.
123120func (s *TrafficMirrorFilterRule) SetTrafficDirection(v string) *TrafficMirrorFilterRule {
123121	s.TrafficDirection = &v
123122	return s
123123}
123124
123125// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
123126func (s *TrafficMirrorFilterRule) SetTrafficMirrorFilterId(v string) *TrafficMirrorFilterRule {
123127	s.TrafficMirrorFilterId = &v
123128	return s
123129}
123130
123131// SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value.
123132func (s *TrafficMirrorFilterRule) SetTrafficMirrorFilterRuleId(v string) *TrafficMirrorFilterRule {
123133	s.TrafficMirrorFilterRuleId = &v
123134	return s
123135}
123136
123137// Describes the Traffic Mirror port range.
123138type TrafficMirrorPortRange struct {
123139	_ struct{} `type:"structure"`
123140
123141	// The start of the Traffic Mirror port range. This applies to the TCP and UDP
123142	// protocols.
123143	FromPort *int64 `locationName:"fromPort" type:"integer"`
123144
123145	// The end of the Traffic Mirror port range. This applies to the TCP and UDP
123146	// protocols.
123147	ToPort *int64 `locationName:"toPort" type:"integer"`
123148}
123149
123150// String returns the string representation
123151func (s TrafficMirrorPortRange) String() string {
123152	return awsutil.Prettify(s)
123153}
123154
123155// GoString returns the string representation
123156func (s TrafficMirrorPortRange) GoString() string {
123157	return s.String()
123158}
123159
123160// SetFromPort sets the FromPort field's value.
123161func (s *TrafficMirrorPortRange) SetFromPort(v int64) *TrafficMirrorPortRange {
123162	s.FromPort = &v
123163	return s
123164}
123165
123166// SetToPort sets the ToPort field's value.
123167func (s *TrafficMirrorPortRange) SetToPort(v int64) *TrafficMirrorPortRange {
123168	s.ToPort = &v
123169	return s
123170}
123171
123172// Information about the Traffic Mirror filter rule port range.
123173type TrafficMirrorPortRangeRequest struct {
123174	_ struct{} `type:"structure"`
123175
123176	// The first port in the Traffic Mirror port range. This applies to the TCP
123177	// and UDP protocols.
123178	FromPort *int64 `type:"integer"`
123179
123180	// The last port in the Traffic Mirror port range. This applies to the TCP and
123181	// UDP protocols.
123182	ToPort *int64 `type:"integer"`
123183}
123184
123185// String returns the string representation
123186func (s TrafficMirrorPortRangeRequest) String() string {
123187	return awsutil.Prettify(s)
123188}
123189
123190// GoString returns the string representation
123191func (s TrafficMirrorPortRangeRequest) GoString() string {
123192	return s.String()
123193}
123194
123195// SetFromPort sets the FromPort field's value.
123196func (s *TrafficMirrorPortRangeRequest) SetFromPort(v int64) *TrafficMirrorPortRangeRequest {
123197	s.FromPort = &v
123198	return s
123199}
123200
123201// SetToPort sets the ToPort field's value.
123202func (s *TrafficMirrorPortRangeRequest) SetToPort(v int64) *TrafficMirrorPortRangeRequest {
123203	s.ToPort = &v
123204	return s
123205}
123206
123207// Describes a Traffic Mirror session.
123208type TrafficMirrorSession struct {
123209	_ struct{} `type:"structure"`
123210
123211	// The description of the Traffic Mirror session.
123212	Description *string `locationName:"description" type:"string"`
123213
123214	// The ID of the Traffic Mirror session's network interface.
123215	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
123216
123217	// The ID of the account that owns the Traffic Mirror session.
123218	OwnerId *string `locationName:"ownerId" type:"string"`
123219
123220	// The number of bytes in each packet to mirror. These are the bytes after the
123221	// VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror.
123222	// For example, if you set this value to 100, then the first 100 bytes that
123223	// meet the filter criteria are copied to the target. Do not specify this parameter
123224	// when you want to mirror the entire packet
123225	PacketLength *int64 `locationName:"packetLength" type:"integer"`
123226
123227	// The session number determines the order in which sessions are evaluated when
123228	// an interface is used by multiple sessions. The first session with a matching
123229	// filter is the one that mirrors the packets.
123230	//
123231	// Valid values are 1-32766.
123232	SessionNumber *int64 `locationName:"sessionNumber" type:"integer"`
123233
123234	// The tags assigned to the Traffic Mirror session.
123235	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
123236
123237	// The ID of the Traffic Mirror filter.
123238	TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"`
123239
123240	// The ID for the Traffic Mirror session.
123241	TrafficMirrorSessionId *string `locationName:"trafficMirrorSessionId" type:"string"`
123242
123243	// The ID of the Traffic Mirror target.
123244	TrafficMirrorTargetId *string `locationName:"trafficMirrorTargetId" type:"string"`
123245
123246	// The virtual network ID associated with the Traffic Mirror session.
123247	VirtualNetworkId *int64 `locationName:"virtualNetworkId" type:"integer"`
123248}
123249
123250// String returns the string representation
123251func (s TrafficMirrorSession) String() string {
123252	return awsutil.Prettify(s)
123253}
123254
123255// GoString returns the string representation
123256func (s TrafficMirrorSession) GoString() string {
123257	return s.String()
123258}
123259
123260// SetDescription sets the Description field's value.
123261func (s *TrafficMirrorSession) SetDescription(v string) *TrafficMirrorSession {
123262	s.Description = &v
123263	return s
123264}
123265
123266// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
123267func (s *TrafficMirrorSession) SetNetworkInterfaceId(v string) *TrafficMirrorSession {
123268	s.NetworkInterfaceId = &v
123269	return s
123270}
123271
123272// SetOwnerId sets the OwnerId field's value.
123273func (s *TrafficMirrorSession) SetOwnerId(v string) *TrafficMirrorSession {
123274	s.OwnerId = &v
123275	return s
123276}
123277
123278// SetPacketLength sets the PacketLength field's value.
123279func (s *TrafficMirrorSession) SetPacketLength(v int64) *TrafficMirrorSession {
123280	s.PacketLength = &v
123281	return s
123282}
123283
123284// SetSessionNumber sets the SessionNumber field's value.
123285func (s *TrafficMirrorSession) SetSessionNumber(v int64) *TrafficMirrorSession {
123286	s.SessionNumber = &v
123287	return s
123288}
123289
123290// SetTags sets the Tags field's value.
123291func (s *TrafficMirrorSession) SetTags(v []*Tag) *TrafficMirrorSession {
123292	s.Tags = v
123293	return s
123294}
123295
123296// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
123297func (s *TrafficMirrorSession) SetTrafficMirrorFilterId(v string) *TrafficMirrorSession {
123298	s.TrafficMirrorFilterId = &v
123299	return s
123300}
123301
123302// SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value.
123303func (s *TrafficMirrorSession) SetTrafficMirrorSessionId(v string) *TrafficMirrorSession {
123304	s.TrafficMirrorSessionId = &v
123305	return s
123306}
123307
123308// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
123309func (s *TrafficMirrorSession) SetTrafficMirrorTargetId(v string) *TrafficMirrorSession {
123310	s.TrafficMirrorTargetId = &v
123311	return s
123312}
123313
123314// SetVirtualNetworkId sets the VirtualNetworkId field's value.
123315func (s *TrafficMirrorSession) SetVirtualNetworkId(v int64) *TrafficMirrorSession {
123316	s.VirtualNetworkId = &v
123317	return s
123318}
123319
123320// Describes a Traffic Mirror target.
123321type TrafficMirrorTarget struct {
123322	_ struct{} `type:"structure"`
123323
123324	// Information about the Traffic Mirror target.
123325	Description *string `locationName:"description" type:"string"`
123326
123327	// The network interface ID that is attached to the target.
123328	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
123329
123330	// The Amazon Resource Name (ARN) of the Network Load Balancer.
123331	NetworkLoadBalancerArn *string `locationName:"networkLoadBalancerArn" type:"string"`
123332
123333	// The ID of the account that owns the Traffic Mirror target.
123334	OwnerId *string `locationName:"ownerId" type:"string"`
123335
123336	// The tags assigned to the Traffic Mirror target.
123337	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
123338
123339	// The ID of the Traffic Mirror target.
123340	TrafficMirrorTargetId *string `locationName:"trafficMirrorTargetId" type:"string"`
123341
123342	// The type of Traffic Mirror target.
123343	Type *string `locationName:"type" type:"string" enum:"TrafficMirrorTargetType"`
123344}
123345
123346// String returns the string representation
123347func (s TrafficMirrorTarget) String() string {
123348	return awsutil.Prettify(s)
123349}
123350
123351// GoString returns the string representation
123352func (s TrafficMirrorTarget) GoString() string {
123353	return s.String()
123354}
123355
123356// SetDescription sets the Description field's value.
123357func (s *TrafficMirrorTarget) SetDescription(v string) *TrafficMirrorTarget {
123358	s.Description = &v
123359	return s
123360}
123361
123362// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
123363func (s *TrafficMirrorTarget) SetNetworkInterfaceId(v string) *TrafficMirrorTarget {
123364	s.NetworkInterfaceId = &v
123365	return s
123366}
123367
123368// SetNetworkLoadBalancerArn sets the NetworkLoadBalancerArn field's value.
123369func (s *TrafficMirrorTarget) SetNetworkLoadBalancerArn(v string) *TrafficMirrorTarget {
123370	s.NetworkLoadBalancerArn = &v
123371	return s
123372}
123373
123374// SetOwnerId sets the OwnerId field's value.
123375func (s *TrafficMirrorTarget) SetOwnerId(v string) *TrafficMirrorTarget {
123376	s.OwnerId = &v
123377	return s
123378}
123379
123380// SetTags sets the Tags field's value.
123381func (s *TrafficMirrorTarget) SetTags(v []*Tag) *TrafficMirrorTarget {
123382	s.Tags = v
123383	return s
123384}
123385
123386// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
123387func (s *TrafficMirrorTarget) SetTrafficMirrorTargetId(v string) *TrafficMirrorTarget {
123388	s.TrafficMirrorTargetId = &v
123389	return s
123390}
123391
123392// SetType sets the Type field's value.
123393func (s *TrafficMirrorTarget) SetType(v string) *TrafficMirrorTarget {
123394	s.Type = &v
123395	return s
123396}
123397
123398// Describes a transit gateway.
123399type TransitGateway struct {
123400	_ struct{} `type:"structure"`
123401
123402	// The creation time.
123403	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
123404
123405	// The description of the transit gateway.
123406	Description *string `locationName:"description" type:"string"`
123407
123408	// The transit gateway options.
123409	Options *TransitGatewayOptions `locationName:"options" type:"structure"`
123410
123411	// The ID of the Amazon Web Services account that owns the transit gateway.
123412	OwnerId *string `locationName:"ownerId" type:"string"`
123413
123414	// The state of the transit gateway.
123415	State *string `locationName:"state" type:"string" enum:"TransitGatewayState"`
123416
123417	// The tags for the transit gateway.
123418	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
123419
123420	// The Amazon Resource Name (ARN) of the transit gateway.
123421	TransitGatewayArn *string `locationName:"transitGatewayArn" type:"string"`
123422
123423	// The ID of the transit gateway.
123424	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
123425}
123426
123427// String returns the string representation
123428func (s TransitGateway) String() string {
123429	return awsutil.Prettify(s)
123430}
123431
123432// GoString returns the string representation
123433func (s TransitGateway) GoString() string {
123434	return s.String()
123435}
123436
123437// SetCreationTime sets the CreationTime field's value.
123438func (s *TransitGateway) SetCreationTime(v time.Time) *TransitGateway {
123439	s.CreationTime = &v
123440	return s
123441}
123442
123443// SetDescription sets the Description field's value.
123444func (s *TransitGateway) SetDescription(v string) *TransitGateway {
123445	s.Description = &v
123446	return s
123447}
123448
123449// SetOptions sets the Options field's value.
123450func (s *TransitGateway) SetOptions(v *TransitGatewayOptions) *TransitGateway {
123451	s.Options = v
123452	return s
123453}
123454
123455// SetOwnerId sets the OwnerId field's value.
123456func (s *TransitGateway) SetOwnerId(v string) *TransitGateway {
123457	s.OwnerId = &v
123458	return s
123459}
123460
123461// SetState sets the State field's value.
123462func (s *TransitGateway) SetState(v string) *TransitGateway {
123463	s.State = &v
123464	return s
123465}
123466
123467// SetTags sets the Tags field's value.
123468func (s *TransitGateway) SetTags(v []*Tag) *TransitGateway {
123469	s.Tags = v
123470	return s
123471}
123472
123473// SetTransitGatewayArn sets the TransitGatewayArn field's value.
123474func (s *TransitGateway) SetTransitGatewayArn(v string) *TransitGateway {
123475	s.TransitGatewayArn = &v
123476	return s
123477}
123478
123479// SetTransitGatewayId sets the TransitGatewayId field's value.
123480func (s *TransitGateway) SetTransitGatewayId(v string) *TransitGateway {
123481	s.TransitGatewayId = &v
123482	return s
123483}
123484
123485// Describes an association between a resource attachment and a transit gateway
123486// route table.
123487type TransitGatewayAssociation struct {
123488	_ struct{} `type:"structure"`
123489
123490	// The ID of the resource.
123491	ResourceId *string `locationName:"resourceId" type:"string"`
123492
123493	// The resource type. Note that the tgw-peering resource type has been deprecated.
123494	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
123495
123496	// The state of the association.
123497	State *string `locationName:"state" type:"string" enum:"TransitGatewayAssociationState"`
123498
123499	// The ID of the attachment.
123500	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
123501
123502	// The ID of the transit gateway route table.
123503	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
123504}
123505
123506// String returns the string representation
123507func (s TransitGatewayAssociation) String() string {
123508	return awsutil.Prettify(s)
123509}
123510
123511// GoString returns the string representation
123512func (s TransitGatewayAssociation) GoString() string {
123513	return s.String()
123514}
123515
123516// SetResourceId sets the ResourceId field's value.
123517func (s *TransitGatewayAssociation) SetResourceId(v string) *TransitGatewayAssociation {
123518	s.ResourceId = &v
123519	return s
123520}
123521
123522// SetResourceType sets the ResourceType field's value.
123523func (s *TransitGatewayAssociation) SetResourceType(v string) *TransitGatewayAssociation {
123524	s.ResourceType = &v
123525	return s
123526}
123527
123528// SetState sets the State field's value.
123529func (s *TransitGatewayAssociation) SetState(v string) *TransitGatewayAssociation {
123530	s.State = &v
123531	return s
123532}
123533
123534// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
123535func (s *TransitGatewayAssociation) SetTransitGatewayAttachmentId(v string) *TransitGatewayAssociation {
123536	s.TransitGatewayAttachmentId = &v
123537	return s
123538}
123539
123540// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
123541func (s *TransitGatewayAssociation) SetTransitGatewayRouteTableId(v string) *TransitGatewayAssociation {
123542	s.TransitGatewayRouteTableId = &v
123543	return s
123544}
123545
123546// Describes an attachment between a resource and a transit gateway.
123547type TransitGatewayAttachment struct {
123548	_ struct{} `type:"structure"`
123549
123550	// The association.
123551	Association *TransitGatewayAttachmentAssociation `locationName:"association" type:"structure"`
123552
123553	// The creation time.
123554	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
123555
123556	// The ID of the resource.
123557	ResourceId *string `locationName:"resourceId" type:"string"`
123558
123559	// The ID of the Amazon Web Services account that owns the resource.
123560	ResourceOwnerId *string `locationName:"resourceOwnerId" type:"string"`
123561
123562	// The resource type. Note that the tgw-peering resource type has been deprecated.
123563	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
123564
123565	// The attachment state. Note that the initiating state has been deprecated.
123566	State *string `locationName:"state" type:"string" enum:"TransitGatewayAttachmentState"`
123567
123568	// The tags for the attachment.
123569	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
123570
123571	// The ID of the attachment.
123572	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
123573
123574	// The ID of the transit gateway.
123575	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
123576
123577	// The ID of the Amazon Web Services account that owns the transit gateway.
123578	TransitGatewayOwnerId *string `locationName:"transitGatewayOwnerId" type:"string"`
123579}
123580
123581// String returns the string representation
123582func (s TransitGatewayAttachment) String() string {
123583	return awsutil.Prettify(s)
123584}
123585
123586// GoString returns the string representation
123587func (s TransitGatewayAttachment) GoString() string {
123588	return s.String()
123589}
123590
123591// SetAssociation sets the Association field's value.
123592func (s *TransitGatewayAttachment) SetAssociation(v *TransitGatewayAttachmentAssociation) *TransitGatewayAttachment {
123593	s.Association = v
123594	return s
123595}
123596
123597// SetCreationTime sets the CreationTime field's value.
123598func (s *TransitGatewayAttachment) SetCreationTime(v time.Time) *TransitGatewayAttachment {
123599	s.CreationTime = &v
123600	return s
123601}
123602
123603// SetResourceId sets the ResourceId field's value.
123604func (s *TransitGatewayAttachment) SetResourceId(v string) *TransitGatewayAttachment {
123605	s.ResourceId = &v
123606	return s
123607}
123608
123609// SetResourceOwnerId sets the ResourceOwnerId field's value.
123610func (s *TransitGatewayAttachment) SetResourceOwnerId(v string) *TransitGatewayAttachment {
123611	s.ResourceOwnerId = &v
123612	return s
123613}
123614
123615// SetResourceType sets the ResourceType field's value.
123616func (s *TransitGatewayAttachment) SetResourceType(v string) *TransitGatewayAttachment {
123617	s.ResourceType = &v
123618	return s
123619}
123620
123621// SetState sets the State field's value.
123622func (s *TransitGatewayAttachment) SetState(v string) *TransitGatewayAttachment {
123623	s.State = &v
123624	return s
123625}
123626
123627// SetTags sets the Tags field's value.
123628func (s *TransitGatewayAttachment) SetTags(v []*Tag) *TransitGatewayAttachment {
123629	s.Tags = v
123630	return s
123631}
123632
123633// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
123634func (s *TransitGatewayAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayAttachment {
123635	s.TransitGatewayAttachmentId = &v
123636	return s
123637}
123638
123639// SetTransitGatewayId sets the TransitGatewayId field's value.
123640func (s *TransitGatewayAttachment) SetTransitGatewayId(v string) *TransitGatewayAttachment {
123641	s.TransitGatewayId = &v
123642	return s
123643}
123644
123645// SetTransitGatewayOwnerId sets the TransitGatewayOwnerId field's value.
123646func (s *TransitGatewayAttachment) SetTransitGatewayOwnerId(v string) *TransitGatewayAttachment {
123647	s.TransitGatewayOwnerId = &v
123648	return s
123649}
123650
123651// Describes an association.
123652type TransitGatewayAttachmentAssociation struct {
123653	_ struct{} `type:"structure"`
123654
123655	// The state of the association.
123656	State *string `locationName:"state" type:"string" enum:"TransitGatewayAssociationState"`
123657
123658	// The ID of the route table for the transit gateway.
123659	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
123660}
123661
123662// String returns the string representation
123663func (s TransitGatewayAttachmentAssociation) String() string {
123664	return awsutil.Prettify(s)
123665}
123666
123667// GoString returns the string representation
123668func (s TransitGatewayAttachmentAssociation) GoString() string {
123669	return s.String()
123670}
123671
123672// SetState sets the State field's value.
123673func (s *TransitGatewayAttachmentAssociation) SetState(v string) *TransitGatewayAttachmentAssociation {
123674	s.State = &v
123675	return s
123676}
123677
123678// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
123679func (s *TransitGatewayAttachmentAssociation) SetTransitGatewayRouteTableId(v string) *TransitGatewayAttachmentAssociation {
123680	s.TransitGatewayRouteTableId = &v
123681	return s
123682}
123683
123684// The BGP configuration information.
123685type TransitGatewayAttachmentBgpConfiguration struct {
123686	_ struct{} `type:"structure"`
123687
123688	// The BGP status.
123689	BgpStatus *string `locationName:"bgpStatus" type:"string" enum:"BgpStatus"`
123690
123691	// The interior BGP peer IP address for the appliance.
123692	PeerAddress *string `locationName:"peerAddress" type:"string"`
123693
123694	// The peer Autonomous System Number (ASN).
123695	PeerAsn *int64 `locationName:"peerAsn" type:"long"`
123696
123697	// The interior BGP peer IP address for the transit gateway.
123698	TransitGatewayAddress *string `locationName:"transitGatewayAddress" type:"string"`
123699
123700	// The transit gateway Autonomous System Number (ASN).
123701	TransitGatewayAsn *int64 `locationName:"transitGatewayAsn" type:"long"`
123702}
123703
123704// String returns the string representation
123705func (s TransitGatewayAttachmentBgpConfiguration) String() string {
123706	return awsutil.Prettify(s)
123707}
123708
123709// GoString returns the string representation
123710func (s TransitGatewayAttachmentBgpConfiguration) GoString() string {
123711	return s.String()
123712}
123713
123714// SetBgpStatus sets the BgpStatus field's value.
123715func (s *TransitGatewayAttachmentBgpConfiguration) SetBgpStatus(v string) *TransitGatewayAttachmentBgpConfiguration {
123716	s.BgpStatus = &v
123717	return s
123718}
123719
123720// SetPeerAddress sets the PeerAddress field's value.
123721func (s *TransitGatewayAttachmentBgpConfiguration) SetPeerAddress(v string) *TransitGatewayAttachmentBgpConfiguration {
123722	s.PeerAddress = &v
123723	return s
123724}
123725
123726// SetPeerAsn sets the PeerAsn field's value.
123727func (s *TransitGatewayAttachmentBgpConfiguration) SetPeerAsn(v int64) *TransitGatewayAttachmentBgpConfiguration {
123728	s.PeerAsn = &v
123729	return s
123730}
123731
123732// SetTransitGatewayAddress sets the TransitGatewayAddress field's value.
123733func (s *TransitGatewayAttachmentBgpConfiguration) SetTransitGatewayAddress(v string) *TransitGatewayAttachmentBgpConfiguration {
123734	s.TransitGatewayAddress = &v
123735	return s
123736}
123737
123738// SetTransitGatewayAsn sets the TransitGatewayAsn field's value.
123739func (s *TransitGatewayAttachmentBgpConfiguration) SetTransitGatewayAsn(v int64) *TransitGatewayAttachmentBgpConfiguration {
123740	s.TransitGatewayAsn = &v
123741	return s
123742}
123743
123744// Describes a propagation route table.
123745type TransitGatewayAttachmentPropagation struct {
123746	_ struct{} `type:"structure"`
123747
123748	// The state of the propagation route table.
123749	State *string `locationName:"state" type:"string" enum:"TransitGatewayPropagationState"`
123750
123751	// The ID of the propagation route table.
123752	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
123753}
123754
123755// String returns the string representation
123756func (s TransitGatewayAttachmentPropagation) String() string {
123757	return awsutil.Prettify(s)
123758}
123759
123760// GoString returns the string representation
123761func (s TransitGatewayAttachmentPropagation) GoString() string {
123762	return s.String()
123763}
123764
123765// SetState sets the State field's value.
123766func (s *TransitGatewayAttachmentPropagation) SetState(v string) *TransitGatewayAttachmentPropagation {
123767	s.State = &v
123768	return s
123769}
123770
123771// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
123772func (s *TransitGatewayAttachmentPropagation) SetTransitGatewayRouteTableId(v string) *TransitGatewayAttachmentPropagation {
123773	s.TransitGatewayRouteTableId = &v
123774	return s
123775}
123776
123777// Describes a transit gateway Connect attachment.
123778type TransitGatewayConnect struct {
123779	_ struct{} `type:"structure"`
123780
123781	// The creation time.
123782	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
123783
123784	// The Connect attachment options.
123785	Options *TransitGatewayConnectOptions `locationName:"options" type:"structure"`
123786
123787	// The state of the attachment.
123788	State *string `locationName:"state" type:"string" enum:"TransitGatewayAttachmentState"`
123789
123790	// The tags for the attachment.
123791	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
123792
123793	// The ID of the Connect attachment.
123794	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
123795
123796	// The ID of the transit gateway.
123797	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
123798
123799	// The ID of the attachment from which the Connect attachment was created.
123800	TransportTransitGatewayAttachmentId *string `locationName:"transportTransitGatewayAttachmentId" type:"string"`
123801}
123802
123803// String returns the string representation
123804func (s TransitGatewayConnect) String() string {
123805	return awsutil.Prettify(s)
123806}
123807
123808// GoString returns the string representation
123809func (s TransitGatewayConnect) GoString() string {
123810	return s.String()
123811}
123812
123813// SetCreationTime sets the CreationTime field's value.
123814func (s *TransitGatewayConnect) SetCreationTime(v time.Time) *TransitGatewayConnect {
123815	s.CreationTime = &v
123816	return s
123817}
123818
123819// SetOptions sets the Options field's value.
123820func (s *TransitGatewayConnect) SetOptions(v *TransitGatewayConnectOptions) *TransitGatewayConnect {
123821	s.Options = v
123822	return s
123823}
123824
123825// SetState sets the State field's value.
123826func (s *TransitGatewayConnect) SetState(v string) *TransitGatewayConnect {
123827	s.State = &v
123828	return s
123829}
123830
123831// SetTags sets the Tags field's value.
123832func (s *TransitGatewayConnect) SetTags(v []*Tag) *TransitGatewayConnect {
123833	s.Tags = v
123834	return s
123835}
123836
123837// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
123838func (s *TransitGatewayConnect) SetTransitGatewayAttachmentId(v string) *TransitGatewayConnect {
123839	s.TransitGatewayAttachmentId = &v
123840	return s
123841}
123842
123843// SetTransitGatewayId sets the TransitGatewayId field's value.
123844func (s *TransitGatewayConnect) SetTransitGatewayId(v string) *TransitGatewayConnect {
123845	s.TransitGatewayId = &v
123846	return s
123847}
123848
123849// SetTransportTransitGatewayAttachmentId sets the TransportTransitGatewayAttachmentId field's value.
123850func (s *TransitGatewayConnect) SetTransportTransitGatewayAttachmentId(v string) *TransitGatewayConnect {
123851	s.TransportTransitGatewayAttachmentId = &v
123852	return s
123853}
123854
123855// Describes the Connect attachment options.
123856type TransitGatewayConnectOptions struct {
123857	_ struct{} `type:"structure"`
123858
123859	// The tunnel protocol.
123860	Protocol *string `locationName:"protocol" type:"string" enum:"ProtocolValue"`
123861}
123862
123863// String returns the string representation
123864func (s TransitGatewayConnectOptions) String() string {
123865	return awsutil.Prettify(s)
123866}
123867
123868// GoString returns the string representation
123869func (s TransitGatewayConnectOptions) GoString() string {
123870	return s.String()
123871}
123872
123873// SetProtocol sets the Protocol field's value.
123874func (s *TransitGatewayConnectOptions) SetProtocol(v string) *TransitGatewayConnectOptions {
123875	s.Protocol = &v
123876	return s
123877}
123878
123879// Describes a transit gateway Connect peer.
123880type TransitGatewayConnectPeer struct {
123881	_ struct{} `type:"structure"`
123882
123883	// The Connect peer details.
123884	ConnectPeerConfiguration *TransitGatewayConnectPeerConfiguration `locationName:"connectPeerConfiguration" type:"structure"`
123885
123886	// The creation time.
123887	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
123888
123889	// The state of the Connect peer.
123890	State *string `locationName:"state" type:"string" enum:"TransitGatewayConnectPeerState"`
123891
123892	// The tags for the Connect peer.
123893	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
123894
123895	// The ID of the Connect attachment.
123896	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
123897
123898	// The ID of the Connect peer.
123899	TransitGatewayConnectPeerId *string `locationName:"transitGatewayConnectPeerId" type:"string"`
123900}
123901
123902// String returns the string representation
123903func (s TransitGatewayConnectPeer) String() string {
123904	return awsutil.Prettify(s)
123905}
123906
123907// GoString returns the string representation
123908func (s TransitGatewayConnectPeer) GoString() string {
123909	return s.String()
123910}
123911
123912// SetConnectPeerConfiguration sets the ConnectPeerConfiguration field's value.
123913func (s *TransitGatewayConnectPeer) SetConnectPeerConfiguration(v *TransitGatewayConnectPeerConfiguration) *TransitGatewayConnectPeer {
123914	s.ConnectPeerConfiguration = v
123915	return s
123916}
123917
123918// SetCreationTime sets the CreationTime field's value.
123919func (s *TransitGatewayConnectPeer) SetCreationTime(v time.Time) *TransitGatewayConnectPeer {
123920	s.CreationTime = &v
123921	return s
123922}
123923
123924// SetState sets the State field's value.
123925func (s *TransitGatewayConnectPeer) SetState(v string) *TransitGatewayConnectPeer {
123926	s.State = &v
123927	return s
123928}
123929
123930// SetTags sets the Tags field's value.
123931func (s *TransitGatewayConnectPeer) SetTags(v []*Tag) *TransitGatewayConnectPeer {
123932	s.Tags = v
123933	return s
123934}
123935
123936// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
123937func (s *TransitGatewayConnectPeer) SetTransitGatewayAttachmentId(v string) *TransitGatewayConnectPeer {
123938	s.TransitGatewayAttachmentId = &v
123939	return s
123940}
123941
123942// SetTransitGatewayConnectPeerId sets the TransitGatewayConnectPeerId field's value.
123943func (s *TransitGatewayConnectPeer) SetTransitGatewayConnectPeerId(v string) *TransitGatewayConnectPeer {
123944	s.TransitGatewayConnectPeerId = &v
123945	return s
123946}
123947
123948// Describes the Connect peer details.
123949type TransitGatewayConnectPeerConfiguration struct {
123950	_ struct{} `type:"structure"`
123951
123952	// The BGP configuration details.
123953	BgpConfigurations []*TransitGatewayAttachmentBgpConfiguration `locationName:"bgpConfigurations" locationNameList:"item" type:"list"`
123954
123955	// The range of interior BGP peer IP addresses.
123956	InsideCidrBlocks []*string `locationName:"insideCidrBlocks" locationNameList:"item" type:"list"`
123957
123958	// The Connect peer IP address on the appliance side of the tunnel.
123959	PeerAddress *string `locationName:"peerAddress" type:"string"`
123960
123961	// The tunnel protocol.
123962	Protocol *string `locationName:"protocol" type:"string" enum:"ProtocolValue"`
123963
123964	// The Connect peer IP address on the transit gateway side of the tunnel.
123965	TransitGatewayAddress *string `locationName:"transitGatewayAddress" type:"string"`
123966}
123967
123968// String returns the string representation
123969func (s TransitGatewayConnectPeerConfiguration) String() string {
123970	return awsutil.Prettify(s)
123971}
123972
123973// GoString returns the string representation
123974func (s TransitGatewayConnectPeerConfiguration) GoString() string {
123975	return s.String()
123976}
123977
123978// SetBgpConfigurations sets the BgpConfigurations field's value.
123979func (s *TransitGatewayConnectPeerConfiguration) SetBgpConfigurations(v []*TransitGatewayAttachmentBgpConfiguration) *TransitGatewayConnectPeerConfiguration {
123980	s.BgpConfigurations = v
123981	return s
123982}
123983
123984// SetInsideCidrBlocks sets the InsideCidrBlocks field's value.
123985func (s *TransitGatewayConnectPeerConfiguration) SetInsideCidrBlocks(v []*string) *TransitGatewayConnectPeerConfiguration {
123986	s.InsideCidrBlocks = v
123987	return s
123988}
123989
123990// SetPeerAddress sets the PeerAddress field's value.
123991func (s *TransitGatewayConnectPeerConfiguration) SetPeerAddress(v string) *TransitGatewayConnectPeerConfiguration {
123992	s.PeerAddress = &v
123993	return s
123994}
123995
123996// SetProtocol sets the Protocol field's value.
123997func (s *TransitGatewayConnectPeerConfiguration) SetProtocol(v string) *TransitGatewayConnectPeerConfiguration {
123998	s.Protocol = &v
123999	return s
124000}
124001
124002// SetTransitGatewayAddress sets the TransitGatewayAddress field's value.
124003func (s *TransitGatewayConnectPeerConfiguration) SetTransitGatewayAddress(v string) *TransitGatewayConnectPeerConfiguration {
124004	s.TransitGatewayAddress = &v
124005	return s
124006}
124007
124008// The BGP options for the Connect attachment.
124009type TransitGatewayConnectRequestBgpOptions struct {
124010	_ struct{} `type:"structure"`
124011
124012	// The peer Autonomous System Number (ASN).
124013	PeerAsn *int64 `type:"long"`
124014}
124015
124016// String returns the string representation
124017func (s TransitGatewayConnectRequestBgpOptions) String() string {
124018	return awsutil.Prettify(s)
124019}
124020
124021// GoString returns the string representation
124022func (s TransitGatewayConnectRequestBgpOptions) GoString() string {
124023	return s.String()
124024}
124025
124026// SetPeerAsn sets the PeerAsn field's value.
124027func (s *TransitGatewayConnectRequestBgpOptions) SetPeerAsn(v int64) *TransitGatewayConnectRequestBgpOptions {
124028	s.PeerAsn = &v
124029	return s
124030}
124031
124032// Describes the deregistered transit gateway multicast group members.
124033type TransitGatewayMulticastDeregisteredGroupMembers struct {
124034	_ struct{} `type:"structure"`
124035
124036	// The network interface IDs of the deregistered members.
124037	DeregisteredNetworkInterfaceIds []*string `locationName:"deregisteredNetworkInterfaceIds" locationNameList:"item" type:"list"`
124038
124039	// The IP address assigned to the transit gateway multicast group.
124040	GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
124041
124042	// The ID of the transit gateway multicast domain.
124043	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
124044}
124045
124046// String returns the string representation
124047func (s TransitGatewayMulticastDeregisteredGroupMembers) String() string {
124048	return awsutil.Prettify(s)
124049}
124050
124051// GoString returns the string representation
124052func (s TransitGatewayMulticastDeregisteredGroupMembers) GoString() string {
124053	return s.String()
124054}
124055
124056// SetDeregisteredNetworkInterfaceIds sets the DeregisteredNetworkInterfaceIds field's value.
124057func (s *TransitGatewayMulticastDeregisteredGroupMembers) SetDeregisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastDeregisteredGroupMembers {
124058	s.DeregisteredNetworkInterfaceIds = v
124059	return s
124060}
124061
124062// SetGroupIpAddress sets the GroupIpAddress field's value.
124063func (s *TransitGatewayMulticastDeregisteredGroupMembers) SetGroupIpAddress(v string) *TransitGatewayMulticastDeregisteredGroupMembers {
124064	s.GroupIpAddress = &v
124065	return s
124066}
124067
124068// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
124069func (s *TransitGatewayMulticastDeregisteredGroupMembers) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDeregisteredGroupMembers {
124070	s.TransitGatewayMulticastDomainId = &v
124071	return s
124072}
124073
124074// Describes the deregistered transit gateway multicast group sources.
124075type TransitGatewayMulticastDeregisteredGroupSources struct {
124076	_ struct{} `type:"structure"`
124077
124078	// The network interface IDs of the non-registered members.
124079	DeregisteredNetworkInterfaceIds []*string `locationName:"deregisteredNetworkInterfaceIds" locationNameList:"item" type:"list"`
124080
124081	// The IP address assigned to the transit gateway multicast group.
124082	GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
124083
124084	// The ID of the transit gateway multicast domain.
124085	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
124086}
124087
124088// String returns the string representation
124089func (s TransitGatewayMulticastDeregisteredGroupSources) String() string {
124090	return awsutil.Prettify(s)
124091}
124092
124093// GoString returns the string representation
124094func (s TransitGatewayMulticastDeregisteredGroupSources) GoString() string {
124095	return s.String()
124096}
124097
124098// SetDeregisteredNetworkInterfaceIds sets the DeregisteredNetworkInterfaceIds field's value.
124099func (s *TransitGatewayMulticastDeregisteredGroupSources) SetDeregisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastDeregisteredGroupSources {
124100	s.DeregisteredNetworkInterfaceIds = v
124101	return s
124102}
124103
124104// SetGroupIpAddress sets the GroupIpAddress field's value.
124105func (s *TransitGatewayMulticastDeregisteredGroupSources) SetGroupIpAddress(v string) *TransitGatewayMulticastDeregisteredGroupSources {
124106	s.GroupIpAddress = &v
124107	return s
124108}
124109
124110// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
124111func (s *TransitGatewayMulticastDeregisteredGroupSources) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDeregisteredGroupSources {
124112	s.TransitGatewayMulticastDomainId = &v
124113	return s
124114}
124115
124116// Describes the transit gateway multicast domain.
124117type TransitGatewayMulticastDomain struct {
124118	_ struct{} `type:"structure"`
124119
124120	// The time the transit gateway multicast domain was created.
124121	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
124122
124123	// The options for the transit gateway multicast domain.
124124	Options *TransitGatewayMulticastDomainOptions `locationName:"options" type:"structure"`
124125
124126	// The ID of the Amazon Web Services account that owns the transit gateway multicast
124127	// domain.
124128	OwnerId *string `locationName:"ownerId" type:"string"`
124129
124130	// The state of the transit gateway multicast domain.
124131	State *string `locationName:"state" type:"string" enum:"TransitGatewayMulticastDomainState"`
124132
124133	// The tags for the transit gateway multicast domain.
124134	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
124135
124136	// The ID of the transit gateway.
124137	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
124138
124139	// The Amazon Resource Name (ARN) of the transit gateway multicast domain.
124140	TransitGatewayMulticastDomainArn *string `locationName:"transitGatewayMulticastDomainArn" type:"string"`
124141
124142	// The ID of the transit gateway multicast domain.
124143	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
124144}
124145
124146// String returns the string representation
124147func (s TransitGatewayMulticastDomain) String() string {
124148	return awsutil.Prettify(s)
124149}
124150
124151// GoString returns the string representation
124152func (s TransitGatewayMulticastDomain) GoString() string {
124153	return s.String()
124154}
124155
124156// SetCreationTime sets the CreationTime field's value.
124157func (s *TransitGatewayMulticastDomain) SetCreationTime(v time.Time) *TransitGatewayMulticastDomain {
124158	s.CreationTime = &v
124159	return s
124160}
124161
124162// SetOptions sets the Options field's value.
124163func (s *TransitGatewayMulticastDomain) SetOptions(v *TransitGatewayMulticastDomainOptions) *TransitGatewayMulticastDomain {
124164	s.Options = v
124165	return s
124166}
124167
124168// SetOwnerId sets the OwnerId field's value.
124169func (s *TransitGatewayMulticastDomain) SetOwnerId(v string) *TransitGatewayMulticastDomain {
124170	s.OwnerId = &v
124171	return s
124172}
124173
124174// SetState sets the State field's value.
124175func (s *TransitGatewayMulticastDomain) SetState(v string) *TransitGatewayMulticastDomain {
124176	s.State = &v
124177	return s
124178}
124179
124180// SetTags sets the Tags field's value.
124181func (s *TransitGatewayMulticastDomain) SetTags(v []*Tag) *TransitGatewayMulticastDomain {
124182	s.Tags = v
124183	return s
124184}
124185
124186// SetTransitGatewayId sets the TransitGatewayId field's value.
124187func (s *TransitGatewayMulticastDomain) SetTransitGatewayId(v string) *TransitGatewayMulticastDomain {
124188	s.TransitGatewayId = &v
124189	return s
124190}
124191
124192// SetTransitGatewayMulticastDomainArn sets the TransitGatewayMulticastDomainArn field's value.
124193func (s *TransitGatewayMulticastDomain) SetTransitGatewayMulticastDomainArn(v string) *TransitGatewayMulticastDomain {
124194	s.TransitGatewayMulticastDomainArn = &v
124195	return s
124196}
124197
124198// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
124199func (s *TransitGatewayMulticastDomain) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDomain {
124200	s.TransitGatewayMulticastDomainId = &v
124201	return s
124202}
124203
124204// Describes the resources associated with the transit gateway multicast domain.
124205type TransitGatewayMulticastDomainAssociation struct {
124206	_ struct{} `type:"structure"`
124207
124208	// The ID of the resource.
124209	ResourceId *string `locationName:"resourceId" type:"string"`
124210
124211	// The ID of the Amazon Web Services account that owns the transit gateway multicast
124212	// domain association resource.
124213	ResourceOwnerId *string `locationName:"resourceOwnerId" type:"string"`
124214
124215	// The type of resource, for example a VPC attachment.
124216	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
124217
124218	// The subnet associated with the transit gateway multicast domain.
124219	Subnet *SubnetAssociation `locationName:"subnet" type:"structure"`
124220
124221	// The ID of the transit gateway attachment.
124222	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
124223}
124224
124225// String returns the string representation
124226func (s TransitGatewayMulticastDomainAssociation) String() string {
124227	return awsutil.Prettify(s)
124228}
124229
124230// GoString returns the string representation
124231func (s TransitGatewayMulticastDomainAssociation) GoString() string {
124232	return s.String()
124233}
124234
124235// SetResourceId sets the ResourceId field's value.
124236func (s *TransitGatewayMulticastDomainAssociation) SetResourceId(v string) *TransitGatewayMulticastDomainAssociation {
124237	s.ResourceId = &v
124238	return s
124239}
124240
124241// SetResourceOwnerId sets the ResourceOwnerId field's value.
124242func (s *TransitGatewayMulticastDomainAssociation) SetResourceOwnerId(v string) *TransitGatewayMulticastDomainAssociation {
124243	s.ResourceOwnerId = &v
124244	return s
124245}
124246
124247// SetResourceType sets the ResourceType field's value.
124248func (s *TransitGatewayMulticastDomainAssociation) SetResourceType(v string) *TransitGatewayMulticastDomainAssociation {
124249	s.ResourceType = &v
124250	return s
124251}
124252
124253// SetSubnet sets the Subnet field's value.
124254func (s *TransitGatewayMulticastDomainAssociation) SetSubnet(v *SubnetAssociation) *TransitGatewayMulticastDomainAssociation {
124255	s.Subnet = v
124256	return s
124257}
124258
124259// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
124260func (s *TransitGatewayMulticastDomainAssociation) SetTransitGatewayAttachmentId(v string) *TransitGatewayMulticastDomainAssociation {
124261	s.TransitGatewayAttachmentId = &v
124262	return s
124263}
124264
124265// Describes the multicast domain associations.
124266type TransitGatewayMulticastDomainAssociations struct {
124267	_ struct{} `type:"structure"`
124268
124269	// The ID of the resource.
124270	ResourceId *string `locationName:"resourceId" type:"string"`
124271
124272	// The ID of the Amazon Web Services account that owns the resource.
124273	ResourceOwnerId *string `locationName:"resourceOwnerId" type:"string"`
124274
124275	// The type of resource, for example a VPC attachment.
124276	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
124277
124278	// The subnets associated with the multicast domain.
124279	Subnets []*SubnetAssociation `locationName:"subnets" locationNameList:"item" type:"list"`
124280
124281	// The ID of the transit gateway attachment.
124282	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
124283
124284	// The ID of the transit gateway multicast domain.
124285	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
124286}
124287
124288// String returns the string representation
124289func (s TransitGatewayMulticastDomainAssociations) String() string {
124290	return awsutil.Prettify(s)
124291}
124292
124293// GoString returns the string representation
124294func (s TransitGatewayMulticastDomainAssociations) GoString() string {
124295	return s.String()
124296}
124297
124298// SetResourceId sets the ResourceId field's value.
124299func (s *TransitGatewayMulticastDomainAssociations) SetResourceId(v string) *TransitGatewayMulticastDomainAssociations {
124300	s.ResourceId = &v
124301	return s
124302}
124303
124304// SetResourceOwnerId sets the ResourceOwnerId field's value.
124305func (s *TransitGatewayMulticastDomainAssociations) SetResourceOwnerId(v string) *TransitGatewayMulticastDomainAssociations {
124306	s.ResourceOwnerId = &v
124307	return s
124308}
124309
124310// SetResourceType sets the ResourceType field's value.
124311func (s *TransitGatewayMulticastDomainAssociations) SetResourceType(v string) *TransitGatewayMulticastDomainAssociations {
124312	s.ResourceType = &v
124313	return s
124314}
124315
124316// SetSubnets sets the Subnets field's value.
124317func (s *TransitGatewayMulticastDomainAssociations) SetSubnets(v []*SubnetAssociation) *TransitGatewayMulticastDomainAssociations {
124318	s.Subnets = v
124319	return s
124320}
124321
124322// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
124323func (s *TransitGatewayMulticastDomainAssociations) SetTransitGatewayAttachmentId(v string) *TransitGatewayMulticastDomainAssociations {
124324	s.TransitGatewayAttachmentId = &v
124325	return s
124326}
124327
124328// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
124329func (s *TransitGatewayMulticastDomainAssociations) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDomainAssociations {
124330	s.TransitGatewayMulticastDomainId = &v
124331	return s
124332}
124333
124334// Describes the options for a transit gateway multicast domain.
124335type TransitGatewayMulticastDomainOptions struct {
124336	_ struct{} `type:"structure"`
124337
124338	// Indicates whether to automatically cross-account subnet associations that
124339	// are associated with the transit gateway multicast domain.
124340	AutoAcceptSharedAssociations *string `locationName:"autoAcceptSharedAssociations" type:"string" enum:"AutoAcceptSharedAssociationsValue"`
124341
124342	// Indicates whether Internet Group Management Protocol (IGMP) version 2 is
124343	// turned on for the transit gateway multicast domain.
124344	Igmpv2Support *string `locationName:"igmpv2Support" type:"string" enum:"Igmpv2SupportValue"`
124345
124346	// Indicates whether support for statically configuring transit gateway multicast
124347	// group sources is turned on.
124348	StaticSourcesSupport *string `locationName:"staticSourcesSupport" type:"string" enum:"StaticSourcesSupportValue"`
124349}
124350
124351// String returns the string representation
124352func (s TransitGatewayMulticastDomainOptions) String() string {
124353	return awsutil.Prettify(s)
124354}
124355
124356// GoString returns the string representation
124357func (s TransitGatewayMulticastDomainOptions) GoString() string {
124358	return s.String()
124359}
124360
124361// SetAutoAcceptSharedAssociations sets the AutoAcceptSharedAssociations field's value.
124362func (s *TransitGatewayMulticastDomainOptions) SetAutoAcceptSharedAssociations(v string) *TransitGatewayMulticastDomainOptions {
124363	s.AutoAcceptSharedAssociations = &v
124364	return s
124365}
124366
124367// SetIgmpv2Support sets the Igmpv2Support field's value.
124368func (s *TransitGatewayMulticastDomainOptions) SetIgmpv2Support(v string) *TransitGatewayMulticastDomainOptions {
124369	s.Igmpv2Support = &v
124370	return s
124371}
124372
124373// SetStaticSourcesSupport sets the StaticSourcesSupport field's value.
124374func (s *TransitGatewayMulticastDomainOptions) SetStaticSourcesSupport(v string) *TransitGatewayMulticastDomainOptions {
124375	s.StaticSourcesSupport = &v
124376	return s
124377}
124378
124379// Describes the transit gateway multicast group resources.
124380type TransitGatewayMulticastGroup struct {
124381	_ struct{} `type:"structure"`
124382
124383	// The IP address assigned to the transit gateway multicast group.
124384	GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
124385
124386	// Indicates that the resource is a transit gateway multicast group member.
124387	GroupMember *bool `locationName:"groupMember" type:"boolean"`
124388
124389	// Indicates that the resource is a transit gateway multicast group member.
124390	GroupSource *bool `locationName:"groupSource" type:"boolean"`
124391
124392	// The member type (for example, static).
124393	MemberType *string `locationName:"memberType" type:"string" enum:"MembershipType"`
124394
124395	// The ID of the transit gateway attachment.
124396	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
124397
124398	// The ID of the resource.
124399	ResourceId *string `locationName:"resourceId" type:"string"`
124400
124401	// The ID of the Amazon Web Services account that owns the transit gateway multicast
124402	// domain group resource.
124403	ResourceOwnerId *string `locationName:"resourceOwnerId" type:"string"`
124404
124405	// The type of resource, for example a VPC attachment.
124406	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
124407
124408	// The source type.
124409	SourceType *string `locationName:"sourceType" type:"string" enum:"MembershipType"`
124410
124411	// The ID of the subnet.
124412	SubnetId *string `locationName:"subnetId" type:"string"`
124413
124414	// The ID of the transit gateway attachment.
124415	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
124416}
124417
124418// String returns the string representation
124419func (s TransitGatewayMulticastGroup) String() string {
124420	return awsutil.Prettify(s)
124421}
124422
124423// GoString returns the string representation
124424func (s TransitGatewayMulticastGroup) GoString() string {
124425	return s.String()
124426}
124427
124428// SetGroupIpAddress sets the GroupIpAddress field's value.
124429func (s *TransitGatewayMulticastGroup) SetGroupIpAddress(v string) *TransitGatewayMulticastGroup {
124430	s.GroupIpAddress = &v
124431	return s
124432}
124433
124434// SetGroupMember sets the GroupMember field's value.
124435func (s *TransitGatewayMulticastGroup) SetGroupMember(v bool) *TransitGatewayMulticastGroup {
124436	s.GroupMember = &v
124437	return s
124438}
124439
124440// SetGroupSource sets the GroupSource field's value.
124441func (s *TransitGatewayMulticastGroup) SetGroupSource(v bool) *TransitGatewayMulticastGroup {
124442	s.GroupSource = &v
124443	return s
124444}
124445
124446// SetMemberType sets the MemberType field's value.
124447func (s *TransitGatewayMulticastGroup) SetMemberType(v string) *TransitGatewayMulticastGroup {
124448	s.MemberType = &v
124449	return s
124450}
124451
124452// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
124453func (s *TransitGatewayMulticastGroup) SetNetworkInterfaceId(v string) *TransitGatewayMulticastGroup {
124454	s.NetworkInterfaceId = &v
124455	return s
124456}
124457
124458// SetResourceId sets the ResourceId field's value.
124459func (s *TransitGatewayMulticastGroup) SetResourceId(v string) *TransitGatewayMulticastGroup {
124460	s.ResourceId = &v
124461	return s
124462}
124463
124464// SetResourceOwnerId sets the ResourceOwnerId field's value.
124465func (s *TransitGatewayMulticastGroup) SetResourceOwnerId(v string) *TransitGatewayMulticastGroup {
124466	s.ResourceOwnerId = &v
124467	return s
124468}
124469
124470// SetResourceType sets the ResourceType field's value.
124471func (s *TransitGatewayMulticastGroup) SetResourceType(v string) *TransitGatewayMulticastGroup {
124472	s.ResourceType = &v
124473	return s
124474}
124475
124476// SetSourceType sets the SourceType field's value.
124477func (s *TransitGatewayMulticastGroup) SetSourceType(v string) *TransitGatewayMulticastGroup {
124478	s.SourceType = &v
124479	return s
124480}
124481
124482// SetSubnetId sets the SubnetId field's value.
124483func (s *TransitGatewayMulticastGroup) SetSubnetId(v string) *TransitGatewayMulticastGroup {
124484	s.SubnetId = &v
124485	return s
124486}
124487
124488// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
124489func (s *TransitGatewayMulticastGroup) SetTransitGatewayAttachmentId(v string) *TransitGatewayMulticastGroup {
124490	s.TransitGatewayAttachmentId = &v
124491	return s
124492}
124493
124494// Describes the registered transit gateway multicast group members.
124495type TransitGatewayMulticastRegisteredGroupMembers struct {
124496	_ struct{} `type:"structure"`
124497
124498	// The IP address assigned to the transit gateway multicast group.
124499	GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
124500
124501	// The ID of the registered network interfaces.
124502	RegisteredNetworkInterfaceIds []*string `locationName:"registeredNetworkInterfaceIds" locationNameList:"item" type:"list"`
124503
124504	// The ID of the transit gateway multicast domain.
124505	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
124506}
124507
124508// String returns the string representation
124509func (s TransitGatewayMulticastRegisteredGroupMembers) String() string {
124510	return awsutil.Prettify(s)
124511}
124512
124513// GoString returns the string representation
124514func (s TransitGatewayMulticastRegisteredGroupMembers) GoString() string {
124515	return s.String()
124516}
124517
124518// SetGroupIpAddress sets the GroupIpAddress field's value.
124519func (s *TransitGatewayMulticastRegisteredGroupMembers) SetGroupIpAddress(v string) *TransitGatewayMulticastRegisteredGroupMembers {
124520	s.GroupIpAddress = &v
124521	return s
124522}
124523
124524// SetRegisteredNetworkInterfaceIds sets the RegisteredNetworkInterfaceIds field's value.
124525func (s *TransitGatewayMulticastRegisteredGroupMembers) SetRegisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastRegisteredGroupMembers {
124526	s.RegisteredNetworkInterfaceIds = v
124527	return s
124528}
124529
124530// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
124531func (s *TransitGatewayMulticastRegisteredGroupMembers) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastRegisteredGroupMembers {
124532	s.TransitGatewayMulticastDomainId = &v
124533	return s
124534}
124535
124536// Describes the members registered with the transit gateway multicast group.
124537type TransitGatewayMulticastRegisteredGroupSources struct {
124538	_ struct{} `type:"structure"`
124539
124540	// The IP address assigned to the transit gateway multicast group.
124541	GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
124542
124543	// The IDs of the network interfaces members registered with the transit gateway
124544	// multicast group.
124545	RegisteredNetworkInterfaceIds []*string `locationName:"registeredNetworkInterfaceIds" locationNameList:"item" type:"list"`
124546
124547	// The ID of the transit gateway multicast domain.
124548	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
124549}
124550
124551// String returns the string representation
124552func (s TransitGatewayMulticastRegisteredGroupSources) String() string {
124553	return awsutil.Prettify(s)
124554}
124555
124556// GoString returns the string representation
124557func (s TransitGatewayMulticastRegisteredGroupSources) GoString() string {
124558	return s.String()
124559}
124560
124561// SetGroupIpAddress sets the GroupIpAddress field's value.
124562func (s *TransitGatewayMulticastRegisteredGroupSources) SetGroupIpAddress(v string) *TransitGatewayMulticastRegisteredGroupSources {
124563	s.GroupIpAddress = &v
124564	return s
124565}
124566
124567// SetRegisteredNetworkInterfaceIds sets the RegisteredNetworkInterfaceIds field's value.
124568func (s *TransitGatewayMulticastRegisteredGroupSources) SetRegisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastRegisteredGroupSources {
124569	s.RegisteredNetworkInterfaceIds = v
124570	return s
124571}
124572
124573// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
124574func (s *TransitGatewayMulticastRegisteredGroupSources) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastRegisteredGroupSources {
124575	s.TransitGatewayMulticastDomainId = &v
124576	return s
124577}
124578
124579// Describes the options for a transit gateway.
124580type TransitGatewayOptions struct {
124581	_ struct{} `type:"structure"`
124582
124583	// A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
124584	// The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294
124585	// for 32-bit ASNs.
124586	AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
124587
124588	// The ID of the default association route table.
124589	AssociationDefaultRouteTableId *string `locationName:"associationDefaultRouteTableId" type:"string"`
124590
124591	// Indicates whether attachment requests are automatically accepted.
124592	AutoAcceptSharedAttachments *string `locationName:"autoAcceptSharedAttachments" type:"string" enum:"AutoAcceptSharedAttachmentsValue"`
124593
124594	// Indicates whether resource attachments are automatically associated with
124595	// the default association route table.
124596	DefaultRouteTableAssociation *string `locationName:"defaultRouteTableAssociation" type:"string" enum:"DefaultRouteTableAssociationValue"`
124597
124598	// Indicates whether resource attachments automatically propagate routes to
124599	// the default propagation route table.
124600	DefaultRouteTablePropagation *string `locationName:"defaultRouteTablePropagation" type:"string" enum:"DefaultRouteTablePropagationValue"`
124601
124602	// Indicates whether DNS support is enabled.
124603	DnsSupport *string `locationName:"dnsSupport" type:"string" enum:"DnsSupportValue"`
124604
124605	// Indicates whether multicast is enabled on the transit gateway
124606	MulticastSupport *string `locationName:"multicastSupport" type:"string" enum:"MulticastSupportValue"`
124607
124608	// The ID of the default propagation route table.
124609	PropagationDefaultRouteTableId *string `locationName:"propagationDefaultRouteTableId" type:"string"`
124610
124611	// The transit gateway CIDR blocks.
124612	TransitGatewayCidrBlocks []*string `locationName:"transitGatewayCidrBlocks" locationNameList:"item" type:"list"`
124613
124614	// Indicates whether Equal Cost Multipath Protocol support is enabled.
124615	VpnEcmpSupport *string `locationName:"vpnEcmpSupport" type:"string" enum:"VpnEcmpSupportValue"`
124616}
124617
124618// String returns the string representation
124619func (s TransitGatewayOptions) String() string {
124620	return awsutil.Prettify(s)
124621}
124622
124623// GoString returns the string representation
124624func (s TransitGatewayOptions) GoString() string {
124625	return s.String()
124626}
124627
124628// SetAmazonSideAsn sets the AmazonSideAsn field's value.
124629func (s *TransitGatewayOptions) SetAmazonSideAsn(v int64) *TransitGatewayOptions {
124630	s.AmazonSideAsn = &v
124631	return s
124632}
124633
124634// SetAssociationDefaultRouteTableId sets the AssociationDefaultRouteTableId field's value.
124635func (s *TransitGatewayOptions) SetAssociationDefaultRouteTableId(v string) *TransitGatewayOptions {
124636	s.AssociationDefaultRouteTableId = &v
124637	return s
124638}
124639
124640// SetAutoAcceptSharedAttachments sets the AutoAcceptSharedAttachments field's value.
124641func (s *TransitGatewayOptions) SetAutoAcceptSharedAttachments(v string) *TransitGatewayOptions {
124642	s.AutoAcceptSharedAttachments = &v
124643	return s
124644}
124645
124646// SetDefaultRouteTableAssociation sets the DefaultRouteTableAssociation field's value.
124647func (s *TransitGatewayOptions) SetDefaultRouteTableAssociation(v string) *TransitGatewayOptions {
124648	s.DefaultRouteTableAssociation = &v
124649	return s
124650}
124651
124652// SetDefaultRouteTablePropagation sets the DefaultRouteTablePropagation field's value.
124653func (s *TransitGatewayOptions) SetDefaultRouteTablePropagation(v string) *TransitGatewayOptions {
124654	s.DefaultRouteTablePropagation = &v
124655	return s
124656}
124657
124658// SetDnsSupport sets the DnsSupport field's value.
124659func (s *TransitGatewayOptions) SetDnsSupport(v string) *TransitGatewayOptions {
124660	s.DnsSupport = &v
124661	return s
124662}
124663
124664// SetMulticastSupport sets the MulticastSupport field's value.
124665func (s *TransitGatewayOptions) SetMulticastSupport(v string) *TransitGatewayOptions {
124666	s.MulticastSupport = &v
124667	return s
124668}
124669
124670// SetPropagationDefaultRouteTableId sets the PropagationDefaultRouteTableId field's value.
124671func (s *TransitGatewayOptions) SetPropagationDefaultRouteTableId(v string) *TransitGatewayOptions {
124672	s.PropagationDefaultRouteTableId = &v
124673	return s
124674}
124675
124676// SetTransitGatewayCidrBlocks sets the TransitGatewayCidrBlocks field's value.
124677func (s *TransitGatewayOptions) SetTransitGatewayCidrBlocks(v []*string) *TransitGatewayOptions {
124678	s.TransitGatewayCidrBlocks = v
124679	return s
124680}
124681
124682// SetVpnEcmpSupport sets the VpnEcmpSupport field's value.
124683func (s *TransitGatewayOptions) SetVpnEcmpSupport(v string) *TransitGatewayOptions {
124684	s.VpnEcmpSupport = &v
124685	return s
124686}
124687
124688// Describes the transit gateway peering attachment.
124689type TransitGatewayPeeringAttachment struct {
124690	_ struct{} `type:"structure"`
124691
124692	// Information about the accepter transit gateway.
124693	AccepterTgwInfo *PeeringTgwInfo `locationName:"accepterTgwInfo" type:"structure"`
124694
124695	// The time the transit gateway peering attachment was created.
124696	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
124697
124698	// Information about the requester transit gateway.
124699	RequesterTgwInfo *PeeringTgwInfo `locationName:"requesterTgwInfo" type:"structure"`
124700
124701	// The state of the transit gateway peering attachment. Note that the initiating
124702	// state has been deprecated.
124703	State *string `locationName:"state" type:"string" enum:"TransitGatewayAttachmentState"`
124704
124705	// The status of the transit gateway peering attachment.
124706	Status *PeeringAttachmentStatus `locationName:"status" type:"structure"`
124707
124708	// The tags for the transit gateway peering attachment.
124709	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
124710
124711	// The ID of the transit gateway peering attachment.
124712	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
124713}
124714
124715// String returns the string representation
124716func (s TransitGatewayPeeringAttachment) String() string {
124717	return awsutil.Prettify(s)
124718}
124719
124720// GoString returns the string representation
124721func (s TransitGatewayPeeringAttachment) GoString() string {
124722	return s.String()
124723}
124724
124725// SetAccepterTgwInfo sets the AccepterTgwInfo field's value.
124726func (s *TransitGatewayPeeringAttachment) SetAccepterTgwInfo(v *PeeringTgwInfo) *TransitGatewayPeeringAttachment {
124727	s.AccepterTgwInfo = v
124728	return s
124729}
124730
124731// SetCreationTime sets the CreationTime field's value.
124732func (s *TransitGatewayPeeringAttachment) SetCreationTime(v time.Time) *TransitGatewayPeeringAttachment {
124733	s.CreationTime = &v
124734	return s
124735}
124736
124737// SetRequesterTgwInfo sets the RequesterTgwInfo field's value.
124738func (s *TransitGatewayPeeringAttachment) SetRequesterTgwInfo(v *PeeringTgwInfo) *TransitGatewayPeeringAttachment {
124739	s.RequesterTgwInfo = v
124740	return s
124741}
124742
124743// SetState sets the State field's value.
124744func (s *TransitGatewayPeeringAttachment) SetState(v string) *TransitGatewayPeeringAttachment {
124745	s.State = &v
124746	return s
124747}
124748
124749// SetStatus sets the Status field's value.
124750func (s *TransitGatewayPeeringAttachment) SetStatus(v *PeeringAttachmentStatus) *TransitGatewayPeeringAttachment {
124751	s.Status = v
124752	return s
124753}
124754
124755// SetTags sets the Tags field's value.
124756func (s *TransitGatewayPeeringAttachment) SetTags(v []*Tag) *TransitGatewayPeeringAttachment {
124757	s.Tags = v
124758	return s
124759}
124760
124761// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
124762func (s *TransitGatewayPeeringAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayPeeringAttachment {
124763	s.TransitGatewayAttachmentId = &v
124764	return s
124765}
124766
124767// Describes a transit gateway prefix list attachment.
124768type TransitGatewayPrefixListAttachment struct {
124769	_ struct{} `type:"structure"`
124770
124771	// The ID of the resource.
124772	ResourceId *string `locationName:"resourceId" type:"string"`
124773
124774	// The resource type. Note that the tgw-peering resource type has been deprecated.
124775	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
124776
124777	// The ID of the attachment.
124778	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
124779}
124780
124781// String returns the string representation
124782func (s TransitGatewayPrefixListAttachment) String() string {
124783	return awsutil.Prettify(s)
124784}
124785
124786// GoString returns the string representation
124787func (s TransitGatewayPrefixListAttachment) GoString() string {
124788	return s.String()
124789}
124790
124791// SetResourceId sets the ResourceId field's value.
124792func (s *TransitGatewayPrefixListAttachment) SetResourceId(v string) *TransitGatewayPrefixListAttachment {
124793	s.ResourceId = &v
124794	return s
124795}
124796
124797// SetResourceType sets the ResourceType field's value.
124798func (s *TransitGatewayPrefixListAttachment) SetResourceType(v string) *TransitGatewayPrefixListAttachment {
124799	s.ResourceType = &v
124800	return s
124801}
124802
124803// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
124804func (s *TransitGatewayPrefixListAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayPrefixListAttachment {
124805	s.TransitGatewayAttachmentId = &v
124806	return s
124807}
124808
124809// Describes a prefix list reference.
124810type TransitGatewayPrefixListReference struct {
124811	_ struct{} `type:"structure"`
124812
124813	// Indicates whether traffic that matches this route is dropped.
124814	Blackhole *bool `locationName:"blackhole" type:"boolean"`
124815
124816	// The ID of the prefix list.
124817	PrefixListId *string `locationName:"prefixListId" type:"string"`
124818
124819	// The ID of the prefix list owner.
124820	PrefixListOwnerId *string `locationName:"prefixListOwnerId" type:"string"`
124821
124822	// The state of the prefix list reference.
124823	State *string `locationName:"state" type:"string" enum:"TransitGatewayPrefixListReferenceState"`
124824
124825	// Information about the transit gateway attachment.
124826	TransitGatewayAttachment *TransitGatewayPrefixListAttachment `locationName:"transitGatewayAttachment" type:"structure"`
124827
124828	// The ID of the transit gateway route table.
124829	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
124830}
124831
124832// String returns the string representation
124833func (s TransitGatewayPrefixListReference) String() string {
124834	return awsutil.Prettify(s)
124835}
124836
124837// GoString returns the string representation
124838func (s TransitGatewayPrefixListReference) GoString() string {
124839	return s.String()
124840}
124841
124842// SetBlackhole sets the Blackhole field's value.
124843func (s *TransitGatewayPrefixListReference) SetBlackhole(v bool) *TransitGatewayPrefixListReference {
124844	s.Blackhole = &v
124845	return s
124846}
124847
124848// SetPrefixListId sets the PrefixListId field's value.
124849func (s *TransitGatewayPrefixListReference) SetPrefixListId(v string) *TransitGatewayPrefixListReference {
124850	s.PrefixListId = &v
124851	return s
124852}
124853
124854// SetPrefixListOwnerId sets the PrefixListOwnerId field's value.
124855func (s *TransitGatewayPrefixListReference) SetPrefixListOwnerId(v string) *TransitGatewayPrefixListReference {
124856	s.PrefixListOwnerId = &v
124857	return s
124858}
124859
124860// SetState sets the State field's value.
124861func (s *TransitGatewayPrefixListReference) SetState(v string) *TransitGatewayPrefixListReference {
124862	s.State = &v
124863	return s
124864}
124865
124866// SetTransitGatewayAttachment sets the TransitGatewayAttachment field's value.
124867func (s *TransitGatewayPrefixListReference) SetTransitGatewayAttachment(v *TransitGatewayPrefixListAttachment) *TransitGatewayPrefixListReference {
124868	s.TransitGatewayAttachment = v
124869	return s
124870}
124871
124872// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
124873func (s *TransitGatewayPrefixListReference) SetTransitGatewayRouteTableId(v string) *TransitGatewayPrefixListReference {
124874	s.TransitGatewayRouteTableId = &v
124875	return s
124876}
124877
124878// Describes route propagation.
124879type TransitGatewayPropagation struct {
124880	_ struct{} `type:"structure"`
124881
124882	// The ID of the resource.
124883	ResourceId *string `locationName:"resourceId" type:"string"`
124884
124885	// The resource type. Note that the tgw-peering resource type has been deprecated.
124886	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
124887
124888	// The state.
124889	State *string `locationName:"state" type:"string" enum:"TransitGatewayPropagationState"`
124890
124891	// The ID of the attachment.
124892	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
124893
124894	// The ID of the transit gateway route table.
124895	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
124896}
124897
124898// String returns the string representation
124899func (s TransitGatewayPropagation) String() string {
124900	return awsutil.Prettify(s)
124901}
124902
124903// GoString returns the string representation
124904func (s TransitGatewayPropagation) GoString() string {
124905	return s.String()
124906}
124907
124908// SetResourceId sets the ResourceId field's value.
124909func (s *TransitGatewayPropagation) SetResourceId(v string) *TransitGatewayPropagation {
124910	s.ResourceId = &v
124911	return s
124912}
124913
124914// SetResourceType sets the ResourceType field's value.
124915func (s *TransitGatewayPropagation) SetResourceType(v string) *TransitGatewayPropagation {
124916	s.ResourceType = &v
124917	return s
124918}
124919
124920// SetState sets the State field's value.
124921func (s *TransitGatewayPropagation) SetState(v string) *TransitGatewayPropagation {
124922	s.State = &v
124923	return s
124924}
124925
124926// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
124927func (s *TransitGatewayPropagation) SetTransitGatewayAttachmentId(v string) *TransitGatewayPropagation {
124928	s.TransitGatewayAttachmentId = &v
124929	return s
124930}
124931
124932// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
124933func (s *TransitGatewayPropagation) SetTransitGatewayRouteTableId(v string) *TransitGatewayPropagation {
124934	s.TransitGatewayRouteTableId = &v
124935	return s
124936}
124937
124938// Describes the options for a transit gateway.
124939type TransitGatewayRequestOptions struct {
124940	_ struct{} `type:"structure"`
124941
124942	// A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
124943	// The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294
124944	// for 32-bit ASNs. The default is 64512.
124945	AmazonSideAsn *int64 `type:"long"`
124946
124947	// Enable or disable automatic acceptance of attachment requests. Disabled by
124948	// default.
124949	AutoAcceptSharedAttachments *string `type:"string" enum:"AutoAcceptSharedAttachmentsValue"`
124950
124951	// Enable or disable automatic association with the default association route
124952	// table. Enabled by default.
124953	DefaultRouteTableAssociation *string `type:"string" enum:"DefaultRouteTableAssociationValue"`
124954
124955	// Enable or disable automatic propagation of routes to the default propagation
124956	// route table. Enabled by default.
124957	DefaultRouteTablePropagation *string `type:"string" enum:"DefaultRouteTablePropagationValue"`
124958
124959	// Enable or disable DNS support. Enabled by default.
124960	DnsSupport *string `type:"string" enum:"DnsSupportValue"`
124961
124962	// Indicates whether multicast is enabled on the transit gateway
124963	MulticastSupport *string `type:"string" enum:"MulticastSupportValue"`
124964
124965	// One or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size
124966	// /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for
124967	// IPv6.
124968	TransitGatewayCidrBlocks []*string `locationNameList:"item" type:"list"`
124969
124970	// Enable or disable Equal Cost Multipath Protocol support. Enabled by default.
124971	VpnEcmpSupport *string `type:"string" enum:"VpnEcmpSupportValue"`
124972}
124973
124974// String returns the string representation
124975func (s TransitGatewayRequestOptions) String() string {
124976	return awsutil.Prettify(s)
124977}
124978
124979// GoString returns the string representation
124980func (s TransitGatewayRequestOptions) GoString() string {
124981	return s.String()
124982}
124983
124984// SetAmazonSideAsn sets the AmazonSideAsn field's value.
124985func (s *TransitGatewayRequestOptions) SetAmazonSideAsn(v int64) *TransitGatewayRequestOptions {
124986	s.AmazonSideAsn = &v
124987	return s
124988}
124989
124990// SetAutoAcceptSharedAttachments sets the AutoAcceptSharedAttachments field's value.
124991func (s *TransitGatewayRequestOptions) SetAutoAcceptSharedAttachments(v string) *TransitGatewayRequestOptions {
124992	s.AutoAcceptSharedAttachments = &v
124993	return s
124994}
124995
124996// SetDefaultRouteTableAssociation sets the DefaultRouteTableAssociation field's value.
124997func (s *TransitGatewayRequestOptions) SetDefaultRouteTableAssociation(v string) *TransitGatewayRequestOptions {
124998	s.DefaultRouteTableAssociation = &v
124999	return s
125000}
125001
125002// SetDefaultRouteTablePropagation sets the DefaultRouteTablePropagation field's value.
125003func (s *TransitGatewayRequestOptions) SetDefaultRouteTablePropagation(v string) *TransitGatewayRequestOptions {
125004	s.DefaultRouteTablePropagation = &v
125005	return s
125006}
125007
125008// SetDnsSupport sets the DnsSupport field's value.
125009func (s *TransitGatewayRequestOptions) SetDnsSupport(v string) *TransitGatewayRequestOptions {
125010	s.DnsSupport = &v
125011	return s
125012}
125013
125014// SetMulticastSupport sets the MulticastSupport field's value.
125015func (s *TransitGatewayRequestOptions) SetMulticastSupport(v string) *TransitGatewayRequestOptions {
125016	s.MulticastSupport = &v
125017	return s
125018}
125019
125020// SetTransitGatewayCidrBlocks sets the TransitGatewayCidrBlocks field's value.
125021func (s *TransitGatewayRequestOptions) SetTransitGatewayCidrBlocks(v []*string) *TransitGatewayRequestOptions {
125022	s.TransitGatewayCidrBlocks = v
125023	return s
125024}
125025
125026// SetVpnEcmpSupport sets the VpnEcmpSupport field's value.
125027func (s *TransitGatewayRequestOptions) SetVpnEcmpSupport(v string) *TransitGatewayRequestOptions {
125028	s.VpnEcmpSupport = &v
125029	return s
125030}
125031
125032// Describes a route for a transit gateway route table.
125033type TransitGatewayRoute struct {
125034	_ struct{} `type:"structure"`
125035
125036	// The CIDR block used for destination matches.
125037	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
125038
125039	// The ID of the prefix list used for destination matches.
125040	PrefixListId *string `locationName:"prefixListId" type:"string"`
125041
125042	// The state of the route.
125043	State *string `locationName:"state" type:"string" enum:"TransitGatewayRouteState"`
125044
125045	// The attachments.
125046	TransitGatewayAttachments []*TransitGatewayRouteAttachment `locationName:"transitGatewayAttachments" locationNameList:"item" type:"list"`
125047
125048	// The route type.
125049	Type *string `locationName:"type" type:"string" enum:"TransitGatewayRouteType"`
125050}
125051
125052// String returns the string representation
125053func (s TransitGatewayRoute) String() string {
125054	return awsutil.Prettify(s)
125055}
125056
125057// GoString returns the string representation
125058func (s TransitGatewayRoute) GoString() string {
125059	return s.String()
125060}
125061
125062// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
125063func (s *TransitGatewayRoute) SetDestinationCidrBlock(v string) *TransitGatewayRoute {
125064	s.DestinationCidrBlock = &v
125065	return s
125066}
125067
125068// SetPrefixListId sets the PrefixListId field's value.
125069func (s *TransitGatewayRoute) SetPrefixListId(v string) *TransitGatewayRoute {
125070	s.PrefixListId = &v
125071	return s
125072}
125073
125074// SetState sets the State field's value.
125075func (s *TransitGatewayRoute) SetState(v string) *TransitGatewayRoute {
125076	s.State = &v
125077	return s
125078}
125079
125080// SetTransitGatewayAttachments sets the TransitGatewayAttachments field's value.
125081func (s *TransitGatewayRoute) SetTransitGatewayAttachments(v []*TransitGatewayRouteAttachment) *TransitGatewayRoute {
125082	s.TransitGatewayAttachments = v
125083	return s
125084}
125085
125086// SetType sets the Type field's value.
125087func (s *TransitGatewayRoute) SetType(v string) *TransitGatewayRoute {
125088	s.Type = &v
125089	return s
125090}
125091
125092// Describes a route attachment.
125093type TransitGatewayRouteAttachment struct {
125094	_ struct{} `type:"structure"`
125095
125096	// The ID of the resource.
125097	ResourceId *string `locationName:"resourceId" type:"string"`
125098
125099	// The resource type. Note that the tgw-peering resource type has been deprecated.
125100	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
125101
125102	// The ID of the attachment.
125103	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
125104}
125105
125106// String returns the string representation
125107func (s TransitGatewayRouteAttachment) String() string {
125108	return awsutil.Prettify(s)
125109}
125110
125111// GoString returns the string representation
125112func (s TransitGatewayRouteAttachment) GoString() string {
125113	return s.String()
125114}
125115
125116// SetResourceId sets the ResourceId field's value.
125117func (s *TransitGatewayRouteAttachment) SetResourceId(v string) *TransitGatewayRouteAttachment {
125118	s.ResourceId = &v
125119	return s
125120}
125121
125122// SetResourceType sets the ResourceType field's value.
125123func (s *TransitGatewayRouteAttachment) SetResourceType(v string) *TransitGatewayRouteAttachment {
125124	s.ResourceType = &v
125125	return s
125126}
125127
125128// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
125129func (s *TransitGatewayRouteAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayRouteAttachment {
125130	s.TransitGatewayAttachmentId = &v
125131	return s
125132}
125133
125134// Describes a transit gateway route table.
125135type TransitGatewayRouteTable struct {
125136	_ struct{} `type:"structure"`
125137
125138	// The creation time.
125139	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
125140
125141	// Indicates whether this is the default association route table for the transit
125142	// gateway.
125143	DefaultAssociationRouteTable *bool `locationName:"defaultAssociationRouteTable" type:"boolean"`
125144
125145	// Indicates whether this is the default propagation route table for the transit
125146	// gateway.
125147	DefaultPropagationRouteTable *bool `locationName:"defaultPropagationRouteTable" type:"boolean"`
125148
125149	// The state of the transit gateway route table.
125150	State *string `locationName:"state" type:"string" enum:"TransitGatewayRouteTableState"`
125151
125152	// Any tags assigned to the route table.
125153	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
125154
125155	// The ID of the transit gateway.
125156	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
125157
125158	// The ID of the transit gateway route table.
125159	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
125160}
125161
125162// String returns the string representation
125163func (s TransitGatewayRouteTable) String() string {
125164	return awsutil.Prettify(s)
125165}
125166
125167// GoString returns the string representation
125168func (s TransitGatewayRouteTable) GoString() string {
125169	return s.String()
125170}
125171
125172// SetCreationTime sets the CreationTime field's value.
125173func (s *TransitGatewayRouteTable) SetCreationTime(v time.Time) *TransitGatewayRouteTable {
125174	s.CreationTime = &v
125175	return s
125176}
125177
125178// SetDefaultAssociationRouteTable sets the DefaultAssociationRouteTable field's value.
125179func (s *TransitGatewayRouteTable) SetDefaultAssociationRouteTable(v bool) *TransitGatewayRouteTable {
125180	s.DefaultAssociationRouteTable = &v
125181	return s
125182}
125183
125184// SetDefaultPropagationRouteTable sets the DefaultPropagationRouteTable field's value.
125185func (s *TransitGatewayRouteTable) SetDefaultPropagationRouteTable(v bool) *TransitGatewayRouteTable {
125186	s.DefaultPropagationRouteTable = &v
125187	return s
125188}
125189
125190// SetState sets the State field's value.
125191func (s *TransitGatewayRouteTable) SetState(v string) *TransitGatewayRouteTable {
125192	s.State = &v
125193	return s
125194}
125195
125196// SetTags sets the Tags field's value.
125197func (s *TransitGatewayRouteTable) SetTags(v []*Tag) *TransitGatewayRouteTable {
125198	s.Tags = v
125199	return s
125200}
125201
125202// SetTransitGatewayId sets the TransitGatewayId field's value.
125203func (s *TransitGatewayRouteTable) SetTransitGatewayId(v string) *TransitGatewayRouteTable {
125204	s.TransitGatewayId = &v
125205	return s
125206}
125207
125208// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
125209func (s *TransitGatewayRouteTable) SetTransitGatewayRouteTableId(v string) *TransitGatewayRouteTable {
125210	s.TransitGatewayRouteTableId = &v
125211	return s
125212}
125213
125214// Describes an association between a route table and a resource attachment.
125215type TransitGatewayRouteTableAssociation struct {
125216	_ struct{} `type:"structure"`
125217
125218	// The ID of the resource.
125219	ResourceId *string `locationName:"resourceId" type:"string"`
125220
125221	// The resource type. Note that the tgw-peering resource type has been deprecated.
125222	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
125223
125224	// The state of the association.
125225	State *string `locationName:"state" type:"string" enum:"TransitGatewayAssociationState"`
125226
125227	// The ID of the attachment.
125228	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
125229}
125230
125231// String returns the string representation
125232func (s TransitGatewayRouteTableAssociation) String() string {
125233	return awsutil.Prettify(s)
125234}
125235
125236// GoString returns the string representation
125237func (s TransitGatewayRouteTableAssociation) GoString() string {
125238	return s.String()
125239}
125240
125241// SetResourceId sets the ResourceId field's value.
125242func (s *TransitGatewayRouteTableAssociation) SetResourceId(v string) *TransitGatewayRouteTableAssociation {
125243	s.ResourceId = &v
125244	return s
125245}
125246
125247// SetResourceType sets the ResourceType field's value.
125248func (s *TransitGatewayRouteTableAssociation) SetResourceType(v string) *TransitGatewayRouteTableAssociation {
125249	s.ResourceType = &v
125250	return s
125251}
125252
125253// SetState sets the State field's value.
125254func (s *TransitGatewayRouteTableAssociation) SetState(v string) *TransitGatewayRouteTableAssociation {
125255	s.State = &v
125256	return s
125257}
125258
125259// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
125260func (s *TransitGatewayRouteTableAssociation) SetTransitGatewayAttachmentId(v string) *TransitGatewayRouteTableAssociation {
125261	s.TransitGatewayAttachmentId = &v
125262	return s
125263}
125264
125265// Describes a route table propagation.
125266type TransitGatewayRouteTablePropagation struct {
125267	_ struct{} `type:"structure"`
125268
125269	// The ID of the resource.
125270	ResourceId *string `locationName:"resourceId" type:"string"`
125271
125272	// The type of resource. Note that the tgw-peering resource type has been deprecated.
125273	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
125274
125275	// The state of the resource.
125276	State *string `locationName:"state" type:"string" enum:"TransitGatewayPropagationState"`
125277
125278	// The ID of the attachment.
125279	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
125280}
125281
125282// String returns the string representation
125283func (s TransitGatewayRouteTablePropagation) String() string {
125284	return awsutil.Prettify(s)
125285}
125286
125287// GoString returns the string representation
125288func (s TransitGatewayRouteTablePropagation) GoString() string {
125289	return s.String()
125290}
125291
125292// SetResourceId sets the ResourceId field's value.
125293func (s *TransitGatewayRouteTablePropagation) SetResourceId(v string) *TransitGatewayRouteTablePropagation {
125294	s.ResourceId = &v
125295	return s
125296}
125297
125298// SetResourceType sets the ResourceType field's value.
125299func (s *TransitGatewayRouteTablePropagation) SetResourceType(v string) *TransitGatewayRouteTablePropagation {
125300	s.ResourceType = &v
125301	return s
125302}
125303
125304// SetState sets the State field's value.
125305func (s *TransitGatewayRouteTablePropagation) SetState(v string) *TransitGatewayRouteTablePropagation {
125306	s.State = &v
125307	return s
125308}
125309
125310// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
125311func (s *TransitGatewayRouteTablePropagation) SetTransitGatewayAttachmentId(v string) *TransitGatewayRouteTablePropagation {
125312	s.TransitGatewayAttachmentId = &v
125313	return s
125314}
125315
125316// Describes a VPC attachment.
125317type TransitGatewayVpcAttachment struct {
125318	_ struct{} `type:"structure"`
125319
125320	// The creation time.
125321	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
125322
125323	// The VPC attachment options.
125324	Options *TransitGatewayVpcAttachmentOptions `locationName:"options" type:"structure"`
125325
125326	// The state of the VPC attachment. Note that the initiating state has been
125327	// deprecated.
125328	State *string `locationName:"state" type:"string" enum:"TransitGatewayAttachmentState"`
125329
125330	// The IDs of the subnets.
125331	SubnetIds []*string `locationName:"subnetIds" locationNameList:"item" type:"list"`
125332
125333	// The tags for the VPC attachment.
125334	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
125335
125336	// The ID of the attachment.
125337	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
125338
125339	// The ID of the transit gateway.
125340	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
125341
125342	// The ID of the VPC.
125343	VpcId *string `locationName:"vpcId" type:"string"`
125344
125345	// The ID of the Amazon Web Services account that owns the VPC.
125346	VpcOwnerId *string `locationName:"vpcOwnerId" type:"string"`
125347}
125348
125349// String returns the string representation
125350func (s TransitGatewayVpcAttachment) String() string {
125351	return awsutil.Prettify(s)
125352}
125353
125354// GoString returns the string representation
125355func (s TransitGatewayVpcAttachment) GoString() string {
125356	return s.String()
125357}
125358
125359// SetCreationTime sets the CreationTime field's value.
125360func (s *TransitGatewayVpcAttachment) SetCreationTime(v time.Time) *TransitGatewayVpcAttachment {
125361	s.CreationTime = &v
125362	return s
125363}
125364
125365// SetOptions sets the Options field's value.
125366func (s *TransitGatewayVpcAttachment) SetOptions(v *TransitGatewayVpcAttachmentOptions) *TransitGatewayVpcAttachment {
125367	s.Options = v
125368	return s
125369}
125370
125371// SetState sets the State field's value.
125372func (s *TransitGatewayVpcAttachment) SetState(v string) *TransitGatewayVpcAttachment {
125373	s.State = &v
125374	return s
125375}
125376
125377// SetSubnetIds sets the SubnetIds field's value.
125378func (s *TransitGatewayVpcAttachment) SetSubnetIds(v []*string) *TransitGatewayVpcAttachment {
125379	s.SubnetIds = v
125380	return s
125381}
125382
125383// SetTags sets the Tags field's value.
125384func (s *TransitGatewayVpcAttachment) SetTags(v []*Tag) *TransitGatewayVpcAttachment {
125385	s.Tags = v
125386	return s
125387}
125388
125389// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
125390func (s *TransitGatewayVpcAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayVpcAttachment {
125391	s.TransitGatewayAttachmentId = &v
125392	return s
125393}
125394
125395// SetTransitGatewayId sets the TransitGatewayId field's value.
125396func (s *TransitGatewayVpcAttachment) SetTransitGatewayId(v string) *TransitGatewayVpcAttachment {
125397	s.TransitGatewayId = &v
125398	return s
125399}
125400
125401// SetVpcId sets the VpcId field's value.
125402func (s *TransitGatewayVpcAttachment) SetVpcId(v string) *TransitGatewayVpcAttachment {
125403	s.VpcId = &v
125404	return s
125405}
125406
125407// SetVpcOwnerId sets the VpcOwnerId field's value.
125408func (s *TransitGatewayVpcAttachment) SetVpcOwnerId(v string) *TransitGatewayVpcAttachment {
125409	s.VpcOwnerId = &v
125410	return s
125411}
125412
125413// Describes the VPC attachment options.
125414type TransitGatewayVpcAttachmentOptions struct {
125415	_ struct{} `type:"structure"`
125416
125417	// Indicates whether appliance mode support is enabled.
125418	ApplianceModeSupport *string `locationName:"applianceModeSupport" type:"string" enum:"ApplianceModeSupportValue"`
125419
125420	// Indicates whether DNS support is enabled.
125421	DnsSupport *string `locationName:"dnsSupport" type:"string" enum:"DnsSupportValue"`
125422
125423	// Indicates whether IPv6 support is disabled.
125424	Ipv6Support *string `locationName:"ipv6Support" type:"string" enum:"Ipv6SupportValue"`
125425}
125426
125427// String returns the string representation
125428func (s TransitGatewayVpcAttachmentOptions) String() string {
125429	return awsutil.Prettify(s)
125430}
125431
125432// GoString returns the string representation
125433func (s TransitGatewayVpcAttachmentOptions) GoString() string {
125434	return s.String()
125435}
125436
125437// SetApplianceModeSupport sets the ApplianceModeSupport field's value.
125438func (s *TransitGatewayVpcAttachmentOptions) SetApplianceModeSupport(v string) *TransitGatewayVpcAttachmentOptions {
125439	s.ApplianceModeSupport = &v
125440	return s
125441}
125442
125443// SetDnsSupport sets the DnsSupport field's value.
125444func (s *TransitGatewayVpcAttachmentOptions) SetDnsSupport(v string) *TransitGatewayVpcAttachmentOptions {
125445	s.DnsSupport = &v
125446	return s
125447}
125448
125449// SetIpv6Support sets the Ipv6Support field's value.
125450func (s *TransitGatewayVpcAttachmentOptions) SetIpv6Support(v string) *TransitGatewayVpcAttachmentOptions {
125451	s.Ipv6Support = &v
125452	return s
125453}
125454
125455//
125456// Currently available in limited preview only. If you are interested in using
125457// this feature, contact your account manager.
125458//
125459// Information about an association between a branch network interface with
125460// a trunk network interface.
125461type TrunkInterfaceAssociation struct {
125462	_ struct{} `type:"structure"`
125463
125464	// The ID of the association.
125465	AssociationId *string `locationName:"associationId" type:"string"`
125466
125467	// The ID of the branch network interface.
125468	BranchInterfaceId *string `locationName:"branchInterfaceId" type:"string"`
125469
125470	// The application key when you use the GRE protocol.
125471	GreKey *int64 `locationName:"greKey" type:"integer"`
125472
125473	// The interface protocol. Valid values are VLAN and GRE.
125474	InterfaceProtocol *string `locationName:"interfaceProtocol" type:"string" enum:"InterfaceProtocolType"`
125475
125476	// The tags for the trunk interface association.
125477	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
125478
125479	// The ID of the trunk network interface.
125480	TrunkInterfaceId *string `locationName:"trunkInterfaceId" type:"string"`
125481
125482	// The ID of the VLAN when you use the VLAN protocol.
125483	VlanId *int64 `locationName:"vlanId" type:"integer"`
125484}
125485
125486// String returns the string representation
125487func (s TrunkInterfaceAssociation) String() string {
125488	return awsutil.Prettify(s)
125489}
125490
125491// GoString returns the string representation
125492func (s TrunkInterfaceAssociation) GoString() string {
125493	return s.String()
125494}
125495
125496// SetAssociationId sets the AssociationId field's value.
125497func (s *TrunkInterfaceAssociation) SetAssociationId(v string) *TrunkInterfaceAssociation {
125498	s.AssociationId = &v
125499	return s
125500}
125501
125502// SetBranchInterfaceId sets the BranchInterfaceId field's value.
125503func (s *TrunkInterfaceAssociation) SetBranchInterfaceId(v string) *TrunkInterfaceAssociation {
125504	s.BranchInterfaceId = &v
125505	return s
125506}
125507
125508// SetGreKey sets the GreKey field's value.
125509func (s *TrunkInterfaceAssociation) SetGreKey(v int64) *TrunkInterfaceAssociation {
125510	s.GreKey = &v
125511	return s
125512}
125513
125514// SetInterfaceProtocol sets the InterfaceProtocol field's value.
125515func (s *TrunkInterfaceAssociation) SetInterfaceProtocol(v string) *TrunkInterfaceAssociation {
125516	s.InterfaceProtocol = &v
125517	return s
125518}
125519
125520// SetTags sets the Tags field's value.
125521func (s *TrunkInterfaceAssociation) SetTags(v []*Tag) *TrunkInterfaceAssociation {
125522	s.Tags = v
125523	return s
125524}
125525
125526// SetTrunkInterfaceId sets the TrunkInterfaceId field's value.
125527func (s *TrunkInterfaceAssociation) SetTrunkInterfaceId(v string) *TrunkInterfaceAssociation {
125528	s.TrunkInterfaceId = &v
125529	return s
125530}
125531
125532// SetVlanId sets the VlanId field's value.
125533func (s *TrunkInterfaceAssociation) SetVlanId(v int64) *TrunkInterfaceAssociation {
125534	s.VlanId = &v
125535	return s
125536}
125537
125538// The VPN tunnel options.
125539type TunnelOption struct {
125540	_ struct{} `type:"structure"`
125541
125542	// The action to take after a DPD timeout occurs.
125543	DpdTimeoutAction *string `locationName:"dpdTimeoutAction" type:"string"`
125544
125545	// The number of seconds after which a DPD timeout occurs.
125546	DpdTimeoutSeconds *int64 `locationName:"dpdTimeoutSeconds" type:"integer"`
125547
125548	// The IKE versions that are permitted for the VPN tunnel.
125549	IkeVersions []*IKEVersionsListValue `locationName:"ikeVersionSet" locationNameList:"item" type:"list"`
125550
125551	// The external IP address of the VPN tunnel.
125552	OutsideIpAddress *string `locationName:"outsideIpAddress" type:"string"`
125553
125554	// The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1
125555	// IKE negotiations.
125556	Phase1DHGroupNumbers []*Phase1DHGroupNumbersListValue `locationName:"phase1DHGroupNumberSet" locationNameList:"item" type:"list"`
125557
125558	// The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations.
125559	Phase1EncryptionAlgorithms []*Phase1EncryptionAlgorithmsListValue `locationName:"phase1EncryptionAlgorithmSet" locationNameList:"item" type:"list"`
125560
125561	// The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations.
125562	Phase1IntegrityAlgorithms []*Phase1IntegrityAlgorithmsListValue `locationName:"phase1IntegrityAlgorithmSet" locationNameList:"item" type:"list"`
125563
125564	// The lifetime for phase 1 of the IKE negotiation, in seconds.
125565	Phase1LifetimeSeconds *int64 `locationName:"phase1LifetimeSeconds" type:"integer"`
125566
125567	// The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2
125568	// IKE negotiations.
125569	Phase2DHGroupNumbers []*Phase2DHGroupNumbersListValue `locationName:"phase2DHGroupNumberSet" locationNameList:"item" type:"list"`
125570
125571	// The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations.
125572	Phase2EncryptionAlgorithms []*Phase2EncryptionAlgorithmsListValue `locationName:"phase2EncryptionAlgorithmSet" locationNameList:"item" type:"list"`
125573
125574	// The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations.
125575	Phase2IntegrityAlgorithms []*Phase2IntegrityAlgorithmsListValue `locationName:"phase2IntegrityAlgorithmSet" locationNameList:"item" type:"list"`
125576
125577	// The lifetime for phase 2 of the IKE negotiation, in seconds.
125578	Phase2LifetimeSeconds *int64 `locationName:"phase2LifetimeSeconds" type:"integer"`
125579
125580	// The pre-shared key (PSK) to establish initial authentication between the
125581	// virtual private gateway and the customer gateway.
125582	PreSharedKey *string `locationName:"preSharedKey" type:"string"`
125583
125584	// The percentage of the rekey window determined by RekeyMarginTimeSeconds during
125585	// which the rekey time is randomly selected.
125586	RekeyFuzzPercentage *int64 `locationName:"rekeyFuzzPercentage" type:"integer"`
125587
125588	// The margin time, in seconds, before the phase 2 lifetime expires, during
125589	// which the AWS side of the VPN connection performs an IKE rekey.
125590	RekeyMarginTimeSeconds *int64 `locationName:"rekeyMarginTimeSeconds" type:"integer"`
125591
125592	// The number of packets in an IKE replay window.
125593	ReplayWindowSize *int64 `locationName:"replayWindowSize" type:"integer"`
125594
125595	// The action to take when the establishing the VPN tunnels for a VPN connection.
125596	StartupAction *string `locationName:"startupAction" type:"string"`
125597
125598	// The range of inside IPv4 addresses for the tunnel.
125599	TunnelInsideCidr *string `locationName:"tunnelInsideCidr" type:"string"`
125600
125601	// The range of inside IPv6 addresses for the tunnel.
125602	TunnelInsideIpv6Cidr *string `locationName:"tunnelInsideIpv6Cidr" type:"string"`
125603}
125604
125605// String returns the string representation
125606func (s TunnelOption) String() string {
125607	return awsutil.Prettify(s)
125608}
125609
125610// GoString returns the string representation
125611func (s TunnelOption) GoString() string {
125612	return s.String()
125613}
125614
125615// SetDpdTimeoutAction sets the DpdTimeoutAction field's value.
125616func (s *TunnelOption) SetDpdTimeoutAction(v string) *TunnelOption {
125617	s.DpdTimeoutAction = &v
125618	return s
125619}
125620
125621// SetDpdTimeoutSeconds sets the DpdTimeoutSeconds field's value.
125622func (s *TunnelOption) SetDpdTimeoutSeconds(v int64) *TunnelOption {
125623	s.DpdTimeoutSeconds = &v
125624	return s
125625}
125626
125627// SetIkeVersions sets the IkeVersions field's value.
125628func (s *TunnelOption) SetIkeVersions(v []*IKEVersionsListValue) *TunnelOption {
125629	s.IkeVersions = v
125630	return s
125631}
125632
125633// SetOutsideIpAddress sets the OutsideIpAddress field's value.
125634func (s *TunnelOption) SetOutsideIpAddress(v string) *TunnelOption {
125635	s.OutsideIpAddress = &v
125636	return s
125637}
125638
125639// SetPhase1DHGroupNumbers sets the Phase1DHGroupNumbers field's value.
125640func (s *TunnelOption) SetPhase1DHGroupNumbers(v []*Phase1DHGroupNumbersListValue) *TunnelOption {
125641	s.Phase1DHGroupNumbers = v
125642	return s
125643}
125644
125645// SetPhase1EncryptionAlgorithms sets the Phase1EncryptionAlgorithms field's value.
125646func (s *TunnelOption) SetPhase1EncryptionAlgorithms(v []*Phase1EncryptionAlgorithmsListValue) *TunnelOption {
125647	s.Phase1EncryptionAlgorithms = v
125648	return s
125649}
125650
125651// SetPhase1IntegrityAlgorithms sets the Phase1IntegrityAlgorithms field's value.
125652func (s *TunnelOption) SetPhase1IntegrityAlgorithms(v []*Phase1IntegrityAlgorithmsListValue) *TunnelOption {
125653	s.Phase1IntegrityAlgorithms = v
125654	return s
125655}
125656
125657// SetPhase1LifetimeSeconds sets the Phase1LifetimeSeconds field's value.
125658func (s *TunnelOption) SetPhase1LifetimeSeconds(v int64) *TunnelOption {
125659	s.Phase1LifetimeSeconds = &v
125660	return s
125661}
125662
125663// SetPhase2DHGroupNumbers sets the Phase2DHGroupNumbers field's value.
125664func (s *TunnelOption) SetPhase2DHGroupNumbers(v []*Phase2DHGroupNumbersListValue) *TunnelOption {
125665	s.Phase2DHGroupNumbers = v
125666	return s
125667}
125668
125669// SetPhase2EncryptionAlgorithms sets the Phase2EncryptionAlgorithms field's value.
125670func (s *TunnelOption) SetPhase2EncryptionAlgorithms(v []*Phase2EncryptionAlgorithmsListValue) *TunnelOption {
125671	s.Phase2EncryptionAlgorithms = v
125672	return s
125673}
125674
125675// SetPhase2IntegrityAlgorithms sets the Phase2IntegrityAlgorithms field's value.
125676func (s *TunnelOption) SetPhase2IntegrityAlgorithms(v []*Phase2IntegrityAlgorithmsListValue) *TunnelOption {
125677	s.Phase2IntegrityAlgorithms = v
125678	return s
125679}
125680
125681// SetPhase2LifetimeSeconds sets the Phase2LifetimeSeconds field's value.
125682func (s *TunnelOption) SetPhase2LifetimeSeconds(v int64) *TunnelOption {
125683	s.Phase2LifetimeSeconds = &v
125684	return s
125685}
125686
125687// SetPreSharedKey sets the PreSharedKey field's value.
125688func (s *TunnelOption) SetPreSharedKey(v string) *TunnelOption {
125689	s.PreSharedKey = &v
125690	return s
125691}
125692
125693// SetRekeyFuzzPercentage sets the RekeyFuzzPercentage field's value.
125694func (s *TunnelOption) SetRekeyFuzzPercentage(v int64) *TunnelOption {
125695	s.RekeyFuzzPercentage = &v
125696	return s
125697}
125698
125699// SetRekeyMarginTimeSeconds sets the RekeyMarginTimeSeconds field's value.
125700func (s *TunnelOption) SetRekeyMarginTimeSeconds(v int64) *TunnelOption {
125701	s.RekeyMarginTimeSeconds = &v
125702	return s
125703}
125704
125705// SetReplayWindowSize sets the ReplayWindowSize field's value.
125706func (s *TunnelOption) SetReplayWindowSize(v int64) *TunnelOption {
125707	s.ReplayWindowSize = &v
125708	return s
125709}
125710
125711// SetStartupAction sets the StartupAction field's value.
125712func (s *TunnelOption) SetStartupAction(v string) *TunnelOption {
125713	s.StartupAction = &v
125714	return s
125715}
125716
125717// SetTunnelInsideCidr sets the TunnelInsideCidr field's value.
125718func (s *TunnelOption) SetTunnelInsideCidr(v string) *TunnelOption {
125719	s.TunnelInsideCidr = &v
125720	return s
125721}
125722
125723// SetTunnelInsideIpv6Cidr sets the TunnelInsideIpv6Cidr field's value.
125724func (s *TunnelOption) SetTunnelInsideIpv6Cidr(v string) *TunnelOption {
125725	s.TunnelInsideIpv6Cidr = &v
125726	return s
125727}
125728
125729type UnassignIpv6AddressesInput struct {
125730	_ struct{} `type:"structure"`
125731
125732	// The IPv6 addresses to unassign from the network interface.
125733	Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
125734
125735	// One or more IPv6 prefixes to unassign from the network interface.
125736	Ipv6Prefixes []*string `locationName:"Ipv6Prefix" locationNameList:"item" type:"list"`
125737
125738	// The ID of the network interface.
125739	//
125740	// NetworkInterfaceId is a required field
125741	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
125742}
125743
125744// String returns the string representation
125745func (s UnassignIpv6AddressesInput) String() string {
125746	return awsutil.Prettify(s)
125747}
125748
125749// GoString returns the string representation
125750func (s UnassignIpv6AddressesInput) GoString() string {
125751	return s.String()
125752}
125753
125754// Validate inspects the fields of the type to determine if they are valid.
125755func (s *UnassignIpv6AddressesInput) Validate() error {
125756	invalidParams := request.ErrInvalidParams{Context: "UnassignIpv6AddressesInput"}
125757	if s.NetworkInterfaceId == nil {
125758		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
125759	}
125760
125761	if invalidParams.Len() > 0 {
125762		return invalidParams
125763	}
125764	return nil
125765}
125766
125767// SetIpv6Addresses sets the Ipv6Addresses field's value.
125768func (s *UnassignIpv6AddressesInput) SetIpv6Addresses(v []*string) *UnassignIpv6AddressesInput {
125769	s.Ipv6Addresses = v
125770	return s
125771}
125772
125773// SetIpv6Prefixes sets the Ipv6Prefixes field's value.
125774func (s *UnassignIpv6AddressesInput) SetIpv6Prefixes(v []*string) *UnassignIpv6AddressesInput {
125775	s.Ipv6Prefixes = v
125776	return s
125777}
125778
125779// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
125780func (s *UnassignIpv6AddressesInput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesInput {
125781	s.NetworkInterfaceId = &v
125782	return s
125783}
125784
125785type UnassignIpv6AddressesOutput struct {
125786	_ struct{} `type:"structure"`
125787
125788	// The ID of the network interface.
125789	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
125790
125791	// The IPv6 addresses that have been unassigned from the network interface.
125792	UnassignedIpv6Addresses []*string `locationName:"unassignedIpv6Addresses" locationNameList:"item" type:"list"`
125793
125794	// The IPv4 prefixes that have been unassigned from the network interface.
125795	UnassignedIpv6Prefixes []*string `locationName:"unassignedIpv6PrefixSet" locationNameList:"item" type:"list"`
125796}
125797
125798// String returns the string representation
125799func (s UnassignIpv6AddressesOutput) String() string {
125800	return awsutil.Prettify(s)
125801}
125802
125803// GoString returns the string representation
125804func (s UnassignIpv6AddressesOutput) GoString() string {
125805	return s.String()
125806}
125807
125808// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
125809func (s *UnassignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesOutput {
125810	s.NetworkInterfaceId = &v
125811	return s
125812}
125813
125814// SetUnassignedIpv6Addresses sets the UnassignedIpv6Addresses field's value.
125815func (s *UnassignIpv6AddressesOutput) SetUnassignedIpv6Addresses(v []*string) *UnassignIpv6AddressesOutput {
125816	s.UnassignedIpv6Addresses = v
125817	return s
125818}
125819
125820// SetUnassignedIpv6Prefixes sets the UnassignedIpv6Prefixes field's value.
125821func (s *UnassignIpv6AddressesOutput) SetUnassignedIpv6Prefixes(v []*string) *UnassignIpv6AddressesOutput {
125822	s.UnassignedIpv6Prefixes = v
125823	return s
125824}
125825
125826// Contains the parameters for UnassignPrivateIpAddresses.
125827type UnassignPrivateIpAddressesInput struct {
125828	_ struct{} `type:"structure"`
125829
125830	// The IPv4 prefixes to unassign from the network interface.
125831	Ipv4Prefixes []*string `locationName:"Ipv4Prefix" locationNameList:"item" type:"list"`
125832
125833	// The ID of the network interface.
125834	//
125835	// NetworkInterfaceId is a required field
125836	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
125837
125838	// The secondary private IP addresses to unassign from the network interface.
125839	// You can specify this option multiple times to unassign more than one IP address.
125840	PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list"`
125841}
125842
125843// String returns the string representation
125844func (s UnassignPrivateIpAddressesInput) String() string {
125845	return awsutil.Prettify(s)
125846}
125847
125848// GoString returns the string representation
125849func (s UnassignPrivateIpAddressesInput) GoString() string {
125850	return s.String()
125851}
125852
125853// Validate inspects the fields of the type to determine if they are valid.
125854func (s *UnassignPrivateIpAddressesInput) Validate() error {
125855	invalidParams := request.ErrInvalidParams{Context: "UnassignPrivateIpAddressesInput"}
125856	if s.NetworkInterfaceId == nil {
125857		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
125858	}
125859
125860	if invalidParams.Len() > 0 {
125861		return invalidParams
125862	}
125863	return nil
125864}
125865
125866// SetIpv4Prefixes sets the Ipv4Prefixes field's value.
125867func (s *UnassignPrivateIpAddressesInput) SetIpv4Prefixes(v []*string) *UnassignPrivateIpAddressesInput {
125868	s.Ipv4Prefixes = v
125869	return s
125870}
125871
125872// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
125873func (s *UnassignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *UnassignPrivateIpAddressesInput {
125874	s.NetworkInterfaceId = &v
125875	return s
125876}
125877
125878// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
125879func (s *UnassignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *UnassignPrivateIpAddressesInput {
125880	s.PrivateIpAddresses = v
125881	return s
125882}
125883
125884type UnassignPrivateIpAddressesOutput struct {
125885	_ struct{} `type:"structure"`
125886}
125887
125888// String returns the string representation
125889func (s UnassignPrivateIpAddressesOutput) String() string {
125890	return awsutil.Prettify(s)
125891}
125892
125893// GoString returns the string representation
125894func (s UnassignPrivateIpAddressesOutput) GoString() string {
125895	return s.String()
125896}
125897
125898type UnmonitorInstancesInput struct {
125899	_ struct{} `type:"structure"`
125900
125901	// Checks whether you have the required permissions for the action, without
125902	// actually making the request, and provides an error response. If you have
125903	// the required permissions, the error response is DryRunOperation. Otherwise,
125904	// it is UnauthorizedOperation.
125905	DryRun *bool `locationName:"dryRun" type:"boolean"`
125906
125907	// The IDs of the instances.
125908	//
125909	// InstanceIds is a required field
125910	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
125911}
125912
125913// String returns the string representation
125914func (s UnmonitorInstancesInput) String() string {
125915	return awsutil.Prettify(s)
125916}
125917
125918// GoString returns the string representation
125919func (s UnmonitorInstancesInput) GoString() string {
125920	return s.String()
125921}
125922
125923// Validate inspects the fields of the type to determine if they are valid.
125924func (s *UnmonitorInstancesInput) Validate() error {
125925	invalidParams := request.ErrInvalidParams{Context: "UnmonitorInstancesInput"}
125926	if s.InstanceIds == nil {
125927		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
125928	}
125929
125930	if invalidParams.Len() > 0 {
125931		return invalidParams
125932	}
125933	return nil
125934}
125935
125936// SetDryRun sets the DryRun field's value.
125937func (s *UnmonitorInstancesInput) SetDryRun(v bool) *UnmonitorInstancesInput {
125938	s.DryRun = &v
125939	return s
125940}
125941
125942// SetInstanceIds sets the InstanceIds field's value.
125943func (s *UnmonitorInstancesInput) SetInstanceIds(v []*string) *UnmonitorInstancesInput {
125944	s.InstanceIds = v
125945	return s
125946}
125947
125948type UnmonitorInstancesOutput struct {
125949	_ struct{} `type:"structure"`
125950
125951	// The monitoring information.
125952	InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
125953}
125954
125955// String returns the string representation
125956func (s UnmonitorInstancesOutput) String() string {
125957	return awsutil.Prettify(s)
125958}
125959
125960// GoString returns the string representation
125961func (s UnmonitorInstancesOutput) GoString() string {
125962	return s.String()
125963}
125964
125965// SetInstanceMonitorings sets the InstanceMonitorings field's value.
125966func (s *UnmonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *UnmonitorInstancesOutput {
125967	s.InstanceMonitorings = v
125968	return s
125969}
125970
125971// Describes the burstable performance instance whose credit option for CPU
125972// usage was not modified.
125973type UnsuccessfulInstanceCreditSpecificationItem struct {
125974	_ struct{} `type:"structure"`
125975
125976	// The applicable error for the burstable performance instance whose credit
125977	// option for CPU usage was not modified.
125978	Error *UnsuccessfulInstanceCreditSpecificationItemError `locationName:"error" type:"structure"`
125979
125980	// The ID of the instance.
125981	InstanceId *string `locationName:"instanceId" type:"string"`
125982}
125983
125984// String returns the string representation
125985func (s UnsuccessfulInstanceCreditSpecificationItem) String() string {
125986	return awsutil.Prettify(s)
125987}
125988
125989// GoString returns the string representation
125990func (s UnsuccessfulInstanceCreditSpecificationItem) GoString() string {
125991	return s.String()
125992}
125993
125994// SetError sets the Error field's value.
125995func (s *UnsuccessfulInstanceCreditSpecificationItem) SetError(v *UnsuccessfulInstanceCreditSpecificationItemError) *UnsuccessfulInstanceCreditSpecificationItem {
125996	s.Error = v
125997	return s
125998}
125999
126000// SetInstanceId sets the InstanceId field's value.
126001func (s *UnsuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *UnsuccessfulInstanceCreditSpecificationItem {
126002	s.InstanceId = &v
126003	return s
126004}
126005
126006// Information about the error for the burstable performance instance whose
126007// credit option for CPU usage was not modified.
126008type UnsuccessfulInstanceCreditSpecificationItemError struct {
126009	_ struct{} `type:"structure"`
126010
126011	// The error code.
126012	Code *string `locationName:"code" type:"string" enum:"UnsuccessfulInstanceCreditSpecificationErrorCode"`
126013
126014	// The applicable error message.
126015	Message *string `locationName:"message" type:"string"`
126016}
126017
126018// String returns the string representation
126019func (s UnsuccessfulInstanceCreditSpecificationItemError) String() string {
126020	return awsutil.Prettify(s)
126021}
126022
126023// GoString returns the string representation
126024func (s UnsuccessfulInstanceCreditSpecificationItemError) GoString() string {
126025	return s.String()
126026}
126027
126028// SetCode sets the Code field's value.
126029func (s *UnsuccessfulInstanceCreditSpecificationItemError) SetCode(v string) *UnsuccessfulInstanceCreditSpecificationItemError {
126030	s.Code = &v
126031	return s
126032}
126033
126034// SetMessage sets the Message field's value.
126035func (s *UnsuccessfulInstanceCreditSpecificationItemError) SetMessage(v string) *UnsuccessfulInstanceCreditSpecificationItemError {
126036	s.Message = &v
126037	return s
126038}
126039
126040// Information about items that were not successfully processed in a batch call.
126041type UnsuccessfulItem struct {
126042	_ struct{} `type:"structure"`
126043
126044	// Information about the error.
126045	Error *UnsuccessfulItemError `locationName:"error" type:"structure"`
126046
126047	// The ID of the resource.
126048	ResourceId *string `locationName:"resourceId" type:"string"`
126049}
126050
126051// String returns the string representation
126052func (s UnsuccessfulItem) String() string {
126053	return awsutil.Prettify(s)
126054}
126055
126056// GoString returns the string representation
126057func (s UnsuccessfulItem) GoString() string {
126058	return s.String()
126059}
126060
126061// SetError sets the Error field's value.
126062func (s *UnsuccessfulItem) SetError(v *UnsuccessfulItemError) *UnsuccessfulItem {
126063	s.Error = v
126064	return s
126065}
126066
126067// SetResourceId sets the ResourceId field's value.
126068func (s *UnsuccessfulItem) SetResourceId(v string) *UnsuccessfulItem {
126069	s.ResourceId = &v
126070	return s
126071}
126072
126073// Information about the error that occurred. For more information about errors,
126074// see Error codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
126075type UnsuccessfulItemError struct {
126076	_ struct{} `type:"structure"`
126077
126078	// The error code.
126079	Code *string `locationName:"code" type:"string"`
126080
126081	// The error message accompanying the error code.
126082	Message *string `locationName:"message" type:"string"`
126083}
126084
126085// String returns the string representation
126086func (s UnsuccessfulItemError) String() string {
126087	return awsutil.Prettify(s)
126088}
126089
126090// GoString returns the string representation
126091func (s UnsuccessfulItemError) GoString() string {
126092	return s.String()
126093}
126094
126095// SetCode sets the Code field's value.
126096func (s *UnsuccessfulItemError) SetCode(v string) *UnsuccessfulItemError {
126097	s.Code = &v
126098	return s
126099}
126100
126101// SetMessage sets the Message field's value.
126102func (s *UnsuccessfulItemError) SetMessage(v string) *UnsuccessfulItemError {
126103	s.Message = &v
126104	return s
126105}
126106
126107type UpdateSecurityGroupRuleDescriptionsEgressInput struct {
126108	_ struct{} `type:"structure"`
126109
126110	// Checks whether you have the required permissions for the action, without
126111	// actually making the request, and provides an error response. If you have
126112	// the required permissions, the error response is DryRunOperation. Otherwise,
126113	// it is UnauthorizedOperation.
126114	DryRun *bool `type:"boolean"`
126115
126116	// The ID of the security group. You must specify either the security group
126117	// ID or the security group name in the request. For security groups in a nondefault
126118	// VPC, you must specify the security group ID.
126119	GroupId *string `type:"string"`
126120
126121	// [Default VPC] The name of the security group. You must specify either the
126122	// security group ID or the security group name in the request.
126123	GroupName *string `type:"string"`
126124
126125	// The IP permissions for the security group rule. You must specify either the
126126	// IP permissions or the description.
126127	IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
126128
126129	// The description for the egress security group rules. You must specify either
126130	// the description or the IP permissions.
126131	SecurityGroupRuleDescriptions []*SecurityGroupRuleDescription `locationName:"SecurityGroupRuleDescription" locationNameList:"item" type:"list"`
126132}
126133
126134// String returns the string representation
126135func (s UpdateSecurityGroupRuleDescriptionsEgressInput) String() string {
126136	return awsutil.Prettify(s)
126137}
126138
126139// GoString returns the string representation
126140func (s UpdateSecurityGroupRuleDescriptionsEgressInput) GoString() string {
126141	return s.String()
126142}
126143
126144// SetDryRun sets the DryRun field's value.
126145func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsEgressInput {
126146	s.DryRun = &v
126147	return s
126148}
126149
126150// SetGroupId sets the GroupId field's value.
126151func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetGroupId(v string) *UpdateSecurityGroupRuleDescriptionsEgressInput {
126152	s.GroupId = &v
126153	return s
126154}
126155
126156// SetGroupName sets the GroupName field's value.
126157func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetGroupName(v string) *UpdateSecurityGroupRuleDescriptionsEgressInput {
126158	s.GroupName = &v
126159	return s
126160}
126161
126162// SetIpPermissions sets the IpPermissions field's value.
126163func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetIpPermissions(v []*IpPermission) *UpdateSecurityGroupRuleDescriptionsEgressInput {
126164	s.IpPermissions = v
126165	return s
126166}
126167
126168// SetSecurityGroupRuleDescriptions sets the SecurityGroupRuleDescriptions field's value.
126169func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetSecurityGroupRuleDescriptions(v []*SecurityGroupRuleDescription) *UpdateSecurityGroupRuleDescriptionsEgressInput {
126170	s.SecurityGroupRuleDescriptions = v
126171	return s
126172}
126173
126174type UpdateSecurityGroupRuleDescriptionsEgressOutput struct {
126175	_ struct{} `type:"structure"`
126176
126177	// Returns true if the request succeeds; otherwise, returns an error.
126178	Return *bool `locationName:"return" type:"boolean"`
126179}
126180
126181// String returns the string representation
126182func (s UpdateSecurityGroupRuleDescriptionsEgressOutput) String() string {
126183	return awsutil.Prettify(s)
126184}
126185
126186// GoString returns the string representation
126187func (s UpdateSecurityGroupRuleDescriptionsEgressOutput) GoString() string {
126188	return s.String()
126189}
126190
126191// SetReturn sets the Return field's value.
126192func (s *UpdateSecurityGroupRuleDescriptionsEgressOutput) SetReturn(v bool) *UpdateSecurityGroupRuleDescriptionsEgressOutput {
126193	s.Return = &v
126194	return s
126195}
126196
126197type UpdateSecurityGroupRuleDescriptionsIngressInput struct {
126198	_ struct{} `type:"structure"`
126199
126200	// Checks whether you have the required permissions for the action, without
126201	// actually making the request, and provides an error response. If you have
126202	// the required permissions, the error response is DryRunOperation. Otherwise,
126203	// it is UnauthorizedOperation.
126204	DryRun *bool `type:"boolean"`
126205
126206	// The ID of the security group. You must specify either the security group
126207	// ID or the security group name in the request. For security groups in a nondefault
126208	// VPC, you must specify the security group ID.
126209	GroupId *string `type:"string"`
126210
126211	// [EC2-Classic, default VPC] The name of the security group. You must specify
126212	// either the security group ID or the security group name in the request.
126213	GroupName *string `type:"string"`
126214
126215	// The IP permissions for the security group rule. You must specify either IP
126216	// permissions or a description.
126217	IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
126218
126219	// [VPC only] The description for the ingress security group rules. You must
126220	// specify either a description or IP permissions.
126221	SecurityGroupRuleDescriptions []*SecurityGroupRuleDescription `locationName:"SecurityGroupRuleDescription" locationNameList:"item" type:"list"`
126222}
126223
126224// String returns the string representation
126225func (s UpdateSecurityGroupRuleDescriptionsIngressInput) String() string {
126226	return awsutil.Prettify(s)
126227}
126228
126229// GoString returns the string representation
126230func (s UpdateSecurityGroupRuleDescriptionsIngressInput) GoString() string {
126231	return s.String()
126232}
126233
126234// SetDryRun sets the DryRun field's value.
126235func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsIngressInput {
126236	s.DryRun = &v
126237	return s
126238}
126239
126240// SetGroupId sets the GroupId field's value.
126241func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetGroupId(v string) *UpdateSecurityGroupRuleDescriptionsIngressInput {
126242	s.GroupId = &v
126243	return s
126244}
126245
126246// SetGroupName sets the GroupName field's value.
126247func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetGroupName(v string) *UpdateSecurityGroupRuleDescriptionsIngressInput {
126248	s.GroupName = &v
126249	return s
126250}
126251
126252// SetIpPermissions sets the IpPermissions field's value.
126253func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetIpPermissions(v []*IpPermission) *UpdateSecurityGroupRuleDescriptionsIngressInput {
126254	s.IpPermissions = v
126255	return s
126256}
126257
126258// SetSecurityGroupRuleDescriptions sets the SecurityGroupRuleDescriptions field's value.
126259func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetSecurityGroupRuleDescriptions(v []*SecurityGroupRuleDescription) *UpdateSecurityGroupRuleDescriptionsIngressInput {
126260	s.SecurityGroupRuleDescriptions = v
126261	return s
126262}
126263
126264type UpdateSecurityGroupRuleDescriptionsIngressOutput struct {
126265	_ struct{} `type:"structure"`
126266
126267	// Returns true if the request succeeds; otherwise, returns an error.
126268	Return *bool `locationName:"return" type:"boolean"`
126269}
126270
126271// String returns the string representation
126272func (s UpdateSecurityGroupRuleDescriptionsIngressOutput) String() string {
126273	return awsutil.Prettify(s)
126274}
126275
126276// GoString returns the string representation
126277func (s UpdateSecurityGroupRuleDescriptionsIngressOutput) GoString() string {
126278	return s.String()
126279}
126280
126281// SetReturn sets the Return field's value.
126282func (s *UpdateSecurityGroupRuleDescriptionsIngressOutput) SetReturn(v bool) *UpdateSecurityGroupRuleDescriptionsIngressOutput {
126283	s.Return = &v
126284	return s
126285}
126286
126287// Describes the Amazon S3 bucket for the disk image.
126288type UserBucket struct {
126289	_ struct{} `type:"structure"`
126290
126291	// The name of the Amazon S3 bucket where the disk image is located.
126292	S3Bucket *string `type:"string"`
126293
126294	// The file name of the disk image.
126295	S3Key *string `type:"string"`
126296}
126297
126298// String returns the string representation
126299func (s UserBucket) String() string {
126300	return awsutil.Prettify(s)
126301}
126302
126303// GoString returns the string representation
126304func (s UserBucket) GoString() string {
126305	return s.String()
126306}
126307
126308// SetS3Bucket sets the S3Bucket field's value.
126309func (s *UserBucket) SetS3Bucket(v string) *UserBucket {
126310	s.S3Bucket = &v
126311	return s
126312}
126313
126314// SetS3Key sets the S3Key field's value.
126315func (s *UserBucket) SetS3Key(v string) *UserBucket {
126316	s.S3Key = &v
126317	return s
126318}
126319
126320// Describes the Amazon S3 bucket for the disk image.
126321type UserBucketDetails struct {
126322	_ struct{} `type:"structure"`
126323
126324	// The Amazon S3 bucket from which the disk image was created.
126325	S3Bucket *string `locationName:"s3Bucket" type:"string"`
126326
126327	// The file name of the disk image.
126328	S3Key *string `locationName:"s3Key" type:"string"`
126329}
126330
126331// String returns the string representation
126332func (s UserBucketDetails) String() string {
126333	return awsutil.Prettify(s)
126334}
126335
126336// GoString returns the string representation
126337func (s UserBucketDetails) GoString() string {
126338	return s.String()
126339}
126340
126341// SetS3Bucket sets the S3Bucket field's value.
126342func (s *UserBucketDetails) SetS3Bucket(v string) *UserBucketDetails {
126343	s.S3Bucket = &v
126344	return s
126345}
126346
126347// SetS3Key sets the S3Key field's value.
126348func (s *UserBucketDetails) SetS3Key(v string) *UserBucketDetails {
126349	s.S3Key = &v
126350	return s
126351}
126352
126353// Describes the user data for an instance.
126354type UserData struct {
126355	_ struct{} `type:"structure" sensitive:"true"`
126356
126357	// The user data. If you are using an Amazon Web Services SDK or command line
126358	// tool, Base64-encoding is performed for you, and you can load the text from
126359	// a file. Otherwise, you must provide Base64-encoded text.
126360	Data *string `locationName:"data" type:"string"`
126361}
126362
126363// String returns the string representation
126364func (s UserData) String() string {
126365	return awsutil.Prettify(s)
126366}
126367
126368// GoString returns the string representation
126369func (s UserData) GoString() string {
126370	return s.String()
126371}
126372
126373// SetData sets the Data field's value.
126374func (s *UserData) SetData(v string) *UserData {
126375	s.Data = &v
126376	return s
126377}
126378
126379// Describes a security group and Amazon Web Services account ID pair.
126380type UserIdGroupPair struct {
126381	_ struct{} `type:"structure"`
126382
126383	// A description for the security group rule that references this user ID group
126384	// pair.
126385	//
126386	// Constraints: Up to 255 characters in length. Allowed characters are a-z,
126387	// A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
126388	Description *string `locationName:"description" type:"string"`
126389
126390	// The ID of the security group.
126391	GroupId *string `locationName:"groupId" type:"string"`
126392
126393	// The name of the security group. In a request, use this parameter for a security
126394	// group in EC2-Classic or a default VPC only. For a security group in a nondefault
126395	// VPC, use the security group ID.
126396	//
126397	// For a referenced security group in another VPC, this value is not returned
126398	// if the referenced security group is deleted.
126399	GroupName *string `locationName:"groupName" type:"string"`
126400
126401	// The status of a VPC peering connection, if applicable.
126402	PeeringStatus *string `locationName:"peeringStatus" type:"string"`
126403
126404	// The ID of an Amazon Web Services account.
126405	//
126406	// For a referenced security group in another VPC, the account ID of the referenced
126407	// security group is returned in the response. If the referenced security group
126408	// is deleted, this value is not returned.
126409	//
126410	// [EC2-Classic] Required when adding or removing rules that reference a security
126411	// group in another Amazon Web Services account.
126412	UserId *string `locationName:"userId" type:"string"`
126413
126414	// The ID of the VPC for the referenced security group, if applicable.
126415	VpcId *string `locationName:"vpcId" type:"string"`
126416
126417	// The ID of the VPC peering connection, if applicable.
126418	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
126419}
126420
126421// String returns the string representation
126422func (s UserIdGroupPair) String() string {
126423	return awsutil.Prettify(s)
126424}
126425
126426// GoString returns the string representation
126427func (s UserIdGroupPair) GoString() string {
126428	return s.String()
126429}
126430
126431// SetDescription sets the Description field's value.
126432func (s *UserIdGroupPair) SetDescription(v string) *UserIdGroupPair {
126433	s.Description = &v
126434	return s
126435}
126436
126437// SetGroupId sets the GroupId field's value.
126438func (s *UserIdGroupPair) SetGroupId(v string) *UserIdGroupPair {
126439	s.GroupId = &v
126440	return s
126441}
126442
126443// SetGroupName sets the GroupName field's value.
126444func (s *UserIdGroupPair) SetGroupName(v string) *UserIdGroupPair {
126445	s.GroupName = &v
126446	return s
126447}
126448
126449// SetPeeringStatus sets the PeeringStatus field's value.
126450func (s *UserIdGroupPair) SetPeeringStatus(v string) *UserIdGroupPair {
126451	s.PeeringStatus = &v
126452	return s
126453}
126454
126455// SetUserId sets the UserId field's value.
126456func (s *UserIdGroupPair) SetUserId(v string) *UserIdGroupPair {
126457	s.UserId = &v
126458	return s
126459}
126460
126461// SetVpcId sets the VpcId field's value.
126462func (s *UserIdGroupPair) SetVpcId(v string) *UserIdGroupPair {
126463	s.VpcId = &v
126464	return s
126465}
126466
126467// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
126468func (s *UserIdGroupPair) SetVpcPeeringConnectionId(v string) *UserIdGroupPair {
126469	s.VpcPeeringConnectionId = &v
126470	return s
126471}
126472
126473// Describes the vCPU configurations for the instance type.
126474type VCpuInfo struct {
126475	_ struct{} `type:"structure"`
126476
126477	// The default number of cores for the instance type.
126478	DefaultCores *int64 `locationName:"defaultCores" type:"integer"`
126479
126480	// The default number of threads per core for the instance type.
126481	DefaultThreadsPerCore *int64 `locationName:"defaultThreadsPerCore" type:"integer"`
126482
126483	// The default number of vCPUs for the instance type.
126484	DefaultVCpus *int64 `locationName:"defaultVCpus" type:"integer"`
126485
126486	// The valid number of cores that can be configured for the instance type.
126487	ValidCores []*int64 `locationName:"validCores" locationNameList:"item" type:"list"`
126488
126489	// The valid number of threads per core that can be configured for the instance
126490	// type.
126491	ValidThreadsPerCore []*int64 `locationName:"validThreadsPerCore" locationNameList:"item" type:"list"`
126492}
126493
126494// String returns the string representation
126495func (s VCpuInfo) String() string {
126496	return awsutil.Prettify(s)
126497}
126498
126499// GoString returns the string representation
126500func (s VCpuInfo) GoString() string {
126501	return s.String()
126502}
126503
126504// SetDefaultCores sets the DefaultCores field's value.
126505func (s *VCpuInfo) SetDefaultCores(v int64) *VCpuInfo {
126506	s.DefaultCores = &v
126507	return s
126508}
126509
126510// SetDefaultThreadsPerCore sets the DefaultThreadsPerCore field's value.
126511func (s *VCpuInfo) SetDefaultThreadsPerCore(v int64) *VCpuInfo {
126512	s.DefaultThreadsPerCore = &v
126513	return s
126514}
126515
126516// SetDefaultVCpus sets the DefaultVCpus field's value.
126517func (s *VCpuInfo) SetDefaultVCpus(v int64) *VCpuInfo {
126518	s.DefaultVCpus = &v
126519	return s
126520}
126521
126522// SetValidCores sets the ValidCores field's value.
126523func (s *VCpuInfo) SetValidCores(v []*int64) *VCpuInfo {
126524	s.ValidCores = v
126525	return s
126526}
126527
126528// SetValidThreadsPerCore sets the ValidThreadsPerCore field's value.
126529func (s *VCpuInfo) SetValidThreadsPerCore(v []*int64) *VCpuInfo {
126530	s.ValidThreadsPerCore = v
126531	return s
126532}
126533
126534// The error code and error message that is returned for a parameter or parameter
126535// combination that is not valid when a new launch template or new version of
126536// a launch template is created.
126537type ValidationError struct {
126538	_ struct{} `type:"structure"`
126539
126540	// The error code that indicates why the parameter or parameter combination
126541	// is not valid. For more information about error codes, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
126542	Code *string `locationName:"code" type:"string"`
126543
126544	// The error message that describes why the parameter or parameter combination
126545	// is not valid. For more information about error messages, see Error Codes
126546	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
126547	Message *string `locationName:"message" type:"string"`
126548}
126549
126550// String returns the string representation
126551func (s ValidationError) String() string {
126552	return awsutil.Prettify(s)
126553}
126554
126555// GoString returns the string representation
126556func (s ValidationError) GoString() string {
126557	return s.String()
126558}
126559
126560// SetCode sets the Code field's value.
126561func (s *ValidationError) SetCode(v string) *ValidationError {
126562	s.Code = &v
126563	return s
126564}
126565
126566// SetMessage sets the Message field's value.
126567func (s *ValidationError) SetMessage(v string) *ValidationError {
126568	s.Message = &v
126569	return s
126570}
126571
126572// The error codes and error messages that are returned for the parameters or
126573// parameter combinations that are not valid when a new launch template or new
126574// version of a launch template is created.
126575type ValidationWarning struct {
126576	_ struct{} `type:"structure"`
126577
126578	// The error codes and error messages.
126579	Errors []*ValidationError `locationName:"errorSet" locationNameList:"item" type:"list"`
126580}
126581
126582// String returns the string representation
126583func (s ValidationWarning) String() string {
126584	return awsutil.Prettify(s)
126585}
126586
126587// GoString returns the string representation
126588func (s ValidationWarning) GoString() string {
126589	return s.String()
126590}
126591
126592// SetErrors sets the Errors field's value.
126593func (s *ValidationWarning) SetErrors(v []*ValidationError) *ValidationWarning {
126594	s.Errors = v
126595	return s
126596}
126597
126598// Describes telemetry for a VPN tunnel.
126599type VgwTelemetry struct {
126600	_ struct{} `type:"structure"`
126601
126602	// The number of accepted routes.
126603	AcceptedRouteCount *int64 `locationName:"acceptedRouteCount" type:"integer"`
126604
126605	// The Amazon Resource Name (ARN) of the VPN tunnel endpoint certificate.
126606	CertificateArn *string `locationName:"certificateArn" type:"string"`
126607
126608	// The date and time of the last change in status.
126609	LastStatusChange *time.Time `locationName:"lastStatusChange" type:"timestamp"`
126610
126611	// The Internet-routable IP address of the virtual private gateway's outside
126612	// interface.
126613	OutsideIpAddress *string `locationName:"outsideIpAddress" type:"string"`
126614
126615	// The status of the VPN tunnel.
126616	Status *string `locationName:"status" type:"string" enum:"TelemetryStatus"`
126617
126618	// If an error occurs, a description of the error.
126619	StatusMessage *string `locationName:"statusMessage" type:"string"`
126620}
126621
126622// String returns the string representation
126623func (s VgwTelemetry) String() string {
126624	return awsutil.Prettify(s)
126625}
126626
126627// GoString returns the string representation
126628func (s VgwTelemetry) GoString() string {
126629	return s.String()
126630}
126631
126632// SetAcceptedRouteCount sets the AcceptedRouteCount field's value.
126633func (s *VgwTelemetry) SetAcceptedRouteCount(v int64) *VgwTelemetry {
126634	s.AcceptedRouteCount = &v
126635	return s
126636}
126637
126638// SetCertificateArn sets the CertificateArn field's value.
126639func (s *VgwTelemetry) SetCertificateArn(v string) *VgwTelemetry {
126640	s.CertificateArn = &v
126641	return s
126642}
126643
126644// SetLastStatusChange sets the LastStatusChange field's value.
126645func (s *VgwTelemetry) SetLastStatusChange(v time.Time) *VgwTelemetry {
126646	s.LastStatusChange = &v
126647	return s
126648}
126649
126650// SetOutsideIpAddress sets the OutsideIpAddress field's value.
126651func (s *VgwTelemetry) SetOutsideIpAddress(v string) *VgwTelemetry {
126652	s.OutsideIpAddress = &v
126653	return s
126654}
126655
126656// SetStatus sets the Status field's value.
126657func (s *VgwTelemetry) SetStatus(v string) *VgwTelemetry {
126658	s.Status = &v
126659	return s
126660}
126661
126662// SetStatusMessage sets the StatusMessage field's value.
126663func (s *VgwTelemetry) SetStatusMessage(v string) *VgwTelemetry {
126664	s.StatusMessage = &v
126665	return s
126666}
126667
126668// Describes a volume.
126669type Volume struct {
126670	_ struct{} `type:"structure"`
126671
126672	// Information about the volume attachments.
126673	Attachments []*VolumeAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
126674
126675	// The Availability Zone for the volume.
126676	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
126677
126678	// The time stamp when volume creation was initiated.
126679	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
126680
126681	// Indicates whether the volume is encrypted.
126682	Encrypted *bool `locationName:"encrypted" type:"boolean"`
126683
126684	// Indicates whether the volume was created using fast snapshot restore.
126685	FastRestored *bool `locationName:"fastRestored" type:"boolean"`
126686
126687	// The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes,
126688	// this represents the number of IOPS that are provisioned for the volume. For
126689	// gp2 volumes, this represents the baseline performance of the volume and the
126690	// rate at which the volume accumulates I/O credits for bursting.
126691	Iops *int64 `locationName:"iops" type:"integer"`
126692
126693	// The Amazon Resource Name (ARN) of the Key Management Service (KMS) KMS key
126694	// that was used to protect the volume encryption key for the volume.
126695	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
126696
126697	// Indicates whether Amazon EBS Multi-Attach is enabled.
126698	MultiAttachEnabled *bool `locationName:"multiAttachEnabled" type:"boolean"`
126699
126700	// The Amazon Resource Name (ARN) of the Outpost.
126701	OutpostArn *string `locationName:"outpostArn" type:"string"`
126702
126703	// The size of the volume, in GiBs.
126704	Size *int64 `locationName:"size" type:"integer"`
126705
126706	// The snapshot from which the volume was created, if applicable.
126707	SnapshotId *string `locationName:"snapshotId" type:"string"`
126708
126709	// The volume state.
126710	State *string `locationName:"status" type:"string" enum:"VolumeState"`
126711
126712	// Any tags assigned to the volume.
126713	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
126714
126715	// The throughput that the volume supports, in MiB/s.
126716	Throughput *int64 `locationName:"throughput" type:"integer"`
126717
126718	// The ID of the volume.
126719	VolumeId *string `locationName:"volumeId" type:"string"`
126720
126721	// The volume type.
126722	VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
126723}
126724
126725// String returns the string representation
126726func (s Volume) String() string {
126727	return awsutil.Prettify(s)
126728}
126729
126730// GoString returns the string representation
126731func (s Volume) GoString() string {
126732	return s.String()
126733}
126734
126735// SetAttachments sets the Attachments field's value.
126736func (s *Volume) SetAttachments(v []*VolumeAttachment) *Volume {
126737	s.Attachments = v
126738	return s
126739}
126740
126741// SetAvailabilityZone sets the AvailabilityZone field's value.
126742func (s *Volume) SetAvailabilityZone(v string) *Volume {
126743	s.AvailabilityZone = &v
126744	return s
126745}
126746
126747// SetCreateTime sets the CreateTime field's value.
126748func (s *Volume) SetCreateTime(v time.Time) *Volume {
126749	s.CreateTime = &v
126750	return s
126751}
126752
126753// SetEncrypted sets the Encrypted field's value.
126754func (s *Volume) SetEncrypted(v bool) *Volume {
126755	s.Encrypted = &v
126756	return s
126757}
126758
126759// SetFastRestored sets the FastRestored field's value.
126760func (s *Volume) SetFastRestored(v bool) *Volume {
126761	s.FastRestored = &v
126762	return s
126763}
126764
126765// SetIops sets the Iops field's value.
126766func (s *Volume) SetIops(v int64) *Volume {
126767	s.Iops = &v
126768	return s
126769}
126770
126771// SetKmsKeyId sets the KmsKeyId field's value.
126772func (s *Volume) SetKmsKeyId(v string) *Volume {
126773	s.KmsKeyId = &v
126774	return s
126775}
126776
126777// SetMultiAttachEnabled sets the MultiAttachEnabled field's value.
126778func (s *Volume) SetMultiAttachEnabled(v bool) *Volume {
126779	s.MultiAttachEnabled = &v
126780	return s
126781}
126782
126783// SetOutpostArn sets the OutpostArn field's value.
126784func (s *Volume) SetOutpostArn(v string) *Volume {
126785	s.OutpostArn = &v
126786	return s
126787}
126788
126789// SetSize sets the Size field's value.
126790func (s *Volume) SetSize(v int64) *Volume {
126791	s.Size = &v
126792	return s
126793}
126794
126795// SetSnapshotId sets the SnapshotId field's value.
126796func (s *Volume) SetSnapshotId(v string) *Volume {
126797	s.SnapshotId = &v
126798	return s
126799}
126800
126801// SetState sets the State field's value.
126802func (s *Volume) SetState(v string) *Volume {
126803	s.State = &v
126804	return s
126805}
126806
126807// SetTags sets the Tags field's value.
126808func (s *Volume) SetTags(v []*Tag) *Volume {
126809	s.Tags = v
126810	return s
126811}
126812
126813// SetThroughput sets the Throughput field's value.
126814func (s *Volume) SetThroughput(v int64) *Volume {
126815	s.Throughput = &v
126816	return s
126817}
126818
126819// SetVolumeId sets the VolumeId field's value.
126820func (s *Volume) SetVolumeId(v string) *Volume {
126821	s.VolumeId = &v
126822	return s
126823}
126824
126825// SetVolumeType sets the VolumeType field's value.
126826func (s *Volume) SetVolumeType(v string) *Volume {
126827	s.VolumeType = &v
126828	return s
126829}
126830
126831// Describes volume attachment details.
126832type VolumeAttachment struct {
126833	_ struct{} `type:"structure"`
126834
126835	// The time stamp when the attachment initiated.
126836	AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
126837
126838	// Indicates whether the EBS volume is deleted on instance termination.
126839	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
126840
126841	// The device name.
126842	Device *string `locationName:"device" type:"string"`
126843
126844	// The ID of the instance.
126845	InstanceId *string `locationName:"instanceId" type:"string"`
126846
126847	// The attachment state of the volume.
126848	State *string `locationName:"status" type:"string" enum:"VolumeAttachmentState"`
126849
126850	// The ID of the volume.
126851	VolumeId *string `locationName:"volumeId" type:"string"`
126852}
126853
126854// String returns the string representation
126855func (s VolumeAttachment) String() string {
126856	return awsutil.Prettify(s)
126857}
126858
126859// GoString returns the string representation
126860func (s VolumeAttachment) GoString() string {
126861	return s.String()
126862}
126863
126864// SetAttachTime sets the AttachTime field's value.
126865func (s *VolumeAttachment) SetAttachTime(v time.Time) *VolumeAttachment {
126866	s.AttachTime = &v
126867	return s
126868}
126869
126870// SetDeleteOnTermination sets the DeleteOnTermination field's value.
126871func (s *VolumeAttachment) SetDeleteOnTermination(v bool) *VolumeAttachment {
126872	s.DeleteOnTermination = &v
126873	return s
126874}
126875
126876// SetDevice sets the Device field's value.
126877func (s *VolumeAttachment) SetDevice(v string) *VolumeAttachment {
126878	s.Device = &v
126879	return s
126880}
126881
126882// SetInstanceId sets the InstanceId field's value.
126883func (s *VolumeAttachment) SetInstanceId(v string) *VolumeAttachment {
126884	s.InstanceId = &v
126885	return s
126886}
126887
126888// SetState sets the State field's value.
126889func (s *VolumeAttachment) SetState(v string) *VolumeAttachment {
126890	s.State = &v
126891	return s
126892}
126893
126894// SetVolumeId sets the VolumeId field's value.
126895func (s *VolumeAttachment) SetVolumeId(v string) *VolumeAttachment {
126896	s.VolumeId = &v
126897	return s
126898}
126899
126900// Describes an EBS volume.
126901type VolumeDetail struct {
126902	_ struct{} `type:"structure"`
126903
126904	// The size of the volume, in GiB.
126905	//
126906	// Size is a required field
126907	Size *int64 `locationName:"size" type:"long" required:"true"`
126908}
126909
126910// String returns the string representation
126911func (s VolumeDetail) String() string {
126912	return awsutil.Prettify(s)
126913}
126914
126915// GoString returns the string representation
126916func (s VolumeDetail) GoString() string {
126917	return s.String()
126918}
126919
126920// Validate inspects the fields of the type to determine if they are valid.
126921func (s *VolumeDetail) Validate() error {
126922	invalidParams := request.ErrInvalidParams{Context: "VolumeDetail"}
126923	if s.Size == nil {
126924		invalidParams.Add(request.NewErrParamRequired("Size"))
126925	}
126926
126927	if invalidParams.Len() > 0 {
126928		return invalidParams
126929	}
126930	return nil
126931}
126932
126933// SetSize sets the Size field's value.
126934func (s *VolumeDetail) SetSize(v int64) *VolumeDetail {
126935	s.Size = &v
126936	return s
126937}
126938
126939// Describes the modification status of an EBS volume.
126940//
126941// If the volume has never been modified, some element values will be null.
126942type VolumeModification struct {
126943	_ struct{} `type:"structure"`
126944
126945	// The modification completion or failure time.
126946	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
126947
126948	// The current modification state. The modification state is null for unmodified
126949	// volumes.
126950	ModificationState *string `locationName:"modificationState" type:"string" enum:"VolumeModificationState"`
126951
126952	// The original IOPS rate of the volume.
126953	OriginalIops *int64 `locationName:"originalIops" type:"integer"`
126954
126955	// The original setting for Amazon EBS Multi-Attach.
126956	OriginalMultiAttachEnabled *bool `locationName:"originalMultiAttachEnabled" type:"boolean"`
126957
126958	// The original size of the volume, in GiB.
126959	OriginalSize *int64 `locationName:"originalSize" type:"integer"`
126960
126961	// The original throughput of the volume, in MiB/s.
126962	OriginalThroughput *int64 `locationName:"originalThroughput" type:"integer"`
126963
126964	// The original EBS volume type of the volume.
126965	OriginalVolumeType *string `locationName:"originalVolumeType" type:"string" enum:"VolumeType"`
126966
126967	// The modification progress, from 0 to 100 percent complete.
126968	Progress *int64 `locationName:"progress" type:"long"`
126969
126970	// The modification start time.
126971	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
126972
126973	// A status message about the modification progress or failure.
126974	StatusMessage *string `locationName:"statusMessage" type:"string"`
126975
126976	// The target IOPS rate of the volume.
126977	TargetIops *int64 `locationName:"targetIops" type:"integer"`
126978
126979	// The target setting for Amazon EBS Multi-Attach.
126980	TargetMultiAttachEnabled *bool `locationName:"targetMultiAttachEnabled" type:"boolean"`
126981
126982	// The target size of the volume, in GiB.
126983	TargetSize *int64 `locationName:"targetSize" type:"integer"`
126984
126985	// The target throughput of the volume, in MiB/s.
126986	TargetThroughput *int64 `locationName:"targetThroughput" type:"integer"`
126987
126988	// The target EBS volume type of the volume.
126989	TargetVolumeType *string `locationName:"targetVolumeType" type:"string" enum:"VolumeType"`
126990
126991	// The ID of the volume.
126992	VolumeId *string `locationName:"volumeId" type:"string"`
126993}
126994
126995// String returns the string representation
126996func (s VolumeModification) String() string {
126997	return awsutil.Prettify(s)
126998}
126999
127000// GoString returns the string representation
127001func (s VolumeModification) GoString() string {
127002	return s.String()
127003}
127004
127005// SetEndTime sets the EndTime field's value.
127006func (s *VolumeModification) SetEndTime(v time.Time) *VolumeModification {
127007	s.EndTime = &v
127008	return s
127009}
127010
127011// SetModificationState sets the ModificationState field's value.
127012func (s *VolumeModification) SetModificationState(v string) *VolumeModification {
127013	s.ModificationState = &v
127014	return s
127015}
127016
127017// SetOriginalIops sets the OriginalIops field's value.
127018func (s *VolumeModification) SetOriginalIops(v int64) *VolumeModification {
127019	s.OriginalIops = &v
127020	return s
127021}
127022
127023// SetOriginalMultiAttachEnabled sets the OriginalMultiAttachEnabled field's value.
127024func (s *VolumeModification) SetOriginalMultiAttachEnabled(v bool) *VolumeModification {
127025	s.OriginalMultiAttachEnabled = &v
127026	return s
127027}
127028
127029// SetOriginalSize sets the OriginalSize field's value.
127030func (s *VolumeModification) SetOriginalSize(v int64) *VolumeModification {
127031	s.OriginalSize = &v
127032	return s
127033}
127034
127035// SetOriginalThroughput sets the OriginalThroughput field's value.
127036func (s *VolumeModification) SetOriginalThroughput(v int64) *VolumeModification {
127037	s.OriginalThroughput = &v
127038	return s
127039}
127040
127041// SetOriginalVolumeType sets the OriginalVolumeType field's value.
127042func (s *VolumeModification) SetOriginalVolumeType(v string) *VolumeModification {
127043	s.OriginalVolumeType = &v
127044	return s
127045}
127046
127047// SetProgress sets the Progress field's value.
127048func (s *VolumeModification) SetProgress(v int64) *VolumeModification {
127049	s.Progress = &v
127050	return s
127051}
127052
127053// SetStartTime sets the StartTime field's value.
127054func (s *VolumeModification) SetStartTime(v time.Time) *VolumeModification {
127055	s.StartTime = &v
127056	return s
127057}
127058
127059// SetStatusMessage sets the StatusMessage field's value.
127060func (s *VolumeModification) SetStatusMessage(v string) *VolumeModification {
127061	s.StatusMessage = &v
127062	return s
127063}
127064
127065// SetTargetIops sets the TargetIops field's value.
127066func (s *VolumeModification) SetTargetIops(v int64) *VolumeModification {
127067	s.TargetIops = &v
127068	return s
127069}
127070
127071// SetTargetMultiAttachEnabled sets the TargetMultiAttachEnabled field's value.
127072func (s *VolumeModification) SetTargetMultiAttachEnabled(v bool) *VolumeModification {
127073	s.TargetMultiAttachEnabled = &v
127074	return s
127075}
127076
127077// SetTargetSize sets the TargetSize field's value.
127078func (s *VolumeModification) SetTargetSize(v int64) *VolumeModification {
127079	s.TargetSize = &v
127080	return s
127081}
127082
127083// SetTargetThroughput sets the TargetThroughput field's value.
127084func (s *VolumeModification) SetTargetThroughput(v int64) *VolumeModification {
127085	s.TargetThroughput = &v
127086	return s
127087}
127088
127089// SetTargetVolumeType sets the TargetVolumeType field's value.
127090func (s *VolumeModification) SetTargetVolumeType(v string) *VolumeModification {
127091	s.TargetVolumeType = &v
127092	return s
127093}
127094
127095// SetVolumeId sets the VolumeId field's value.
127096func (s *VolumeModification) SetVolumeId(v string) *VolumeModification {
127097	s.VolumeId = &v
127098	return s
127099}
127100
127101// Describes a volume status operation code.
127102type VolumeStatusAction struct {
127103	_ struct{} `type:"structure"`
127104
127105	// The code identifying the operation, for example, enable-volume-io.
127106	Code *string `locationName:"code" type:"string"`
127107
127108	// A description of the operation.
127109	Description *string `locationName:"description" type:"string"`
127110
127111	// The ID of the event associated with this operation.
127112	EventId *string `locationName:"eventId" type:"string"`
127113
127114	// The event type associated with this operation.
127115	EventType *string `locationName:"eventType" type:"string"`
127116}
127117
127118// String returns the string representation
127119func (s VolumeStatusAction) String() string {
127120	return awsutil.Prettify(s)
127121}
127122
127123// GoString returns the string representation
127124func (s VolumeStatusAction) GoString() string {
127125	return s.String()
127126}
127127
127128// SetCode sets the Code field's value.
127129func (s *VolumeStatusAction) SetCode(v string) *VolumeStatusAction {
127130	s.Code = &v
127131	return s
127132}
127133
127134// SetDescription sets the Description field's value.
127135func (s *VolumeStatusAction) SetDescription(v string) *VolumeStatusAction {
127136	s.Description = &v
127137	return s
127138}
127139
127140// SetEventId sets the EventId field's value.
127141func (s *VolumeStatusAction) SetEventId(v string) *VolumeStatusAction {
127142	s.EventId = &v
127143	return s
127144}
127145
127146// SetEventType sets the EventType field's value.
127147func (s *VolumeStatusAction) SetEventType(v string) *VolumeStatusAction {
127148	s.EventType = &v
127149	return s
127150}
127151
127152// Information about the instances to which the volume is attached.
127153type VolumeStatusAttachmentStatus struct {
127154	_ struct{} `type:"structure"`
127155
127156	// The ID of the attached instance.
127157	InstanceId *string `locationName:"instanceId" type:"string"`
127158
127159	// The maximum IOPS supported by the attached instance.
127160	IoPerformance *string `locationName:"ioPerformance" type:"string"`
127161}
127162
127163// String returns the string representation
127164func (s VolumeStatusAttachmentStatus) String() string {
127165	return awsutil.Prettify(s)
127166}
127167
127168// GoString returns the string representation
127169func (s VolumeStatusAttachmentStatus) GoString() string {
127170	return s.String()
127171}
127172
127173// SetInstanceId sets the InstanceId field's value.
127174func (s *VolumeStatusAttachmentStatus) SetInstanceId(v string) *VolumeStatusAttachmentStatus {
127175	s.InstanceId = &v
127176	return s
127177}
127178
127179// SetIoPerformance sets the IoPerformance field's value.
127180func (s *VolumeStatusAttachmentStatus) SetIoPerformance(v string) *VolumeStatusAttachmentStatus {
127181	s.IoPerformance = &v
127182	return s
127183}
127184
127185// Describes a volume status.
127186type VolumeStatusDetails struct {
127187	_ struct{} `type:"structure"`
127188
127189	// The name of the volume status.
127190	Name *string `locationName:"name" type:"string" enum:"VolumeStatusName"`
127191
127192	// The intended status of the volume status.
127193	Status *string `locationName:"status" type:"string"`
127194}
127195
127196// String returns the string representation
127197func (s VolumeStatusDetails) String() string {
127198	return awsutil.Prettify(s)
127199}
127200
127201// GoString returns the string representation
127202func (s VolumeStatusDetails) GoString() string {
127203	return s.String()
127204}
127205
127206// SetName sets the Name field's value.
127207func (s *VolumeStatusDetails) SetName(v string) *VolumeStatusDetails {
127208	s.Name = &v
127209	return s
127210}
127211
127212// SetStatus sets the Status field's value.
127213func (s *VolumeStatusDetails) SetStatus(v string) *VolumeStatusDetails {
127214	s.Status = &v
127215	return s
127216}
127217
127218// Describes a volume status event.
127219type VolumeStatusEvent struct {
127220	_ struct{} `type:"structure"`
127221
127222	// A description of the event.
127223	Description *string `locationName:"description" type:"string"`
127224
127225	// The ID of this event.
127226	EventId *string `locationName:"eventId" type:"string"`
127227
127228	// The type of this event.
127229	EventType *string `locationName:"eventType" type:"string"`
127230
127231	// The ID of the instance associated with the event.
127232	InstanceId *string `locationName:"instanceId" type:"string"`
127233
127234	// The latest end time of the event.
127235	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
127236
127237	// The earliest start time of the event.
127238	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
127239}
127240
127241// String returns the string representation
127242func (s VolumeStatusEvent) String() string {
127243	return awsutil.Prettify(s)
127244}
127245
127246// GoString returns the string representation
127247func (s VolumeStatusEvent) GoString() string {
127248	return s.String()
127249}
127250
127251// SetDescription sets the Description field's value.
127252func (s *VolumeStatusEvent) SetDescription(v string) *VolumeStatusEvent {
127253	s.Description = &v
127254	return s
127255}
127256
127257// SetEventId sets the EventId field's value.
127258func (s *VolumeStatusEvent) SetEventId(v string) *VolumeStatusEvent {
127259	s.EventId = &v
127260	return s
127261}
127262
127263// SetEventType sets the EventType field's value.
127264func (s *VolumeStatusEvent) SetEventType(v string) *VolumeStatusEvent {
127265	s.EventType = &v
127266	return s
127267}
127268
127269// SetInstanceId sets the InstanceId field's value.
127270func (s *VolumeStatusEvent) SetInstanceId(v string) *VolumeStatusEvent {
127271	s.InstanceId = &v
127272	return s
127273}
127274
127275// SetNotAfter sets the NotAfter field's value.
127276func (s *VolumeStatusEvent) SetNotAfter(v time.Time) *VolumeStatusEvent {
127277	s.NotAfter = &v
127278	return s
127279}
127280
127281// SetNotBefore sets the NotBefore field's value.
127282func (s *VolumeStatusEvent) SetNotBefore(v time.Time) *VolumeStatusEvent {
127283	s.NotBefore = &v
127284	return s
127285}
127286
127287// Describes the status of a volume.
127288type VolumeStatusInfo struct {
127289	_ struct{} `type:"structure"`
127290
127291	// The details of the volume status.
127292	Details []*VolumeStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
127293
127294	// The status of the volume.
127295	Status *string `locationName:"status" type:"string" enum:"VolumeStatusInfoStatus"`
127296}
127297
127298// String returns the string representation
127299func (s VolumeStatusInfo) String() string {
127300	return awsutil.Prettify(s)
127301}
127302
127303// GoString returns the string representation
127304func (s VolumeStatusInfo) GoString() string {
127305	return s.String()
127306}
127307
127308// SetDetails sets the Details field's value.
127309func (s *VolumeStatusInfo) SetDetails(v []*VolumeStatusDetails) *VolumeStatusInfo {
127310	s.Details = v
127311	return s
127312}
127313
127314// SetStatus sets the Status field's value.
127315func (s *VolumeStatusInfo) SetStatus(v string) *VolumeStatusInfo {
127316	s.Status = &v
127317	return s
127318}
127319
127320// Describes the volume status.
127321type VolumeStatusItem struct {
127322	_ struct{} `type:"structure"`
127323
127324	// The details of the operation.
127325	Actions []*VolumeStatusAction `locationName:"actionsSet" locationNameList:"item" type:"list"`
127326
127327	// Information about the instances to which the volume is attached.
127328	AttachmentStatuses []*VolumeStatusAttachmentStatus `locationName:"attachmentStatuses" locationNameList:"item" type:"list"`
127329
127330	// The Availability Zone of the volume.
127331	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
127332
127333	// A list of events associated with the volume.
127334	Events []*VolumeStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
127335
127336	// The Amazon Resource Name (ARN) of the Outpost.
127337	OutpostArn *string `locationName:"outpostArn" type:"string"`
127338
127339	// The volume ID.
127340	VolumeId *string `locationName:"volumeId" type:"string"`
127341
127342	// The volume status.
127343	VolumeStatus *VolumeStatusInfo `locationName:"volumeStatus" type:"structure"`
127344}
127345
127346// String returns the string representation
127347func (s VolumeStatusItem) String() string {
127348	return awsutil.Prettify(s)
127349}
127350
127351// GoString returns the string representation
127352func (s VolumeStatusItem) GoString() string {
127353	return s.String()
127354}
127355
127356// SetActions sets the Actions field's value.
127357func (s *VolumeStatusItem) SetActions(v []*VolumeStatusAction) *VolumeStatusItem {
127358	s.Actions = v
127359	return s
127360}
127361
127362// SetAttachmentStatuses sets the AttachmentStatuses field's value.
127363func (s *VolumeStatusItem) SetAttachmentStatuses(v []*VolumeStatusAttachmentStatus) *VolumeStatusItem {
127364	s.AttachmentStatuses = v
127365	return s
127366}
127367
127368// SetAvailabilityZone sets the AvailabilityZone field's value.
127369func (s *VolumeStatusItem) SetAvailabilityZone(v string) *VolumeStatusItem {
127370	s.AvailabilityZone = &v
127371	return s
127372}
127373
127374// SetEvents sets the Events field's value.
127375func (s *VolumeStatusItem) SetEvents(v []*VolumeStatusEvent) *VolumeStatusItem {
127376	s.Events = v
127377	return s
127378}
127379
127380// SetOutpostArn sets the OutpostArn field's value.
127381func (s *VolumeStatusItem) SetOutpostArn(v string) *VolumeStatusItem {
127382	s.OutpostArn = &v
127383	return s
127384}
127385
127386// SetVolumeId sets the VolumeId field's value.
127387func (s *VolumeStatusItem) SetVolumeId(v string) *VolumeStatusItem {
127388	s.VolumeId = &v
127389	return s
127390}
127391
127392// SetVolumeStatus sets the VolumeStatus field's value.
127393func (s *VolumeStatusItem) SetVolumeStatus(v *VolumeStatusInfo) *VolumeStatusItem {
127394	s.VolumeStatus = v
127395	return s
127396}
127397
127398// Describes a VPC.
127399type Vpc struct {
127400	_ struct{} `type:"structure"`
127401
127402	// The primary IPv4 CIDR block for the VPC.
127403	CidrBlock *string `locationName:"cidrBlock" type:"string"`
127404
127405	// Information about the IPv4 CIDR blocks associated with the VPC.
127406	CidrBlockAssociationSet []*VpcCidrBlockAssociation `locationName:"cidrBlockAssociationSet" locationNameList:"item" type:"list"`
127407
127408	// The ID of the set of DHCP options you've associated with the VPC.
127409	DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
127410
127411	// The allowed tenancy of instances launched into the VPC.
127412	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
127413
127414	// Information about the IPv6 CIDR blocks associated with the VPC.
127415	Ipv6CidrBlockAssociationSet []*VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
127416
127417	// Indicates whether the VPC is the default VPC.
127418	IsDefault *bool `locationName:"isDefault" type:"boolean"`
127419
127420	// The ID of the Amazon Web Services account that owns the VPC.
127421	OwnerId *string `locationName:"ownerId" type:"string"`
127422
127423	// The current state of the VPC.
127424	State *string `locationName:"state" type:"string" enum:"VpcState"`
127425
127426	// Any tags assigned to the VPC.
127427	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
127428
127429	// The ID of the VPC.
127430	VpcId *string `locationName:"vpcId" type:"string"`
127431}
127432
127433// String returns the string representation
127434func (s Vpc) String() string {
127435	return awsutil.Prettify(s)
127436}
127437
127438// GoString returns the string representation
127439func (s Vpc) GoString() string {
127440	return s.String()
127441}
127442
127443// SetCidrBlock sets the CidrBlock field's value.
127444func (s *Vpc) SetCidrBlock(v string) *Vpc {
127445	s.CidrBlock = &v
127446	return s
127447}
127448
127449// SetCidrBlockAssociationSet sets the CidrBlockAssociationSet field's value.
127450func (s *Vpc) SetCidrBlockAssociationSet(v []*VpcCidrBlockAssociation) *Vpc {
127451	s.CidrBlockAssociationSet = v
127452	return s
127453}
127454
127455// SetDhcpOptionsId sets the DhcpOptionsId field's value.
127456func (s *Vpc) SetDhcpOptionsId(v string) *Vpc {
127457	s.DhcpOptionsId = &v
127458	return s
127459}
127460
127461// SetInstanceTenancy sets the InstanceTenancy field's value.
127462func (s *Vpc) SetInstanceTenancy(v string) *Vpc {
127463	s.InstanceTenancy = &v
127464	return s
127465}
127466
127467// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
127468func (s *Vpc) SetIpv6CidrBlockAssociationSet(v []*VpcIpv6CidrBlockAssociation) *Vpc {
127469	s.Ipv6CidrBlockAssociationSet = v
127470	return s
127471}
127472
127473// SetIsDefault sets the IsDefault field's value.
127474func (s *Vpc) SetIsDefault(v bool) *Vpc {
127475	s.IsDefault = &v
127476	return s
127477}
127478
127479// SetOwnerId sets the OwnerId field's value.
127480func (s *Vpc) SetOwnerId(v string) *Vpc {
127481	s.OwnerId = &v
127482	return s
127483}
127484
127485// SetState sets the State field's value.
127486func (s *Vpc) SetState(v string) *Vpc {
127487	s.State = &v
127488	return s
127489}
127490
127491// SetTags sets the Tags field's value.
127492func (s *Vpc) SetTags(v []*Tag) *Vpc {
127493	s.Tags = v
127494	return s
127495}
127496
127497// SetVpcId sets the VpcId field's value.
127498func (s *Vpc) SetVpcId(v string) *Vpc {
127499	s.VpcId = &v
127500	return s
127501}
127502
127503// Describes an attachment between a virtual private gateway and a VPC.
127504type VpcAttachment struct {
127505	_ struct{} `type:"structure"`
127506
127507	// The current state of the attachment.
127508	State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
127509
127510	// The ID of the VPC.
127511	VpcId *string `locationName:"vpcId" type:"string"`
127512}
127513
127514// String returns the string representation
127515func (s VpcAttachment) String() string {
127516	return awsutil.Prettify(s)
127517}
127518
127519// GoString returns the string representation
127520func (s VpcAttachment) GoString() string {
127521	return s.String()
127522}
127523
127524// SetState sets the State field's value.
127525func (s *VpcAttachment) SetState(v string) *VpcAttachment {
127526	s.State = &v
127527	return s
127528}
127529
127530// SetVpcId sets the VpcId field's value.
127531func (s *VpcAttachment) SetVpcId(v string) *VpcAttachment {
127532	s.VpcId = &v
127533	return s
127534}
127535
127536// Describes an IPv4 CIDR block associated with a VPC.
127537type VpcCidrBlockAssociation struct {
127538	_ struct{} `type:"structure"`
127539
127540	// The association ID for the IPv4 CIDR block.
127541	AssociationId *string `locationName:"associationId" type:"string"`
127542
127543	// The IPv4 CIDR block.
127544	CidrBlock *string `locationName:"cidrBlock" type:"string"`
127545
127546	// Information about the state of the CIDR block.
127547	CidrBlockState *VpcCidrBlockState `locationName:"cidrBlockState" type:"structure"`
127548}
127549
127550// String returns the string representation
127551func (s VpcCidrBlockAssociation) String() string {
127552	return awsutil.Prettify(s)
127553}
127554
127555// GoString returns the string representation
127556func (s VpcCidrBlockAssociation) GoString() string {
127557	return s.String()
127558}
127559
127560// SetAssociationId sets the AssociationId field's value.
127561func (s *VpcCidrBlockAssociation) SetAssociationId(v string) *VpcCidrBlockAssociation {
127562	s.AssociationId = &v
127563	return s
127564}
127565
127566// SetCidrBlock sets the CidrBlock field's value.
127567func (s *VpcCidrBlockAssociation) SetCidrBlock(v string) *VpcCidrBlockAssociation {
127568	s.CidrBlock = &v
127569	return s
127570}
127571
127572// SetCidrBlockState sets the CidrBlockState field's value.
127573func (s *VpcCidrBlockAssociation) SetCidrBlockState(v *VpcCidrBlockState) *VpcCidrBlockAssociation {
127574	s.CidrBlockState = v
127575	return s
127576}
127577
127578// Describes the state of a CIDR block.
127579type VpcCidrBlockState struct {
127580	_ struct{} `type:"structure"`
127581
127582	// The state of the CIDR block.
127583	State *string `locationName:"state" type:"string" enum:"VpcCidrBlockStateCode"`
127584
127585	// A message about the status of the CIDR block, if applicable.
127586	StatusMessage *string `locationName:"statusMessage" type:"string"`
127587}
127588
127589// String returns the string representation
127590func (s VpcCidrBlockState) String() string {
127591	return awsutil.Prettify(s)
127592}
127593
127594// GoString returns the string representation
127595func (s VpcCidrBlockState) GoString() string {
127596	return s.String()
127597}
127598
127599// SetState sets the State field's value.
127600func (s *VpcCidrBlockState) SetState(v string) *VpcCidrBlockState {
127601	s.State = &v
127602	return s
127603}
127604
127605// SetStatusMessage sets the StatusMessage field's value.
127606func (s *VpcCidrBlockState) SetStatusMessage(v string) *VpcCidrBlockState {
127607	s.StatusMessage = &v
127608	return s
127609}
127610
127611// Describes whether a VPC is enabled for ClassicLink.
127612type VpcClassicLink struct {
127613	_ struct{} `type:"structure"`
127614
127615	// Indicates whether the VPC is enabled for ClassicLink.
127616	ClassicLinkEnabled *bool `locationName:"classicLinkEnabled" type:"boolean"`
127617
127618	// Any tags assigned to the VPC.
127619	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
127620
127621	// The ID of the VPC.
127622	VpcId *string `locationName:"vpcId" type:"string"`
127623}
127624
127625// String returns the string representation
127626func (s VpcClassicLink) String() string {
127627	return awsutil.Prettify(s)
127628}
127629
127630// GoString returns the string representation
127631func (s VpcClassicLink) GoString() string {
127632	return s.String()
127633}
127634
127635// SetClassicLinkEnabled sets the ClassicLinkEnabled field's value.
127636func (s *VpcClassicLink) SetClassicLinkEnabled(v bool) *VpcClassicLink {
127637	s.ClassicLinkEnabled = &v
127638	return s
127639}
127640
127641// SetTags sets the Tags field's value.
127642func (s *VpcClassicLink) SetTags(v []*Tag) *VpcClassicLink {
127643	s.Tags = v
127644	return s
127645}
127646
127647// SetVpcId sets the VpcId field's value.
127648func (s *VpcClassicLink) SetVpcId(v string) *VpcClassicLink {
127649	s.VpcId = &v
127650	return s
127651}
127652
127653// Describes a VPC endpoint.
127654type VpcEndpoint struct {
127655	_ struct{} `type:"structure"`
127656
127657	// The date and time that the VPC endpoint was created.
127658	CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"`
127659
127660	// (Interface endpoint) The DNS entries for the endpoint.
127661	DnsEntries []*DnsEntry `locationName:"dnsEntrySet" locationNameList:"item" type:"list"`
127662
127663	// (Interface endpoint) Information about the security groups that are associated
127664	// with the network interface.
127665	Groups []*SecurityGroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
127666
127667	// The last error that occurred for VPC endpoint.
127668	LastError *LastError `locationName:"lastError" type:"structure"`
127669
127670	// (Interface endpoint) One or more network interfaces for the endpoint.
127671	NetworkInterfaceIds []*string `locationName:"networkInterfaceIdSet" locationNameList:"item" type:"list"`
127672
127673	// The ID of the AWS account that owns the VPC endpoint.
127674	OwnerId *string `locationName:"ownerId" type:"string"`
127675
127676	// The policy document associated with the endpoint, if applicable.
127677	PolicyDocument *string `locationName:"policyDocument" type:"string"`
127678
127679	// (Interface endpoint) Indicates whether the VPC is associated with a private
127680	// hosted zone.
127681	PrivateDnsEnabled *bool `locationName:"privateDnsEnabled" type:"boolean"`
127682
127683	// Indicates whether the VPC endpoint is being managed by its service.
127684	RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"`
127685
127686	// (Gateway endpoint) One or more route tables associated with the endpoint.
127687	RouteTableIds []*string `locationName:"routeTableIdSet" locationNameList:"item" type:"list"`
127688
127689	// The name of the service to which the endpoint is associated.
127690	ServiceName *string `locationName:"serviceName" type:"string"`
127691
127692	// The state of the VPC endpoint.
127693	State *string `locationName:"state" type:"string" enum:"State"`
127694
127695	// (Interface endpoint) One or more subnets in which the endpoint is located.
127696	SubnetIds []*string `locationName:"subnetIdSet" locationNameList:"item" type:"list"`
127697
127698	// Any tags assigned to the VPC endpoint.
127699	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
127700
127701	// The ID of the VPC endpoint.
127702	VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
127703
127704	// The type of endpoint.
127705	VpcEndpointType *string `locationName:"vpcEndpointType" type:"string" enum:"VpcEndpointType"`
127706
127707	// The ID of the VPC to which the endpoint is associated.
127708	VpcId *string `locationName:"vpcId" type:"string"`
127709}
127710
127711// String returns the string representation
127712func (s VpcEndpoint) String() string {
127713	return awsutil.Prettify(s)
127714}
127715
127716// GoString returns the string representation
127717func (s VpcEndpoint) GoString() string {
127718	return s.String()
127719}
127720
127721// SetCreationTimestamp sets the CreationTimestamp field's value.
127722func (s *VpcEndpoint) SetCreationTimestamp(v time.Time) *VpcEndpoint {
127723	s.CreationTimestamp = &v
127724	return s
127725}
127726
127727// SetDnsEntries sets the DnsEntries field's value.
127728func (s *VpcEndpoint) SetDnsEntries(v []*DnsEntry) *VpcEndpoint {
127729	s.DnsEntries = v
127730	return s
127731}
127732
127733// SetGroups sets the Groups field's value.
127734func (s *VpcEndpoint) SetGroups(v []*SecurityGroupIdentifier) *VpcEndpoint {
127735	s.Groups = v
127736	return s
127737}
127738
127739// SetLastError sets the LastError field's value.
127740func (s *VpcEndpoint) SetLastError(v *LastError) *VpcEndpoint {
127741	s.LastError = v
127742	return s
127743}
127744
127745// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
127746func (s *VpcEndpoint) SetNetworkInterfaceIds(v []*string) *VpcEndpoint {
127747	s.NetworkInterfaceIds = v
127748	return s
127749}
127750
127751// SetOwnerId sets the OwnerId field's value.
127752func (s *VpcEndpoint) SetOwnerId(v string) *VpcEndpoint {
127753	s.OwnerId = &v
127754	return s
127755}
127756
127757// SetPolicyDocument sets the PolicyDocument field's value.
127758func (s *VpcEndpoint) SetPolicyDocument(v string) *VpcEndpoint {
127759	s.PolicyDocument = &v
127760	return s
127761}
127762
127763// SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
127764func (s *VpcEndpoint) SetPrivateDnsEnabled(v bool) *VpcEndpoint {
127765	s.PrivateDnsEnabled = &v
127766	return s
127767}
127768
127769// SetRequesterManaged sets the RequesterManaged field's value.
127770func (s *VpcEndpoint) SetRequesterManaged(v bool) *VpcEndpoint {
127771	s.RequesterManaged = &v
127772	return s
127773}
127774
127775// SetRouteTableIds sets the RouteTableIds field's value.
127776func (s *VpcEndpoint) SetRouteTableIds(v []*string) *VpcEndpoint {
127777	s.RouteTableIds = v
127778	return s
127779}
127780
127781// SetServiceName sets the ServiceName field's value.
127782func (s *VpcEndpoint) SetServiceName(v string) *VpcEndpoint {
127783	s.ServiceName = &v
127784	return s
127785}
127786
127787// SetState sets the State field's value.
127788func (s *VpcEndpoint) SetState(v string) *VpcEndpoint {
127789	s.State = &v
127790	return s
127791}
127792
127793// SetSubnetIds sets the SubnetIds field's value.
127794func (s *VpcEndpoint) SetSubnetIds(v []*string) *VpcEndpoint {
127795	s.SubnetIds = v
127796	return s
127797}
127798
127799// SetTags sets the Tags field's value.
127800func (s *VpcEndpoint) SetTags(v []*Tag) *VpcEndpoint {
127801	s.Tags = v
127802	return s
127803}
127804
127805// SetVpcEndpointId sets the VpcEndpointId field's value.
127806func (s *VpcEndpoint) SetVpcEndpointId(v string) *VpcEndpoint {
127807	s.VpcEndpointId = &v
127808	return s
127809}
127810
127811// SetVpcEndpointType sets the VpcEndpointType field's value.
127812func (s *VpcEndpoint) SetVpcEndpointType(v string) *VpcEndpoint {
127813	s.VpcEndpointType = &v
127814	return s
127815}
127816
127817// SetVpcId sets the VpcId field's value.
127818func (s *VpcEndpoint) SetVpcId(v string) *VpcEndpoint {
127819	s.VpcId = &v
127820	return s
127821}
127822
127823// Describes a VPC endpoint connection to a service.
127824type VpcEndpointConnection struct {
127825	_ struct{} `type:"structure"`
127826
127827	// The date and time that the VPC endpoint was created.
127828	CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"`
127829
127830	// The DNS entries for the VPC endpoint.
127831	DnsEntries []*DnsEntry `locationName:"dnsEntrySet" locationNameList:"item" type:"list"`
127832
127833	// The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service.
127834	GatewayLoadBalancerArns []*string `locationName:"gatewayLoadBalancerArnSet" locationNameList:"item" type:"list"`
127835
127836	// The Amazon Resource Names (ARNs) of the network load balancers for the service.
127837	NetworkLoadBalancerArns []*string `locationName:"networkLoadBalancerArnSet" locationNameList:"item" type:"list"`
127838
127839	// The ID of the service to which the endpoint is connected.
127840	ServiceId *string `locationName:"serviceId" type:"string"`
127841
127842	// The ID of the VPC endpoint.
127843	VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
127844
127845	// The AWS account ID of the owner of the VPC endpoint.
127846	VpcEndpointOwner *string `locationName:"vpcEndpointOwner" type:"string"`
127847
127848	// The state of the VPC endpoint.
127849	VpcEndpointState *string `locationName:"vpcEndpointState" type:"string" enum:"State"`
127850}
127851
127852// String returns the string representation
127853func (s VpcEndpointConnection) String() string {
127854	return awsutil.Prettify(s)
127855}
127856
127857// GoString returns the string representation
127858func (s VpcEndpointConnection) GoString() string {
127859	return s.String()
127860}
127861
127862// SetCreationTimestamp sets the CreationTimestamp field's value.
127863func (s *VpcEndpointConnection) SetCreationTimestamp(v time.Time) *VpcEndpointConnection {
127864	s.CreationTimestamp = &v
127865	return s
127866}
127867
127868// SetDnsEntries sets the DnsEntries field's value.
127869func (s *VpcEndpointConnection) SetDnsEntries(v []*DnsEntry) *VpcEndpointConnection {
127870	s.DnsEntries = v
127871	return s
127872}
127873
127874// SetGatewayLoadBalancerArns sets the GatewayLoadBalancerArns field's value.
127875func (s *VpcEndpointConnection) SetGatewayLoadBalancerArns(v []*string) *VpcEndpointConnection {
127876	s.GatewayLoadBalancerArns = v
127877	return s
127878}
127879
127880// SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
127881func (s *VpcEndpointConnection) SetNetworkLoadBalancerArns(v []*string) *VpcEndpointConnection {
127882	s.NetworkLoadBalancerArns = v
127883	return s
127884}
127885
127886// SetServiceId sets the ServiceId field's value.
127887func (s *VpcEndpointConnection) SetServiceId(v string) *VpcEndpointConnection {
127888	s.ServiceId = &v
127889	return s
127890}
127891
127892// SetVpcEndpointId sets the VpcEndpointId field's value.
127893func (s *VpcEndpointConnection) SetVpcEndpointId(v string) *VpcEndpointConnection {
127894	s.VpcEndpointId = &v
127895	return s
127896}
127897
127898// SetVpcEndpointOwner sets the VpcEndpointOwner field's value.
127899func (s *VpcEndpointConnection) SetVpcEndpointOwner(v string) *VpcEndpointConnection {
127900	s.VpcEndpointOwner = &v
127901	return s
127902}
127903
127904// SetVpcEndpointState sets the VpcEndpointState field's value.
127905func (s *VpcEndpointConnection) SetVpcEndpointState(v string) *VpcEndpointConnection {
127906	s.VpcEndpointState = &v
127907	return s
127908}
127909
127910// Describes an IPv6 CIDR block associated with a VPC.
127911type VpcIpv6CidrBlockAssociation struct {
127912	_ struct{} `type:"structure"`
127913
127914	// The association ID for the IPv6 CIDR block.
127915	AssociationId *string `locationName:"associationId" type:"string"`
127916
127917	// The IPv6 CIDR block.
127918	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
127919
127920	// Information about the state of the CIDR block.
127921	Ipv6CidrBlockState *VpcCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
127922
127923	// The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.
127924	Ipv6Pool *string `locationName:"ipv6Pool" type:"string"`
127925
127926	// The name of the unique set of Availability Zones, Local Zones, or Wavelength
127927	// Zones from which AWS advertises IP addresses, for example, us-east-1-wl1-bos-wlz-1.
127928	NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
127929}
127930
127931// String returns the string representation
127932func (s VpcIpv6CidrBlockAssociation) String() string {
127933	return awsutil.Prettify(s)
127934}
127935
127936// GoString returns the string representation
127937func (s VpcIpv6CidrBlockAssociation) GoString() string {
127938	return s.String()
127939}
127940
127941// SetAssociationId sets the AssociationId field's value.
127942func (s *VpcIpv6CidrBlockAssociation) SetAssociationId(v string) *VpcIpv6CidrBlockAssociation {
127943	s.AssociationId = &v
127944	return s
127945}
127946
127947// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
127948func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *VpcIpv6CidrBlockAssociation {
127949	s.Ipv6CidrBlock = &v
127950	return s
127951}
127952
127953// SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
127954func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *VpcCidrBlockState) *VpcIpv6CidrBlockAssociation {
127955	s.Ipv6CidrBlockState = v
127956	return s
127957}
127958
127959// SetIpv6Pool sets the Ipv6Pool field's value.
127960func (s *VpcIpv6CidrBlockAssociation) SetIpv6Pool(v string) *VpcIpv6CidrBlockAssociation {
127961	s.Ipv6Pool = &v
127962	return s
127963}
127964
127965// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
127966func (s *VpcIpv6CidrBlockAssociation) SetNetworkBorderGroup(v string) *VpcIpv6CidrBlockAssociation {
127967	s.NetworkBorderGroup = &v
127968	return s
127969}
127970
127971// Describes a VPC peering connection.
127972type VpcPeeringConnection struct {
127973	_ struct{} `type:"structure"`
127974
127975	// Information about the accepter VPC. CIDR block information is only returned
127976	// when describing an active VPC peering connection.
127977	AccepterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"accepterVpcInfo" type:"structure"`
127978
127979	// The time that an unaccepted VPC peering connection will expire.
127980	ExpirationTime *time.Time `locationName:"expirationTime" type:"timestamp"`
127981
127982	// Information about the requester VPC. CIDR block information is only returned
127983	// when describing an active VPC peering connection.
127984	RequesterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"requesterVpcInfo" type:"structure"`
127985
127986	// The status of the VPC peering connection.
127987	Status *VpcPeeringConnectionStateReason `locationName:"status" type:"structure"`
127988
127989	// Any tags assigned to the resource.
127990	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
127991
127992	// The ID of the VPC peering connection.
127993	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
127994}
127995
127996// String returns the string representation
127997func (s VpcPeeringConnection) String() string {
127998	return awsutil.Prettify(s)
127999}
128000
128001// GoString returns the string representation
128002func (s VpcPeeringConnection) GoString() string {
128003	return s.String()
128004}
128005
128006// SetAccepterVpcInfo sets the AccepterVpcInfo field's value.
128007func (s *VpcPeeringConnection) SetAccepterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
128008	s.AccepterVpcInfo = v
128009	return s
128010}
128011
128012// SetExpirationTime sets the ExpirationTime field's value.
128013func (s *VpcPeeringConnection) SetExpirationTime(v time.Time) *VpcPeeringConnection {
128014	s.ExpirationTime = &v
128015	return s
128016}
128017
128018// SetRequesterVpcInfo sets the RequesterVpcInfo field's value.
128019func (s *VpcPeeringConnection) SetRequesterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
128020	s.RequesterVpcInfo = v
128021	return s
128022}
128023
128024// SetStatus sets the Status field's value.
128025func (s *VpcPeeringConnection) SetStatus(v *VpcPeeringConnectionStateReason) *VpcPeeringConnection {
128026	s.Status = v
128027	return s
128028}
128029
128030// SetTags sets the Tags field's value.
128031func (s *VpcPeeringConnection) SetTags(v []*Tag) *VpcPeeringConnection {
128032	s.Tags = v
128033	return s
128034}
128035
128036// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
128037func (s *VpcPeeringConnection) SetVpcPeeringConnectionId(v string) *VpcPeeringConnection {
128038	s.VpcPeeringConnectionId = &v
128039	return s
128040}
128041
128042// Describes the VPC peering connection options.
128043type VpcPeeringConnectionOptionsDescription struct {
128044	_ struct{} `type:"structure"`
128045
128046	// Indicates whether a local VPC can resolve public DNS hostnames to private
128047	// IP addresses when queried from instances in a peer VPC.
128048	AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
128049
128050	// Indicates whether a local ClassicLink connection can communicate with the
128051	// peer VPC over the VPC peering connection.
128052	AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
128053
128054	// Indicates whether a local VPC can communicate with a ClassicLink connection
128055	// in the peer VPC over the VPC peering connection.
128056	AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
128057}
128058
128059// String returns the string representation
128060func (s VpcPeeringConnectionOptionsDescription) String() string {
128061	return awsutil.Prettify(s)
128062}
128063
128064// GoString returns the string representation
128065func (s VpcPeeringConnectionOptionsDescription) GoString() string {
128066	return s.String()
128067}
128068
128069// SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
128070func (s *VpcPeeringConnectionOptionsDescription) SetAllowDnsResolutionFromRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
128071	s.AllowDnsResolutionFromRemoteVpc = &v
128072	return s
128073}
128074
128075// SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
128076func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
128077	s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
128078	return s
128079}
128080
128081// SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
128082func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *VpcPeeringConnectionOptionsDescription {
128083	s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
128084	return s
128085}
128086
128087// Describes the status of a VPC peering connection.
128088type VpcPeeringConnectionStateReason struct {
128089	_ struct{} `type:"structure"`
128090
128091	// The status of the VPC peering connection.
128092	Code *string `locationName:"code" type:"string" enum:"VpcPeeringConnectionStateReasonCode"`
128093
128094	// A message that provides more information about the status, if applicable.
128095	Message *string `locationName:"message" type:"string"`
128096}
128097
128098// String returns the string representation
128099func (s VpcPeeringConnectionStateReason) String() string {
128100	return awsutil.Prettify(s)
128101}
128102
128103// GoString returns the string representation
128104func (s VpcPeeringConnectionStateReason) GoString() string {
128105	return s.String()
128106}
128107
128108// SetCode sets the Code field's value.
128109func (s *VpcPeeringConnectionStateReason) SetCode(v string) *VpcPeeringConnectionStateReason {
128110	s.Code = &v
128111	return s
128112}
128113
128114// SetMessage sets the Message field's value.
128115func (s *VpcPeeringConnectionStateReason) SetMessage(v string) *VpcPeeringConnectionStateReason {
128116	s.Message = &v
128117	return s
128118}
128119
128120// Describes a VPC in a VPC peering connection.
128121type VpcPeeringConnectionVpcInfo struct {
128122	_ struct{} `type:"structure"`
128123
128124	// The IPv4 CIDR block for the VPC.
128125	CidrBlock *string `locationName:"cidrBlock" type:"string"`
128126
128127	// Information about the IPv4 CIDR blocks for the VPC.
128128	CidrBlockSet []*CidrBlock `locationName:"cidrBlockSet" locationNameList:"item" type:"list"`
128129
128130	// The IPv6 CIDR block for the VPC.
128131	Ipv6CidrBlockSet []*Ipv6CidrBlock `locationName:"ipv6CidrBlockSet" locationNameList:"item" type:"list"`
128132
128133	// The ID of the Amazon Web Services account that owns the VPC.
128134	OwnerId *string `locationName:"ownerId" type:"string"`
128135
128136	// Information about the VPC peering connection options for the accepter or
128137	// requester VPC.
128138	PeeringOptions *VpcPeeringConnectionOptionsDescription `locationName:"peeringOptions" type:"structure"`
128139
128140	// The Region in which the VPC is located.
128141	Region *string `locationName:"region" type:"string"`
128142
128143	// The ID of the VPC.
128144	VpcId *string `locationName:"vpcId" type:"string"`
128145}
128146
128147// String returns the string representation
128148func (s VpcPeeringConnectionVpcInfo) String() string {
128149	return awsutil.Prettify(s)
128150}
128151
128152// GoString returns the string representation
128153func (s VpcPeeringConnectionVpcInfo) GoString() string {
128154	return s.String()
128155}
128156
128157// SetCidrBlock sets the CidrBlock field's value.
128158func (s *VpcPeeringConnectionVpcInfo) SetCidrBlock(v string) *VpcPeeringConnectionVpcInfo {
128159	s.CidrBlock = &v
128160	return s
128161}
128162
128163// SetCidrBlockSet sets the CidrBlockSet field's value.
128164func (s *VpcPeeringConnectionVpcInfo) SetCidrBlockSet(v []*CidrBlock) *VpcPeeringConnectionVpcInfo {
128165	s.CidrBlockSet = v
128166	return s
128167}
128168
128169// SetIpv6CidrBlockSet sets the Ipv6CidrBlockSet field's value.
128170func (s *VpcPeeringConnectionVpcInfo) SetIpv6CidrBlockSet(v []*Ipv6CidrBlock) *VpcPeeringConnectionVpcInfo {
128171	s.Ipv6CidrBlockSet = v
128172	return s
128173}
128174
128175// SetOwnerId sets the OwnerId field's value.
128176func (s *VpcPeeringConnectionVpcInfo) SetOwnerId(v string) *VpcPeeringConnectionVpcInfo {
128177	s.OwnerId = &v
128178	return s
128179}
128180
128181// SetPeeringOptions sets the PeeringOptions field's value.
128182func (s *VpcPeeringConnectionVpcInfo) SetPeeringOptions(v *VpcPeeringConnectionOptionsDescription) *VpcPeeringConnectionVpcInfo {
128183	s.PeeringOptions = v
128184	return s
128185}
128186
128187// SetRegion sets the Region field's value.
128188func (s *VpcPeeringConnectionVpcInfo) SetRegion(v string) *VpcPeeringConnectionVpcInfo {
128189	s.Region = &v
128190	return s
128191}
128192
128193// SetVpcId sets the VpcId field's value.
128194func (s *VpcPeeringConnectionVpcInfo) SetVpcId(v string) *VpcPeeringConnectionVpcInfo {
128195	s.VpcId = &v
128196	return s
128197}
128198
128199// Describes a VPN connection.
128200type VpnConnection struct {
128201	_ struct{} `type:"structure"`
128202
128203	// The category of the VPN connection. A value of VPN indicates an AWS VPN connection.
128204	// A value of VPN-Classic indicates an AWS Classic VPN connection.
128205	Category *string `locationName:"category" type:"string"`
128206
128207	// The configuration information for the VPN connection's customer gateway (in
128208	// the native XML format). This element is always present in the CreateVpnConnection
128209	// response; however, it's present in the DescribeVpnConnections response only
128210	// if the VPN connection is in the pending or available state.
128211	CustomerGatewayConfiguration *string `locationName:"customerGatewayConfiguration" type:"string"`
128212
128213	// The ID of the customer gateway at your end of the VPN connection.
128214	CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
128215
128216	// The VPN connection options.
128217	Options *VpnConnectionOptions `locationName:"options" type:"structure"`
128218
128219	// The static routes associated with the VPN connection.
128220	Routes []*VpnStaticRoute `locationName:"routes" locationNameList:"item" type:"list"`
128221
128222	// The current state of the VPN connection.
128223	State *string `locationName:"state" type:"string" enum:"VpnState"`
128224
128225	// Any tags assigned to the VPN connection.
128226	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
128227
128228	// The ID of the transit gateway associated with the VPN connection.
128229	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
128230
128231	// The type of VPN connection.
128232	Type *string `locationName:"type" type:"string" enum:"GatewayType"`
128233
128234	// Information about the VPN tunnel.
128235	VgwTelemetry []*VgwTelemetry `locationName:"vgwTelemetry" locationNameList:"item" type:"list"`
128236
128237	// The ID of the VPN connection.
128238	VpnConnectionId *string `locationName:"vpnConnectionId" type:"string"`
128239
128240	// The ID of the virtual private gateway at the AWS side of the VPN connection.
128241	VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
128242}
128243
128244// String returns the string representation
128245func (s VpnConnection) String() string {
128246	return awsutil.Prettify(s)
128247}
128248
128249// GoString returns the string representation
128250func (s VpnConnection) GoString() string {
128251	return s.String()
128252}
128253
128254// SetCategory sets the Category field's value.
128255func (s *VpnConnection) SetCategory(v string) *VpnConnection {
128256	s.Category = &v
128257	return s
128258}
128259
128260// SetCustomerGatewayConfiguration sets the CustomerGatewayConfiguration field's value.
128261func (s *VpnConnection) SetCustomerGatewayConfiguration(v string) *VpnConnection {
128262	s.CustomerGatewayConfiguration = &v
128263	return s
128264}
128265
128266// SetCustomerGatewayId sets the CustomerGatewayId field's value.
128267func (s *VpnConnection) SetCustomerGatewayId(v string) *VpnConnection {
128268	s.CustomerGatewayId = &v
128269	return s
128270}
128271
128272// SetOptions sets the Options field's value.
128273func (s *VpnConnection) SetOptions(v *VpnConnectionOptions) *VpnConnection {
128274	s.Options = v
128275	return s
128276}
128277
128278// SetRoutes sets the Routes field's value.
128279func (s *VpnConnection) SetRoutes(v []*VpnStaticRoute) *VpnConnection {
128280	s.Routes = v
128281	return s
128282}
128283
128284// SetState sets the State field's value.
128285func (s *VpnConnection) SetState(v string) *VpnConnection {
128286	s.State = &v
128287	return s
128288}
128289
128290// SetTags sets the Tags field's value.
128291func (s *VpnConnection) SetTags(v []*Tag) *VpnConnection {
128292	s.Tags = v
128293	return s
128294}
128295
128296// SetTransitGatewayId sets the TransitGatewayId field's value.
128297func (s *VpnConnection) SetTransitGatewayId(v string) *VpnConnection {
128298	s.TransitGatewayId = &v
128299	return s
128300}
128301
128302// SetType sets the Type field's value.
128303func (s *VpnConnection) SetType(v string) *VpnConnection {
128304	s.Type = &v
128305	return s
128306}
128307
128308// SetVgwTelemetry sets the VgwTelemetry field's value.
128309func (s *VpnConnection) SetVgwTelemetry(v []*VgwTelemetry) *VpnConnection {
128310	s.VgwTelemetry = v
128311	return s
128312}
128313
128314// SetVpnConnectionId sets the VpnConnectionId field's value.
128315func (s *VpnConnection) SetVpnConnectionId(v string) *VpnConnection {
128316	s.VpnConnectionId = &v
128317	return s
128318}
128319
128320// SetVpnGatewayId sets the VpnGatewayId field's value.
128321func (s *VpnConnection) SetVpnGatewayId(v string) *VpnConnection {
128322	s.VpnGatewayId = &v
128323	return s
128324}
128325
128326// Describes VPN connection options.
128327type VpnConnectionOptions struct {
128328	_ struct{} `type:"structure"`
128329
128330	// Indicates whether acceleration is enabled for the VPN connection.
128331	EnableAcceleration *bool `locationName:"enableAcceleration" type:"boolean"`
128332
128333	// The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.
128334	LocalIpv4NetworkCidr *string `locationName:"localIpv4NetworkCidr" type:"string"`
128335
128336	// The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.
128337	LocalIpv6NetworkCidr *string `locationName:"localIpv6NetworkCidr" type:"string"`
128338
128339	// The IPv4 CIDR on the AWS side of the VPN connection.
128340	RemoteIpv4NetworkCidr *string `locationName:"remoteIpv4NetworkCidr" type:"string"`
128341
128342	// The IPv6 CIDR on the AWS side of the VPN connection.
128343	RemoteIpv6NetworkCidr *string `locationName:"remoteIpv6NetworkCidr" type:"string"`
128344
128345	// Indicates whether the VPN connection uses static routes only. Static routes
128346	// must be used for devices that don't support BGP.
128347	StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
128348
128349	// Indicates whether the VPN tunnels process IPv4 or IPv6 traffic.
128350	TunnelInsideIpVersion *string `locationName:"tunnelInsideIpVersion" type:"string" enum:"TunnelInsideIpVersion"`
128351
128352	// Indicates the VPN tunnel options.
128353	TunnelOptions []*TunnelOption `locationName:"tunnelOptionSet" locationNameList:"item" type:"list"`
128354}
128355
128356// String returns the string representation
128357func (s VpnConnectionOptions) String() string {
128358	return awsutil.Prettify(s)
128359}
128360
128361// GoString returns the string representation
128362func (s VpnConnectionOptions) GoString() string {
128363	return s.String()
128364}
128365
128366// SetEnableAcceleration sets the EnableAcceleration field's value.
128367func (s *VpnConnectionOptions) SetEnableAcceleration(v bool) *VpnConnectionOptions {
128368	s.EnableAcceleration = &v
128369	return s
128370}
128371
128372// SetLocalIpv4NetworkCidr sets the LocalIpv4NetworkCidr field's value.
128373func (s *VpnConnectionOptions) SetLocalIpv4NetworkCidr(v string) *VpnConnectionOptions {
128374	s.LocalIpv4NetworkCidr = &v
128375	return s
128376}
128377
128378// SetLocalIpv6NetworkCidr sets the LocalIpv6NetworkCidr field's value.
128379func (s *VpnConnectionOptions) SetLocalIpv6NetworkCidr(v string) *VpnConnectionOptions {
128380	s.LocalIpv6NetworkCidr = &v
128381	return s
128382}
128383
128384// SetRemoteIpv4NetworkCidr sets the RemoteIpv4NetworkCidr field's value.
128385func (s *VpnConnectionOptions) SetRemoteIpv4NetworkCidr(v string) *VpnConnectionOptions {
128386	s.RemoteIpv4NetworkCidr = &v
128387	return s
128388}
128389
128390// SetRemoteIpv6NetworkCidr sets the RemoteIpv6NetworkCidr field's value.
128391func (s *VpnConnectionOptions) SetRemoteIpv6NetworkCidr(v string) *VpnConnectionOptions {
128392	s.RemoteIpv6NetworkCidr = &v
128393	return s
128394}
128395
128396// SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
128397func (s *VpnConnectionOptions) SetStaticRoutesOnly(v bool) *VpnConnectionOptions {
128398	s.StaticRoutesOnly = &v
128399	return s
128400}
128401
128402// SetTunnelInsideIpVersion sets the TunnelInsideIpVersion field's value.
128403func (s *VpnConnectionOptions) SetTunnelInsideIpVersion(v string) *VpnConnectionOptions {
128404	s.TunnelInsideIpVersion = &v
128405	return s
128406}
128407
128408// SetTunnelOptions sets the TunnelOptions field's value.
128409func (s *VpnConnectionOptions) SetTunnelOptions(v []*TunnelOption) *VpnConnectionOptions {
128410	s.TunnelOptions = v
128411	return s
128412}
128413
128414// Describes VPN connection options.
128415type VpnConnectionOptionsSpecification struct {
128416	_ struct{} `type:"structure"`
128417
128418	// Indicate whether to enable acceleration for the VPN connection.
128419	//
128420	// Default: false
128421	EnableAcceleration *bool `type:"boolean"`
128422
128423	// The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.
128424	//
128425	// Default: 0.0.0.0/0
128426	LocalIpv4NetworkCidr *string `type:"string"`
128427
128428	// The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.
128429	//
128430	// Default: ::/0
128431	LocalIpv6NetworkCidr *string `type:"string"`
128432
128433	// The IPv4 CIDR on the AWS side of the VPN connection.
128434	//
128435	// Default: 0.0.0.0/0
128436	RemoteIpv4NetworkCidr *string `type:"string"`
128437
128438	// The IPv6 CIDR on the AWS side of the VPN connection.
128439	//
128440	// Default: ::/0
128441	RemoteIpv6NetworkCidr *string `type:"string"`
128442
128443	// Indicate whether the VPN connection uses static routes only. If you are creating
128444	// a VPN connection for a device that does not support BGP, you must specify
128445	// true. Use CreateVpnConnectionRoute to create a static route.
128446	//
128447	// Default: false
128448	StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
128449
128450	// Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.
128451	//
128452	// Default: ipv4
128453	TunnelInsideIpVersion *string `type:"string" enum:"TunnelInsideIpVersion"`
128454
128455	// The tunnel options for the VPN connection.
128456	TunnelOptions []*VpnTunnelOptionsSpecification `type:"list"`
128457}
128458
128459// String returns the string representation
128460func (s VpnConnectionOptionsSpecification) String() string {
128461	return awsutil.Prettify(s)
128462}
128463
128464// GoString returns the string representation
128465func (s VpnConnectionOptionsSpecification) GoString() string {
128466	return s.String()
128467}
128468
128469// SetEnableAcceleration sets the EnableAcceleration field's value.
128470func (s *VpnConnectionOptionsSpecification) SetEnableAcceleration(v bool) *VpnConnectionOptionsSpecification {
128471	s.EnableAcceleration = &v
128472	return s
128473}
128474
128475// SetLocalIpv4NetworkCidr sets the LocalIpv4NetworkCidr field's value.
128476func (s *VpnConnectionOptionsSpecification) SetLocalIpv4NetworkCidr(v string) *VpnConnectionOptionsSpecification {
128477	s.LocalIpv4NetworkCidr = &v
128478	return s
128479}
128480
128481// SetLocalIpv6NetworkCidr sets the LocalIpv6NetworkCidr field's value.
128482func (s *VpnConnectionOptionsSpecification) SetLocalIpv6NetworkCidr(v string) *VpnConnectionOptionsSpecification {
128483	s.LocalIpv6NetworkCidr = &v
128484	return s
128485}
128486
128487// SetRemoteIpv4NetworkCidr sets the RemoteIpv4NetworkCidr field's value.
128488func (s *VpnConnectionOptionsSpecification) SetRemoteIpv4NetworkCidr(v string) *VpnConnectionOptionsSpecification {
128489	s.RemoteIpv4NetworkCidr = &v
128490	return s
128491}
128492
128493// SetRemoteIpv6NetworkCidr sets the RemoteIpv6NetworkCidr field's value.
128494func (s *VpnConnectionOptionsSpecification) SetRemoteIpv6NetworkCidr(v string) *VpnConnectionOptionsSpecification {
128495	s.RemoteIpv6NetworkCidr = &v
128496	return s
128497}
128498
128499// SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
128500func (s *VpnConnectionOptionsSpecification) SetStaticRoutesOnly(v bool) *VpnConnectionOptionsSpecification {
128501	s.StaticRoutesOnly = &v
128502	return s
128503}
128504
128505// SetTunnelInsideIpVersion sets the TunnelInsideIpVersion field's value.
128506func (s *VpnConnectionOptionsSpecification) SetTunnelInsideIpVersion(v string) *VpnConnectionOptionsSpecification {
128507	s.TunnelInsideIpVersion = &v
128508	return s
128509}
128510
128511// SetTunnelOptions sets the TunnelOptions field's value.
128512func (s *VpnConnectionOptionsSpecification) SetTunnelOptions(v []*VpnTunnelOptionsSpecification) *VpnConnectionOptionsSpecification {
128513	s.TunnelOptions = v
128514	return s
128515}
128516
128517// Describes a virtual private gateway.
128518type VpnGateway struct {
128519	_ struct{} `type:"structure"`
128520
128521	// The private Autonomous System Number (ASN) for the Amazon side of a BGP session.
128522	AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
128523
128524	// The Availability Zone where the virtual private gateway was created, if applicable.
128525	// This field may be empty or not returned.
128526	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
128527
128528	// The current state of the virtual private gateway.
128529	State *string `locationName:"state" type:"string" enum:"VpnState"`
128530
128531	// Any tags assigned to the virtual private gateway.
128532	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
128533
128534	// The type of VPN connection the virtual private gateway supports.
128535	Type *string `locationName:"type" type:"string" enum:"GatewayType"`
128536
128537	// Any VPCs attached to the virtual private gateway.
128538	VpcAttachments []*VpcAttachment `locationName:"attachments" locationNameList:"item" type:"list"`
128539
128540	// The ID of the virtual private gateway.
128541	VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
128542}
128543
128544// String returns the string representation
128545func (s VpnGateway) String() string {
128546	return awsutil.Prettify(s)
128547}
128548
128549// GoString returns the string representation
128550func (s VpnGateway) GoString() string {
128551	return s.String()
128552}
128553
128554// SetAmazonSideAsn sets the AmazonSideAsn field's value.
128555func (s *VpnGateway) SetAmazonSideAsn(v int64) *VpnGateway {
128556	s.AmazonSideAsn = &v
128557	return s
128558}
128559
128560// SetAvailabilityZone sets the AvailabilityZone field's value.
128561func (s *VpnGateway) SetAvailabilityZone(v string) *VpnGateway {
128562	s.AvailabilityZone = &v
128563	return s
128564}
128565
128566// SetState sets the State field's value.
128567func (s *VpnGateway) SetState(v string) *VpnGateway {
128568	s.State = &v
128569	return s
128570}
128571
128572// SetTags sets the Tags field's value.
128573func (s *VpnGateway) SetTags(v []*Tag) *VpnGateway {
128574	s.Tags = v
128575	return s
128576}
128577
128578// SetType sets the Type field's value.
128579func (s *VpnGateway) SetType(v string) *VpnGateway {
128580	s.Type = &v
128581	return s
128582}
128583
128584// SetVpcAttachments sets the VpcAttachments field's value.
128585func (s *VpnGateway) SetVpcAttachments(v []*VpcAttachment) *VpnGateway {
128586	s.VpcAttachments = v
128587	return s
128588}
128589
128590// SetVpnGatewayId sets the VpnGatewayId field's value.
128591func (s *VpnGateway) SetVpnGatewayId(v string) *VpnGateway {
128592	s.VpnGatewayId = &v
128593	return s
128594}
128595
128596// Describes a static route for a VPN connection.
128597type VpnStaticRoute struct {
128598	_ struct{} `type:"structure"`
128599
128600	// The CIDR block associated with the local subnet of the customer data center.
128601	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
128602
128603	// Indicates how the routes were provided.
128604	Source *string `locationName:"source" type:"string" enum:"VpnStaticRouteSource"`
128605
128606	// The current state of the static route.
128607	State *string `locationName:"state" type:"string" enum:"VpnState"`
128608}
128609
128610// String returns the string representation
128611func (s VpnStaticRoute) String() string {
128612	return awsutil.Prettify(s)
128613}
128614
128615// GoString returns the string representation
128616func (s VpnStaticRoute) GoString() string {
128617	return s.String()
128618}
128619
128620// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
128621func (s *VpnStaticRoute) SetDestinationCidrBlock(v string) *VpnStaticRoute {
128622	s.DestinationCidrBlock = &v
128623	return s
128624}
128625
128626// SetSource sets the Source field's value.
128627func (s *VpnStaticRoute) SetSource(v string) *VpnStaticRoute {
128628	s.Source = &v
128629	return s
128630}
128631
128632// SetState sets the State field's value.
128633func (s *VpnStaticRoute) SetState(v string) *VpnStaticRoute {
128634	s.State = &v
128635	return s
128636}
128637
128638// The tunnel options for a single VPN tunnel.
128639type VpnTunnelOptionsSpecification struct {
128640	_ struct{} `type:"structure"`
128641
128642	// The action to take after DPD timeout occurs. Specify restart to restart the
128643	// IKE initiation. Specify clear to end the IKE session.
128644	//
128645	// Valid Values: clear | none | restart
128646	//
128647	// Default: clear
128648	DPDTimeoutAction *string `type:"string"`
128649
128650	// The number of seconds after which a DPD timeout occurs.
128651	//
128652	// Constraints: A value between 0 and 30.
128653	//
128654	// Default: 30
128655	DPDTimeoutSeconds *int64 `type:"integer"`
128656
128657	// The IKE versions that are permitted for the VPN tunnel.
128658	//
128659	// Valid values: ikev1 | ikev2
128660	IKEVersions []*IKEVersionsRequestListValue `locationName:"IKEVersion" locationNameList:"item" type:"list"`
128661
128662	// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel
128663	// for phase 1 IKE negotiations.
128664	//
128665	// Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24
128666	Phase1DHGroupNumbers []*Phase1DHGroupNumbersRequestListValue `locationName:"Phase1DHGroupNumber" locationNameList:"item" type:"list"`
128667
128668	// One or more encryption algorithms that are permitted for the VPN tunnel for
128669	// phase 1 IKE negotiations.
128670	//
128671	// Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16
128672	Phase1EncryptionAlgorithms []*Phase1EncryptionAlgorithmsRequestListValue `locationName:"Phase1EncryptionAlgorithm" locationNameList:"item" type:"list"`
128673
128674	// One or more integrity algorithms that are permitted for the VPN tunnel for
128675	// phase 1 IKE negotiations.
128676	//
128677	// Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512
128678	Phase1IntegrityAlgorithms []*Phase1IntegrityAlgorithmsRequestListValue `locationName:"Phase1IntegrityAlgorithm" locationNameList:"item" type:"list"`
128679
128680	// The lifetime for phase 1 of the IKE negotiation, in seconds.
128681	//
128682	// Constraints: A value between 900 and 28,800.
128683	//
128684	// Default: 28800
128685	Phase1LifetimeSeconds *int64 `type:"integer"`
128686
128687	// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel
128688	// for phase 2 IKE negotiations.
128689	//
128690	// Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24
128691	Phase2DHGroupNumbers []*Phase2DHGroupNumbersRequestListValue `locationName:"Phase2DHGroupNumber" locationNameList:"item" type:"list"`
128692
128693	// One or more encryption algorithms that are permitted for the VPN tunnel for
128694	// phase 2 IKE negotiations.
128695	//
128696	// Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16
128697	Phase2EncryptionAlgorithms []*Phase2EncryptionAlgorithmsRequestListValue `locationName:"Phase2EncryptionAlgorithm" locationNameList:"item" type:"list"`
128698
128699	// One or more integrity algorithms that are permitted for the VPN tunnel for
128700	// phase 2 IKE negotiations.
128701	//
128702	// Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512
128703	Phase2IntegrityAlgorithms []*Phase2IntegrityAlgorithmsRequestListValue `locationName:"Phase2IntegrityAlgorithm" locationNameList:"item" type:"list"`
128704
128705	// The lifetime for phase 2 of the IKE negotiation, in seconds.
128706	//
128707	// Constraints: A value between 900 and 3,600. The value must be less than the
128708	// value for Phase1LifetimeSeconds.
128709	//
128710	// Default: 3600
128711	Phase2LifetimeSeconds *int64 `type:"integer"`
128712
128713	// The pre-shared key (PSK) to establish initial authentication between the
128714	// virtual private gateway and customer gateway.
128715	//
128716	// Constraints: Allowed characters are alphanumeric characters, periods (.),
128717	// and underscores (_). Must be between 8 and 64 characters in length and cannot
128718	// start with zero (0).
128719	PreSharedKey *string `type:"string"`
128720
128721	// The percentage of the rekey window (determined by RekeyMarginTimeSeconds)
128722	// during which the rekey time is randomly selected.
128723	//
128724	// Constraints: A value between 0 and 100.
128725	//
128726	// Default: 100
128727	RekeyFuzzPercentage *int64 `type:"integer"`
128728
128729	// The margin time, in seconds, before the phase 2 lifetime expires, during
128730	// which the AWS side of the VPN connection performs an IKE rekey. The exact
128731	// time of the rekey is randomly selected based on the value for RekeyFuzzPercentage.
128732	//
128733	// Constraints: A value between 60 and half of Phase2LifetimeSeconds.
128734	//
128735	// Default: 540
128736	RekeyMarginTimeSeconds *int64 `type:"integer"`
128737
128738	// The number of packets in an IKE replay window.
128739	//
128740	// Constraints: A value between 64 and 2048.
128741	//
128742	// Default: 1024
128743	ReplayWindowSize *int64 `type:"integer"`
128744
128745	// The action to take when the establishing the tunnel for the VPN connection.
128746	// By default, your customer gateway device must initiate the IKE negotiation
128747	// and bring up the tunnel. Specify start for AWS to initiate the IKE negotiation.
128748	//
128749	// Valid Values: add | start
128750	//
128751	// Default: add
128752	StartupAction *string `type:"string"`
128753
128754	// The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks
128755	// must be unique across all VPN connections that use the same virtual private
128756	// gateway.
128757	//
128758	// Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following
128759	// CIDR blocks are reserved and cannot be used:
128760	//
128761	//    * 169.254.0.0/30
128762	//
128763	//    * 169.254.1.0/30
128764	//
128765	//    * 169.254.2.0/30
128766	//
128767	//    * 169.254.3.0/30
128768	//
128769	//    * 169.254.4.0/30
128770	//
128771	//    * 169.254.5.0/30
128772	//
128773	//    * 169.254.169.252/30
128774	TunnelInsideCidr *string `type:"string"`
128775
128776	// The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks
128777	// must be unique across all VPN connections that use the same transit gateway.
128778	//
128779	// Constraints: A size /126 CIDR block from the local fd00::/8 range.
128780	TunnelInsideIpv6Cidr *string `type:"string"`
128781}
128782
128783// String returns the string representation
128784func (s VpnTunnelOptionsSpecification) String() string {
128785	return awsutil.Prettify(s)
128786}
128787
128788// GoString returns the string representation
128789func (s VpnTunnelOptionsSpecification) GoString() string {
128790	return s.String()
128791}
128792
128793// SetDPDTimeoutAction sets the DPDTimeoutAction field's value.
128794func (s *VpnTunnelOptionsSpecification) SetDPDTimeoutAction(v string) *VpnTunnelOptionsSpecification {
128795	s.DPDTimeoutAction = &v
128796	return s
128797}
128798
128799// SetDPDTimeoutSeconds sets the DPDTimeoutSeconds field's value.
128800func (s *VpnTunnelOptionsSpecification) SetDPDTimeoutSeconds(v int64) *VpnTunnelOptionsSpecification {
128801	s.DPDTimeoutSeconds = &v
128802	return s
128803}
128804
128805// SetIKEVersions sets the IKEVersions field's value.
128806func (s *VpnTunnelOptionsSpecification) SetIKEVersions(v []*IKEVersionsRequestListValue) *VpnTunnelOptionsSpecification {
128807	s.IKEVersions = v
128808	return s
128809}
128810
128811// SetPhase1DHGroupNumbers sets the Phase1DHGroupNumbers field's value.
128812func (s *VpnTunnelOptionsSpecification) SetPhase1DHGroupNumbers(v []*Phase1DHGroupNumbersRequestListValue) *VpnTunnelOptionsSpecification {
128813	s.Phase1DHGroupNumbers = v
128814	return s
128815}
128816
128817// SetPhase1EncryptionAlgorithms sets the Phase1EncryptionAlgorithms field's value.
128818func (s *VpnTunnelOptionsSpecification) SetPhase1EncryptionAlgorithms(v []*Phase1EncryptionAlgorithmsRequestListValue) *VpnTunnelOptionsSpecification {
128819	s.Phase1EncryptionAlgorithms = v
128820	return s
128821}
128822
128823// SetPhase1IntegrityAlgorithms sets the Phase1IntegrityAlgorithms field's value.
128824func (s *VpnTunnelOptionsSpecification) SetPhase1IntegrityAlgorithms(v []*Phase1IntegrityAlgorithmsRequestListValue) *VpnTunnelOptionsSpecification {
128825	s.Phase1IntegrityAlgorithms = v
128826	return s
128827}
128828
128829// SetPhase1LifetimeSeconds sets the Phase1LifetimeSeconds field's value.
128830func (s *VpnTunnelOptionsSpecification) SetPhase1LifetimeSeconds(v int64) *VpnTunnelOptionsSpecification {
128831	s.Phase1LifetimeSeconds = &v
128832	return s
128833}
128834
128835// SetPhase2DHGroupNumbers sets the Phase2DHGroupNumbers field's value.
128836func (s *VpnTunnelOptionsSpecification) SetPhase2DHGroupNumbers(v []*Phase2DHGroupNumbersRequestListValue) *VpnTunnelOptionsSpecification {
128837	s.Phase2DHGroupNumbers = v
128838	return s
128839}
128840
128841// SetPhase2EncryptionAlgorithms sets the Phase2EncryptionAlgorithms field's value.
128842func (s *VpnTunnelOptionsSpecification) SetPhase2EncryptionAlgorithms(v []*Phase2EncryptionAlgorithmsRequestListValue) *VpnTunnelOptionsSpecification {
128843	s.Phase2EncryptionAlgorithms = v
128844	return s
128845}
128846
128847// SetPhase2IntegrityAlgorithms sets the Phase2IntegrityAlgorithms field's value.
128848func (s *VpnTunnelOptionsSpecification) SetPhase2IntegrityAlgorithms(v []*Phase2IntegrityAlgorithmsRequestListValue) *VpnTunnelOptionsSpecification {
128849	s.Phase2IntegrityAlgorithms = v
128850	return s
128851}
128852
128853// SetPhase2LifetimeSeconds sets the Phase2LifetimeSeconds field's value.
128854func (s *VpnTunnelOptionsSpecification) SetPhase2LifetimeSeconds(v int64) *VpnTunnelOptionsSpecification {
128855	s.Phase2LifetimeSeconds = &v
128856	return s
128857}
128858
128859// SetPreSharedKey sets the PreSharedKey field's value.
128860func (s *VpnTunnelOptionsSpecification) SetPreSharedKey(v string) *VpnTunnelOptionsSpecification {
128861	s.PreSharedKey = &v
128862	return s
128863}
128864
128865// SetRekeyFuzzPercentage sets the RekeyFuzzPercentage field's value.
128866func (s *VpnTunnelOptionsSpecification) SetRekeyFuzzPercentage(v int64) *VpnTunnelOptionsSpecification {
128867	s.RekeyFuzzPercentage = &v
128868	return s
128869}
128870
128871// SetRekeyMarginTimeSeconds sets the RekeyMarginTimeSeconds field's value.
128872func (s *VpnTunnelOptionsSpecification) SetRekeyMarginTimeSeconds(v int64) *VpnTunnelOptionsSpecification {
128873	s.RekeyMarginTimeSeconds = &v
128874	return s
128875}
128876
128877// SetReplayWindowSize sets the ReplayWindowSize field's value.
128878func (s *VpnTunnelOptionsSpecification) SetReplayWindowSize(v int64) *VpnTunnelOptionsSpecification {
128879	s.ReplayWindowSize = &v
128880	return s
128881}
128882
128883// SetStartupAction sets the StartupAction field's value.
128884func (s *VpnTunnelOptionsSpecification) SetStartupAction(v string) *VpnTunnelOptionsSpecification {
128885	s.StartupAction = &v
128886	return s
128887}
128888
128889// SetTunnelInsideCidr sets the TunnelInsideCidr field's value.
128890func (s *VpnTunnelOptionsSpecification) SetTunnelInsideCidr(v string) *VpnTunnelOptionsSpecification {
128891	s.TunnelInsideCidr = &v
128892	return s
128893}
128894
128895// SetTunnelInsideIpv6Cidr sets the TunnelInsideIpv6Cidr field's value.
128896func (s *VpnTunnelOptionsSpecification) SetTunnelInsideIpv6Cidr(v string) *VpnTunnelOptionsSpecification {
128897	s.TunnelInsideIpv6Cidr = &v
128898	return s
128899}
128900
128901type WithdrawByoipCidrInput struct {
128902	_ struct{} `type:"structure"`
128903
128904	// The address range, in CIDR notation.
128905	//
128906	// Cidr is a required field
128907	Cidr *string `type:"string" required:"true"`
128908
128909	// Checks whether you have the required permissions for the action, without
128910	// actually making the request, and provides an error response. If you have
128911	// the required permissions, the error response is DryRunOperation. Otherwise,
128912	// it is UnauthorizedOperation.
128913	DryRun *bool `type:"boolean"`
128914}
128915
128916// String returns the string representation
128917func (s WithdrawByoipCidrInput) String() string {
128918	return awsutil.Prettify(s)
128919}
128920
128921// GoString returns the string representation
128922func (s WithdrawByoipCidrInput) GoString() string {
128923	return s.String()
128924}
128925
128926// Validate inspects the fields of the type to determine if they are valid.
128927func (s *WithdrawByoipCidrInput) Validate() error {
128928	invalidParams := request.ErrInvalidParams{Context: "WithdrawByoipCidrInput"}
128929	if s.Cidr == nil {
128930		invalidParams.Add(request.NewErrParamRequired("Cidr"))
128931	}
128932
128933	if invalidParams.Len() > 0 {
128934		return invalidParams
128935	}
128936	return nil
128937}
128938
128939// SetCidr sets the Cidr field's value.
128940func (s *WithdrawByoipCidrInput) SetCidr(v string) *WithdrawByoipCidrInput {
128941	s.Cidr = &v
128942	return s
128943}
128944
128945// SetDryRun sets the DryRun field's value.
128946func (s *WithdrawByoipCidrInput) SetDryRun(v bool) *WithdrawByoipCidrInput {
128947	s.DryRun = &v
128948	return s
128949}
128950
128951type WithdrawByoipCidrOutput struct {
128952	_ struct{} `type:"structure"`
128953
128954	// Information about the address pool.
128955	ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
128956}
128957
128958// String returns the string representation
128959func (s WithdrawByoipCidrOutput) String() string {
128960	return awsutil.Prettify(s)
128961}
128962
128963// GoString returns the string representation
128964func (s WithdrawByoipCidrOutput) GoString() string {
128965	return s.String()
128966}
128967
128968// SetByoipCidr sets the ByoipCidr field's value.
128969func (s *WithdrawByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *WithdrawByoipCidrOutput {
128970	s.ByoipCidr = v
128971	return s
128972}
128973
128974const (
128975	// AccountAttributeNameSupportedPlatforms is a AccountAttributeName enum value
128976	AccountAttributeNameSupportedPlatforms = "supported-platforms"
128977
128978	// AccountAttributeNameDefaultVpc is a AccountAttributeName enum value
128979	AccountAttributeNameDefaultVpc = "default-vpc"
128980)
128981
128982// AccountAttributeName_Values returns all elements of the AccountAttributeName enum
128983func AccountAttributeName_Values() []string {
128984	return []string{
128985		AccountAttributeNameSupportedPlatforms,
128986		AccountAttributeNameDefaultVpc,
128987	}
128988}
128989
128990const (
128991	// ActivityStatusError is a ActivityStatus enum value
128992	ActivityStatusError = "error"
128993
128994	// ActivityStatusPendingFulfillment is a ActivityStatus enum value
128995	ActivityStatusPendingFulfillment = "pending_fulfillment"
128996
128997	// ActivityStatusPendingTermination is a ActivityStatus enum value
128998	ActivityStatusPendingTermination = "pending_termination"
128999
129000	// ActivityStatusFulfilled is a ActivityStatus enum value
129001	ActivityStatusFulfilled = "fulfilled"
129002)
129003
129004// ActivityStatus_Values returns all elements of the ActivityStatus enum
129005func ActivityStatus_Values() []string {
129006	return []string{
129007		ActivityStatusError,
129008		ActivityStatusPendingFulfillment,
129009		ActivityStatusPendingTermination,
129010		ActivityStatusFulfilled,
129011	}
129012}
129013
129014const (
129015	// AddressAttributeNameDomainName is a AddressAttributeName enum value
129016	AddressAttributeNameDomainName = "domain-name"
129017)
129018
129019// AddressAttributeName_Values returns all elements of the AddressAttributeName enum
129020func AddressAttributeName_Values() []string {
129021	return []string{
129022		AddressAttributeNameDomainName,
129023	}
129024}
129025
129026const (
129027	// AffinityDefault is a Affinity enum value
129028	AffinityDefault = "default"
129029
129030	// AffinityHost is a Affinity enum value
129031	AffinityHost = "host"
129032)
129033
129034// Affinity_Values returns all elements of the Affinity enum
129035func Affinity_Values() []string {
129036	return []string{
129037		AffinityDefault,
129038		AffinityHost,
129039	}
129040}
129041
129042const (
129043	// AllocationStateAvailable is a AllocationState enum value
129044	AllocationStateAvailable = "available"
129045
129046	// AllocationStateUnderAssessment is a AllocationState enum value
129047	AllocationStateUnderAssessment = "under-assessment"
129048
129049	// AllocationStatePermanentFailure is a AllocationState enum value
129050	AllocationStatePermanentFailure = "permanent-failure"
129051
129052	// AllocationStateReleased is a AllocationState enum value
129053	AllocationStateReleased = "released"
129054
129055	// AllocationStateReleasedPermanentFailure is a AllocationState enum value
129056	AllocationStateReleasedPermanentFailure = "released-permanent-failure"
129057
129058	// AllocationStatePending is a AllocationState enum value
129059	AllocationStatePending = "pending"
129060)
129061
129062// AllocationState_Values returns all elements of the AllocationState enum
129063func AllocationState_Values() []string {
129064	return []string{
129065		AllocationStateAvailable,
129066		AllocationStateUnderAssessment,
129067		AllocationStatePermanentFailure,
129068		AllocationStateReleased,
129069		AllocationStateReleasedPermanentFailure,
129070		AllocationStatePending,
129071	}
129072}
129073
129074const (
129075	// AllocationStrategyLowestPrice is a AllocationStrategy enum value
129076	AllocationStrategyLowestPrice = "lowestPrice"
129077
129078	// AllocationStrategyDiversified is a AllocationStrategy enum value
129079	AllocationStrategyDiversified = "diversified"
129080
129081	// AllocationStrategyCapacityOptimized is a AllocationStrategy enum value
129082	AllocationStrategyCapacityOptimized = "capacityOptimized"
129083
129084	// AllocationStrategyCapacityOptimizedPrioritized is a AllocationStrategy enum value
129085	AllocationStrategyCapacityOptimizedPrioritized = "capacityOptimizedPrioritized"
129086)
129087
129088// AllocationStrategy_Values returns all elements of the AllocationStrategy enum
129089func AllocationStrategy_Values() []string {
129090	return []string{
129091		AllocationStrategyLowestPrice,
129092		AllocationStrategyDiversified,
129093		AllocationStrategyCapacityOptimized,
129094		AllocationStrategyCapacityOptimizedPrioritized,
129095	}
129096}
129097
129098const (
129099	// AllowsMultipleInstanceTypesOn is a AllowsMultipleInstanceTypes enum value
129100	AllowsMultipleInstanceTypesOn = "on"
129101
129102	// AllowsMultipleInstanceTypesOff is a AllowsMultipleInstanceTypes enum value
129103	AllowsMultipleInstanceTypesOff = "off"
129104)
129105
129106// AllowsMultipleInstanceTypes_Values returns all elements of the AllowsMultipleInstanceTypes enum
129107func AllowsMultipleInstanceTypes_Values() []string {
129108	return []string{
129109		AllowsMultipleInstanceTypesOn,
129110		AllowsMultipleInstanceTypesOff,
129111	}
129112}
129113
129114const (
129115	// AnalysisStatusRunning is a AnalysisStatus enum value
129116	AnalysisStatusRunning = "running"
129117
129118	// AnalysisStatusSucceeded is a AnalysisStatus enum value
129119	AnalysisStatusSucceeded = "succeeded"
129120
129121	// AnalysisStatusFailed is a AnalysisStatus enum value
129122	AnalysisStatusFailed = "failed"
129123)
129124
129125// AnalysisStatus_Values returns all elements of the AnalysisStatus enum
129126func AnalysisStatus_Values() []string {
129127	return []string{
129128		AnalysisStatusRunning,
129129		AnalysisStatusSucceeded,
129130		AnalysisStatusFailed,
129131	}
129132}
129133
129134const (
129135	// ApplianceModeSupportValueEnable is a ApplianceModeSupportValue enum value
129136	ApplianceModeSupportValueEnable = "enable"
129137
129138	// ApplianceModeSupportValueDisable is a ApplianceModeSupportValue enum value
129139	ApplianceModeSupportValueDisable = "disable"
129140)
129141
129142// ApplianceModeSupportValue_Values returns all elements of the ApplianceModeSupportValue enum
129143func ApplianceModeSupportValue_Values() []string {
129144	return []string{
129145		ApplianceModeSupportValueEnable,
129146		ApplianceModeSupportValueDisable,
129147	}
129148}
129149
129150const (
129151	// ArchitectureTypeI386 is a ArchitectureType enum value
129152	ArchitectureTypeI386 = "i386"
129153
129154	// ArchitectureTypeX8664 is a ArchitectureType enum value
129155	ArchitectureTypeX8664 = "x86_64"
129156
129157	// ArchitectureTypeArm64 is a ArchitectureType enum value
129158	ArchitectureTypeArm64 = "arm64"
129159)
129160
129161// ArchitectureType_Values returns all elements of the ArchitectureType enum
129162func ArchitectureType_Values() []string {
129163	return []string{
129164		ArchitectureTypeI386,
129165		ArchitectureTypeX8664,
129166		ArchitectureTypeArm64,
129167	}
129168}
129169
129170const (
129171	// ArchitectureValuesI386 is a ArchitectureValues enum value
129172	ArchitectureValuesI386 = "i386"
129173
129174	// ArchitectureValuesX8664 is a ArchitectureValues enum value
129175	ArchitectureValuesX8664 = "x86_64"
129176
129177	// ArchitectureValuesArm64 is a ArchitectureValues enum value
129178	ArchitectureValuesArm64 = "arm64"
129179)
129180
129181// ArchitectureValues_Values returns all elements of the ArchitectureValues enum
129182func ArchitectureValues_Values() []string {
129183	return []string{
129184		ArchitectureValuesI386,
129185		ArchitectureValuesX8664,
129186		ArchitectureValuesArm64,
129187	}
129188}
129189
129190const (
129191	// AssociatedNetworkTypeVpc is a AssociatedNetworkType enum value
129192	AssociatedNetworkTypeVpc = "vpc"
129193)
129194
129195// AssociatedNetworkType_Values returns all elements of the AssociatedNetworkType enum
129196func AssociatedNetworkType_Values() []string {
129197	return []string{
129198		AssociatedNetworkTypeVpc,
129199	}
129200}
129201
129202const (
129203	// AssociationStatusCodeAssociating is a AssociationStatusCode enum value
129204	AssociationStatusCodeAssociating = "associating"
129205
129206	// AssociationStatusCodeAssociated is a AssociationStatusCode enum value
129207	AssociationStatusCodeAssociated = "associated"
129208
129209	// AssociationStatusCodeAssociationFailed is a AssociationStatusCode enum value
129210	AssociationStatusCodeAssociationFailed = "association-failed"
129211
129212	// AssociationStatusCodeDisassociating is a AssociationStatusCode enum value
129213	AssociationStatusCodeDisassociating = "disassociating"
129214
129215	// AssociationStatusCodeDisassociated is a AssociationStatusCode enum value
129216	AssociationStatusCodeDisassociated = "disassociated"
129217)
129218
129219// AssociationStatusCode_Values returns all elements of the AssociationStatusCode enum
129220func AssociationStatusCode_Values() []string {
129221	return []string{
129222		AssociationStatusCodeAssociating,
129223		AssociationStatusCodeAssociated,
129224		AssociationStatusCodeAssociationFailed,
129225		AssociationStatusCodeDisassociating,
129226		AssociationStatusCodeDisassociated,
129227	}
129228}
129229
129230const (
129231	// AttachmentStatusAttaching is a AttachmentStatus enum value
129232	AttachmentStatusAttaching = "attaching"
129233
129234	// AttachmentStatusAttached is a AttachmentStatus enum value
129235	AttachmentStatusAttached = "attached"
129236
129237	// AttachmentStatusDetaching is a AttachmentStatus enum value
129238	AttachmentStatusDetaching = "detaching"
129239
129240	// AttachmentStatusDetached is a AttachmentStatus enum value
129241	AttachmentStatusDetached = "detached"
129242)
129243
129244// AttachmentStatus_Values returns all elements of the AttachmentStatus enum
129245func AttachmentStatus_Values() []string {
129246	return []string{
129247		AttachmentStatusAttaching,
129248		AttachmentStatusAttached,
129249		AttachmentStatusDetaching,
129250		AttachmentStatusDetached,
129251	}
129252}
129253
129254const (
129255	// AutoAcceptSharedAssociationsValueEnable is a AutoAcceptSharedAssociationsValue enum value
129256	AutoAcceptSharedAssociationsValueEnable = "enable"
129257
129258	// AutoAcceptSharedAssociationsValueDisable is a AutoAcceptSharedAssociationsValue enum value
129259	AutoAcceptSharedAssociationsValueDisable = "disable"
129260)
129261
129262// AutoAcceptSharedAssociationsValue_Values returns all elements of the AutoAcceptSharedAssociationsValue enum
129263func AutoAcceptSharedAssociationsValue_Values() []string {
129264	return []string{
129265		AutoAcceptSharedAssociationsValueEnable,
129266		AutoAcceptSharedAssociationsValueDisable,
129267	}
129268}
129269
129270const (
129271	// AutoAcceptSharedAttachmentsValueEnable is a AutoAcceptSharedAttachmentsValue enum value
129272	AutoAcceptSharedAttachmentsValueEnable = "enable"
129273
129274	// AutoAcceptSharedAttachmentsValueDisable is a AutoAcceptSharedAttachmentsValue enum value
129275	AutoAcceptSharedAttachmentsValueDisable = "disable"
129276)
129277
129278// AutoAcceptSharedAttachmentsValue_Values returns all elements of the AutoAcceptSharedAttachmentsValue enum
129279func AutoAcceptSharedAttachmentsValue_Values() []string {
129280	return []string{
129281		AutoAcceptSharedAttachmentsValueEnable,
129282		AutoAcceptSharedAttachmentsValueDisable,
129283	}
129284}
129285
129286const (
129287	// AutoPlacementOn is a AutoPlacement enum value
129288	AutoPlacementOn = "on"
129289
129290	// AutoPlacementOff is a AutoPlacement enum value
129291	AutoPlacementOff = "off"
129292)
129293
129294// AutoPlacement_Values returns all elements of the AutoPlacement enum
129295func AutoPlacement_Values() []string {
129296	return []string{
129297		AutoPlacementOn,
129298		AutoPlacementOff,
129299	}
129300}
129301
129302const (
129303	// AvailabilityZoneOptInStatusOptInNotRequired is a AvailabilityZoneOptInStatus enum value
129304	AvailabilityZoneOptInStatusOptInNotRequired = "opt-in-not-required"
129305
129306	// AvailabilityZoneOptInStatusOptedIn is a AvailabilityZoneOptInStatus enum value
129307	AvailabilityZoneOptInStatusOptedIn = "opted-in"
129308
129309	// AvailabilityZoneOptInStatusNotOptedIn is a AvailabilityZoneOptInStatus enum value
129310	AvailabilityZoneOptInStatusNotOptedIn = "not-opted-in"
129311)
129312
129313// AvailabilityZoneOptInStatus_Values returns all elements of the AvailabilityZoneOptInStatus enum
129314func AvailabilityZoneOptInStatus_Values() []string {
129315	return []string{
129316		AvailabilityZoneOptInStatusOptInNotRequired,
129317		AvailabilityZoneOptInStatusOptedIn,
129318		AvailabilityZoneOptInStatusNotOptedIn,
129319	}
129320}
129321
129322const (
129323	// AvailabilityZoneStateAvailable is a AvailabilityZoneState enum value
129324	AvailabilityZoneStateAvailable = "available"
129325
129326	// AvailabilityZoneStateInformation is a AvailabilityZoneState enum value
129327	AvailabilityZoneStateInformation = "information"
129328
129329	// AvailabilityZoneStateImpaired is a AvailabilityZoneState enum value
129330	AvailabilityZoneStateImpaired = "impaired"
129331
129332	// AvailabilityZoneStateUnavailable is a AvailabilityZoneState enum value
129333	AvailabilityZoneStateUnavailable = "unavailable"
129334)
129335
129336// AvailabilityZoneState_Values returns all elements of the AvailabilityZoneState enum
129337func AvailabilityZoneState_Values() []string {
129338	return []string{
129339		AvailabilityZoneStateAvailable,
129340		AvailabilityZoneStateInformation,
129341		AvailabilityZoneStateImpaired,
129342		AvailabilityZoneStateUnavailable,
129343	}
129344}
129345
129346const (
129347	// BatchStateSubmitted is a BatchState enum value
129348	BatchStateSubmitted = "submitted"
129349
129350	// BatchStateActive is a BatchState enum value
129351	BatchStateActive = "active"
129352
129353	// BatchStateCancelled is a BatchState enum value
129354	BatchStateCancelled = "cancelled"
129355
129356	// BatchStateFailed is a BatchState enum value
129357	BatchStateFailed = "failed"
129358
129359	// BatchStateCancelledRunning is a BatchState enum value
129360	BatchStateCancelledRunning = "cancelled_running"
129361
129362	// BatchStateCancelledTerminating is a BatchState enum value
129363	BatchStateCancelledTerminating = "cancelled_terminating"
129364
129365	// BatchStateModifying is a BatchState enum value
129366	BatchStateModifying = "modifying"
129367)
129368
129369// BatchState_Values returns all elements of the BatchState enum
129370func BatchState_Values() []string {
129371	return []string{
129372		BatchStateSubmitted,
129373		BatchStateActive,
129374		BatchStateCancelled,
129375		BatchStateFailed,
129376		BatchStateCancelledRunning,
129377		BatchStateCancelledTerminating,
129378		BatchStateModifying,
129379	}
129380}
129381
129382const (
129383	// BgpStatusUp is a BgpStatus enum value
129384	BgpStatusUp = "up"
129385
129386	// BgpStatusDown is a BgpStatus enum value
129387	BgpStatusDown = "down"
129388)
129389
129390// BgpStatus_Values returns all elements of the BgpStatus enum
129391func BgpStatus_Values() []string {
129392	return []string{
129393		BgpStatusUp,
129394		BgpStatusDown,
129395	}
129396}
129397
129398const (
129399	// BootModeTypeLegacyBios is a BootModeType enum value
129400	BootModeTypeLegacyBios = "legacy-bios"
129401
129402	// BootModeTypeUefi is a BootModeType enum value
129403	BootModeTypeUefi = "uefi"
129404)
129405
129406// BootModeType_Values returns all elements of the BootModeType enum
129407func BootModeType_Values() []string {
129408	return []string{
129409		BootModeTypeLegacyBios,
129410		BootModeTypeUefi,
129411	}
129412}
129413
129414const (
129415	// BootModeValuesLegacyBios is a BootModeValues enum value
129416	BootModeValuesLegacyBios = "legacy-bios"
129417
129418	// BootModeValuesUefi is a BootModeValues enum value
129419	BootModeValuesUefi = "uefi"
129420)
129421
129422// BootModeValues_Values returns all elements of the BootModeValues enum
129423func BootModeValues_Values() []string {
129424	return []string{
129425		BootModeValuesLegacyBios,
129426		BootModeValuesUefi,
129427	}
129428}
129429
129430const (
129431	// BundleTaskStatePending is a BundleTaskState enum value
129432	BundleTaskStatePending = "pending"
129433
129434	// BundleTaskStateWaitingForShutdown is a BundleTaskState enum value
129435	BundleTaskStateWaitingForShutdown = "waiting-for-shutdown"
129436
129437	// BundleTaskStateBundling is a BundleTaskState enum value
129438	BundleTaskStateBundling = "bundling"
129439
129440	// BundleTaskStateStoring is a BundleTaskState enum value
129441	BundleTaskStateStoring = "storing"
129442
129443	// BundleTaskStateCancelling is a BundleTaskState enum value
129444	BundleTaskStateCancelling = "cancelling"
129445
129446	// BundleTaskStateComplete is a BundleTaskState enum value
129447	BundleTaskStateComplete = "complete"
129448
129449	// BundleTaskStateFailed is a BundleTaskState enum value
129450	BundleTaskStateFailed = "failed"
129451)
129452
129453// BundleTaskState_Values returns all elements of the BundleTaskState enum
129454func BundleTaskState_Values() []string {
129455	return []string{
129456		BundleTaskStatePending,
129457		BundleTaskStateWaitingForShutdown,
129458		BundleTaskStateBundling,
129459		BundleTaskStateStoring,
129460		BundleTaskStateCancelling,
129461		BundleTaskStateComplete,
129462		BundleTaskStateFailed,
129463	}
129464}
129465
129466const (
129467	// ByoipCidrStateAdvertised is a ByoipCidrState enum value
129468	ByoipCidrStateAdvertised = "advertised"
129469
129470	// ByoipCidrStateDeprovisioned is a ByoipCidrState enum value
129471	ByoipCidrStateDeprovisioned = "deprovisioned"
129472
129473	// ByoipCidrStateFailedDeprovision is a ByoipCidrState enum value
129474	ByoipCidrStateFailedDeprovision = "failed-deprovision"
129475
129476	// ByoipCidrStateFailedProvision is a ByoipCidrState enum value
129477	ByoipCidrStateFailedProvision = "failed-provision"
129478
129479	// ByoipCidrStatePendingDeprovision is a ByoipCidrState enum value
129480	ByoipCidrStatePendingDeprovision = "pending-deprovision"
129481
129482	// ByoipCidrStatePendingProvision is a ByoipCidrState enum value
129483	ByoipCidrStatePendingProvision = "pending-provision"
129484
129485	// ByoipCidrStateProvisioned is a ByoipCidrState enum value
129486	ByoipCidrStateProvisioned = "provisioned"
129487
129488	// ByoipCidrStateProvisionedNotPubliclyAdvertisable is a ByoipCidrState enum value
129489	ByoipCidrStateProvisionedNotPubliclyAdvertisable = "provisioned-not-publicly-advertisable"
129490)
129491
129492// ByoipCidrState_Values returns all elements of the ByoipCidrState enum
129493func ByoipCidrState_Values() []string {
129494	return []string{
129495		ByoipCidrStateAdvertised,
129496		ByoipCidrStateDeprovisioned,
129497		ByoipCidrStateFailedDeprovision,
129498		ByoipCidrStateFailedProvision,
129499		ByoipCidrStatePendingDeprovision,
129500		ByoipCidrStatePendingProvision,
129501		ByoipCidrStateProvisioned,
129502		ByoipCidrStateProvisionedNotPubliclyAdvertisable,
129503	}
129504}
129505
129506const (
129507	// CancelBatchErrorCodeFleetRequestIdDoesNotExist is a CancelBatchErrorCode enum value
129508	CancelBatchErrorCodeFleetRequestIdDoesNotExist = "fleetRequestIdDoesNotExist"
129509
129510	// CancelBatchErrorCodeFleetRequestIdMalformed is a CancelBatchErrorCode enum value
129511	CancelBatchErrorCodeFleetRequestIdMalformed = "fleetRequestIdMalformed"
129512
129513	// CancelBatchErrorCodeFleetRequestNotInCancellableState is a CancelBatchErrorCode enum value
129514	CancelBatchErrorCodeFleetRequestNotInCancellableState = "fleetRequestNotInCancellableState"
129515
129516	// CancelBatchErrorCodeUnexpectedError is a CancelBatchErrorCode enum value
129517	CancelBatchErrorCodeUnexpectedError = "unexpectedError"
129518)
129519
129520// CancelBatchErrorCode_Values returns all elements of the CancelBatchErrorCode enum
129521func CancelBatchErrorCode_Values() []string {
129522	return []string{
129523		CancelBatchErrorCodeFleetRequestIdDoesNotExist,
129524		CancelBatchErrorCodeFleetRequestIdMalformed,
129525		CancelBatchErrorCodeFleetRequestNotInCancellableState,
129526		CancelBatchErrorCodeUnexpectedError,
129527	}
129528}
129529
129530const (
129531	// CancelSpotInstanceRequestStateActive is a CancelSpotInstanceRequestState enum value
129532	CancelSpotInstanceRequestStateActive = "active"
129533
129534	// CancelSpotInstanceRequestStateOpen is a CancelSpotInstanceRequestState enum value
129535	CancelSpotInstanceRequestStateOpen = "open"
129536
129537	// CancelSpotInstanceRequestStateClosed is a CancelSpotInstanceRequestState enum value
129538	CancelSpotInstanceRequestStateClosed = "closed"
129539
129540	// CancelSpotInstanceRequestStateCancelled is a CancelSpotInstanceRequestState enum value
129541	CancelSpotInstanceRequestStateCancelled = "cancelled"
129542
129543	// CancelSpotInstanceRequestStateCompleted is a CancelSpotInstanceRequestState enum value
129544	CancelSpotInstanceRequestStateCompleted = "completed"
129545)
129546
129547// CancelSpotInstanceRequestState_Values returns all elements of the CancelSpotInstanceRequestState enum
129548func CancelSpotInstanceRequestState_Values() []string {
129549	return []string{
129550		CancelSpotInstanceRequestStateActive,
129551		CancelSpotInstanceRequestStateOpen,
129552		CancelSpotInstanceRequestStateClosed,
129553		CancelSpotInstanceRequestStateCancelled,
129554		CancelSpotInstanceRequestStateCompleted,
129555	}
129556}
129557
129558const (
129559	// CapacityReservationInstancePlatformLinuxUnix is a CapacityReservationInstancePlatform enum value
129560	CapacityReservationInstancePlatformLinuxUnix = "Linux/UNIX"
129561
129562	// CapacityReservationInstancePlatformRedHatEnterpriseLinux is a CapacityReservationInstancePlatform enum value
129563	CapacityReservationInstancePlatformRedHatEnterpriseLinux = "Red Hat Enterprise Linux"
129564
129565	// CapacityReservationInstancePlatformSuselinux is a CapacityReservationInstancePlatform enum value
129566	CapacityReservationInstancePlatformSuselinux = "SUSE Linux"
129567
129568	// CapacityReservationInstancePlatformWindows is a CapacityReservationInstancePlatform enum value
129569	CapacityReservationInstancePlatformWindows = "Windows"
129570
129571	// CapacityReservationInstancePlatformWindowswithSqlserver is a CapacityReservationInstancePlatform enum value
129572	CapacityReservationInstancePlatformWindowswithSqlserver = "Windows with SQL Server"
129573
129574	// CapacityReservationInstancePlatformWindowswithSqlserverEnterprise is a CapacityReservationInstancePlatform enum value
129575	CapacityReservationInstancePlatformWindowswithSqlserverEnterprise = "Windows with SQL Server Enterprise"
129576
129577	// CapacityReservationInstancePlatformWindowswithSqlserverStandard is a CapacityReservationInstancePlatform enum value
129578	CapacityReservationInstancePlatformWindowswithSqlserverStandard = "Windows with SQL Server Standard"
129579
129580	// CapacityReservationInstancePlatformWindowswithSqlserverWeb is a CapacityReservationInstancePlatform enum value
129581	CapacityReservationInstancePlatformWindowswithSqlserverWeb = "Windows with SQL Server Web"
129582
129583	// CapacityReservationInstancePlatformLinuxwithSqlserverStandard is a CapacityReservationInstancePlatform enum value
129584	CapacityReservationInstancePlatformLinuxwithSqlserverStandard = "Linux with SQL Server Standard"
129585
129586	// CapacityReservationInstancePlatformLinuxwithSqlserverWeb is a CapacityReservationInstancePlatform enum value
129587	CapacityReservationInstancePlatformLinuxwithSqlserverWeb = "Linux with SQL Server Web"
129588
129589	// CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise is a CapacityReservationInstancePlatform enum value
129590	CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise = "Linux with SQL Server Enterprise"
129591)
129592
129593// CapacityReservationInstancePlatform_Values returns all elements of the CapacityReservationInstancePlatform enum
129594func CapacityReservationInstancePlatform_Values() []string {
129595	return []string{
129596		CapacityReservationInstancePlatformLinuxUnix,
129597		CapacityReservationInstancePlatformRedHatEnterpriseLinux,
129598		CapacityReservationInstancePlatformSuselinux,
129599		CapacityReservationInstancePlatformWindows,
129600		CapacityReservationInstancePlatformWindowswithSqlserver,
129601		CapacityReservationInstancePlatformWindowswithSqlserverEnterprise,
129602		CapacityReservationInstancePlatformWindowswithSqlserverStandard,
129603		CapacityReservationInstancePlatformWindowswithSqlserverWeb,
129604		CapacityReservationInstancePlatformLinuxwithSqlserverStandard,
129605		CapacityReservationInstancePlatformLinuxwithSqlserverWeb,
129606		CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise,
129607	}
129608}
129609
129610const (
129611	// CapacityReservationPreferenceOpen is a CapacityReservationPreference enum value
129612	CapacityReservationPreferenceOpen = "open"
129613
129614	// CapacityReservationPreferenceNone is a CapacityReservationPreference enum value
129615	CapacityReservationPreferenceNone = "none"
129616)
129617
129618// CapacityReservationPreference_Values returns all elements of the CapacityReservationPreference enum
129619func CapacityReservationPreference_Values() []string {
129620	return []string{
129621		CapacityReservationPreferenceOpen,
129622		CapacityReservationPreferenceNone,
129623	}
129624}
129625
129626const (
129627	// CapacityReservationStateActive is a CapacityReservationState enum value
129628	CapacityReservationStateActive = "active"
129629
129630	// CapacityReservationStateExpired is a CapacityReservationState enum value
129631	CapacityReservationStateExpired = "expired"
129632
129633	// CapacityReservationStateCancelled is a CapacityReservationState enum value
129634	CapacityReservationStateCancelled = "cancelled"
129635
129636	// CapacityReservationStatePending is a CapacityReservationState enum value
129637	CapacityReservationStatePending = "pending"
129638
129639	// CapacityReservationStateFailed is a CapacityReservationState enum value
129640	CapacityReservationStateFailed = "failed"
129641)
129642
129643// CapacityReservationState_Values returns all elements of the CapacityReservationState enum
129644func CapacityReservationState_Values() []string {
129645	return []string{
129646		CapacityReservationStateActive,
129647		CapacityReservationStateExpired,
129648		CapacityReservationStateCancelled,
129649		CapacityReservationStatePending,
129650		CapacityReservationStateFailed,
129651	}
129652}
129653
129654const (
129655	// CapacityReservationTenancyDefault is a CapacityReservationTenancy enum value
129656	CapacityReservationTenancyDefault = "default"
129657
129658	// CapacityReservationTenancyDedicated is a CapacityReservationTenancy enum value
129659	CapacityReservationTenancyDedicated = "dedicated"
129660)
129661
129662// CapacityReservationTenancy_Values returns all elements of the CapacityReservationTenancy enum
129663func CapacityReservationTenancy_Values() []string {
129664	return []string{
129665		CapacityReservationTenancyDefault,
129666		CapacityReservationTenancyDedicated,
129667	}
129668}
129669
129670const (
129671	// CarrierGatewayStatePending is a CarrierGatewayState enum value
129672	CarrierGatewayStatePending = "pending"
129673
129674	// CarrierGatewayStateAvailable is a CarrierGatewayState enum value
129675	CarrierGatewayStateAvailable = "available"
129676
129677	// CarrierGatewayStateDeleting is a CarrierGatewayState enum value
129678	CarrierGatewayStateDeleting = "deleting"
129679
129680	// CarrierGatewayStateDeleted is a CarrierGatewayState enum value
129681	CarrierGatewayStateDeleted = "deleted"
129682)
129683
129684// CarrierGatewayState_Values returns all elements of the CarrierGatewayState enum
129685func CarrierGatewayState_Values() []string {
129686	return []string{
129687		CarrierGatewayStatePending,
129688		CarrierGatewayStateAvailable,
129689		CarrierGatewayStateDeleting,
129690		CarrierGatewayStateDeleted,
129691	}
129692}
129693
129694const (
129695	// ClientCertificateRevocationListStatusCodePending is a ClientCertificateRevocationListStatusCode enum value
129696	ClientCertificateRevocationListStatusCodePending = "pending"
129697
129698	// ClientCertificateRevocationListStatusCodeActive is a ClientCertificateRevocationListStatusCode enum value
129699	ClientCertificateRevocationListStatusCodeActive = "active"
129700)
129701
129702// ClientCertificateRevocationListStatusCode_Values returns all elements of the ClientCertificateRevocationListStatusCode enum
129703func ClientCertificateRevocationListStatusCode_Values() []string {
129704	return []string{
129705		ClientCertificateRevocationListStatusCodePending,
129706		ClientCertificateRevocationListStatusCodeActive,
129707	}
129708}
129709
129710const (
129711	// ClientVpnAuthenticationTypeCertificateAuthentication is a ClientVpnAuthenticationType enum value
129712	ClientVpnAuthenticationTypeCertificateAuthentication = "certificate-authentication"
129713
129714	// ClientVpnAuthenticationTypeDirectoryServiceAuthentication is a ClientVpnAuthenticationType enum value
129715	ClientVpnAuthenticationTypeDirectoryServiceAuthentication = "directory-service-authentication"
129716
129717	// ClientVpnAuthenticationTypeFederatedAuthentication is a ClientVpnAuthenticationType enum value
129718	ClientVpnAuthenticationTypeFederatedAuthentication = "federated-authentication"
129719)
129720
129721// ClientVpnAuthenticationType_Values returns all elements of the ClientVpnAuthenticationType enum
129722func ClientVpnAuthenticationType_Values() []string {
129723	return []string{
129724		ClientVpnAuthenticationTypeCertificateAuthentication,
129725		ClientVpnAuthenticationTypeDirectoryServiceAuthentication,
129726		ClientVpnAuthenticationTypeFederatedAuthentication,
129727	}
129728}
129729
129730const (
129731	// ClientVpnAuthorizationRuleStatusCodeAuthorizing is a ClientVpnAuthorizationRuleStatusCode enum value
129732	ClientVpnAuthorizationRuleStatusCodeAuthorizing = "authorizing"
129733
129734	// ClientVpnAuthorizationRuleStatusCodeActive is a ClientVpnAuthorizationRuleStatusCode enum value
129735	ClientVpnAuthorizationRuleStatusCodeActive = "active"
129736
129737	// ClientVpnAuthorizationRuleStatusCodeFailed is a ClientVpnAuthorizationRuleStatusCode enum value
129738	ClientVpnAuthorizationRuleStatusCodeFailed = "failed"
129739
129740	// ClientVpnAuthorizationRuleStatusCodeRevoking is a ClientVpnAuthorizationRuleStatusCode enum value
129741	ClientVpnAuthorizationRuleStatusCodeRevoking = "revoking"
129742)
129743
129744// ClientVpnAuthorizationRuleStatusCode_Values returns all elements of the ClientVpnAuthorizationRuleStatusCode enum
129745func ClientVpnAuthorizationRuleStatusCode_Values() []string {
129746	return []string{
129747		ClientVpnAuthorizationRuleStatusCodeAuthorizing,
129748		ClientVpnAuthorizationRuleStatusCodeActive,
129749		ClientVpnAuthorizationRuleStatusCodeFailed,
129750		ClientVpnAuthorizationRuleStatusCodeRevoking,
129751	}
129752}
129753
129754const (
129755	// ClientVpnConnectionStatusCodeActive is a ClientVpnConnectionStatusCode enum value
129756	ClientVpnConnectionStatusCodeActive = "active"
129757
129758	// ClientVpnConnectionStatusCodeFailedToTerminate is a ClientVpnConnectionStatusCode enum value
129759	ClientVpnConnectionStatusCodeFailedToTerminate = "failed-to-terminate"
129760
129761	// ClientVpnConnectionStatusCodeTerminating is a ClientVpnConnectionStatusCode enum value
129762	ClientVpnConnectionStatusCodeTerminating = "terminating"
129763
129764	// ClientVpnConnectionStatusCodeTerminated is a ClientVpnConnectionStatusCode enum value
129765	ClientVpnConnectionStatusCodeTerminated = "terminated"
129766)
129767
129768// ClientVpnConnectionStatusCode_Values returns all elements of the ClientVpnConnectionStatusCode enum
129769func ClientVpnConnectionStatusCode_Values() []string {
129770	return []string{
129771		ClientVpnConnectionStatusCodeActive,
129772		ClientVpnConnectionStatusCodeFailedToTerminate,
129773		ClientVpnConnectionStatusCodeTerminating,
129774		ClientVpnConnectionStatusCodeTerminated,
129775	}
129776}
129777
129778const (
129779	// ClientVpnEndpointAttributeStatusCodeApplying is a ClientVpnEndpointAttributeStatusCode enum value
129780	ClientVpnEndpointAttributeStatusCodeApplying = "applying"
129781
129782	// ClientVpnEndpointAttributeStatusCodeApplied is a ClientVpnEndpointAttributeStatusCode enum value
129783	ClientVpnEndpointAttributeStatusCodeApplied = "applied"
129784)
129785
129786// ClientVpnEndpointAttributeStatusCode_Values returns all elements of the ClientVpnEndpointAttributeStatusCode enum
129787func ClientVpnEndpointAttributeStatusCode_Values() []string {
129788	return []string{
129789		ClientVpnEndpointAttributeStatusCodeApplying,
129790		ClientVpnEndpointAttributeStatusCodeApplied,
129791	}
129792}
129793
129794const (
129795	// ClientVpnEndpointStatusCodePendingAssociate is a ClientVpnEndpointStatusCode enum value
129796	ClientVpnEndpointStatusCodePendingAssociate = "pending-associate"
129797
129798	// ClientVpnEndpointStatusCodeAvailable is a ClientVpnEndpointStatusCode enum value
129799	ClientVpnEndpointStatusCodeAvailable = "available"
129800
129801	// ClientVpnEndpointStatusCodeDeleting is a ClientVpnEndpointStatusCode enum value
129802	ClientVpnEndpointStatusCodeDeleting = "deleting"
129803
129804	// ClientVpnEndpointStatusCodeDeleted is a ClientVpnEndpointStatusCode enum value
129805	ClientVpnEndpointStatusCodeDeleted = "deleted"
129806)
129807
129808// ClientVpnEndpointStatusCode_Values returns all elements of the ClientVpnEndpointStatusCode enum
129809func ClientVpnEndpointStatusCode_Values() []string {
129810	return []string{
129811		ClientVpnEndpointStatusCodePendingAssociate,
129812		ClientVpnEndpointStatusCodeAvailable,
129813		ClientVpnEndpointStatusCodeDeleting,
129814		ClientVpnEndpointStatusCodeDeleted,
129815	}
129816}
129817
129818const (
129819	// ClientVpnRouteStatusCodeCreating is a ClientVpnRouteStatusCode enum value
129820	ClientVpnRouteStatusCodeCreating = "creating"
129821
129822	// ClientVpnRouteStatusCodeActive is a ClientVpnRouteStatusCode enum value
129823	ClientVpnRouteStatusCodeActive = "active"
129824
129825	// ClientVpnRouteStatusCodeFailed is a ClientVpnRouteStatusCode enum value
129826	ClientVpnRouteStatusCodeFailed = "failed"
129827
129828	// ClientVpnRouteStatusCodeDeleting is a ClientVpnRouteStatusCode enum value
129829	ClientVpnRouteStatusCodeDeleting = "deleting"
129830)
129831
129832// ClientVpnRouteStatusCode_Values returns all elements of the ClientVpnRouteStatusCode enum
129833func ClientVpnRouteStatusCode_Values() []string {
129834	return []string{
129835		ClientVpnRouteStatusCodeCreating,
129836		ClientVpnRouteStatusCodeActive,
129837		ClientVpnRouteStatusCodeFailed,
129838		ClientVpnRouteStatusCodeDeleting,
129839	}
129840}
129841
129842const (
129843	// ConnectionNotificationStateEnabled is a ConnectionNotificationState enum value
129844	ConnectionNotificationStateEnabled = "Enabled"
129845
129846	// ConnectionNotificationStateDisabled is a ConnectionNotificationState enum value
129847	ConnectionNotificationStateDisabled = "Disabled"
129848)
129849
129850// ConnectionNotificationState_Values returns all elements of the ConnectionNotificationState enum
129851func ConnectionNotificationState_Values() []string {
129852	return []string{
129853		ConnectionNotificationStateEnabled,
129854		ConnectionNotificationStateDisabled,
129855	}
129856}
129857
129858const (
129859	// ConnectionNotificationTypeTopic is a ConnectionNotificationType enum value
129860	ConnectionNotificationTypeTopic = "Topic"
129861)
129862
129863// ConnectionNotificationType_Values returns all elements of the ConnectionNotificationType enum
129864func ConnectionNotificationType_Values() []string {
129865	return []string{
129866		ConnectionNotificationTypeTopic,
129867	}
129868}
129869
129870const (
129871	// ConnectivityTypePrivate is a ConnectivityType enum value
129872	ConnectivityTypePrivate = "private"
129873
129874	// ConnectivityTypePublic is a ConnectivityType enum value
129875	ConnectivityTypePublic = "public"
129876)
129877
129878// ConnectivityType_Values returns all elements of the ConnectivityType enum
129879func ConnectivityType_Values() []string {
129880	return []string{
129881		ConnectivityTypePrivate,
129882		ConnectivityTypePublic,
129883	}
129884}
129885
129886const (
129887	// ContainerFormatOva is a ContainerFormat enum value
129888	ContainerFormatOva = "ova"
129889)
129890
129891// ContainerFormat_Values returns all elements of the ContainerFormat enum
129892func ContainerFormat_Values() []string {
129893	return []string{
129894		ContainerFormatOva,
129895	}
129896}
129897
129898const (
129899	// ConversionTaskStateActive is a ConversionTaskState enum value
129900	ConversionTaskStateActive = "active"
129901
129902	// ConversionTaskStateCancelling is a ConversionTaskState enum value
129903	ConversionTaskStateCancelling = "cancelling"
129904
129905	// ConversionTaskStateCancelled is a ConversionTaskState enum value
129906	ConversionTaskStateCancelled = "cancelled"
129907
129908	// ConversionTaskStateCompleted is a ConversionTaskState enum value
129909	ConversionTaskStateCompleted = "completed"
129910)
129911
129912// ConversionTaskState_Values returns all elements of the ConversionTaskState enum
129913func ConversionTaskState_Values() []string {
129914	return []string{
129915		ConversionTaskStateActive,
129916		ConversionTaskStateCancelling,
129917		ConversionTaskStateCancelled,
129918		ConversionTaskStateCompleted,
129919	}
129920}
129921
129922const (
129923	// CopyTagsFromSourceVolume is a CopyTagsFromSource enum value
129924	CopyTagsFromSourceVolume = "volume"
129925)
129926
129927// CopyTagsFromSource_Values returns all elements of the CopyTagsFromSource enum
129928func CopyTagsFromSource_Values() []string {
129929	return []string{
129930		CopyTagsFromSourceVolume,
129931	}
129932}
129933
129934const (
129935	// CurrencyCodeValuesUsd is a CurrencyCodeValues enum value
129936	CurrencyCodeValuesUsd = "USD"
129937)
129938
129939// CurrencyCodeValues_Values returns all elements of the CurrencyCodeValues enum
129940func CurrencyCodeValues_Values() []string {
129941	return []string{
129942		CurrencyCodeValuesUsd,
129943	}
129944}
129945
129946const (
129947	// DatafeedSubscriptionStateActive is a DatafeedSubscriptionState enum value
129948	DatafeedSubscriptionStateActive = "Active"
129949
129950	// DatafeedSubscriptionStateInactive is a DatafeedSubscriptionState enum value
129951	DatafeedSubscriptionStateInactive = "Inactive"
129952)
129953
129954// DatafeedSubscriptionState_Values returns all elements of the DatafeedSubscriptionState enum
129955func DatafeedSubscriptionState_Values() []string {
129956	return []string{
129957		DatafeedSubscriptionStateActive,
129958		DatafeedSubscriptionStateInactive,
129959	}
129960}
129961
129962const (
129963	// DefaultRouteTableAssociationValueEnable is a DefaultRouteTableAssociationValue enum value
129964	DefaultRouteTableAssociationValueEnable = "enable"
129965
129966	// DefaultRouteTableAssociationValueDisable is a DefaultRouteTableAssociationValue enum value
129967	DefaultRouteTableAssociationValueDisable = "disable"
129968)
129969
129970// DefaultRouteTableAssociationValue_Values returns all elements of the DefaultRouteTableAssociationValue enum
129971func DefaultRouteTableAssociationValue_Values() []string {
129972	return []string{
129973		DefaultRouteTableAssociationValueEnable,
129974		DefaultRouteTableAssociationValueDisable,
129975	}
129976}
129977
129978const (
129979	// DefaultRouteTablePropagationValueEnable is a DefaultRouteTablePropagationValue enum value
129980	DefaultRouteTablePropagationValueEnable = "enable"
129981
129982	// DefaultRouteTablePropagationValueDisable is a DefaultRouteTablePropagationValue enum value
129983	DefaultRouteTablePropagationValueDisable = "disable"
129984)
129985
129986// DefaultRouteTablePropagationValue_Values returns all elements of the DefaultRouteTablePropagationValue enum
129987func DefaultRouteTablePropagationValue_Values() []string {
129988	return []string{
129989		DefaultRouteTablePropagationValueEnable,
129990		DefaultRouteTablePropagationValueDisable,
129991	}
129992}
129993
129994const (
129995	// DefaultTargetCapacityTypeSpot is a DefaultTargetCapacityType enum value
129996	DefaultTargetCapacityTypeSpot = "spot"
129997
129998	// DefaultTargetCapacityTypeOnDemand is a DefaultTargetCapacityType enum value
129999	DefaultTargetCapacityTypeOnDemand = "on-demand"
130000)
130001
130002// DefaultTargetCapacityType_Values returns all elements of the DefaultTargetCapacityType enum
130003func DefaultTargetCapacityType_Values() []string {
130004	return []string{
130005		DefaultTargetCapacityTypeSpot,
130006		DefaultTargetCapacityTypeOnDemand,
130007	}
130008}
130009
130010const (
130011	// DeleteFleetErrorCodeFleetIdDoesNotExist is a DeleteFleetErrorCode enum value
130012	DeleteFleetErrorCodeFleetIdDoesNotExist = "fleetIdDoesNotExist"
130013
130014	// DeleteFleetErrorCodeFleetIdMalformed is a DeleteFleetErrorCode enum value
130015	DeleteFleetErrorCodeFleetIdMalformed = "fleetIdMalformed"
130016
130017	// DeleteFleetErrorCodeFleetNotInDeletableState is a DeleteFleetErrorCode enum value
130018	DeleteFleetErrorCodeFleetNotInDeletableState = "fleetNotInDeletableState"
130019
130020	// DeleteFleetErrorCodeUnexpectedError is a DeleteFleetErrorCode enum value
130021	DeleteFleetErrorCodeUnexpectedError = "unexpectedError"
130022)
130023
130024// DeleteFleetErrorCode_Values returns all elements of the DeleteFleetErrorCode enum
130025func DeleteFleetErrorCode_Values() []string {
130026	return []string{
130027		DeleteFleetErrorCodeFleetIdDoesNotExist,
130028		DeleteFleetErrorCodeFleetIdMalformed,
130029		DeleteFleetErrorCodeFleetNotInDeletableState,
130030		DeleteFleetErrorCodeUnexpectedError,
130031	}
130032}
130033
130034const (
130035	// DeleteQueuedReservedInstancesErrorCodeReservedInstancesIdInvalid is a DeleteQueuedReservedInstancesErrorCode enum value
130036	DeleteQueuedReservedInstancesErrorCodeReservedInstancesIdInvalid = "reserved-instances-id-invalid"
130037
130038	// DeleteQueuedReservedInstancesErrorCodeReservedInstancesNotInQueuedState is a DeleteQueuedReservedInstancesErrorCode enum value
130039	DeleteQueuedReservedInstancesErrorCodeReservedInstancesNotInQueuedState = "reserved-instances-not-in-queued-state"
130040
130041	// DeleteQueuedReservedInstancesErrorCodeUnexpectedError is a DeleteQueuedReservedInstancesErrorCode enum value
130042	DeleteQueuedReservedInstancesErrorCodeUnexpectedError = "unexpected-error"
130043)
130044
130045// DeleteQueuedReservedInstancesErrorCode_Values returns all elements of the DeleteQueuedReservedInstancesErrorCode enum
130046func DeleteQueuedReservedInstancesErrorCode_Values() []string {
130047	return []string{
130048		DeleteQueuedReservedInstancesErrorCodeReservedInstancesIdInvalid,
130049		DeleteQueuedReservedInstancesErrorCodeReservedInstancesNotInQueuedState,
130050		DeleteQueuedReservedInstancesErrorCodeUnexpectedError,
130051	}
130052}
130053
130054const (
130055	// DeviceTypeEbs is a DeviceType enum value
130056	DeviceTypeEbs = "ebs"
130057
130058	// DeviceTypeInstanceStore is a DeviceType enum value
130059	DeviceTypeInstanceStore = "instance-store"
130060)
130061
130062// DeviceType_Values returns all elements of the DeviceType enum
130063func DeviceType_Values() []string {
130064	return []string{
130065		DeviceTypeEbs,
130066		DeviceTypeInstanceStore,
130067	}
130068}
130069
130070const (
130071	// DiskImageFormatVmdk is a DiskImageFormat enum value
130072	DiskImageFormatVmdk = "VMDK"
130073
130074	// DiskImageFormatRaw is a DiskImageFormat enum value
130075	DiskImageFormatRaw = "RAW"
130076
130077	// DiskImageFormatVhd is a DiskImageFormat enum value
130078	DiskImageFormatVhd = "VHD"
130079)
130080
130081// DiskImageFormat_Values returns all elements of the DiskImageFormat enum
130082func DiskImageFormat_Values() []string {
130083	return []string{
130084		DiskImageFormatVmdk,
130085		DiskImageFormatRaw,
130086		DiskImageFormatVhd,
130087	}
130088}
130089
130090const (
130091	// DiskTypeHdd is a DiskType enum value
130092	DiskTypeHdd = "hdd"
130093
130094	// DiskTypeSsd is a DiskType enum value
130095	DiskTypeSsd = "ssd"
130096)
130097
130098// DiskType_Values returns all elements of the DiskType enum
130099func DiskType_Values() []string {
130100	return []string{
130101		DiskTypeHdd,
130102		DiskTypeSsd,
130103	}
130104}
130105
130106const (
130107	// DnsNameStatePendingVerification is a DnsNameState enum value
130108	DnsNameStatePendingVerification = "pendingVerification"
130109
130110	// DnsNameStateVerified is a DnsNameState enum value
130111	DnsNameStateVerified = "verified"
130112
130113	// DnsNameStateFailed is a DnsNameState enum value
130114	DnsNameStateFailed = "failed"
130115)
130116
130117// DnsNameState_Values returns all elements of the DnsNameState enum
130118func DnsNameState_Values() []string {
130119	return []string{
130120		DnsNameStatePendingVerification,
130121		DnsNameStateVerified,
130122		DnsNameStateFailed,
130123	}
130124}
130125
130126const (
130127	// DnsSupportValueEnable is a DnsSupportValue enum value
130128	DnsSupportValueEnable = "enable"
130129
130130	// DnsSupportValueDisable is a DnsSupportValue enum value
130131	DnsSupportValueDisable = "disable"
130132)
130133
130134// DnsSupportValue_Values returns all elements of the DnsSupportValue enum
130135func DnsSupportValue_Values() []string {
130136	return []string{
130137		DnsSupportValueEnable,
130138		DnsSupportValueDisable,
130139	}
130140}
130141
130142const (
130143	// DomainTypeVpc is a DomainType enum value
130144	DomainTypeVpc = "vpc"
130145
130146	// DomainTypeStandard is a DomainType enum value
130147	DomainTypeStandard = "standard"
130148)
130149
130150// DomainType_Values returns all elements of the DomainType enum
130151func DomainType_Values() []string {
130152	return []string{
130153		DomainTypeVpc,
130154		DomainTypeStandard,
130155	}
130156}
130157
130158const (
130159	// EbsEncryptionSupportUnsupported is a EbsEncryptionSupport enum value
130160	EbsEncryptionSupportUnsupported = "unsupported"
130161
130162	// EbsEncryptionSupportSupported is a EbsEncryptionSupport enum value
130163	EbsEncryptionSupportSupported = "supported"
130164)
130165
130166// EbsEncryptionSupport_Values returns all elements of the EbsEncryptionSupport enum
130167func EbsEncryptionSupport_Values() []string {
130168	return []string{
130169		EbsEncryptionSupportUnsupported,
130170		EbsEncryptionSupportSupported,
130171	}
130172}
130173
130174const (
130175	// EbsNvmeSupportUnsupported is a EbsNvmeSupport enum value
130176	EbsNvmeSupportUnsupported = "unsupported"
130177
130178	// EbsNvmeSupportSupported is a EbsNvmeSupport enum value
130179	EbsNvmeSupportSupported = "supported"
130180
130181	// EbsNvmeSupportRequired is a EbsNvmeSupport enum value
130182	EbsNvmeSupportRequired = "required"
130183)
130184
130185// EbsNvmeSupport_Values returns all elements of the EbsNvmeSupport enum
130186func EbsNvmeSupport_Values() []string {
130187	return []string{
130188		EbsNvmeSupportUnsupported,
130189		EbsNvmeSupportSupported,
130190		EbsNvmeSupportRequired,
130191	}
130192}
130193
130194const (
130195	// EbsOptimizedSupportUnsupported is a EbsOptimizedSupport enum value
130196	EbsOptimizedSupportUnsupported = "unsupported"
130197
130198	// EbsOptimizedSupportSupported is a EbsOptimizedSupport enum value
130199	EbsOptimizedSupportSupported = "supported"
130200
130201	// EbsOptimizedSupportDefault is a EbsOptimizedSupport enum value
130202	EbsOptimizedSupportDefault = "default"
130203)
130204
130205// EbsOptimizedSupport_Values returns all elements of the EbsOptimizedSupport enum
130206func EbsOptimizedSupport_Values() []string {
130207	return []string{
130208		EbsOptimizedSupportUnsupported,
130209		EbsOptimizedSupportSupported,
130210		EbsOptimizedSupportDefault,
130211	}
130212}
130213
130214const (
130215	// ElasticGpuStateAttached is a ElasticGpuState enum value
130216	ElasticGpuStateAttached = "ATTACHED"
130217)
130218
130219// ElasticGpuState_Values returns all elements of the ElasticGpuState enum
130220func ElasticGpuState_Values() []string {
130221	return []string{
130222		ElasticGpuStateAttached,
130223	}
130224}
130225
130226const (
130227	// ElasticGpuStatusOk is a ElasticGpuStatus enum value
130228	ElasticGpuStatusOk = "OK"
130229
130230	// ElasticGpuStatusImpaired is a ElasticGpuStatus enum value
130231	ElasticGpuStatusImpaired = "IMPAIRED"
130232)
130233
130234// ElasticGpuStatus_Values returns all elements of the ElasticGpuStatus enum
130235func ElasticGpuStatus_Values() []string {
130236	return []string{
130237		ElasticGpuStatusOk,
130238		ElasticGpuStatusImpaired,
130239	}
130240}
130241
130242const (
130243	// EnaSupportUnsupported is a EnaSupport enum value
130244	EnaSupportUnsupported = "unsupported"
130245
130246	// EnaSupportSupported is a EnaSupport enum value
130247	EnaSupportSupported = "supported"
130248
130249	// EnaSupportRequired is a EnaSupport enum value
130250	EnaSupportRequired = "required"
130251)
130252
130253// EnaSupport_Values returns all elements of the EnaSupport enum
130254func EnaSupport_Values() []string {
130255	return []string{
130256		EnaSupportUnsupported,
130257		EnaSupportSupported,
130258		EnaSupportRequired,
130259	}
130260}
130261
130262const (
130263	// EndDateTypeUnlimited is a EndDateType enum value
130264	EndDateTypeUnlimited = "unlimited"
130265
130266	// EndDateTypeLimited is a EndDateType enum value
130267	EndDateTypeLimited = "limited"
130268)
130269
130270// EndDateType_Values returns all elements of the EndDateType enum
130271func EndDateType_Values() []string {
130272	return []string{
130273		EndDateTypeUnlimited,
130274		EndDateTypeLimited,
130275	}
130276}
130277
130278const (
130279	// EphemeralNvmeSupportUnsupported is a EphemeralNvmeSupport enum value
130280	EphemeralNvmeSupportUnsupported = "unsupported"
130281
130282	// EphemeralNvmeSupportSupported is a EphemeralNvmeSupport enum value
130283	EphemeralNvmeSupportSupported = "supported"
130284
130285	// EphemeralNvmeSupportRequired is a EphemeralNvmeSupport enum value
130286	EphemeralNvmeSupportRequired = "required"
130287)
130288
130289// EphemeralNvmeSupport_Values returns all elements of the EphemeralNvmeSupport enum
130290func EphemeralNvmeSupport_Values() []string {
130291	return []string{
130292		EphemeralNvmeSupportUnsupported,
130293		EphemeralNvmeSupportSupported,
130294		EphemeralNvmeSupportRequired,
130295	}
130296}
130297
130298const (
130299	// EventCodeInstanceReboot is a EventCode enum value
130300	EventCodeInstanceReboot = "instance-reboot"
130301
130302	// EventCodeSystemReboot is a EventCode enum value
130303	EventCodeSystemReboot = "system-reboot"
130304
130305	// EventCodeSystemMaintenance is a EventCode enum value
130306	EventCodeSystemMaintenance = "system-maintenance"
130307
130308	// EventCodeInstanceRetirement is a EventCode enum value
130309	EventCodeInstanceRetirement = "instance-retirement"
130310
130311	// EventCodeInstanceStop is a EventCode enum value
130312	EventCodeInstanceStop = "instance-stop"
130313)
130314
130315// EventCode_Values returns all elements of the EventCode enum
130316func EventCode_Values() []string {
130317	return []string{
130318		EventCodeInstanceReboot,
130319		EventCodeSystemReboot,
130320		EventCodeSystemMaintenance,
130321		EventCodeInstanceRetirement,
130322		EventCodeInstanceStop,
130323	}
130324}
130325
130326const (
130327	// EventTypeInstanceChange is a EventType enum value
130328	EventTypeInstanceChange = "instanceChange"
130329
130330	// EventTypeFleetRequestChange is a EventType enum value
130331	EventTypeFleetRequestChange = "fleetRequestChange"
130332
130333	// EventTypeError is a EventType enum value
130334	EventTypeError = "error"
130335
130336	// EventTypeInformation is a EventType enum value
130337	EventTypeInformation = "information"
130338)
130339
130340// EventType_Values returns all elements of the EventType enum
130341func EventType_Values() []string {
130342	return []string{
130343		EventTypeInstanceChange,
130344		EventTypeFleetRequestChange,
130345		EventTypeError,
130346		EventTypeInformation,
130347	}
130348}
130349
130350const (
130351	// ExcessCapacityTerminationPolicyNoTermination is a ExcessCapacityTerminationPolicy enum value
130352	ExcessCapacityTerminationPolicyNoTermination = "noTermination"
130353
130354	// ExcessCapacityTerminationPolicyDefault is a ExcessCapacityTerminationPolicy enum value
130355	ExcessCapacityTerminationPolicyDefault = "default"
130356)
130357
130358// ExcessCapacityTerminationPolicy_Values returns all elements of the ExcessCapacityTerminationPolicy enum
130359func ExcessCapacityTerminationPolicy_Values() []string {
130360	return []string{
130361		ExcessCapacityTerminationPolicyNoTermination,
130362		ExcessCapacityTerminationPolicyDefault,
130363	}
130364}
130365
130366const (
130367	// ExportEnvironmentCitrix is a ExportEnvironment enum value
130368	ExportEnvironmentCitrix = "citrix"
130369
130370	// ExportEnvironmentVmware is a ExportEnvironment enum value
130371	ExportEnvironmentVmware = "vmware"
130372
130373	// ExportEnvironmentMicrosoft is a ExportEnvironment enum value
130374	ExportEnvironmentMicrosoft = "microsoft"
130375)
130376
130377// ExportEnvironment_Values returns all elements of the ExportEnvironment enum
130378func ExportEnvironment_Values() []string {
130379	return []string{
130380		ExportEnvironmentCitrix,
130381		ExportEnvironmentVmware,
130382		ExportEnvironmentMicrosoft,
130383	}
130384}
130385
130386const (
130387	// ExportTaskStateActive is a ExportTaskState enum value
130388	ExportTaskStateActive = "active"
130389
130390	// ExportTaskStateCancelling is a ExportTaskState enum value
130391	ExportTaskStateCancelling = "cancelling"
130392
130393	// ExportTaskStateCancelled is a ExportTaskState enum value
130394	ExportTaskStateCancelled = "cancelled"
130395
130396	// ExportTaskStateCompleted is a ExportTaskState enum value
130397	ExportTaskStateCompleted = "completed"
130398)
130399
130400// ExportTaskState_Values returns all elements of the ExportTaskState enum
130401func ExportTaskState_Values() []string {
130402	return []string{
130403		ExportTaskStateActive,
130404		ExportTaskStateCancelling,
130405		ExportTaskStateCancelled,
130406		ExportTaskStateCompleted,
130407	}
130408}
130409
130410const (
130411	// FastSnapshotRestoreStateCodeEnabling is a FastSnapshotRestoreStateCode enum value
130412	FastSnapshotRestoreStateCodeEnabling = "enabling"
130413
130414	// FastSnapshotRestoreStateCodeOptimizing is a FastSnapshotRestoreStateCode enum value
130415	FastSnapshotRestoreStateCodeOptimizing = "optimizing"
130416
130417	// FastSnapshotRestoreStateCodeEnabled is a FastSnapshotRestoreStateCode enum value
130418	FastSnapshotRestoreStateCodeEnabled = "enabled"
130419
130420	// FastSnapshotRestoreStateCodeDisabling is a FastSnapshotRestoreStateCode enum value
130421	FastSnapshotRestoreStateCodeDisabling = "disabling"
130422
130423	// FastSnapshotRestoreStateCodeDisabled is a FastSnapshotRestoreStateCode enum value
130424	FastSnapshotRestoreStateCodeDisabled = "disabled"
130425)
130426
130427// FastSnapshotRestoreStateCode_Values returns all elements of the FastSnapshotRestoreStateCode enum
130428func FastSnapshotRestoreStateCode_Values() []string {
130429	return []string{
130430		FastSnapshotRestoreStateCodeEnabling,
130431		FastSnapshotRestoreStateCodeOptimizing,
130432		FastSnapshotRestoreStateCodeEnabled,
130433		FastSnapshotRestoreStateCodeDisabling,
130434		FastSnapshotRestoreStateCodeDisabled,
130435	}
130436}
130437
130438const (
130439	// FleetActivityStatusError is a FleetActivityStatus enum value
130440	FleetActivityStatusError = "error"
130441
130442	// FleetActivityStatusPendingFulfillment is a FleetActivityStatus enum value
130443	FleetActivityStatusPendingFulfillment = "pending_fulfillment"
130444
130445	// FleetActivityStatusPendingTermination is a FleetActivityStatus enum value
130446	FleetActivityStatusPendingTermination = "pending_termination"
130447
130448	// FleetActivityStatusFulfilled is a FleetActivityStatus enum value
130449	FleetActivityStatusFulfilled = "fulfilled"
130450)
130451
130452// FleetActivityStatus_Values returns all elements of the FleetActivityStatus enum
130453func FleetActivityStatus_Values() []string {
130454	return []string{
130455		FleetActivityStatusError,
130456		FleetActivityStatusPendingFulfillment,
130457		FleetActivityStatusPendingTermination,
130458		FleetActivityStatusFulfilled,
130459	}
130460}
130461
130462const (
130463	// FleetCapacityReservationUsageStrategyUseCapacityReservationsFirst is a FleetCapacityReservationUsageStrategy enum value
130464	FleetCapacityReservationUsageStrategyUseCapacityReservationsFirst = "use-capacity-reservations-first"
130465)
130466
130467// FleetCapacityReservationUsageStrategy_Values returns all elements of the FleetCapacityReservationUsageStrategy enum
130468func FleetCapacityReservationUsageStrategy_Values() []string {
130469	return []string{
130470		FleetCapacityReservationUsageStrategyUseCapacityReservationsFirst,
130471	}
130472}
130473
130474const (
130475	// FleetEventTypeInstanceChange is a FleetEventType enum value
130476	FleetEventTypeInstanceChange = "instance-change"
130477
130478	// FleetEventTypeFleetChange is a FleetEventType enum value
130479	FleetEventTypeFleetChange = "fleet-change"
130480
130481	// FleetEventTypeServiceError is a FleetEventType enum value
130482	FleetEventTypeServiceError = "service-error"
130483)
130484
130485// FleetEventType_Values returns all elements of the FleetEventType enum
130486func FleetEventType_Values() []string {
130487	return []string{
130488		FleetEventTypeInstanceChange,
130489		FleetEventTypeFleetChange,
130490		FleetEventTypeServiceError,
130491	}
130492}
130493
130494const (
130495	// FleetExcessCapacityTerminationPolicyNoTermination is a FleetExcessCapacityTerminationPolicy enum value
130496	FleetExcessCapacityTerminationPolicyNoTermination = "no-termination"
130497
130498	// FleetExcessCapacityTerminationPolicyTermination is a FleetExcessCapacityTerminationPolicy enum value
130499	FleetExcessCapacityTerminationPolicyTermination = "termination"
130500)
130501
130502// FleetExcessCapacityTerminationPolicy_Values returns all elements of the FleetExcessCapacityTerminationPolicy enum
130503func FleetExcessCapacityTerminationPolicy_Values() []string {
130504	return []string{
130505		FleetExcessCapacityTerminationPolicyNoTermination,
130506		FleetExcessCapacityTerminationPolicyTermination,
130507	}
130508}
130509
130510const (
130511	// FleetOnDemandAllocationStrategyLowestPrice is a FleetOnDemandAllocationStrategy enum value
130512	FleetOnDemandAllocationStrategyLowestPrice = "lowest-price"
130513
130514	// FleetOnDemandAllocationStrategyPrioritized is a FleetOnDemandAllocationStrategy enum value
130515	FleetOnDemandAllocationStrategyPrioritized = "prioritized"
130516)
130517
130518// FleetOnDemandAllocationStrategy_Values returns all elements of the FleetOnDemandAllocationStrategy enum
130519func FleetOnDemandAllocationStrategy_Values() []string {
130520	return []string{
130521		FleetOnDemandAllocationStrategyLowestPrice,
130522		FleetOnDemandAllocationStrategyPrioritized,
130523	}
130524}
130525
130526const (
130527	// FleetReplacementStrategyLaunch is a FleetReplacementStrategy enum value
130528	FleetReplacementStrategyLaunch = "launch"
130529)
130530
130531// FleetReplacementStrategy_Values returns all elements of the FleetReplacementStrategy enum
130532func FleetReplacementStrategy_Values() []string {
130533	return []string{
130534		FleetReplacementStrategyLaunch,
130535	}
130536}
130537
130538const (
130539	// FleetStateCodeSubmitted is a FleetStateCode enum value
130540	FleetStateCodeSubmitted = "submitted"
130541
130542	// FleetStateCodeActive is a FleetStateCode enum value
130543	FleetStateCodeActive = "active"
130544
130545	// FleetStateCodeDeleted is a FleetStateCode enum value
130546	FleetStateCodeDeleted = "deleted"
130547
130548	// FleetStateCodeFailed is a FleetStateCode enum value
130549	FleetStateCodeFailed = "failed"
130550
130551	// FleetStateCodeDeletedRunning is a FleetStateCode enum value
130552	FleetStateCodeDeletedRunning = "deleted_running"
130553
130554	// FleetStateCodeDeletedTerminating is a FleetStateCode enum value
130555	FleetStateCodeDeletedTerminating = "deleted_terminating"
130556
130557	// FleetStateCodeModifying is a FleetStateCode enum value
130558	FleetStateCodeModifying = "modifying"
130559)
130560
130561// FleetStateCode_Values returns all elements of the FleetStateCode enum
130562func FleetStateCode_Values() []string {
130563	return []string{
130564		FleetStateCodeSubmitted,
130565		FleetStateCodeActive,
130566		FleetStateCodeDeleted,
130567		FleetStateCodeFailed,
130568		FleetStateCodeDeletedRunning,
130569		FleetStateCodeDeletedTerminating,
130570		FleetStateCodeModifying,
130571	}
130572}
130573
130574const (
130575	// FleetTypeRequest is a FleetType enum value
130576	FleetTypeRequest = "request"
130577
130578	// FleetTypeMaintain is a FleetType enum value
130579	FleetTypeMaintain = "maintain"
130580
130581	// FleetTypeInstant is a FleetType enum value
130582	FleetTypeInstant = "instant"
130583)
130584
130585// FleetType_Values returns all elements of the FleetType enum
130586func FleetType_Values() []string {
130587	return []string{
130588		FleetTypeRequest,
130589		FleetTypeMaintain,
130590		FleetTypeInstant,
130591	}
130592}
130593
130594const (
130595	// FlowLogsResourceTypeVpc is a FlowLogsResourceType enum value
130596	FlowLogsResourceTypeVpc = "VPC"
130597
130598	// FlowLogsResourceTypeSubnet is a FlowLogsResourceType enum value
130599	FlowLogsResourceTypeSubnet = "Subnet"
130600
130601	// FlowLogsResourceTypeNetworkInterface is a FlowLogsResourceType enum value
130602	FlowLogsResourceTypeNetworkInterface = "NetworkInterface"
130603)
130604
130605// FlowLogsResourceType_Values returns all elements of the FlowLogsResourceType enum
130606func FlowLogsResourceType_Values() []string {
130607	return []string{
130608		FlowLogsResourceTypeVpc,
130609		FlowLogsResourceTypeSubnet,
130610		FlowLogsResourceTypeNetworkInterface,
130611	}
130612}
130613
130614const (
130615	// FpgaImageAttributeNameDescription is a FpgaImageAttributeName enum value
130616	FpgaImageAttributeNameDescription = "description"
130617
130618	// FpgaImageAttributeNameName is a FpgaImageAttributeName enum value
130619	FpgaImageAttributeNameName = "name"
130620
130621	// FpgaImageAttributeNameLoadPermission is a FpgaImageAttributeName enum value
130622	FpgaImageAttributeNameLoadPermission = "loadPermission"
130623
130624	// FpgaImageAttributeNameProductCodes is a FpgaImageAttributeName enum value
130625	FpgaImageAttributeNameProductCodes = "productCodes"
130626)
130627
130628// FpgaImageAttributeName_Values returns all elements of the FpgaImageAttributeName enum
130629func FpgaImageAttributeName_Values() []string {
130630	return []string{
130631		FpgaImageAttributeNameDescription,
130632		FpgaImageAttributeNameName,
130633		FpgaImageAttributeNameLoadPermission,
130634		FpgaImageAttributeNameProductCodes,
130635	}
130636}
130637
130638const (
130639	// FpgaImageStateCodePending is a FpgaImageStateCode enum value
130640	FpgaImageStateCodePending = "pending"
130641
130642	// FpgaImageStateCodeFailed is a FpgaImageStateCode enum value
130643	FpgaImageStateCodeFailed = "failed"
130644
130645	// FpgaImageStateCodeAvailable is a FpgaImageStateCode enum value
130646	FpgaImageStateCodeAvailable = "available"
130647
130648	// FpgaImageStateCodeUnavailable is a FpgaImageStateCode enum value
130649	FpgaImageStateCodeUnavailable = "unavailable"
130650)
130651
130652// FpgaImageStateCode_Values returns all elements of the FpgaImageStateCode enum
130653func FpgaImageStateCode_Values() []string {
130654	return []string{
130655		FpgaImageStateCodePending,
130656		FpgaImageStateCodeFailed,
130657		FpgaImageStateCodeAvailable,
130658		FpgaImageStateCodeUnavailable,
130659	}
130660}
130661
130662const (
130663	// GatewayTypeIpsec1 is a GatewayType enum value
130664	GatewayTypeIpsec1 = "ipsec.1"
130665)
130666
130667// GatewayType_Values returns all elements of the GatewayType enum
130668func GatewayType_Values() []string {
130669	return []string{
130670		GatewayTypeIpsec1,
130671	}
130672}
130673
130674const (
130675	// HostRecoveryOn is a HostRecovery enum value
130676	HostRecoveryOn = "on"
130677
130678	// HostRecoveryOff is a HostRecovery enum value
130679	HostRecoveryOff = "off"
130680)
130681
130682// HostRecovery_Values returns all elements of the HostRecovery enum
130683func HostRecovery_Values() []string {
130684	return []string{
130685		HostRecoveryOn,
130686		HostRecoveryOff,
130687	}
130688}
130689
130690const (
130691	// HostTenancyDedicated is a HostTenancy enum value
130692	HostTenancyDedicated = "dedicated"
130693
130694	// HostTenancyHost is a HostTenancy enum value
130695	HostTenancyHost = "host"
130696)
130697
130698// HostTenancy_Values returns all elements of the HostTenancy enum
130699func HostTenancy_Values() []string {
130700	return []string{
130701		HostTenancyDedicated,
130702		HostTenancyHost,
130703	}
130704}
130705
130706const (
130707	// HttpTokensStateOptional is a HttpTokensState enum value
130708	HttpTokensStateOptional = "optional"
130709
130710	// HttpTokensStateRequired is a HttpTokensState enum value
130711	HttpTokensStateRequired = "required"
130712)
130713
130714// HttpTokensState_Values returns all elements of the HttpTokensState enum
130715func HttpTokensState_Values() []string {
130716	return []string{
130717		HttpTokensStateOptional,
130718		HttpTokensStateRequired,
130719	}
130720}
130721
130722const (
130723	// HypervisorTypeOvm is a HypervisorType enum value
130724	HypervisorTypeOvm = "ovm"
130725
130726	// HypervisorTypeXen is a HypervisorType enum value
130727	HypervisorTypeXen = "xen"
130728)
130729
130730// HypervisorType_Values returns all elements of the HypervisorType enum
130731func HypervisorType_Values() []string {
130732	return []string{
130733		HypervisorTypeOvm,
130734		HypervisorTypeXen,
130735	}
130736}
130737
130738const (
130739	// IamInstanceProfileAssociationStateAssociating is a IamInstanceProfileAssociationState enum value
130740	IamInstanceProfileAssociationStateAssociating = "associating"
130741
130742	// IamInstanceProfileAssociationStateAssociated is a IamInstanceProfileAssociationState enum value
130743	IamInstanceProfileAssociationStateAssociated = "associated"
130744
130745	// IamInstanceProfileAssociationStateDisassociating is a IamInstanceProfileAssociationState enum value
130746	IamInstanceProfileAssociationStateDisassociating = "disassociating"
130747
130748	// IamInstanceProfileAssociationStateDisassociated is a IamInstanceProfileAssociationState enum value
130749	IamInstanceProfileAssociationStateDisassociated = "disassociated"
130750)
130751
130752// IamInstanceProfileAssociationState_Values returns all elements of the IamInstanceProfileAssociationState enum
130753func IamInstanceProfileAssociationState_Values() []string {
130754	return []string{
130755		IamInstanceProfileAssociationStateAssociating,
130756		IamInstanceProfileAssociationStateAssociated,
130757		IamInstanceProfileAssociationStateDisassociating,
130758		IamInstanceProfileAssociationStateDisassociated,
130759	}
130760}
130761
130762const (
130763	// Igmpv2SupportValueEnable is a Igmpv2SupportValue enum value
130764	Igmpv2SupportValueEnable = "enable"
130765
130766	// Igmpv2SupportValueDisable is a Igmpv2SupportValue enum value
130767	Igmpv2SupportValueDisable = "disable"
130768)
130769
130770// Igmpv2SupportValue_Values returns all elements of the Igmpv2SupportValue enum
130771func Igmpv2SupportValue_Values() []string {
130772	return []string{
130773		Igmpv2SupportValueEnable,
130774		Igmpv2SupportValueDisable,
130775	}
130776}
130777
130778const (
130779	// ImageAttributeNameDescription is a ImageAttributeName enum value
130780	ImageAttributeNameDescription = "description"
130781
130782	// ImageAttributeNameKernel is a ImageAttributeName enum value
130783	ImageAttributeNameKernel = "kernel"
130784
130785	// ImageAttributeNameRamdisk is a ImageAttributeName enum value
130786	ImageAttributeNameRamdisk = "ramdisk"
130787
130788	// ImageAttributeNameLaunchPermission is a ImageAttributeName enum value
130789	ImageAttributeNameLaunchPermission = "launchPermission"
130790
130791	// ImageAttributeNameProductCodes is a ImageAttributeName enum value
130792	ImageAttributeNameProductCodes = "productCodes"
130793
130794	// ImageAttributeNameBlockDeviceMapping is a ImageAttributeName enum value
130795	ImageAttributeNameBlockDeviceMapping = "blockDeviceMapping"
130796
130797	// ImageAttributeNameSriovNetSupport is a ImageAttributeName enum value
130798	ImageAttributeNameSriovNetSupport = "sriovNetSupport"
130799
130800	// ImageAttributeNameBootMode is a ImageAttributeName enum value
130801	ImageAttributeNameBootMode = "bootMode"
130802)
130803
130804// ImageAttributeName_Values returns all elements of the ImageAttributeName enum
130805func ImageAttributeName_Values() []string {
130806	return []string{
130807		ImageAttributeNameDescription,
130808		ImageAttributeNameKernel,
130809		ImageAttributeNameRamdisk,
130810		ImageAttributeNameLaunchPermission,
130811		ImageAttributeNameProductCodes,
130812		ImageAttributeNameBlockDeviceMapping,
130813		ImageAttributeNameSriovNetSupport,
130814		ImageAttributeNameBootMode,
130815	}
130816}
130817
130818const (
130819	// ImageStatePending is a ImageState enum value
130820	ImageStatePending = "pending"
130821
130822	// ImageStateAvailable is a ImageState enum value
130823	ImageStateAvailable = "available"
130824
130825	// ImageStateInvalid is a ImageState enum value
130826	ImageStateInvalid = "invalid"
130827
130828	// ImageStateDeregistered is a ImageState enum value
130829	ImageStateDeregistered = "deregistered"
130830
130831	// ImageStateTransient is a ImageState enum value
130832	ImageStateTransient = "transient"
130833
130834	// ImageStateFailed is a ImageState enum value
130835	ImageStateFailed = "failed"
130836
130837	// ImageStateError is a ImageState enum value
130838	ImageStateError = "error"
130839)
130840
130841// ImageState_Values returns all elements of the ImageState enum
130842func ImageState_Values() []string {
130843	return []string{
130844		ImageStatePending,
130845		ImageStateAvailable,
130846		ImageStateInvalid,
130847		ImageStateDeregistered,
130848		ImageStateTransient,
130849		ImageStateFailed,
130850		ImageStateError,
130851	}
130852}
130853
130854const (
130855	// ImageTypeValuesMachine is a ImageTypeValues enum value
130856	ImageTypeValuesMachine = "machine"
130857
130858	// ImageTypeValuesKernel is a ImageTypeValues enum value
130859	ImageTypeValuesKernel = "kernel"
130860
130861	// ImageTypeValuesRamdisk is a ImageTypeValues enum value
130862	ImageTypeValuesRamdisk = "ramdisk"
130863)
130864
130865// ImageTypeValues_Values returns all elements of the ImageTypeValues enum
130866func ImageTypeValues_Values() []string {
130867	return []string{
130868		ImageTypeValuesMachine,
130869		ImageTypeValuesKernel,
130870		ImageTypeValuesRamdisk,
130871	}
130872}
130873
130874const (
130875	// InstanceAttributeNameInstanceType is a InstanceAttributeName enum value
130876	InstanceAttributeNameInstanceType = "instanceType"
130877
130878	// InstanceAttributeNameKernel is a InstanceAttributeName enum value
130879	InstanceAttributeNameKernel = "kernel"
130880
130881	// InstanceAttributeNameRamdisk is a InstanceAttributeName enum value
130882	InstanceAttributeNameRamdisk = "ramdisk"
130883
130884	// InstanceAttributeNameUserData is a InstanceAttributeName enum value
130885	InstanceAttributeNameUserData = "userData"
130886
130887	// InstanceAttributeNameDisableApiTermination is a InstanceAttributeName enum value
130888	InstanceAttributeNameDisableApiTermination = "disableApiTermination"
130889
130890	// InstanceAttributeNameInstanceInitiatedShutdownBehavior is a InstanceAttributeName enum value
130891	InstanceAttributeNameInstanceInitiatedShutdownBehavior = "instanceInitiatedShutdownBehavior"
130892
130893	// InstanceAttributeNameRootDeviceName is a InstanceAttributeName enum value
130894	InstanceAttributeNameRootDeviceName = "rootDeviceName"
130895
130896	// InstanceAttributeNameBlockDeviceMapping is a InstanceAttributeName enum value
130897	InstanceAttributeNameBlockDeviceMapping = "blockDeviceMapping"
130898
130899	// InstanceAttributeNameProductCodes is a InstanceAttributeName enum value
130900	InstanceAttributeNameProductCodes = "productCodes"
130901
130902	// InstanceAttributeNameSourceDestCheck is a InstanceAttributeName enum value
130903	InstanceAttributeNameSourceDestCheck = "sourceDestCheck"
130904
130905	// InstanceAttributeNameGroupSet is a InstanceAttributeName enum value
130906	InstanceAttributeNameGroupSet = "groupSet"
130907
130908	// InstanceAttributeNameEbsOptimized is a InstanceAttributeName enum value
130909	InstanceAttributeNameEbsOptimized = "ebsOptimized"
130910
130911	// InstanceAttributeNameSriovNetSupport is a InstanceAttributeName enum value
130912	InstanceAttributeNameSriovNetSupport = "sriovNetSupport"
130913
130914	// InstanceAttributeNameEnaSupport is a InstanceAttributeName enum value
130915	InstanceAttributeNameEnaSupport = "enaSupport"
130916
130917	// InstanceAttributeNameEnclaveOptions is a InstanceAttributeName enum value
130918	InstanceAttributeNameEnclaveOptions = "enclaveOptions"
130919)
130920
130921// InstanceAttributeName_Values returns all elements of the InstanceAttributeName enum
130922func InstanceAttributeName_Values() []string {
130923	return []string{
130924		InstanceAttributeNameInstanceType,
130925		InstanceAttributeNameKernel,
130926		InstanceAttributeNameRamdisk,
130927		InstanceAttributeNameUserData,
130928		InstanceAttributeNameDisableApiTermination,
130929		InstanceAttributeNameInstanceInitiatedShutdownBehavior,
130930		InstanceAttributeNameRootDeviceName,
130931		InstanceAttributeNameBlockDeviceMapping,
130932		InstanceAttributeNameProductCodes,
130933		InstanceAttributeNameSourceDestCheck,
130934		InstanceAttributeNameGroupSet,
130935		InstanceAttributeNameEbsOptimized,
130936		InstanceAttributeNameSriovNetSupport,
130937		InstanceAttributeNameEnaSupport,
130938		InstanceAttributeNameEnclaveOptions,
130939	}
130940}
130941
130942const (
130943	// InstanceEventWindowStateCreating is a InstanceEventWindowState enum value
130944	InstanceEventWindowStateCreating = "creating"
130945
130946	// InstanceEventWindowStateDeleting is a InstanceEventWindowState enum value
130947	InstanceEventWindowStateDeleting = "deleting"
130948
130949	// InstanceEventWindowStateActive is a InstanceEventWindowState enum value
130950	InstanceEventWindowStateActive = "active"
130951
130952	// InstanceEventWindowStateDeleted is a InstanceEventWindowState enum value
130953	InstanceEventWindowStateDeleted = "deleted"
130954)
130955
130956// InstanceEventWindowState_Values returns all elements of the InstanceEventWindowState enum
130957func InstanceEventWindowState_Values() []string {
130958	return []string{
130959		InstanceEventWindowStateCreating,
130960		InstanceEventWindowStateDeleting,
130961		InstanceEventWindowStateActive,
130962		InstanceEventWindowStateDeleted,
130963	}
130964}
130965
130966const (
130967	// InstanceHealthStatusHealthy is a InstanceHealthStatus enum value
130968	InstanceHealthStatusHealthy = "healthy"
130969
130970	// InstanceHealthStatusUnhealthy is a InstanceHealthStatus enum value
130971	InstanceHealthStatusUnhealthy = "unhealthy"
130972)
130973
130974// InstanceHealthStatus_Values returns all elements of the InstanceHealthStatus enum
130975func InstanceHealthStatus_Values() []string {
130976	return []string{
130977		InstanceHealthStatusHealthy,
130978		InstanceHealthStatusUnhealthy,
130979	}
130980}
130981
130982const (
130983	// InstanceInterruptionBehaviorHibernate is a InstanceInterruptionBehavior enum value
130984	InstanceInterruptionBehaviorHibernate = "hibernate"
130985
130986	// InstanceInterruptionBehaviorStop is a InstanceInterruptionBehavior enum value
130987	InstanceInterruptionBehaviorStop = "stop"
130988
130989	// InstanceInterruptionBehaviorTerminate is a InstanceInterruptionBehavior enum value
130990	InstanceInterruptionBehaviorTerminate = "terminate"
130991)
130992
130993// InstanceInterruptionBehavior_Values returns all elements of the InstanceInterruptionBehavior enum
130994func InstanceInterruptionBehavior_Values() []string {
130995	return []string{
130996		InstanceInterruptionBehaviorHibernate,
130997		InstanceInterruptionBehaviorStop,
130998		InstanceInterruptionBehaviorTerminate,
130999	}
131000}
131001
131002const (
131003	// InstanceLifecycleSpot is a InstanceLifecycle enum value
131004	InstanceLifecycleSpot = "spot"
131005
131006	// InstanceLifecycleOnDemand is a InstanceLifecycle enum value
131007	InstanceLifecycleOnDemand = "on-demand"
131008)
131009
131010// InstanceLifecycle_Values returns all elements of the InstanceLifecycle enum
131011func InstanceLifecycle_Values() []string {
131012	return []string{
131013		InstanceLifecycleSpot,
131014		InstanceLifecycleOnDemand,
131015	}
131016}
131017
131018const (
131019	// InstanceLifecycleTypeSpot is a InstanceLifecycleType enum value
131020	InstanceLifecycleTypeSpot = "spot"
131021
131022	// InstanceLifecycleTypeScheduled is a InstanceLifecycleType enum value
131023	InstanceLifecycleTypeScheduled = "scheduled"
131024)
131025
131026// InstanceLifecycleType_Values returns all elements of the InstanceLifecycleType enum
131027func InstanceLifecycleType_Values() []string {
131028	return []string{
131029		InstanceLifecycleTypeSpot,
131030		InstanceLifecycleTypeScheduled,
131031	}
131032}
131033
131034const (
131035	// InstanceMatchCriteriaOpen is a InstanceMatchCriteria enum value
131036	InstanceMatchCriteriaOpen = "open"
131037
131038	// InstanceMatchCriteriaTargeted is a InstanceMatchCriteria enum value
131039	InstanceMatchCriteriaTargeted = "targeted"
131040)
131041
131042// InstanceMatchCriteria_Values returns all elements of the InstanceMatchCriteria enum
131043func InstanceMatchCriteria_Values() []string {
131044	return []string{
131045		InstanceMatchCriteriaOpen,
131046		InstanceMatchCriteriaTargeted,
131047	}
131048}
131049
131050const (
131051	// InstanceMetadataEndpointStateDisabled is a InstanceMetadataEndpointState enum value
131052	InstanceMetadataEndpointStateDisabled = "disabled"
131053
131054	// InstanceMetadataEndpointStateEnabled is a InstanceMetadataEndpointState enum value
131055	InstanceMetadataEndpointStateEnabled = "enabled"
131056)
131057
131058// InstanceMetadataEndpointState_Values returns all elements of the InstanceMetadataEndpointState enum
131059func InstanceMetadataEndpointState_Values() []string {
131060	return []string{
131061		InstanceMetadataEndpointStateDisabled,
131062		InstanceMetadataEndpointStateEnabled,
131063	}
131064}
131065
131066const (
131067	// InstanceMetadataOptionsStatePending is a InstanceMetadataOptionsState enum value
131068	InstanceMetadataOptionsStatePending = "pending"
131069
131070	// InstanceMetadataOptionsStateApplied is a InstanceMetadataOptionsState enum value
131071	InstanceMetadataOptionsStateApplied = "applied"
131072)
131073
131074// InstanceMetadataOptionsState_Values returns all elements of the InstanceMetadataOptionsState enum
131075func InstanceMetadataOptionsState_Values() []string {
131076	return []string{
131077		InstanceMetadataOptionsStatePending,
131078		InstanceMetadataOptionsStateApplied,
131079	}
131080}
131081
131082const (
131083	// InstanceMetadataProtocolStateDisabled is a InstanceMetadataProtocolState enum value
131084	InstanceMetadataProtocolStateDisabled = "disabled"
131085
131086	// InstanceMetadataProtocolStateEnabled is a InstanceMetadataProtocolState enum value
131087	InstanceMetadataProtocolStateEnabled = "enabled"
131088)
131089
131090// InstanceMetadataProtocolState_Values returns all elements of the InstanceMetadataProtocolState enum
131091func InstanceMetadataProtocolState_Values() []string {
131092	return []string{
131093		InstanceMetadataProtocolStateDisabled,
131094		InstanceMetadataProtocolStateEnabled,
131095	}
131096}
131097
131098const (
131099	// InstanceStateNamePending is a InstanceStateName enum value
131100	InstanceStateNamePending = "pending"
131101
131102	// InstanceStateNameRunning is a InstanceStateName enum value
131103	InstanceStateNameRunning = "running"
131104
131105	// InstanceStateNameShuttingDown is a InstanceStateName enum value
131106	InstanceStateNameShuttingDown = "shutting-down"
131107
131108	// InstanceStateNameTerminated is a InstanceStateName enum value
131109	InstanceStateNameTerminated = "terminated"
131110
131111	// InstanceStateNameStopping is a InstanceStateName enum value
131112	InstanceStateNameStopping = "stopping"
131113
131114	// InstanceStateNameStopped is a InstanceStateName enum value
131115	InstanceStateNameStopped = "stopped"
131116)
131117
131118// InstanceStateName_Values returns all elements of the InstanceStateName enum
131119func InstanceStateName_Values() []string {
131120	return []string{
131121		InstanceStateNamePending,
131122		InstanceStateNameRunning,
131123		InstanceStateNameShuttingDown,
131124		InstanceStateNameTerminated,
131125		InstanceStateNameStopping,
131126		InstanceStateNameStopped,
131127	}
131128}
131129
131130const (
131131	// InstanceTypeT1Micro is a InstanceType enum value
131132	InstanceTypeT1Micro = "t1.micro"
131133
131134	// InstanceTypeT2Nano is a InstanceType enum value
131135	InstanceTypeT2Nano = "t2.nano"
131136
131137	// InstanceTypeT2Micro is a InstanceType enum value
131138	InstanceTypeT2Micro = "t2.micro"
131139
131140	// InstanceTypeT2Small is a InstanceType enum value
131141	InstanceTypeT2Small = "t2.small"
131142
131143	// InstanceTypeT2Medium is a InstanceType enum value
131144	InstanceTypeT2Medium = "t2.medium"
131145
131146	// InstanceTypeT2Large is a InstanceType enum value
131147	InstanceTypeT2Large = "t2.large"
131148
131149	// InstanceTypeT2Xlarge is a InstanceType enum value
131150	InstanceTypeT2Xlarge = "t2.xlarge"
131151
131152	// InstanceTypeT22xlarge is a InstanceType enum value
131153	InstanceTypeT22xlarge = "t2.2xlarge"
131154
131155	// InstanceTypeT3Nano is a InstanceType enum value
131156	InstanceTypeT3Nano = "t3.nano"
131157
131158	// InstanceTypeT3Micro is a InstanceType enum value
131159	InstanceTypeT3Micro = "t3.micro"
131160
131161	// InstanceTypeT3Small is a InstanceType enum value
131162	InstanceTypeT3Small = "t3.small"
131163
131164	// InstanceTypeT3Medium is a InstanceType enum value
131165	InstanceTypeT3Medium = "t3.medium"
131166
131167	// InstanceTypeT3Large is a InstanceType enum value
131168	InstanceTypeT3Large = "t3.large"
131169
131170	// InstanceTypeT3Xlarge is a InstanceType enum value
131171	InstanceTypeT3Xlarge = "t3.xlarge"
131172
131173	// InstanceTypeT32xlarge is a InstanceType enum value
131174	InstanceTypeT32xlarge = "t3.2xlarge"
131175
131176	// InstanceTypeT3aNano is a InstanceType enum value
131177	InstanceTypeT3aNano = "t3a.nano"
131178
131179	// InstanceTypeT3aMicro is a InstanceType enum value
131180	InstanceTypeT3aMicro = "t3a.micro"
131181
131182	// InstanceTypeT3aSmall is a InstanceType enum value
131183	InstanceTypeT3aSmall = "t3a.small"
131184
131185	// InstanceTypeT3aMedium is a InstanceType enum value
131186	InstanceTypeT3aMedium = "t3a.medium"
131187
131188	// InstanceTypeT3aLarge is a InstanceType enum value
131189	InstanceTypeT3aLarge = "t3a.large"
131190
131191	// InstanceTypeT3aXlarge is a InstanceType enum value
131192	InstanceTypeT3aXlarge = "t3a.xlarge"
131193
131194	// InstanceTypeT3a2xlarge is a InstanceType enum value
131195	InstanceTypeT3a2xlarge = "t3a.2xlarge"
131196
131197	// InstanceTypeT4gNano is a InstanceType enum value
131198	InstanceTypeT4gNano = "t4g.nano"
131199
131200	// InstanceTypeT4gMicro is a InstanceType enum value
131201	InstanceTypeT4gMicro = "t4g.micro"
131202
131203	// InstanceTypeT4gSmall is a InstanceType enum value
131204	InstanceTypeT4gSmall = "t4g.small"
131205
131206	// InstanceTypeT4gMedium is a InstanceType enum value
131207	InstanceTypeT4gMedium = "t4g.medium"
131208
131209	// InstanceTypeT4gLarge is a InstanceType enum value
131210	InstanceTypeT4gLarge = "t4g.large"
131211
131212	// InstanceTypeT4gXlarge is a InstanceType enum value
131213	InstanceTypeT4gXlarge = "t4g.xlarge"
131214
131215	// InstanceTypeT4g2xlarge is a InstanceType enum value
131216	InstanceTypeT4g2xlarge = "t4g.2xlarge"
131217
131218	// InstanceTypeM1Small is a InstanceType enum value
131219	InstanceTypeM1Small = "m1.small"
131220
131221	// InstanceTypeM1Medium is a InstanceType enum value
131222	InstanceTypeM1Medium = "m1.medium"
131223
131224	// InstanceTypeM1Large is a InstanceType enum value
131225	InstanceTypeM1Large = "m1.large"
131226
131227	// InstanceTypeM1Xlarge is a InstanceType enum value
131228	InstanceTypeM1Xlarge = "m1.xlarge"
131229
131230	// InstanceTypeM3Medium is a InstanceType enum value
131231	InstanceTypeM3Medium = "m3.medium"
131232
131233	// InstanceTypeM3Large is a InstanceType enum value
131234	InstanceTypeM3Large = "m3.large"
131235
131236	// InstanceTypeM3Xlarge is a InstanceType enum value
131237	InstanceTypeM3Xlarge = "m3.xlarge"
131238
131239	// InstanceTypeM32xlarge is a InstanceType enum value
131240	InstanceTypeM32xlarge = "m3.2xlarge"
131241
131242	// InstanceTypeM4Large is a InstanceType enum value
131243	InstanceTypeM4Large = "m4.large"
131244
131245	// InstanceTypeM4Xlarge is a InstanceType enum value
131246	InstanceTypeM4Xlarge = "m4.xlarge"
131247
131248	// InstanceTypeM42xlarge is a InstanceType enum value
131249	InstanceTypeM42xlarge = "m4.2xlarge"
131250
131251	// InstanceTypeM44xlarge is a InstanceType enum value
131252	InstanceTypeM44xlarge = "m4.4xlarge"
131253
131254	// InstanceTypeM410xlarge is a InstanceType enum value
131255	InstanceTypeM410xlarge = "m4.10xlarge"
131256
131257	// InstanceTypeM416xlarge is a InstanceType enum value
131258	InstanceTypeM416xlarge = "m4.16xlarge"
131259
131260	// InstanceTypeM2Xlarge is a InstanceType enum value
131261	InstanceTypeM2Xlarge = "m2.xlarge"
131262
131263	// InstanceTypeM22xlarge is a InstanceType enum value
131264	InstanceTypeM22xlarge = "m2.2xlarge"
131265
131266	// InstanceTypeM24xlarge is a InstanceType enum value
131267	InstanceTypeM24xlarge = "m2.4xlarge"
131268
131269	// InstanceTypeCr18xlarge is a InstanceType enum value
131270	InstanceTypeCr18xlarge = "cr1.8xlarge"
131271
131272	// InstanceTypeR3Large is a InstanceType enum value
131273	InstanceTypeR3Large = "r3.large"
131274
131275	// InstanceTypeR3Xlarge is a InstanceType enum value
131276	InstanceTypeR3Xlarge = "r3.xlarge"
131277
131278	// InstanceTypeR32xlarge is a InstanceType enum value
131279	InstanceTypeR32xlarge = "r3.2xlarge"
131280
131281	// InstanceTypeR34xlarge is a InstanceType enum value
131282	InstanceTypeR34xlarge = "r3.4xlarge"
131283
131284	// InstanceTypeR38xlarge is a InstanceType enum value
131285	InstanceTypeR38xlarge = "r3.8xlarge"
131286
131287	// InstanceTypeR4Large is a InstanceType enum value
131288	InstanceTypeR4Large = "r4.large"
131289
131290	// InstanceTypeR4Xlarge is a InstanceType enum value
131291	InstanceTypeR4Xlarge = "r4.xlarge"
131292
131293	// InstanceTypeR42xlarge is a InstanceType enum value
131294	InstanceTypeR42xlarge = "r4.2xlarge"
131295
131296	// InstanceTypeR44xlarge is a InstanceType enum value
131297	InstanceTypeR44xlarge = "r4.4xlarge"
131298
131299	// InstanceTypeR48xlarge is a InstanceType enum value
131300	InstanceTypeR48xlarge = "r4.8xlarge"
131301
131302	// InstanceTypeR416xlarge is a InstanceType enum value
131303	InstanceTypeR416xlarge = "r4.16xlarge"
131304
131305	// InstanceTypeR5Large is a InstanceType enum value
131306	InstanceTypeR5Large = "r5.large"
131307
131308	// InstanceTypeR5Xlarge is a InstanceType enum value
131309	InstanceTypeR5Xlarge = "r5.xlarge"
131310
131311	// InstanceTypeR52xlarge is a InstanceType enum value
131312	InstanceTypeR52xlarge = "r5.2xlarge"
131313
131314	// InstanceTypeR54xlarge is a InstanceType enum value
131315	InstanceTypeR54xlarge = "r5.4xlarge"
131316
131317	// InstanceTypeR58xlarge is a InstanceType enum value
131318	InstanceTypeR58xlarge = "r5.8xlarge"
131319
131320	// InstanceTypeR512xlarge is a InstanceType enum value
131321	InstanceTypeR512xlarge = "r5.12xlarge"
131322
131323	// InstanceTypeR516xlarge is a InstanceType enum value
131324	InstanceTypeR516xlarge = "r5.16xlarge"
131325
131326	// InstanceTypeR524xlarge is a InstanceType enum value
131327	InstanceTypeR524xlarge = "r5.24xlarge"
131328
131329	// InstanceTypeR5Metal is a InstanceType enum value
131330	InstanceTypeR5Metal = "r5.metal"
131331
131332	// InstanceTypeR5aLarge is a InstanceType enum value
131333	InstanceTypeR5aLarge = "r5a.large"
131334
131335	// InstanceTypeR5aXlarge is a InstanceType enum value
131336	InstanceTypeR5aXlarge = "r5a.xlarge"
131337
131338	// InstanceTypeR5a2xlarge is a InstanceType enum value
131339	InstanceTypeR5a2xlarge = "r5a.2xlarge"
131340
131341	// InstanceTypeR5a4xlarge is a InstanceType enum value
131342	InstanceTypeR5a4xlarge = "r5a.4xlarge"
131343
131344	// InstanceTypeR5a8xlarge is a InstanceType enum value
131345	InstanceTypeR5a8xlarge = "r5a.8xlarge"
131346
131347	// InstanceTypeR5a12xlarge is a InstanceType enum value
131348	InstanceTypeR5a12xlarge = "r5a.12xlarge"
131349
131350	// InstanceTypeR5a16xlarge is a InstanceType enum value
131351	InstanceTypeR5a16xlarge = "r5a.16xlarge"
131352
131353	// InstanceTypeR5a24xlarge is a InstanceType enum value
131354	InstanceTypeR5a24xlarge = "r5a.24xlarge"
131355
131356	// InstanceTypeR5bLarge is a InstanceType enum value
131357	InstanceTypeR5bLarge = "r5b.large"
131358
131359	// InstanceTypeR5bXlarge is a InstanceType enum value
131360	InstanceTypeR5bXlarge = "r5b.xlarge"
131361
131362	// InstanceTypeR5b2xlarge is a InstanceType enum value
131363	InstanceTypeR5b2xlarge = "r5b.2xlarge"
131364
131365	// InstanceTypeR5b4xlarge is a InstanceType enum value
131366	InstanceTypeR5b4xlarge = "r5b.4xlarge"
131367
131368	// InstanceTypeR5b8xlarge is a InstanceType enum value
131369	InstanceTypeR5b8xlarge = "r5b.8xlarge"
131370
131371	// InstanceTypeR5b12xlarge is a InstanceType enum value
131372	InstanceTypeR5b12xlarge = "r5b.12xlarge"
131373
131374	// InstanceTypeR5b16xlarge is a InstanceType enum value
131375	InstanceTypeR5b16xlarge = "r5b.16xlarge"
131376
131377	// InstanceTypeR5b24xlarge is a InstanceType enum value
131378	InstanceTypeR5b24xlarge = "r5b.24xlarge"
131379
131380	// InstanceTypeR5bMetal is a InstanceType enum value
131381	InstanceTypeR5bMetal = "r5b.metal"
131382
131383	// InstanceTypeR5dLarge is a InstanceType enum value
131384	InstanceTypeR5dLarge = "r5d.large"
131385
131386	// InstanceTypeR5dXlarge is a InstanceType enum value
131387	InstanceTypeR5dXlarge = "r5d.xlarge"
131388
131389	// InstanceTypeR5d2xlarge is a InstanceType enum value
131390	InstanceTypeR5d2xlarge = "r5d.2xlarge"
131391
131392	// InstanceTypeR5d4xlarge is a InstanceType enum value
131393	InstanceTypeR5d4xlarge = "r5d.4xlarge"
131394
131395	// InstanceTypeR5d8xlarge is a InstanceType enum value
131396	InstanceTypeR5d8xlarge = "r5d.8xlarge"
131397
131398	// InstanceTypeR5d12xlarge is a InstanceType enum value
131399	InstanceTypeR5d12xlarge = "r5d.12xlarge"
131400
131401	// InstanceTypeR5d16xlarge is a InstanceType enum value
131402	InstanceTypeR5d16xlarge = "r5d.16xlarge"
131403
131404	// InstanceTypeR5d24xlarge is a InstanceType enum value
131405	InstanceTypeR5d24xlarge = "r5d.24xlarge"
131406
131407	// InstanceTypeR5dMetal is a InstanceType enum value
131408	InstanceTypeR5dMetal = "r5d.metal"
131409
131410	// InstanceTypeR5adLarge is a InstanceType enum value
131411	InstanceTypeR5adLarge = "r5ad.large"
131412
131413	// InstanceTypeR5adXlarge is a InstanceType enum value
131414	InstanceTypeR5adXlarge = "r5ad.xlarge"
131415
131416	// InstanceTypeR5ad2xlarge is a InstanceType enum value
131417	InstanceTypeR5ad2xlarge = "r5ad.2xlarge"
131418
131419	// InstanceTypeR5ad4xlarge is a InstanceType enum value
131420	InstanceTypeR5ad4xlarge = "r5ad.4xlarge"
131421
131422	// InstanceTypeR5ad8xlarge is a InstanceType enum value
131423	InstanceTypeR5ad8xlarge = "r5ad.8xlarge"
131424
131425	// InstanceTypeR5ad12xlarge is a InstanceType enum value
131426	InstanceTypeR5ad12xlarge = "r5ad.12xlarge"
131427
131428	// InstanceTypeR5ad16xlarge is a InstanceType enum value
131429	InstanceTypeR5ad16xlarge = "r5ad.16xlarge"
131430
131431	// InstanceTypeR5ad24xlarge is a InstanceType enum value
131432	InstanceTypeR5ad24xlarge = "r5ad.24xlarge"
131433
131434	// InstanceTypeR6gMetal is a InstanceType enum value
131435	InstanceTypeR6gMetal = "r6g.metal"
131436
131437	// InstanceTypeR6gMedium is a InstanceType enum value
131438	InstanceTypeR6gMedium = "r6g.medium"
131439
131440	// InstanceTypeR6gLarge is a InstanceType enum value
131441	InstanceTypeR6gLarge = "r6g.large"
131442
131443	// InstanceTypeR6gXlarge is a InstanceType enum value
131444	InstanceTypeR6gXlarge = "r6g.xlarge"
131445
131446	// InstanceTypeR6g2xlarge is a InstanceType enum value
131447	InstanceTypeR6g2xlarge = "r6g.2xlarge"
131448
131449	// InstanceTypeR6g4xlarge is a InstanceType enum value
131450	InstanceTypeR6g4xlarge = "r6g.4xlarge"
131451
131452	// InstanceTypeR6g8xlarge is a InstanceType enum value
131453	InstanceTypeR6g8xlarge = "r6g.8xlarge"
131454
131455	// InstanceTypeR6g12xlarge is a InstanceType enum value
131456	InstanceTypeR6g12xlarge = "r6g.12xlarge"
131457
131458	// InstanceTypeR6g16xlarge is a InstanceType enum value
131459	InstanceTypeR6g16xlarge = "r6g.16xlarge"
131460
131461	// InstanceTypeR6gdMetal is a InstanceType enum value
131462	InstanceTypeR6gdMetal = "r6gd.metal"
131463
131464	// InstanceTypeR6gdMedium is a InstanceType enum value
131465	InstanceTypeR6gdMedium = "r6gd.medium"
131466
131467	// InstanceTypeR6gdLarge is a InstanceType enum value
131468	InstanceTypeR6gdLarge = "r6gd.large"
131469
131470	// InstanceTypeR6gdXlarge is a InstanceType enum value
131471	InstanceTypeR6gdXlarge = "r6gd.xlarge"
131472
131473	// InstanceTypeR6gd2xlarge is a InstanceType enum value
131474	InstanceTypeR6gd2xlarge = "r6gd.2xlarge"
131475
131476	// InstanceTypeR6gd4xlarge is a InstanceType enum value
131477	InstanceTypeR6gd4xlarge = "r6gd.4xlarge"
131478
131479	// InstanceTypeR6gd8xlarge is a InstanceType enum value
131480	InstanceTypeR6gd8xlarge = "r6gd.8xlarge"
131481
131482	// InstanceTypeR6gd12xlarge is a InstanceType enum value
131483	InstanceTypeR6gd12xlarge = "r6gd.12xlarge"
131484
131485	// InstanceTypeR6gd16xlarge is a InstanceType enum value
131486	InstanceTypeR6gd16xlarge = "r6gd.16xlarge"
131487
131488	// InstanceTypeX116xlarge is a InstanceType enum value
131489	InstanceTypeX116xlarge = "x1.16xlarge"
131490
131491	// InstanceTypeX132xlarge is a InstanceType enum value
131492	InstanceTypeX132xlarge = "x1.32xlarge"
131493
131494	// InstanceTypeX1eXlarge is a InstanceType enum value
131495	InstanceTypeX1eXlarge = "x1e.xlarge"
131496
131497	// InstanceTypeX1e2xlarge is a InstanceType enum value
131498	InstanceTypeX1e2xlarge = "x1e.2xlarge"
131499
131500	// InstanceTypeX1e4xlarge is a InstanceType enum value
131501	InstanceTypeX1e4xlarge = "x1e.4xlarge"
131502
131503	// InstanceTypeX1e8xlarge is a InstanceType enum value
131504	InstanceTypeX1e8xlarge = "x1e.8xlarge"
131505
131506	// InstanceTypeX1e16xlarge is a InstanceType enum value
131507	InstanceTypeX1e16xlarge = "x1e.16xlarge"
131508
131509	// InstanceTypeX1e32xlarge is a InstanceType enum value
131510	InstanceTypeX1e32xlarge = "x1e.32xlarge"
131511
131512	// InstanceTypeI2Xlarge is a InstanceType enum value
131513	InstanceTypeI2Xlarge = "i2.xlarge"
131514
131515	// InstanceTypeI22xlarge is a InstanceType enum value
131516	InstanceTypeI22xlarge = "i2.2xlarge"
131517
131518	// InstanceTypeI24xlarge is a InstanceType enum value
131519	InstanceTypeI24xlarge = "i2.4xlarge"
131520
131521	// InstanceTypeI28xlarge is a InstanceType enum value
131522	InstanceTypeI28xlarge = "i2.8xlarge"
131523
131524	// InstanceTypeI3Large is a InstanceType enum value
131525	InstanceTypeI3Large = "i3.large"
131526
131527	// InstanceTypeI3Xlarge is a InstanceType enum value
131528	InstanceTypeI3Xlarge = "i3.xlarge"
131529
131530	// InstanceTypeI32xlarge is a InstanceType enum value
131531	InstanceTypeI32xlarge = "i3.2xlarge"
131532
131533	// InstanceTypeI34xlarge is a InstanceType enum value
131534	InstanceTypeI34xlarge = "i3.4xlarge"
131535
131536	// InstanceTypeI38xlarge is a InstanceType enum value
131537	InstanceTypeI38xlarge = "i3.8xlarge"
131538
131539	// InstanceTypeI316xlarge is a InstanceType enum value
131540	InstanceTypeI316xlarge = "i3.16xlarge"
131541
131542	// InstanceTypeI3Metal is a InstanceType enum value
131543	InstanceTypeI3Metal = "i3.metal"
131544
131545	// InstanceTypeI3enLarge is a InstanceType enum value
131546	InstanceTypeI3enLarge = "i3en.large"
131547
131548	// InstanceTypeI3enXlarge is a InstanceType enum value
131549	InstanceTypeI3enXlarge = "i3en.xlarge"
131550
131551	// InstanceTypeI3en2xlarge is a InstanceType enum value
131552	InstanceTypeI3en2xlarge = "i3en.2xlarge"
131553
131554	// InstanceTypeI3en3xlarge is a InstanceType enum value
131555	InstanceTypeI3en3xlarge = "i3en.3xlarge"
131556
131557	// InstanceTypeI3en6xlarge is a InstanceType enum value
131558	InstanceTypeI3en6xlarge = "i3en.6xlarge"
131559
131560	// InstanceTypeI3en12xlarge is a InstanceType enum value
131561	InstanceTypeI3en12xlarge = "i3en.12xlarge"
131562
131563	// InstanceTypeI3en24xlarge is a InstanceType enum value
131564	InstanceTypeI3en24xlarge = "i3en.24xlarge"
131565
131566	// InstanceTypeI3enMetal is a InstanceType enum value
131567	InstanceTypeI3enMetal = "i3en.metal"
131568
131569	// InstanceTypeHi14xlarge is a InstanceType enum value
131570	InstanceTypeHi14xlarge = "hi1.4xlarge"
131571
131572	// InstanceTypeHs18xlarge is a InstanceType enum value
131573	InstanceTypeHs18xlarge = "hs1.8xlarge"
131574
131575	// InstanceTypeC1Medium is a InstanceType enum value
131576	InstanceTypeC1Medium = "c1.medium"
131577
131578	// InstanceTypeC1Xlarge is a InstanceType enum value
131579	InstanceTypeC1Xlarge = "c1.xlarge"
131580
131581	// InstanceTypeC3Large is a InstanceType enum value
131582	InstanceTypeC3Large = "c3.large"
131583
131584	// InstanceTypeC3Xlarge is a InstanceType enum value
131585	InstanceTypeC3Xlarge = "c3.xlarge"
131586
131587	// InstanceTypeC32xlarge is a InstanceType enum value
131588	InstanceTypeC32xlarge = "c3.2xlarge"
131589
131590	// InstanceTypeC34xlarge is a InstanceType enum value
131591	InstanceTypeC34xlarge = "c3.4xlarge"
131592
131593	// InstanceTypeC38xlarge is a InstanceType enum value
131594	InstanceTypeC38xlarge = "c3.8xlarge"
131595
131596	// InstanceTypeC4Large is a InstanceType enum value
131597	InstanceTypeC4Large = "c4.large"
131598
131599	// InstanceTypeC4Xlarge is a InstanceType enum value
131600	InstanceTypeC4Xlarge = "c4.xlarge"
131601
131602	// InstanceTypeC42xlarge is a InstanceType enum value
131603	InstanceTypeC42xlarge = "c4.2xlarge"
131604
131605	// InstanceTypeC44xlarge is a InstanceType enum value
131606	InstanceTypeC44xlarge = "c4.4xlarge"
131607
131608	// InstanceTypeC48xlarge is a InstanceType enum value
131609	InstanceTypeC48xlarge = "c4.8xlarge"
131610
131611	// InstanceTypeC5Large is a InstanceType enum value
131612	InstanceTypeC5Large = "c5.large"
131613
131614	// InstanceTypeC5Xlarge is a InstanceType enum value
131615	InstanceTypeC5Xlarge = "c5.xlarge"
131616
131617	// InstanceTypeC52xlarge is a InstanceType enum value
131618	InstanceTypeC52xlarge = "c5.2xlarge"
131619
131620	// InstanceTypeC54xlarge is a InstanceType enum value
131621	InstanceTypeC54xlarge = "c5.4xlarge"
131622
131623	// InstanceTypeC59xlarge is a InstanceType enum value
131624	InstanceTypeC59xlarge = "c5.9xlarge"
131625
131626	// InstanceTypeC512xlarge is a InstanceType enum value
131627	InstanceTypeC512xlarge = "c5.12xlarge"
131628
131629	// InstanceTypeC518xlarge is a InstanceType enum value
131630	InstanceTypeC518xlarge = "c5.18xlarge"
131631
131632	// InstanceTypeC524xlarge is a InstanceType enum value
131633	InstanceTypeC524xlarge = "c5.24xlarge"
131634
131635	// InstanceTypeC5Metal is a InstanceType enum value
131636	InstanceTypeC5Metal = "c5.metal"
131637
131638	// InstanceTypeC5aLarge is a InstanceType enum value
131639	InstanceTypeC5aLarge = "c5a.large"
131640
131641	// InstanceTypeC5aXlarge is a InstanceType enum value
131642	InstanceTypeC5aXlarge = "c5a.xlarge"
131643
131644	// InstanceTypeC5a2xlarge is a InstanceType enum value
131645	InstanceTypeC5a2xlarge = "c5a.2xlarge"
131646
131647	// InstanceTypeC5a4xlarge is a InstanceType enum value
131648	InstanceTypeC5a4xlarge = "c5a.4xlarge"
131649
131650	// InstanceTypeC5a8xlarge is a InstanceType enum value
131651	InstanceTypeC5a8xlarge = "c5a.8xlarge"
131652
131653	// InstanceTypeC5a12xlarge is a InstanceType enum value
131654	InstanceTypeC5a12xlarge = "c5a.12xlarge"
131655
131656	// InstanceTypeC5a16xlarge is a InstanceType enum value
131657	InstanceTypeC5a16xlarge = "c5a.16xlarge"
131658
131659	// InstanceTypeC5a24xlarge is a InstanceType enum value
131660	InstanceTypeC5a24xlarge = "c5a.24xlarge"
131661
131662	// InstanceTypeC5adLarge is a InstanceType enum value
131663	InstanceTypeC5adLarge = "c5ad.large"
131664
131665	// InstanceTypeC5adXlarge is a InstanceType enum value
131666	InstanceTypeC5adXlarge = "c5ad.xlarge"
131667
131668	// InstanceTypeC5ad2xlarge is a InstanceType enum value
131669	InstanceTypeC5ad2xlarge = "c5ad.2xlarge"
131670
131671	// InstanceTypeC5ad4xlarge is a InstanceType enum value
131672	InstanceTypeC5ad4xlarge = "c5ad.4xlarge"
131673
131674	// InstanceTypeC5ad8xlarge is a InstanceType enum value
131675	InstanceTypeC5ad8xlarge = "c5ad.8xlarge"
131676
131677	// InstanceTypeC5ad12xlarge is a InstanceType enum value
131678	InstanceTypeC5ad12xlarge = "c5ad.12xlarge"
131679
131680	// InstanceTypeC5ad16xlarge is a InstanceType enum value
131681	InstanceTypeC5ad16xlarge = "c5ad.16xlarge"
131682
131683	// InstanceTypeC5ad24xlarge is a InstanceType enum value
131684	InstanceTypeC5ad24xlarge = "c5ad.24xlarge"
131685
131686	// InstanceTypeC5dLarge is a InstanceType enum value
131687	InstanceTypeC5dLarge = "c5d.large"
131688
131689	// InstanceTypeC5dXlarge is a InstanceType enum value
131690	InstanceTypeC5dXlarge = "c5d.xlarge"
131691
131692	// InstanceTypeC5d2xlarge is a InstanceType enum value
131693	InstanceTypeC5d2xlarge = "c5d.2xlarge"
131694
131695	// InstanceTypeC5d4xlarge is a InstanceType enum value
131696	InstanceTypeC5d4xlarge = "c5d.4xlarge"
131697
131698	// InstanceTypeC5d9xlarge is a InstanceType enum value
131699	InstanceTypeC5d9xlarge = "c5d.9xlarge"
131700
131701	// InstanceTypeC5d12xlarge is a InstanceType enum value
131702	InstanceTypeC5d12xlarge = "c5d.12xlarge"
131703
131704	// InstanceTypeC5d18xlarge is a InstanceType enum value
131705	InstanceTypeC5d18xlarge = "c5d.18xlarge"
131706
131707	// InstanceTypeC5d24xlarge is a InstanceType enum value
131708	InstanceTypeC5d24xlarge = "c5d.24xlarge"
131709
131710	// InstanceTypeC5dMetal is a InstanceType enum value
131711	InstanceTypeC5dMetal = "c5d.metal"
131712
131713	// InstanceTypeC5nLarge is a InstanceType enum value
131714	InstanceTypeC5nLarge = "c5n.large"
131715
131716	// InstanceTypeC5nXlarge is a InstanceType enum value
131717	InstanceTypeC5nXlarge = "c5n.xlarge"
131718
131719	// InstanceTypeC5n2xlarge is a InstanceType enum value
131720	InstanceTypeC5n2xlarge = "c5n.2xlarge"
131721
131722	// InstanceTypeC5n4xlarge is a InstanceType enum value
131723	InstanceTypeC5n4xlarge = "c5n.4xlarge"
131724
131725	// InstanceTypeC5n9xlarge is a InstanceType enum value
131726	InstanceTypeC5n9xlarge = "c5n.9xlarge"
131727
131728	// InstanceTypeC5n18xlarge is a InstanceType enum value
131729	InstanceTypeC5n18xlarge = "c5n.18xlarge"
131730
131731	// InstanceTypeC5nMetal is a InstanceType enum value
131732	InstanceTypeC5nMetal = "c5n.metal"
131733
131734	// InstanceTypeC6gMetal is a InstanceType enum value
131735	InstanceTypeC6gMetal = "c6g.metal"
131736
131737	// InstanceTypeC6gMedium is a InstanceType enum value
131738	InstanceTypeC6gMedium = "c6g.medium"
131739
131740	// InstanceTypeC6gLarge is a InstanceType enum value
131741	InstanceTypeC6gLarge = "c6g.large"
131742
131743	// InstanceTypeC6gXlarge is a InstanceType enum value
131744	InstanceTypeC6gXlarge = "c6g.xlarge"
131745
131746	// InstanceTypeC6g2xlarge is a InstanceType enum value
131747	InstanceTypeC6g2xlarge = "c6g.2xlarge"
131748
131749	// InstanceTypeC6g4xlarge is a InstanceType enum value
131750	InstanceTypeC6g4xlarge = "c6g.4xlarge"
131751
131752	// InstanceTypeC6g8xlarge is a InstanceType enum value
131753	InstanceTypeC6g8xlarge = "c6g.8xlarge"
131754
131755	// InstanceTypeC6g12xlarge is a InstanceType enum value
131756	InstanceTypeC6g12xlarge = "c6g.12xlarge"
131757
131758	// InstanceTypeC6g16xlarge is a InstanceType enum value
131759	InstanceTypeC6g16xlarge = "c6g.16xlarge"
131760
131761	// InstanceTypeC6gdMetal is a InstanceType enum value
131762	InstanceTypeC6gdMetal = "c6gd.metal"
131763
131764	// InstanceTypeC6gdMedium is a InstanceType enum value
131765	InstanceTypeC6gdMedium = "c6gd.medium"
131766
131767	// InstanceTypeC6gdLarge is a InstanceType enum value
131768	InstanceTypeC6gdLarge = "c6gd.large"
131769
131770	// InstanceTypeC6gdXlarge is a InstanceType enum value
131771	InstanceTypeC6gdXlarge = "c6gd.xlarge"
131772
131773	// InstanceTypeC6gd2xlarge is a InstanceType enum value
131774	InstanceTypeC6gd2xlarge = "c6gd.2xlarge"
131775
131776	// InstanceTypeC6gd4xlarge is a InstanceType enum value
131777	InstanceTypeC6gd4xlarge = "c6gd.4xlarge"
131778
131779	// InstanceTypeC6gd8xlarge is a InstanceType enum value
131780	InstanceTypeC6gd8xlarge = "c6gd.8xlarge"
131781
131782	// InstanceTypeC6gd12xlarge is a InstanceType enum value
131783	InstanceTypeC6gd12xlarge = "c6gd.12xlarge"
131784
131785	// InstanceTypeC6gd16xlarge is a InstanceType enum value
131786	InstanceTypeC6gd16xlarge = "c6gd.16xlarge"
131787
131788	// InstanceTypeC6gnMedium is a InstanceType enum value
131789	InstanceTypeC6gnMedium = "c6gn.medium"
131790
131791	// InstanceTypeC6gnLarge is a InstanceType enum value
131792	InstanceTypeC6gnLarge = "c6gn.large"
131793
131794	// InstanceTypeC6gnXlarge is a InstanceType enum value
131795	InstanceTypeC6gnXlarge = "c6gn.xlarge"
131796
131797	// InstanceTypeC6gn2xlarge is a InstanceType enum value
131798	InstanceTypeC6gn2xlarge = "c6gn.2xlarge"
131799
131800	// InstanceTypeC6gn4xlarge is a InstanceType enum value
131801	InstanceTypeC6gn4xlarge = "c6gn.4xlarge"
131802
131803	// InstanceTypeC6gn8xlarge is a InstanceType enum value
131804	InstanceTypeC6gn8xlarge = "c6gn.8xlarge"
131805
131806	// InstanceTypeC6gn12xlarge is a InstanceType enum value
131807	InstanceTypeC6gn12xlarge = "c6gn.12xlarge"
131808
131809	// InstanceTypeC6gn16xlarge is a InstanceType enum value
131810	InstanceTypeC6gn16xlarge = "c6gn.16xlarge"
131811
131812	// InstanceTypeCc14xlarge is a InstanceType enum value
131813	InstanceTypeCc14xlarge = "cc1.4xlarge"
131814
131815	// InstanceTypeCc28xlarge is a InstanceType enum value
131816	InstanceTypeCc28xlarge = "cc2.8xlarge"
131817
131818	// InstanceTypeG22xlarge is a InstanceType enum value
131819	InstanceTypeG22xlarge = "g2.2xlarge"
131820
131821	// InstanceTypeG28xlarge is a InstanceType enum value
131822	InstanceTypeG28xlarge = "g2.8xlarge"
131823
131824	// InstanceTypeG34xlarge is a InstanceType enum value
131825	InstanceTypeG34xlarge = "g3.4xlarge"
131826
131827	// InstanceTypeG38xlarge is a InstanceType enum value
131828	InstanceTypeG38xlarge = "g3.8xlarge"
131829
131830	// InstanceTypeG316xlarge is a InstanceType enum value
131831	InstanceTypeG316xlarge = "g3.16xlarge"
131832
131833	// InstanceTypeG3sXlarge is a InstanceType enum value
131834	InstanceTypeG3sXlarge = "g3s.xlarge"
131835
131836	// InstanceTypeG4adXlarge is a InstanceType enum value
131837	InstanceTypeG4adXlarge = "g4ad.xlarge"
131838
131839	// InstanceTypeG4ad2xlarge is a InstanceType enum value
131840	InstanceTypeG4ad2xlarge = "g4ad.2xlarge"
131841
131842	// InstanceTypeG4ad4xlarge is a InstanceType enum value
131843	InstanceTypeG4ad4xlarge = "g4ad.4xlarge"
131844
131845	// InstanceTypeG4ad8xlarge is a InstanceType enum value
131846	InstanceTypeG4ad8xlarge = "g4ad.8xlarge"
131847
131848	// InstanceTypeG4ad16xlarge is a InstanceType enum value
131849	InstanceTypeG4ad16xlarge = "g4ad.16xlarge"
131850
131851	// InstanceTypeG4dnXlarge is a InstanceType enum value
131852	InstanceTypeG4dnXlarge = "g4dn.xlarge"
131853
131854	// InstanceTypeG4dn2xlarge is a InstanceType enum value
131855	InstanceTypeG4dn2xlarge = "g4dn.2xlarge"
131856
131857	// InstanceTypeG4dn4xlarge is a InstanceType enum value
131858	InstanceTypeG4dn4xlarge = "g4dn.4xlarge"
131859
131860	// InstanceTypeG4dn8xlarge is a InstanceType enum value
131861	InstanceTypeG4dn8xlarge = "g4dn.8xlarge"
131862
131863	// InstanceTypeG4dn12xlarge is a InstanceType enum value
131864	InstanceTypeG4dn12xlarge = "g4dn.12xlarge"
131865
131866	// InstanceTypeG4dn16xlarge is a InstanceType enum value
131867	InstanceTypeG4dn16xlarge = "g4dn.16xlarge"
131868
131869	// InstanceTypeG4dnMetal is a InstanceType enum value
131870	InstanceTypeG4dnMetal = "g4dn.metal"
131871
131872	// InstanceTypeCg14xlarge is a InstanceType enum value
131873	InstanceTypeCg14xlarge = "cg1.4xlarge"
131874
131875	// InstanceTypeP2Xlarge is a InstanceType enum value
131876	InstanceTypeP2Xlarge = "p2.xlarge"
131877
131878	// InstanceTypeP28xlarge is a InstanceType enum value
131879	InstanceTypeP28xlarge = "p2.8xlarge"
131880
131881	// InstanceTypeP216xlarge is a InstanceType enum value
131882	InstanceTypeP216xlarge = "p2.16xlarge"
131883
131884	// InstanceTypeP32xlarge is a InstanceType enum value
131885	InstanceTypeP32xlarge = "p3.2xlarge"
131886
131887	// InstanceTypeP38xlarge is a InstanceType enum value
131888	InstanceTypeP38xlarge = "p3.8xlarge"
131889
131890	// InstanceTypeP316xlarge is a InstanceType enum value
131891	InstanceTypeP316xlarge = "p3.16xlarge"
131892
131893	// InstanceTypeP3dn24xlarge is a InstanceType enum value
131894	InstanceTypeP3dn24xlarge = "p3dn.24xlarge"
131895
131896	// InstanceTypeP4d24xlarge is a InstanceType enum value
131897	InstanceTypeP4d24xlarge = "p4d.24xlarge"
131898
131899	// InstanceTypeD2Xlarge is a InstanceType enum value
131900	InstanceTypeD2Xlarge = "d2.xlarge"
131901
131902	// InstanceTypeD22xlarge is a InstanceType enum value
131903	InstanceTypeD22xlarge = "d2.2xlarge"
131904
131905	// InstanceTypeD24xlarge is a InstanceType enum value
131906	InstanceTypeD24xlarge = "d2.4xlarge"
131907
131908	// InstanceTypeD28xlarge is a InstanceType enum value
131909	InstanceTypeD28xlarge = "d2.8xlarge"
131910
131911	// InstanceTypeD3Xlarge is a InstanceType enum value
131912	InstanceTypeD3Xlarge = "d3.xlarge"
131913
131914	// InstanceTypeD32xlarge is a InstanceType enum value
131915	InstanceTypeD32xlarge = "d3.2xlarge"
131916
131917	// InstanceTypeD34xlarge is a InstanceType enum value
131918	InstanceTypeD34xlarge = "d3.4xlarge"
131919
131920	// InstanceTypeD38xlarge is a InstanceType enum value
131921	InstanceTypeD38xlarge = "d3.8xlarge"
131922
131923	// InstanceTypeD3enXlarge is a InstanceType enum value
131924	InstanceTypeD3enXlarge = "d3en.xlarge"
131925
131926	// InstanceTypeD3en2xlarge is a InstanceType enum value
131927	InstanceTypeD3en2xlarge = "d3en.2xlarge"
131928
131929	// InstanceTypeD3en4xlarge is a InstanceType enum value
131930	InstanceTypeD3en4xlarge = "d3en.4xlarge"
131931
131932	// InstanceTypeD3en6xlarge is a InstanceType enum value
131933	InstanceTypeD3en6xlarge = "d3en.6xlarge"
131934
131935	// InstanceTypeD3en8xlarge is a InstanceType enum value
131936	InstanceTypeD3en8xlarge = "d3en.8xlarge"
131937
131938	// InstanceTypeD3en12xlarge is a InstanceType enum value
131939	InstanceTypeD3en12xlarge = "d3en.12xlarge"
131940
131941	// InstanceTypeF12xlarge is a InstanceType enum value
131942	InstanceTypeF12xlarge = "f1.2xlarge"
131943
131944	// InstanceTypeF14xlarge is a InstanceType enum value
131945	InstanceTypeF14xlarge = "f1.4xlarge"
131946
131947	// InstanceTypeF116xlarge is a InstanceType enum value
131948	InstanceTypeF116xlarge = "f1.16xlarge"
131949
131950	// InstanceTypeM5Large is a InstanceType enum value
131951	InstanceTypeM5Large = "m5.large"
131952
131953	// InstanceTypeM5Xlarge is a InstanceType enum value
131954	InstanceTypeM5Xlarge = "m5.xlarge"
131955
131956	// InstanceTypeM52xlarge is a InstanceType enum value
131957	InstanceTypeM52xlarge = "m5.2xlarge"
131958
131959	// InstanceTypeM54xlarge is a InstanceType enum value
131960	InstanceTypeM54xlarge = "m5.4xlarge"
131961
131962	// InstanceTypeM58xlarge is a InstanceType enum value
131963	InstanceTypeM58xlarge = "m5.8xlarge"
131964
131965	// InstanceTypeM512xlarge is a InstanceType enum value
131966	InstanceTypeM512xlarge = "m5.12xlarge"
131967
131968	// InstanceTypeM516xlarge is a InstanceType enum value
131969	InstanceTypeM516xlarge = "m5.16xlarge"
131970
131971	// InstanceTypeM524xlarge is a InstanceType enum value
131972	InstanceTypeM524xlarge = "m5.24xlarge"
131973
131974	// InstanceTypeM5Metal is a InstanceType enum value
131975	InstanceTypeM5Metal = "m5.metal"
131976
131977	// InstanceTypeM5aLarge is a InstanceType enum value
131978	InstanceTypeM5aLarge = "m5a.large"
131979
131980	// InstanceTypeM5aXlarge is a InstanceType enum value
131981	InstanceTypeM5aXlarge = "m5a.xlarge"
131982
131983	// InstanceTypeM5a2xlarge is a InstanceType enum value
131984	InstanceTypeM5a2xlarge = "m5a.2xlarge"
131985
131986	// InstanceTypeM5a4xlarge is a InstanceType enum value
131987	InstanceTypeM5a4xlarge = "m5a.4xlarge"
131988
131989	// InstanceTypeM5a8xlarge is a InstanceType enum value
131990	InstanceTypeM5a8xlarge = "m5a.8xlarge"
131991
131992	// InstanceTypeM5a12xlarge is a InstanceType enum value
131993	InstanceTypeM5a12xlarge = "m5a.12xlarge"
131994
131995	// InstanceTypeM5a16xlarge is a InstanceType enum value
131996	InstanceTypeM5a16xlarge = "m5a.16xlarge"
131997
131998	// InstanceTypeM5a24xlarge is a InstanceType enum value
131999	InstanceTypeM5a24xlarge = "m5a.24xlarge"
132000
132001	// InstanceTypeM5dLarge is a InstanceType enum value
132002	InstanceTypeM5dLarge = "m5d.large"
132003
132004	// InstanceTypeM5dXlarge is a InstanceType enum value
132005	InstanceTypeM5dXlarge = "m5d.xlarge"
132006
132007	// InstanceTypeM5d2xlarge is a InstanceType enum value
132008	InstanceTypeM5d2xlarge = "m5d.2xlarge"
132009
132010	// InstanceTypeM5d4xlarge is a InstanceType enum value
132011	InstanceTypeM5d4xlarge = "m5d.4xlarge"
132012
132013	// InstanceTypeM5d8xlarge is a InstanceType enum value
132014	InstanceTypeM5d8xlarge = "m5d.8xlarge"
132015
132016	// InstanceTypeM5d12xlarge is a InstanceType enum value
132017	InstanceTypeM5d12xlarge = "m5d.12xlarge"
132018
132019	// InstanceTypeM5d16xlarge is a InstanceType enum value
132020	InstanceTypeM5d16xlarge = "m5d.16xlarge"
132021
132022	// InstanceTypeM5d24xlarge is a InstanceType enum value
132023	InstanceTypeM5d24xlarge = "m5d.24xlarge"
132024
132025	// InstanceTypeM5dMetal is a InstanceType enum value
132026	InstanceTypeM5dMetal = "m5d.metal"
132027
132028	// InstanceTypeM5adLarge is a InstanceType enum value
132029	InstanceTypeM5adLarge = "m5ad.large"
132030
132031	// InstanceTypeM5adXlarge is a InstanceType enum value
132032	InstanceTypeM5adXlarge = "m5ad.xlarge"
132033
132034	// InstanceTypeM5ad2xlarge is a InstanceType enum value
132035	InstanceTypeM5ad2xlarge = "m5ad.2xlarge"
132036
132037	// InstanceTypeM5ad4xlarge is a InstanceType enum value
132038	InstanceTypeM5ad4xlarge = "m5ad.4xlarge"
132039
132040	// InstanceTypeM5ad8xlarge is a InstanceType enum value
132041	InstanceTypeM5ad8xlarge = "m5ad.8xlarge"
132042
132043	// InstanceTypeM5ad12xlarge is a InstanceType enum value
132044	InstanceTypeM5ad12xlarge = "m5ad.12xlarge"
132045
132046	// InstanceTypeM5ad16xlarge is a InstanceType enum value
132047	InstanceTypeM5ad16xlarge = "m5ad.16xlarge"
132048
132049	// InstanceTypeM5ad24xlarge is a InstanceType enum value
132050	InstanceTypeM5ad24xlarge = "m5ad.24xlarge"
132051
132052	// InstanceTypeM5znLarge is a InstanceType enum value
132053	InstanceTypeM5znLarge = "m5zn.large"
132054
132055	// InstanceTypeM5znXlarge is a InstanceType enum value
132056	InstanceTypeM5znXlarge = "m5zn.xlarge"
132057
132058	// InstanceTypeM5zn2xlarge is a InstanceType enum value
132059	InstanceTypeM5zn2xlarge = "m5zn.2xlarge"
132060
132061	// InstanceTypeM5zn3xlarge is a InstanceType enum value
132062	InstanceTypeM5zn3xlarge = "m5zn.3xlarge"
132063
132064	// InstanceTypeM5zn6xlarge is a InstanceType enum value
132065	InstanceTypeM5zn6xlarge = "m5zn.6xlarge"
132066
132067	// InstanceTypeM5zn12xlarge is a InstanceType enum value
132068	InstanceTypeM5zn12xlarge = "m5zn.12xlarge"
132069
132070	// InstanceTypeM5znMetal is a InstanceType enum value
132071	InstanceTypeM5znMetal = "m5zn.metal"
132072
132073	// InstanceTypeH12xlarge is a InstanceType enum value
132074	InstanceTypeH12xlarge = "h1.2xlarge"
132075
132076	// InstanceTypeH14xlarge is a InstanceType enum value
132077	InstanceTypeH14xlarge = "h1.4xlarge"
132078
132079	// InstanceTypeH18xlarge is a InstanceType enum value
132080	InstanceTypeH18xlarge = "h1.8xlarge"
132081
132082	// InstanceTypeH116xlarge is a InstanceType enum value
132083	InstanceTypeH116xlarge = "h1.16xlarge"
132084
132085	// InstanceTypeZ1dLarge is a InstanceType enum value
132086	InstanceTypeZ1dLarge = "z1d.large"
132087
132088	// InstanceTypeZ1dXlarge is a InstanceType enum value
132089	InstanceTypeZ1dXlarge = "z1d.xlarge"
132090
132091	// InstanceTypeZ1d2xlarge is a InstanceType enum value
132092	InstanceTypeZ1d2xlarge = "z1d.2xlarge"
132093
132094	// InstanceTypeZ1d3xlarge is a InstanceType enum value
132095	InstanceTypeZ1d3xlarge = "z1d.3xlarge"
132096
132097	// InstanceTypeZ1d6xlarge is a InstanceType enum value
132098	InstanceTypeZ1d6xlarge = "z1d.6xlarge"
132099
132100	// InstanceTypeZ1d12xlarge is a InstanceType enum value
132101	InstanceTypeZ1d12xlarge = "z1d.12xlarge"
132102
132103	// InstanceTypeZ1dMetal is a InstanceType enum value
132104	InstanceTypeZ1dMetal = "z1d.metal"
132105
132106	// InstanceTypeU6tb156xlarge is a InstanceType enum value
132107	InstanceTypeU6tb156xlarge = "u-6tb1.56xlarge"
132108
132109	// InstanceTypeU6tb1112xlarge is a InstanceType enum value
132110	InstanceTypeU6tb1112xlarge = "u-6tb1.112xlarge"
132111
132112	// InstanceTypeU9tb1112xlarge is a InstanceType enum value
132113	InstanceTypeU9tb1112xlarge = "u-9tb1.112xlarge"
132114
132115	// InstanceTypeU12tb1112xlarge is a InstanceType enum value
132116	InstanceTypeU12tb1112xlarge = "u-12tb1.112xlarge"
132117
132118	// InstanceTypeU6tb1Metal is a InstanceType enum value
132119	InstanceTypeU6tb1Metal = "u-6tb1.metal"
132120
132121	// InstanceTypeU9tb1Metal is a InstanceType enum value
132122	InstanceTypeU9tb1Metal = "u-9tb1.metal"
132123
132124	// InstanceTypeU12tb1Metal is a InstanceType enum value
132125	InstanceTypeU12tb1Metal = "u-12tb1.metal"
132126
132127	// InstanceTypeU18tb1Metal is a InstanceType enum value
132128	InstanceTypeU18tb1Metal = "u-18tb1.metal"
132129
132130	// InstanceTypeU24tb1Metal is a InstanceType enum value
132131	InstanceTypeU24tb1Metal = "u-24tb1.metal"
132132
132133	// InstanceTypeA1Medium is a InstanceType enum value
132134	InstanceTypeA1Medium = "a1.medium"
132135
132136	// InstanceTypeA1Large is a InstanceType enum value
132137	InstanceTypeA1Large = "a1.large"
132138
132139	// InstanceTypeA1Xlarge is a InstanceType enum value
132140	InstanceTypeA1Xlarge = "a1.xlarge"
132141
132142	// InstanceTypeA12xlarge is a InstanceType enum value
132143	InstanceTypeA12xlarge = "a1.2xlarge"
132144
132145	// InstanceTypeA14xlarge is a InstanceType enum value
132146	InstanceTypeA14xlarge = "a1.4xlarge"
132147
132148	// InstanceTypeA1Metal is a InstanceType enum value
132149	InstanceTypeA1Metal = "a1.metal"
132150
132151	// InstanceTypeM5dnLarge is a InstanceType enum value
132152	InstanceTypeM5dnLarge = "m5dn.large"
132153
132154	// InstanceTypeM5dnXlarge is a InstanceType enum value
132155	InstanceTypeM5dnXlarge = "m5dn.xlarge"
132156
132157	// InstanceTypeM5dn2xlarge is a InstanceType enum value
132158	InstanceTypeM5dn2xlarge = "m5dn.2xlarge"
132159
132160	// InstanceTypeM5dn4xlarge is a InstanceType enum value
132161	InstanceTypeM5dn4xlarge = "m5dn.4xlarge"
132162
132163	// InstanceTypeM5dn8xlarge is a InstanceType enum value
132164	InstanceTypeM5dn8xlarge = "m5dn.8xlarge"
132165
132166	// InstanceTypeM5dn12xlarge is a InstanceType enum value
132167	InstanceTypeM5dn12xlarge = "m5dn.12xlarge"
132168
132169	// InstanceTypeM5dn16xlarge is a InstanceType enum value
132170	InstanceTypeM5dn16xlarge = "m5dn.16xlarge"
132171
132172	// InstanceTypeM5dn24xlarge is a InstanceType enum value
132173	InstanceTypeM5dn24xlarge = "m5dn.24xlarge"
132174
132175	// InstanceTypeM5dnMetal is a InstanceType enum value
132176	InstanceTypeM5dnMetal = "m5dn.metal"
132177
132178	// InstanceTypeM5nLarge is a InstanceType enum value
132179	InstanceTypeM5nLarge = "m5n.large"
132180
132181	// InstanceTypeM5nXlarge is a InstanceType enum value
132182	InstanceTypeM5nXlarge = "m5n.xlarge"
132183
132184	// InstanceTypeM5n2xlarge is a InstanceType enum value
132185	InstanceTypeM5n2xlarge = "m5n.2xlarge"
132186
132187	// InstanceTypeM5n4xlarge is a InstanceType enum value
132188	InstanceTypeM5n4xlarge = "m5n.4xlarge"
132189
132190	// InstanceTypeM5n8xlarge is a InstanceType enum value
132191	InstanceTypeM5n8xlarge = "m5n.8xlarge"
132192
132193	// InstanceTypeM5n12xlarge is a InstanceType enum value
132194	InstanceTypeM5n12xlarge = "m5n.12xlarge"
132195
132196	// InstanceTypeM5n16xlarge is a InstanceType enum value
132197	InstanceTypeM5n16xlarge = "m5n.16xlarge"
132198
132199	// InstanceTypeM5n24xlarge is a InstanceType enum value
132200	InstanceTypeM5n24xlarge = "m5n.24xlarge"
132201
132202	// InstanceTypeM5nMetal is a InstanceType enum value
132203	InstanceTypeM5nMetal = "m5n.metal"
132204
132205	// InstanceTypeR5dnLarge is a InstanceType enum value
132206	InstanceTypeR5dnLarge = "r5dn.large"
132207
132208	// InstanceTypeR5dnXlarge is a InstanceType enum value
132209	InstanceTypeR5dnXlarge = "r5dn.xlarge"
132210
132211	// InstanceTypeR5dn2xlarge is a InstanceType enum value
132212	InstanceTypeR5dn2xlarge = "r5dn.2xlarge"
132213
132214	// InstanceTypeR5dn4xlarge is a InstanceType enum value
132215	InstanceTypeR5dn4xlarge = "r5dn.4xlarge"
132216
132217	// InstanceTypeR5dn8xlarge is a InstanceType enum value
132218	InstanceTypeR5dn8xlarge = "r5dn.8xlarge"
132219
132220	// InstanceTypeR5dn12xlarge is a InstanceType enum value
132221	InstanceTypeR5dn12xlarge = "r5dn.12xlarge"
132222
132223	// InstanceTypeR5dn16xlarge is a InstanceType enum value
132224	InstanceTypeR5dn16xlarge = "r5dn.16xlarge"
132225
132226	// InstanceTypeR5dn24xlarge is a InstanceType enum value
132227	InstanceTypeR5dn24xlarge = "r5dn.24xlarge"
132228
132229	// InstanceTypeR5dnMetal is a InstanceType enum value
132230	InstanceTypeR5dnMetal = "r5dn.metal"
132231
132232	// InstanceTypeR5nLarge is a InstanceType enum value
132233	InstanceTypeR5nLarge = "r5n.large"
132234
132235	// InstanceTypeR5nXlarge is a InstanceType enum value
132236	InstanceTypeR5nXlarge = "r5n.xlarge"
132237
132238	// InstanceTypeR5n2xlarge is a InstanceType enum value
132239	InstanceTypeR5n2xlarge = "r5n.2xlarge"
132240
132241	// InstanceTypeR5n4xlarge is a InstanceType enum value
132242	InstanceTypeR5n4xlarge = "r5n.4xlarge"
132243
132244	// InstanceTypeR5n8xlarge is a InstanceType enum value
132245	InstanceTypeR5n8xlarge = "r5n.8xlarge"
132246
132247	// InstanceTypeR5n12xlarge is a InstanceType enum value
132248	InstanceTypeR5n12xlarge = "r5n.12xlarge"
132249
132250	// InstanceTypeR5n16xlarge is a InstanceType enum value
132251	InstanceTypeR5n16xlarge = "r5n.16xlarge"
132252
132253	// InstanceTypeR5n24xlarge is a InstanceType enum value
132254	InstanceTypeR5n24xlarge = "r5n.24xlarge"
132255
132256	// InstanceTypeR5nMetal is a InstanceType enum value
132257	InstanceTypeR5nMetal = "r5n.metal"
132258
132259	// InstanceTypeInf1Xlarge is a InstanceType enum value
132260	InstanceTypeInf1Xlarge = "inf1.xlarge"
132261
132262	// InstanceTypeInf12xlarge is a InstanceType enum value
132263	InstanceTypeInf12xlarge = "inf1.2xlarge"
132264
132265	// InstanceTypeInf16xlarge is a InstanceType enum value
132266	InstanceTypeInf16xlarge = "inf1.6xlarge"
132267
132268	// InstanceTypeInf124xlarge is a InstanceType enum value
132269	InstanceTypeInf124xlarge = "inf1.24xlarge"
132270
132271	// InstanceTypeM6gMetal is a InstanceType enum value
132272	InstanceTypeM6gMetal = "m6g.metal"
132273
132274	// InstanceTypeM6gMedium is a InstanceType enum value
132275	InstanceTypeM6gMedium = "m6g.medium"
132276
132277	// InstanceTypeM6gLarge is a InstanceType enum value
132278	InstanceTypeM6gLarge = "m6g.large"
132279
132280	// InstanceTypeM6gXlarge is a InstanceType enum value
132281	InstanceTypeM6gXlarge = "m6g.xlarge"
132282
132283	// InstanceTypeM6g2xlarge is a InstanceType enum value
132284	InstanceTypeM6g2xlarge = "m6g.2xlarge"
132285
132286	// InstanceTypeM6g4xlarge is a InstanceType enum value
132287	InstanceTypeM6g4xlarge = "m6g.4xlarge"
132288
132289	// InstanceTypeM6g8xlarge is a InstanceType enum value
132290	InstanceTypeM6g8xlarge = "m6g.8xlarge"
132291
132292	// InstanceTypeM6g12xlarge is a InstanceType enum value
132293	InstanceTypeM6g12xlarge = "m6g.12xlarge"
132294
132295	// InstanceTypeM6g16xlarge is a InstanceType enum value
132296	InstanceTypeM6g16xlarge = "m6g.16xlarge"
132297
132298	// InstanceTypeM6gdMetal is a InstanceType enum value
132299	InstanceTypeM6gdMetal = "m6gd.metal"
132300
132301	// InstanceTypeM6gdMedium is a InstanceType enum value
132302	InstanceTypeM6gdMedium = "m6gd.medium"
132303
132304	// InstanceTypeM6gdLarge is a InstanceType enum value
132305	InstanceTypeM6gdLarge = "m6gd.large"
132306
132307	// InstanceTypeM6gdXlarge is a InstanceType enum value
132308	InstanceTypeM6gdXlarge = "m6gd.xlarge"
132309
132310	// InstanceTypeM6gd2xlarge is a InstanceType enum value
132311	InstanceTypeM6gd2xlarge = "m6gd.2xlarge"
132312
132313	// InstanceTypeM6gd4xlarge is a InstanceType enum value
132314	InstanceTypeM6gd4xlarge = "m6gd.4xlarge"
132315
132316	// InstanceTypeM6gd8xlarge is a InstanceType enum value
132317	InstanceTypeM6gd8xlarge = "m6gd.8xlarge"
132318
132319	// InstanceTypeM6gd12xlarge is a InstanceType enum value
132320	InstanceTypeM6gd12xlarge = "m6gd.12xlarge"
132321
132322	// InstanceTypeM6gd16xlarge is a InstanceType enum value
132323	InstanceTypeM6gd16xlarge = "m6gd.16xlarge"
132324
132325	// InstanceTypeM6iLarge is a InstanceType enum value
132326	InstanceTypeM6iLarge = "m6i.large"
132327
132328	// InstanceTypeM6iXlarge is a InstanceType enum value
132329	InstanceTypeM6iXlarge = "m6i.xlarge"
132330
132331	// InstanceTypeM6i2xlarge is a InstanceType enum value
132332	InstanceTypeM6i2xlarge = "m6i.2xlarge"
132333
132334	// InstanceTypeM6i4xlarge is a InstanceType enum value
132335	InstanceTypeM6i4xlarge = "m6i.4xlarge"
132336
132337	// InstanceTypeM6i8xlarge is a InstanceType enum value
132338	InstanceTypeM6i8xlarge = "m6i.8xlarge"
132339
132340	// InstanceTypeM6i12xlarge is a InstanceType enum value
132341	InstanceTypeM6i12xlarge = "m6i.12xlarge"
132342
132343	// InstanceTypeM6i16xlarge is a InstanceType enum value
132344	InstanceTypeM6i16xlarge = "m6i.16xlarge"
132345
132346	// InstanceTypeM6i24xlarge is a InstanceType enum value
132347	InstanceTypeM6i24xlarge = "m6i.24xlarge"
132348
132349	// InstanceTypeM6i32xlarge is a InstanceType enum value
132350	InstanceTypeM6i32xlarge = "m6i.32xlarge"
132351
132352	// InstanceTypeMac1Metal is a InstanceType enum value
132353	InstanceTypeMac1Metal = "mac1.metal"
132354
132355	// InstanceTypeX2gdMedium is a InstanceType enum value
132356	InstanceTypeX2gdMedium = "x2gd.medium"
132357
132358	// InstanceTypeX2gdLarge is a InstanceType enum value
132359	InstanceTypeX2gdLarge = "x2gd.large"
132360
132361	// InstanceTypeX2gdXlarge is a InstanceType enum value
132362	InstanceTypeX2gdXlarge = "x2gd.xlarge"
132363
132364	// InstanceTypeX2gd2xlarge is a InstanceType enum value
132365	InstanceTypeX2gd2xlarge = "x2gd.2xlarge"
132366
132367	// InstanceTypeX2gd4xlarge is a InstanceType enum value
132368	InstanceTypeX2gd4xlarge = "x2gd.4xlarge"
132369
132370	// InstanceTypeX2gd8xlarge is a InstanceType enum value
132371	InstanceTypeX2gd8xlarge = "x2gd.8xlarge"
132372
132373	// InstanceTypeX2gd12xlarge is a InstanceType enum value
132374	InstanceTypeX2gd12xlarge = "x2gd.12xlarge"
132375
132376	// InstanceTypeX2gd16xlarge is a InstanceType enum value
132377	InstanceTypeX2gd16xlarge = "x2gd.16xlarge"
132378
132379	// InstanceTypeX2gdMetal is a InstanceType enum value
132380	InstanceTypeX2gdMetal = "x2gd.metal"
132381)
132382
132383// InstanceType_Values returns all elements of the InstanceType enum
132384func InstanceType_Values() []string {
132385	return []string{
132386		InstanceTypeT1Micro,
132387		InstanceTypeT2Nano,
132388		InstanceTypeT2Micro,
132389		InstanceTypeT2Small,
132390		InstanceTypeT2Medium,
132391		InstanceTypeT2Large,
132392		InstanceTypeT2Xlarge,
132393		InstanceTypeT22xlarge,
132394		InstanceTypeT3Nano,
132395		InstanceTypeT3Micro,
132396		InstanceTypeT3Small,
132397		InstanceTypeT3Medium,
132398		InstanceTypeT3Large,
132399		InstanceTypeT3Xlarge,
132400		InstanceTypeT32xlarge,
132401		InstanceTypeT3aNano,
132402		InstanceTypeT3aMicro,
132403		InstanceTypeT3aSmall,
132404		InstanceTypeT3aMedium,
132405		InstanceTypeT3aLarge,
132406		InstanceTypeT3aXlarge,
132407		InstanceTypeT3a2xlarge,
132408		InstanceTypeT4gNano,
132409		InstanceTypeT4gMicro,
132410		InstanceTypeT4gSmall,
132411		InstanceTypeT4gMedium,
132412		InstanceTypeT4gLarge,
132413		InstanceTypeT4gXlarge,
132414		InstanceTypeT4g2xlarge,
132415		InstanceTypeM1Small,
132416		InstanceTypeM1Medium,
132417		InstanceTypeM1Large,
132418		InstanceTypeM1Xlarge,
132419		InstanceTypeM3Medium,
132420		InstanceTypeM3Large,
132421		InstanceTypeM3Xlarge,
132422		InstanceTypeM32xlarge,
132423		InstanceTypeM4Large,
132424		InstanceTypeM4Xlarge,
132425		InstanceTypeM42xlarge,
132426		InstanceTypeM44xlarge,
132427		InstanceTypeM410xlarge,
132428		InstanceTypeM416xlarge,
132429		InstanceTypeM2Xlarge,
132430		InstanceTypeM22xlarge,
132431		InstanceTypeM24xlarge,
132432		InstanceTypeCr18xlarge,
132433		InstanceTypeR3Large,
132434		InstanceTypeR3Xlarge,
132435		InstanceTypeR32xlarge,
132436		InstanceTypeR34xlarge,
132437		InstanceTypeR38xlarge,
132438		InstanceTypeR4Large,
132439		InstanceTypeR4Xlarge,
132440		InstanceTypeR42xlarge,
132441		InstanceTypeR44xlarge,
132442		InstanceTypeR48xlarge,
132443		InstanceTypeR416xlarge,
132444		InstanceTypeR5Large,
132445		InstanceTypeR5Xlarge,
132446		InstanceTypeR52xlarge,
132447		InstanceTypeR54xlarge,
132448		InstanceTypeR58xlarge,
132449		InstanceTypeR512xlarge,
132450		InstanceTypeR516xlarge,
132451		InstanceTypeR524xlarge,
132452		InstanceTypeR5Metal,
132453		InstanceTypeR5aLarge,
132454		InstanceTypeR5aXlarge,
132455		InstanceTypeR5a2xlarge,
132456		InstanceTypeR5a4xlarge,
132457		InstanceTypeR5a8xlarge,
132458		InstanceTypeR5a12xlarge,
132459		InstanceTypeR5a16xlarge,
132460		InstanceTypeR5a24xlarge,
132461		InstanceTypeR5bLarge,
132462		InstanceTypeR5bXlarge,
132463		InstanceTypeR5b2xlarge,
132464		InstanceTypeR5b4xlarge,
132465		InstanceTypeR5b8xlarge,
132466		InstanceTypeR5b12xlarge,
132467		InstanceTypeR5b16xlarge,
132468		InstanceTypeR5b24xlarge,
132469		InstanceTypeR5bMetal,
132470		InstanceTypeR5dLarge,
132471		InstanceTypeR5dXlarge,
132472		InstanceTypeR5d2xlarge,
132473		InstanceTypeR5d4xlarge,
132474		InstanceTypeR5d8xlarge,
132475		InstanceTypeR5d12xlarge,
132476		InstanceTypeR5d16xlarge,
132477		InstanceTypeR5d24xlarge,
132478		InstanceTypeR5dMetal,
132479		InstanceTypeR5adLarge,
132480		InstanceTypeR5adXlarge,
132481		InstanceTypeR5ad2xlarge,
132482		InstanceTypeR5ad4xlarge,
132483		InstanceTypeR5ad8xlarge,
132484		InstanceTypeR5ad12xlarge,
132485		InstanceTypeR5ad16xlarge,
132486		InstanceTypeR5ad24xlarge,
132487		InstanceTypeR6gMetal,
132488		InstanceTypeR6gMedium,
132489		InstanceTypeR6gLarge,
132490		InstanceTypeR6gXlarge,
132491		InstanceTypeR6g2xlarge,
132492		InstanceTypeR6g4xlarge,
132493		InstanceTypeR6g8xlarge,
132494		InstanceTypeR6g12xlarge,
132495		InstanceTypeR6g16xlarge,
132496		InstanceTypeR6gdMetal,
132497		InstanceTypeR6gdMedium,
132498		InstanceTypeR6gdLarge,
132499		InstanceTypeR6gdXlarge,
132500		InstanceTypeR6gd2xlarge,
132501		InstanceTypeR6gd4xlarge,
132502		InstanceTypeR6gd8xlarge,
132503		InstanceTypeR6gd12xlarge,
132504		InstanceTypeR6gd16xlarge,
132505		InstanceTypeX116xlarge,
132506		InstanceTypeX132xlarge,
132507		InstanceTypeX1eXlarge,
132508		InstanceTypeX1e2xlarge,
132509		InstanceTypeX1e4xlarge,
132510		InstanceTypeX1e8xlarge,
132511		InstanceTypeX1e16xlarge,
132512		InstanceTypeX1e32xlarge,
132513		InstanceTypeI2Xlarge,
132514		InstanceTypeI22xlarge,
132515		InstanceTypeI24xlarge,
132516		InstanceTypeI28xlarge,
132517		InstanceTypeI3Large,
132518		InstanceTypeI3Xlarge,
132519		InstanceTypeI32xlarge,
132520		InstanceTypeI34xlarge,
132521		InstanceTypeI38xlarge,
132522		InstanceTypeI316xlarge,
132523		InstanceTypeI3Metal,
132524		InstanceTypeI3enLarge,
132525		InstanceTypeI3enXlarge,
132526		InstanceTypeI3en2xlarge,
132527		InstanceTypeI3en3xlarge,
132528		InstanceTypeI3en6xlarge,
132529		InstanceTypeI3en12xlarge,
132530		InstanceTypeI3en24xlarge,
132531		InstanceTypeI3enMetal,
132532		InstanceTypeHi14xlarge,
132533		InstanceTypeHs18xlarge,
132534		InstanceTypeC1Medium,
132535		InstanceTypeC1Xlarge,
132536		InstanceTypeC3Large,
132537		InstanceTypeC3Xlarge,
132538		InstanceTypeC32xlarge,
132539		InstanceTypeC34xlarge,
132540		InstanceTypeC38xlarge,
132541		InstanceTypeC4Large,
132542		InstanceTypeC4Xlarge,
132543		InstanceTypeC42xlarge,
132544		InstanceTypeC44xlarge,
132545		InstanceTypeC48xlarge,
132546		InstanceTypeC5Large,
132547		InstanceTypeC5Xlarge,
132548		InstanceTypeC52xlarge,
132549		InstanceTypeC54xlarge,
132550		InstanceTypeC59xlarge,
132551		InstanceTypeC512xlarge,
132552		InstanceTypeC518xlarge,
132553		InstanceTypeC524xlarge,
132554		InstanceTypeC5Metal,
132555		InstanceTypeC5aLarge,
132556		InstanceTypeC5aXlarge,
132557		InstanceTypeC5a2xlarge,
132558		InstanceTypeC5a4xlarge,
132559		InstanceTypeC5a8xlarge,
132560		InstanceTypeC5a12xlarge,
132561		InstanceTypeC5a16xlarge,
132562		InstanceTypeC5a24xlarge,
132563		InstanceTypeC5adLarge,
132564		InstanceTypeC5adXlarge,
132565		InstanceTypeC5ad2xlarge,
132566		InstanceTypeC5ad4xlarge,
132567		InstanceTypeC5ad8xlarge,
132568		InstanceTypeC5ad12xlarge,
132569		InstanceTypeC5ad16xlarge,
132570		InstanceTypeC5ad24xlarge,
132571		InstanceTypeC5dLarge,
132572		InstanceTypeC5dXlarge,
132573		InstanceTypeC5d2xlarge,
132574		InstanceTypeC5d4xlarge,
132575		InstanceTypeC5d9xlarge,
132576		InstanceTypeC5d12xlarge,
132577		InstanceTypeC5d18xlarge,
132578		InstanceTypeC5d24xlarge,
132579		InstanceTypeC5dMetal,
132580		InstanceTypeC5nLarge,
132581		InstanceTypeC5nXlarge,
132582		InstanceTypeC5n2xlarge,
132583		InstanceTypeC5n4xlarge,
132584		InstanceTypeC5n9xlarge,
132585		InstanceTypeC5n18xlarge,
132586		InstanceTypeC5nMetal,
132587		InstanceTypeC6gMetal,
132588		InstanceTypeC6gMedium,
132589		InstanceTypeC6gLarge,
132590		InstanceTypeC6gXlarge,
132591		InstanceTypeC6g2xlarge,
132592		InstanceTypeC6g4xlarge,
132593		InstanceTypeC6g8xlarge,
132594		InstanceTypeC6g12xlarge,
132595		InstanceTypeC6g16xlarge,
132596		InstanceTypeC6gdMetal,
132597		InstanceTypeC6gdMedium,
132598		InstanceTypeC6gdLarge,
132599		InstanceTypeC6gdXlarge,
132600		InstanceTypeC6gd2xlarge,
132601		InstanceTypeC6gd4xlarge,
132602		InstanceTypeC6gd8xlarge,
132603		InstanceTypeC6gd12xlarge,
132604		InstanceTypeC6gd16xlarge,
132605		InstanceTypeC6gnMedium,
132606		InstanceTypeC6gnLarge,
132607		InstanceTypeC6gnXlarge,
132608		InstanceTypeC6gn2xlarge,
132609		InstanceTypeC6gn4xlarge,
132610		InstanceTypeC6gn8xlarge,
132611		InstanceTypeC6gn12xlarge,
132612		InstanceTypeC6gn16xlarge,
132613		InstanceTypeCc14xlarge,
132614		InstanceTypeCc28xlarge,
132615		InstanceTypeG22xlarge,
132616		InstanceTypeG28xlarge,
132617		InstanceTypeG34xlarge,
132618		InstanceTypeG38xlarge,
132619		InstanceTypeG316xlarge,
132620		InstanceTypeG3sXlarge,
132621		InstanceTypeG4adXlarge,
132622		InstanceTypeG4ad2xlarge,
132623		InstanceTypeG4ad4xlarge,
132624		InstanceTypeG4ad8xlarge,
132625		InstanceTypeG4ad16xlarge,
132626		InstanceTypeG4dnXlarge,
132627		InstanceTypeG4dn2xlarge,
132628		InstanceTypeG4dn4xlarge,
132629		InstanceTypeG4dn8xlarge,
132630		InstanceTypeG4dn12xlarge,
132631		InstanceTypeG4dn16xlarge,
132632		InstanceTypeG4dnMetal,
132633		InstanceTypeCg14xlarge,
132634		InstanceTypeP2Xlarge,
132635		InstanceTypeP28xlarge,
132636		InstanceTypeP216xlarge,
132637		InstanceTypeP32xlarge,
132638		InstanceTypeP38xlarge,
132639		InstanceTypeP316xlarge,
132640		InstanceTypeP3dn24xlarge,
132641		InstanceTypeP4d24xlarge,
132642		InstanceTypeD2Xlarge,
132643		InstanceTypeD22xlarge,
132644		InstanceTypeD24xlarge,
132645		InstanceTypeD28xlarge,
132646		InstanceTypeD3Xlarge,
132647		InstanceTypeD32xlarge,
132648		InstanceTypeD34xlarge,
132649		InstanceTypeD38xlarge,
132650		InstanceTypeD3enXlarge,
132651		InstanceTypeD3en2xlarge,
132652		InstanceTypeD3en4xlarge,
132653		InstanceTypeD3en6xlarge,
132654		InstanceTypeD3en8xlarge,
132655		InstanceTypeD3en12xlarge,
132656		InstanceTypeF12xlarge,
132657		InstanceTypeF14xlarge,
132658		InstanceTypeF116xlarge,
132659		InstanceTypeM5Large,
132660		InstanceTypeM5Xlarge,
132661		InstanceTypeM52xlarge,
132662		InstanceTypeM54xlarge,
132663		InstanceTypeM58xlarge,
132664		InstanceTypeM512xlarge,
132665		InstanceTypeM516xlarge,
132666		InstanceTypeM524xlarge,
132667		InstanceTypeM5Metal,
132668		InstanceTypeM5aLarge,
132669		InstanceTypeM5aXlarge,
132670		InstanceTypeM5a2xlarge,
132671		InstanceTypeM5a4xlarge,
132672		InstanceTypeM5a8xlarge,
132673		InstanceTypeM5a12xlarge,
132674		InstanceTypeM5a16xlarge,
132675		InstanceTypeM5a24xlarge,
132676		InstanceTypeM5dLarge,
132677		InstanceTypeM5dXlarge,
132678		InstanceTypeM5d2xlarge,
132679		InstanceTypeM5d4xlarge,
132680		InstanceTypeM5d8xlarge,
132681		InstanceTypeM5d12xlarge,
132682		InstanceTypeM5d16xlarge,
132683		InstanceTypeM5d24xlarge,
132684		InstanceTypeM5dMetal,
132685		InstanceTypeM5adLarge,
132686		InstanceTypeM5adXlarge,
132687		InstanceTypeM5ad2xlarge,
132688		InstanceTypeM5ad4xlarge,
132689		InstanceTypeM5ad8xlarge,
132690		InstanceTypeM5ad12xlarge,
132691		InstanceTypeM5ad16xlarge,
132692		InstanceTypeM5ad24xlarge,
132693		InstanceTypeM5znLarge,
132694		InstanceTypeM5znXlarge,
132695		InstanceTypeM5zn2xlarge,
132696		InstanceTypeM5zn3xlarge,
132697		InstanceTypeM5zn6xlarge,
132698		InstanceTypeM5zn12xlarge,
132699		InstanceTypeM5znMetal,
132700		InstanceTypeH12xlarge,
132701		InstanceTypeH14xlarge,
132702		InstanceTypeH18xlarge,
132703		InstanceTypeH116xlarge,
132704		InstanceTypeZ1dLarge,
132705		InstanceTypeZ1dXlarge,
132706		InstanceTypeZ1d2xlarge,
132707		InstanceTypeZ1d3xlarge,
132708		InstanceTypeZ1d6xlarge,
132709		InstanceTypeZ1d12xlarge,
132710		InstanceTypeZ1dMetal,
132711		InstanceTypeU6tb156xlarge,
132712		InstanceTypeU6tb1112xlarge,
132713		InstanceTypeU9tb1112xlarge,
132714		InstanceTypeU12tb1112xlarge,
132715		InstanceTypeU6tb1Metal,
132716		InstanceTypeU9tb1Metal,
132717		InstanceTypeU12tb1Metal,
132718		InstanceTypeU18tb1Metal,
132719		InstanceTypeU24tb1Metal,
132720		InstanceTypeA1Medium,
132721		InstanceTypeA1Large,
132722		InstanceTypeA1Xlarge,
132723		InstanceTypeA12xlarge,
132724		InstanceTypeA14xlarge,
132725		InstanceTypeA1Metal,
132726		InstanceTypeM5dnLarge,
132727		InstanceTypeM5dnXlarge,
132728		InstanceTypeM5dn2xlarge,
132729		InstanceTypeM5dn4xlarge,
132730		InstanceTypeM5dn8xlarge,
132731		InstanceTypeM5dn12xlarge,
132732		InstanceTypeM5dn16xlarge,
132733		InstanceTypeM5dn24xlarge,
132734		InstanceTypeM5dnMetal,
132735		InstanceTypeM5nLarge,
132736		InstanceTypeM5nXlarge,
132737		InstanceTypeM5n2xlarge,
132738		InstanceTypeM5n4xlarge,
132739		InstanceTypeM5n8xlarge,
132740		InstanceTypeM5n12xlarge,
132741		InstanceTypeM5n16xlarge,
132742		InstanceTypeM5n24xlarge,
132743		InstanceTypeM5nMetal,
132744		InstanceTypeR5dnLarge,
132745		InstanceTypeR5dnXlarge,
132746		InstanceTypeR5dn2xlarge,
132747		InstanceTypeR5dn4xlarge,
132748		InstanceTypeR5dn8xlarge,
132749		InstanceTypeR5dn12xlarge,
132750		InstanceTypeR5dn16xlarge,
132751		InstanceTypeR5dn24xlarge,
132752		InstanceTypeR5dnMetal,
132753		InstanceTypeR5nLarge,
132754		InstanceTypeR5nXlarge,
132755		InstanceTypeR5n2xlarge,
132756		InstanceTypeR5n4xlarge,
132757		InstanceTypeR5n8xlarge,
132758		InstanceTypeR5n12xlarge,
132759		InstanceTypeR5n16xlarge,
132760		InstanceTypeR5n24xlarge,
132761		InstanceTypeR5nMetal,
132762		InstanceTypeInf1Xlarge,
132763		InstanceTypeInf12xlarge,
132764		InstanceTypeInf16xlarge,
132765		InstanceTypeInf124xlarge,
132766		InstanceTypeM6gMetal,
132767		InstanceTypeM6gMedium,
132768		InstanceTypeM6gLarge,
132769		InstanceTypeM6gXlarge,
132770		InstanceTypeM6g2xlarge,
132771		InstanceTypeM6g4xlarge,
132772		InstanceTypeM6g8xlarge,
132773		InstanceTypeM6g12xlarge,
132774		InstanceTypeM6g16xlarge,
132775		InstanceTypeM6gdMetal,
132776		InstanceTypeM6gdMedium,
132777		InstanceTypeM6gdLarge,
132778		InstanceTypeM6gdXlarge,
132779		InstanceTypeM6gd2xlarge,
132780		InstanceTypeM6gd4xlarge,
132781		InstanceTypeM6gd8xlarge,
132782		InstanceTypeM6gd12xlarge,
132783		InstanceTypeM6gd16xlarge,
132784		InstanceTypeM6iLarge,
132785		InstanceTypeM6iXlarge,
132786		InstanceTypeM6i2xlarge,
132787		InstanceTypeM6i4xlarge,
132788		InstanceTypeM6i8xlarge,
132789		InstanceTypeM6i12xlarge,
132790		InstanceTypeM6i16xlarge,
132791		InstanceTypeM6i24xlarge,
132792		InstanceTypeM6i32xlarge,
132793		InstanceTypeMac1Metal,
132794		InstanceTypeX2gdMedium,
132795		InstanceTypeX2gdLarge,
132796		InstanceTypeX2gdXlarge,
132797		InstanceTypeX2gd2xlarge,
132798		InstanceTypeX2gd4xlarge,
132799		InstanceTypeX2gd8xlarge,
132800		InstanceTypeX2gd12xlarge,
132801		InstanceTypeX2gd16xlarge,
132802		InstanceTypeX2gdMetal,
132803	}
132804}
132805
132806const (
132807	// InstanceTypeHypervisorNitro is a InstanceTypeHypervisor enum value
132808	InstanceTypeHypervisorNitro = "nitro"
132809
132810	// InstanceTypeHypervisorXen is a InstanceTypeHypervisor enum value
132811	InstanceTypeHypervisorXen = "xen"
132812)
132813
132814// InstanceTypeHypervisor_Values returns all elements of the InstanceTypeHypervisor enum
132815func InstanceTypeHypervisor_Values() []string {
132816	return []string{
132817		InstanceTypeHypervisorNitro,
132818		InstanceTypeHypervisorXen,
132819	}
132820}
132821
132822const (
132823	// InterfacePermissionTypeInstanceAttach is a InterfacePermissionType enum value
132824	InterfacePermissionTypeInstanceAttach = "INSTANCE-ATTACH"
132825
132826	// InterfacePermissionTypeEipAssociate is a InterfacePermissionType enum value
132827	InterfacePermissionTypeEipAssociate = "EIP-ASSOCIATE"
132828)
132829
132830// InterfacePermissionType_Values returns all elements of the InterfacePermissionType enum
132831func InterfacePermissionType_Values() []string {
132832	return []string{
132833		InterfacePermissionTypeInstanceAttach,
132834		InterfacePermissionTypeEipAssociate,
132835	}
132836}
132837
132838const (
132839	// InterfaceProtocolTypeVlan is a InterfaceProtocolType enum value
132840	InterfaceProtocolTypeVlan = "VLAN"
132841
132842	// InterfaceProtocolTypeGre is a InterfaceProtocolType enum value
132843	InterfaceProtocolTypeGre = "GRE"
132844)
132845
132846// InterfaceProtocolType_Values returns all elements of the InterfaceProtocolType enum
132847func InterfaceProtocolType_Values() []string {
132848	return []string{
132849		InterfaceProtocolTypeVlan,
132850		InterfaceProtocolTypeGre,
132851	}
132852}
132853
132854const (
132855	// Ipv6SupportValueEnable is a Ipv6SupportValue enum value
132856	Ipv6SupportValueEnable = "enable"
132857
132858	// Ipv6SupportValueDisable is a Ipv6SupportValue enum value
132859	Ipv6SupportValueDisable = "disable"
132860)
132861
132862// Ipv6SupportValue_Values returns all elements of the Ipv6SupportValue enum
132863func Ipv6SupportValue_Values() []string {
132864	return []string{
132865		Ipv6SupportValueEnable,
132866		Ipv6SupportValueDisable,
132867	}
132868}
132869
132870const (
132871	// KeyTypeRsa is a KeyType enum value
132872	KeyTypeRsa = "rsa"
132873
132874	// KeyTypeEd25519 is a KeyType enum value
132875	KeyTypeEd25519 = "ed25519"
132876)
132877
132878// KeyType_Values returns all elements of the KeyType enum
132879func KeyType_Values() []string {
132880	return []string{
132881		KeyTypeRsa,
132882		KeyTypeEd25519,
132883	}
132884}
132885
132886const (
132887	// LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist is a LaunchTemplateErrorCode enum value
132888	LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist = "launchTemplateIdDoesNotExist"
132889
132890	// LaunchTemplateErrorCodeLaunchTemplateIdMalformed is a LaunchTemplateErrorCode enum value
132891	LaunchTemplateErrorCodeLaunchTemplateIdMalformed = "launchTemplateIdMalformed"
132892
132893	// LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist is a LaunchTemplateErrorCode enum value
132894	LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist = "launchTemplateNameDoesNotExist"
132895
132896	// LaunchTemplateErrorCodeLaunchTemplateNameMalformed is a LaunchTemplateErrorCode enum value
132897	LaunchTemplateErrorCodeLaunchTemplateNameMalformed = "launchTemplateNameMalformed"
132898
132899	// LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist is a LaunchTemplateErrorCode enum value
132900	LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist = "launchTemplateVersionDoesNotExist"
132901
132902	// LaunchTemplateErrorCodeUnexpectedError is a LaunchTemplateErrorCode enum value
132903	LaunchTemplateErrorCodeUnexpectedError = "unexpectedError"
132904)
132905
132906// LaunchTemplateErrorCode_Values returns all elements of the LaunchTemplateErrorCode enum
132907func LaunchTemplateErrorCode_Values() []string {
132908	return []string{
132909		LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist,
132910		LaunchTemplateErrorCodeLaunchTemplateIdMalformed,
132911		LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist,
132912		LaunchTemplateErrorCodeLaunchTemplateNameMalformed,
132913		LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist,
132914		LaunchTemplateErrorCodeUnexpectedError,
132915	}
132916}
132917
132918const (
132919	// LaunchTemplateHttpTokensStateOptional is a LaunchTemplateHttpTokensState enum value
132920	LaunchTemplateHttpTokensStateOptional = "optional"
132921
132922	// LaunchTemplateHttpTokensStateRequired is a LaunchTemplateHttpTokensState enum value
132923	LaunchTemplateHttpTokensStateRequired = "required"
132924)
132925
132926// LaunchTemplateHttpTokensState_Values returns all elements of the LaunchTemplateHttpTokensState enum
132927func LaunchTemplateHttpTokensState_Values() []string {
132928	return []string{
132929		LaunchTemplateHttpTokensStateOptional,
132930		LaunchTemplateHttpTokensStateRequired,
132931	}
132932}
132933
132934const (
132935	// LaunchTemplateInstanceMetadataEndpointStateDisabled is a LaunchTemplateInstanceMetadataEndpointState enum value
132936	LaunchTemplateInstanceMetadataEndpointStateDisabled = "disabled"
132937
132938	// LaunchTemplateInstanceMetadataEndpointStateEnabled is a LaunchTemplateInstanceMetadataEndpointState enum value
132939	LaunchTemplateInstanceMetadataEndpointStateEnabled = "enabled"
132940)
132941
132942// LaunchTemplateInstanceMetadataEndpointState_Values returns all elements of the LaunchTemplateInstanceMetadataEndpointState enum
132943func LaunchTemplateInstanceMetadataEndpointState_Values() []string {
132944	return []string{
132945		LaunchTemplateInstanceMetadataEndpointStateDisabled,
132946		LaunchTemplateInstanceMetadataEndpointStateEnabled,
132947	}
132948}
132949
132950const (
132951	// LaunchTemplateInstanceMetadataOptionsStatePending is a LaunchTemplateInstanceMetadataOptionsState enum value
132952	LaunchTemplateInstanceMetadataOptionsStatePending = "pending"
132953
132954	// LaunchTemplateInstanceMetadataOptionsStateApplied is a LaunchTemplateInstanceMetadataOptionsState enum value
132955	LaunchTemplateInstanceMetadataOptionsStateApplied = "applied"
132956)
132957
132958// LaunchTemplateInstanceMetadataOptionsState_Values returns all elements of the LaunchTemplateInstanceMetadataOptionsState enum
132959func LaunchTemplateInstanceMetadataOptionsState_Values() []string {
132960	return []string{
132961		LaunchTemplateInstanceMetadataOptionsStatePending,
132962		LaunchTemplateInstanceMetadataOptionsStateApplied,
132963	}
132964}
132965
132966const (
132967	// LaunchTemplateInstanceMetadataProtocolIpv6Disabled is a LaunchTemplateInstanceMetadataProtocolIpv6 enum value
132968	LaunchTemplateInstanceMetadataProtocolIpv6Disabled = "disabled"
132969
132970	// LaunchTemplateInstanceMetadataProtocolIpv6Enabled is a LaunchTemplateInstanceMetadataProtocolIpv6 enum value
132971	LaunchTemplateInstanceMetadataProtocolIpv6Enabled = "enabled"
132972)
132973
132974// LaunchTemplateInstanceMetadataProtocolIpv6_Values returns all elements of the LaunchTemplateInstanceMetadataProtocolIpv6 enum
132975func LaunchTemplateInstanceMetadataProtocolIpv6_Values() []string {
132976	return []string{
132977		LaunchTemplateInstanceMetadataProtocolIpv6Disabled,
132978		LaunchTemplateInstanceMetadataProtocolIpv6Enabled,
132979	}
132980}
132981
132982const (
132983	// ListingStateAvailable is a ListingState enum value
132984	ListingStateAvailable = "available"
132985
132986	// ListingStateSold is a ListingState enum value
132987	ListingStateSold = "sold"
132988
132989	// ListingStateCancelled is a ListingState enum value
132990	ListingStateCancelled = "cancelled"
132991
132992	// ListingStatePending is a ListingState enum value
132993	ListingStatePending = "pending"
132994)
132995
132996// ListingState_Values returns all elements of the ListingState enum
132997func ListingState_Values() []string {
132998	return []string{
132999		ListingStateAvailable,
133000		ListingStateSold,
133001		ListingStateCancelled,
133002		ListingStatePending,
133003	}
133004}
133005
133006const (
133007	// ListingStatusActive is a ListingStatus enum value
133008	ListingStatusActive = "active"
133009
133010	// ListingStatusPending is a ListingStatus enum value
133011	ListingStatusPending = "pending"
133012
133013	// ListingStatusCancelled is a ListingStatus enum value
133014	ListingStatusCancelled = "cancelled"
133015
133016	// ListingStatusClosed is a ListingStatus enum value
133017	ListingStatusClosed = "closed"
133018)
133019
133020// ListingStatus_Values returns all elements of the ListingStatus enum
133021func ListingStatus_Values() []string {
133022	return []string{
133023		ListingStatusActive,
133024		ListingStatusPending,
133025		ListingStatusCancelled,
133026		ListingStatusClosed,
133027	}
133028}
133029
133030const (
133031	// LocalGatewayRouteStatePending is a LocalGatewayRouteState enum value
133032	LocalGatewayRouteStatePending = "pending"
133033
133034	// LocalGatewayRouteStateActive is a LocalGatewayRouteState enum value
133035	LocalGatewayRouteStateActive = "active"
133036
133037	// LocalGatewayRouteStateBlackhole is a LocalGatewayRouteState enum value
133038	LocalGatewayRouteStateBlackhole = "blackhole"
133039
133040	// LocalGatewayRouteStateDeleting is a LocalGatewayRouteState enum value
133041	LocalGatewayRouteStateDeleting = "deleting"
133042
133043	// LocalGatewayRouteStateDeleted is a LocalGatewayRouteState enum value
133044	LocalGatewayRouteStateDeleted = "deleted"
133045)
133046
133047// LocalGatewayRouteState_Values returns all elements of the LocalGatewayRouteState enum
133048func LocalGatewayRouteState_Values() []string {
133049	return []string{
133050		LocalGatewayRouteStatePending,
133051		LocalGatewayRouteStateActive,
133052		LocalGatewayRouteStateBlackhole,
133053		LocalGatewayRouteStateDeleting,
133054		LocalGatewayRouteStateDeleted,
133055	}
133056}
133057
133058const (
133059	// LocalGatewayRouteTypeStatic is a LocalGatewayRouteType enum value
133060	LocalGatewayRouteTypeStatic = "static"
133061
133062	// LocalGatewayRouteTypePropagated is a LocalGatewayRouteType enum value
133063	LocalGatewayRouteTypePropagated = "propagated"
133064)
133065
133066// LocalGatewayRouteType_Values returns all elements of the LocalGatewayRouteType enum
133067func LocalGatewayRouteType_Values() []string {
133068	return []string{
133069		LocalGatewayRouteTypeStatic,
133070		LocalGatewayRouteTypePropagated,
133071	}
133072}
133073
133074const (
133075	// LocationTypeRegion is a LocationType enum value
133076	LocationTypeRegion = "region"
133077
133078	// LocationTypeAvailabilityZone is a LocationType enum value
133079	LocationTypeAvailabilityZone = "availability-zone"
133080
133081	// LocationTypeAvailabilityZoneId is a LocationType enum value
133082	LocationTypeAvailabilityZoneId = "availability-zone-id"
133083)
133084
133085// LocationType_Values returns all elements of the LocationType enum
133086func LocationType_Values() []string {
133087	return []string{
133088		LocationTypeRegion,
133089		LocationTypeAvailabilityZone,
133090		LocationTypeAvailabilityZoneId,
133091	}
133092}
133093
133094const (
133095	// LogDestinationTypeCloudWatchLogs is a LogDestinationType enum value
133096	LogDestinationTypeCloudWatchLogs = "cloud-watch-logs"
133097
133098	// LogDestinationTypeS3 is a LogDestinationType enum value
133099	LogDestinationTypeS3 = "s3"
133100)
133101
133102// LogDestinationType_Values returns all elements of the LogDestinationType enum
133103func LogDestinationType_Values() []string {
133104	return []string{
133105		LogDestinationTypeCloudWatchLogs,
133106		LogDestinationTypeS3,
133107	}
133108}
133109
133110const (
133111	// MarketTypeSpot is a MarketType enum value
133112	MarketTypeSpot = "spot"
133113)
133114
133115// MarketType_Values returns all elements of the MarketType enum
133116func MarketType_Values() []string {
133117	return []string{
133118		MarketTypeSpot,
133119	}
133120}
133121
133122const (
133123	// MembershipTypeStatic is a MembershipType enum value
133124	MembershipTypeStatic = "static"
133125
133126	// MembershipTypeIgmp is a MembershipType enum value
133127	MembershipTypeIgmp = "igmp"
133128)
133129
133130// MembershipType_Values returns all elements of the MembershipType enum
133131func MembershipType_Values() []string {
133132	return []string{
133133		MembershipTypeStatic,
133134		MembershipTypeIgmp,
133135	}
133136}
133137
133138const (
133139	// ModifyAvailabilityZoneOptInStatusOptedIn is a ModifyAvailabilityZoneOptInStatus enum value
133140	ModifyAvailabilityZoneOptInStatusOptedIn = "opted-in"
133141
133142	// ModifyAvailabilityZoneOptInStatusNotOptedIn is a ModifyAvailabilityZoneOptInStatus enum value
133143	ModifyAvailabilityZoneOptInStatusNotOptedIn = "not-opted-in"
133144)
133145
133146// ModifyAvailabilityZoneOptInStatus_Values returns all elements of the ModifyAvailabilityZoneOptInStatus enum
133147func ModifyAvailabilityZoneOptInStatus_Values() []string {
133148	return []string{
133149		ModifyAvailabilityZoneOptInStatusOptedIn,
133150		ModifyAvailabilityZoneOptInStatusNotOptedIn,
133151	}
133152}
133153
133154const (
133155	// MonitoringStateDisabled is a MonitoringState enum value
133156	MonitoringStateDisabled = "disabled"
133157
133158	// MonitoringStateDisabling is a MonitoringState enum value
133159	MonitoringStateDisabling = "disabling"
133160
133161	// MonitoringStateEnabled is a MonitoringState enum value
133162	MonitoringStateEnabled = "enabled"
133163
133164	// MonitoringStatePending is a MonitoringState enum value
133165	MonitoringStatePending = "pending"
133166)
133167
133168// MonitoringState_Values returns all elements of the MonitoringState enum
133169func MonitoringState_Values() []string {
133170	return []string{
133171		MonitoringStateDisabled,
133172		MonitoringStateDisabling,
133173		MonitoringStateEnabled,
133174		MonitoringStatePending,
133175	}
133176}
133177
133178const (
133179	// MoveStatusMovingToVpc is a MoveStatus enum value
133180	MoveStatusMovingToVpc = "movingToVpc"
133181
133182	// MoveStatusRestoringToClassic is a MoveStatus enum value
133183	MoveStatusRestoringToClassic = "restoringToClassic"
133184)
133185
133186// MoveStatus_Values returns all elements of the MoveStatus enum
133187func MoveStatus_Values() []string {
133188	return []string{
133189		MoveStatusMovingToVpc,
133190		MoveStatusRestoringToClassic,
133191	}
133192}
133193
133194const (
133195	// MulticastSupportValueEnable is a MulticastSupportValue enum value
133196	MulticastSupportValueEnable = "enable"
133197
133198	// MulticastSupportValueDisable is a MulticastSupportValue enum value
133199	MulticastSupportValueDisable = "disable"
133200)
133201
133202// MulticastSupportValue_Values returns all elements of the MulticastSupportValue enum
133203func MulticastSupportValue_Values() []string {
133204	return []string{
133205		MulticastSupportValueEnable,
133206		MulticastSupportValueDisable,
133207	}
133208}
133209
133210const (
133211	// NatGatewayStatePending is a NatGatewayState enum value
133212	NatGatewayStatePending = "pending"
133213
133214	// NatGatewayStateFailed is a NatGatewayState enum value
133215	NatGatewayStateFailed = "failed"
133216
133217	// NatGatewayStateAvailable is a NatGatewayState enum value
133218	NatGatewayStateAvailable = "available"
133219
133220	// NatGatewayStateDeleting is a NatGatewayState enum value
133221	NatGatewayStateDeleting = "deleting"
133222
133223	// NatGatewayStateDeleted is a NatGatewayState enum value
133224	NatGatewayStateDeleted = "deleted"
133225)
133226
133227// NatGatewayState_Values returns all elements of the NatGatewayState enum
133228func NatGatewayState_Values() []string {
133229	return []string{
133230		NatGatewayStatePending,
133231		NatGatewayStateFailed,
133232		NatGatewayStateAvailable,
133233		NatGatewayStateDeleting,
133234		NatGatewayStateDeleted,
133235	}
133236}
133237
133238const (
133239	// NetworkInterfaceAttributeDescription is a NetworkInterfaceAttribute enum value
133240	NetworkInterfaceAttributeDescription = "description"
133241
133242	// NetworkInterfaceAttributeGroupSet is a NetworkInterfaceAttribute enum value
133243	NetworkInterfaceAttributeGroupSet = "groupSet"
133244
133245	// NetworkInterfaceAttributeSourceDestCheck is a NetworkInterfaceAttribute enum value
133246	NetworkInterfaceAttributeSourceDestCheck = "sourceDestCheck"
133247
133248	// NetworkInterfaceAttributeAttachment is a NetworkInterfaceAttribute enum value
133249	NetworkInterfaceAttributeAttachment = "attachment"
133250)
133251
133252// NetworkInterfaceAttribute_Values returns all elements of the NetworkInterfaceAttribute enum
133253func NetworkInterfaceAttribute_Values() []string {
133254	return []string{
133255		NetworkInterfaceAttributeDescription,
133256		NetworkInterfaceAttributeGroupSet,
133257		NetworkInterfaceAttributeSourceDestCheck,
133258		NetworkInterfaceAttributeAttachment,
133259	}
133260}
133261
133262const (
133263	// NetworkInterfaceCreationTypeEfa is a NetworkInterfaceCreationType enum value
133264	NetworkInterfaceCreationTypeEfa = "efa"
133265
133266	// NetworkInterfaceCreationTypeBranch is a NetworkInterfaceCreationType enum value
133267	NetworkInterfaceCreationTypeBranch = "branch"
133268
133269	// NetworkInterfaceCreationTypeTrunk is a NetworkInterfaceCreationType enum value
133270	NetworkInterfaceCreationTypeTrunk = "trunk"
133271)
133272
133273// NetworkInterfaceCreationType_Values returns all elements of the NetworkInterfaceCreationType enum
133274func NetworkInterfaceCreationType_Values() []string {
133275	return []string{
133276		NetworkInterfaceCreationTypeEfa,
133277		NetworkInterfaceCreationTypeBranch,
133278		NetworkInterfaceCreationTypeTrunk,
133279	}
133280}
133281
133282const (
133283	// NetworkInterfacePermissionStateCodePending is a NetworkInterfacePermissionStateCode enum value
133284	NetworkInterfacePermissionStateCodePending = "pending"
133285
133286	// NetworkInterfacePermissionStateCodeGranted is a NetworkInterfacePermissionStateCode enum value
133287	NetworkInterfacePermissionStateCodeGranted = "granted"
133288
133289	// NetworkInterfacePermissionStateCodeRevoking is a NetworkInterfacePermissionStateCode enum value
133290	NetworkInterfacePermissionStateCodeRevoking = "revoking"
133291
133292	// NetworkInterfacePermissionStateCodeRevoked is a NetworkInterfacePermissionStateCode enum value
133293	NetworkInterfacePermissionStateCodeRevoked = "revoked"
133294)
133295
133296// NetworkInterfacePermissionStateCode_Values returns all elements of the NetworkInterfacePermissionStateCode enum
133297func NetworkInterfacePermissionStateCode_Values() []string {
133298	return []string{
133299		NetworkInterfacePermissionStateCodePending,
133300		NetworkInterfacePermissionStateCodeGranted,
133301		NetworkInterfacePermissionStateCodeRevoking,
133302		NetworkInterfacePermissionStateCodeRevoked,
133303	}
133304}
133305
133306const (
133307	// NetworkInterfaceStatusAvailable is a NetworkInterfaceStatus enum value
133308	NetworkInterfaceStatusAvailable = "available"
133309
133310	// NetworkInterfaceStatusAssociated is a NetworkInterfaceStatus enum value
133311	NetworkInterfaceStatusAssociated = "associated"
133312
133313	// NetworkInterfaceStatusAttaching is a NetworkInterfaceStatus enum value
133314	NetworkInterfaceStatusAttaching = "attaching"
133315
133316	// NetworkInterfaceStatusInUse is a NetworkInterfaceStatus enum value
133317	NetworkInterfaceStatusInUse = "in-use"
133318
133319	// NetworkInterfaceStatusDetaching is a NetworkInterfaceStatus enum value
133320	NetworkInterfaceStatusDetaching = "detaching"
133321)
133322
133323// NetworkInterfaceStatus_Values returns all elements of the NetworkInterfaceStatus enum
133324func NetworkInterfaceStatus_Values() []string {
133325	return []string{
133326		NetworkInterfaceStatusAvailable,
133327		NetworkInterfaceStatusAssociated,
133328		NetworkInterfaceStatusAttaching,
133329		NetworkInterfaceStatusInUse,
133330		NetworkInterfaceStatusDetaching,
133331	}
133332}
133333
133334const (
133335	// NetworkInterfaceTypeInterface is a NetworkInterfaceType enum value
133336	NetworkInterfaceTypeInterface = "interface"
133337
133338	// NetworkInterfaceTypeNatGateway is a NetworkInterfaceType enum value
133339	NetworkInterfaceTypeNatGateway = "natGateway"
133340
133341	// NetworkInterfaceTypeEfa is a NetworkInterfaceType enum value
133342	NetworkInterfaceTypeEfa = "efa"
133343
133344	// NetworkInterfaceTypeTrunk is a NetworkInterfaceType enum value
133345	NetworkInterfaceTypeTrunk = "trunk"
133346)
133347
133348// NetworkInterfaceType_Values returns all elements of the NetworkInterfaceType enum
133349func NetworkInterfaceType_Values() []string {
133350	return []string{
133351		NetworkInterfaceTypeInterface,
133352		NetworkInterfaceTypeNatGateway,
133353		NetworkInterfaceTypeEfa,
133354		NetworkInterfaceTypeTrunk,
133355	}
133356}
133357
133358const (
133359	// OfferingClassTypeStandard is a OfferingClassType enum value
133360	OfferingClassTypeStandard = "standard"
133361
133362	// OfferingClassTypeConvertible is a OfferingClassType enum value
133363	OfferingClassTypeConvertible = "convertible"
133364)
133365
133366// OfferingClassType_Values returns all elements of the OfferingClassType enum
133367func OfferingClassType_Values() []string {
133368	return []string{
133369		OfferingClassTypeStandard,
133370		OfferingClassTypeConvertible,
133371	}
133372}
133373
133374const (
133375	// OfferingTypeValuesHeavyUtilization is a OfferingTypeValues enum value
133376	OfferingTypeValuesHeavyUtilization = "Heavy Utilization"
133377
133378	// OfferingTypeValuesMediumUtilization is a OfferingTypeValues enum value
133379	OfferingTypeValuesMediumUtilization = "Medium Utilization"
133380
133381	// OfferingTypeValuesLightUtilization is a OfferingTypeValues enum value
133382	OfferingTypeValuesLightUtilization = "Light Utilization"
133383
133384	// OfferingTypeValuesNoUpfront is a OfferingTypeValues enum value
133385	OfferingTypeValuesNoUpfront = "No Upfront"
133386
133387	// OfferingTypeValuesPartialUpfront is a OfferingTypeValues enum value
133388	OfferingTypeValuesPartialUpfront = "Partial Upfront"
133389
133390	// OfferingTypeValuesAllUpfront is a OfferingTypeValues enum value
133391	OfferingTypeValuesAllUpfront = "All Upfront"
133392)
133393
133394// OfferingTypeValues_Values returns all elements of the OfferingTypeValues enum
133395func OfferingTypeValues_Values() []string {
133396	return []string{
133397		OfferingTypeValuesHeavyUtilization,
133398		OfferingTypeValuesMediumUtilization,
133399		OfferingTypeValuesLightUtilization,
133400		OfferingTypeValuesNoUpfront,
133401		OfferingTypeValuesPartialUpfront,
133402		OfferingTypeValuesAllUpfront,
133403	}
133404}
133405
133406const (
133407	// OnDemandAllocationStrategyLowestPrice is a OnDemandAllocationStrategy enum value
133408	OnDemandAllocationStrategyLowestPrice = "lowestPrice"
133409
133410	// OnDemandAllocationStrategyPrioritized is a OnDemandAllocationStrategy enum value
133411	OnDemandAllocationStrategyPrioritized = "prioritized"
133412)
133413
133414// OnDemandAllocationStrategy_Values returns all elements of the OnDemandAllocationStrategy enum
133415func OnDemandAllocationStrategy_Values() []string {
133416	return []string{
133417		OnDemandAllocationStrategyLowestPrice,
133418		OnDemandAllocationStrategyPrioritized,
133419	}
133420}
133421
133422const (
133423	// OperationTypeAdd is a OperationType enum value
133424	OperationTypeAdd = "add"
133425
133426	// OperationTypeRemove is a OperationType enum value
133427	OperationTypeRemove = "remove"
133428)
133429
133430// OperationType_Values returns all elements of the OperationType enum
133431func OperationType_Values() []string {
133432	return []string{
133433		OperationTypeAdd,
133434		OperationTypeRemove,
133435	}
133436}
133437
133438const (
133439	// PartitionLoadFrequencyNone is a PartitionLoadFrequency enum value
133440	PartitionLoadFrequencyNone = "none"
133441
133442	// PartitionLoadFrequencyDaily is a PartitionLoadFrequency enum value
133443	PartitionLoadFrequencyDaily = "daily"
133444
133445	// PartitionLoadFrequencyWeekly is a PartitionLoadFrequency enum value
133446	PartitionLoadFrequencyWeekly = "weekly"
133447
133448	// PartitionLoadFrequencyMonthly is a PartitionLoadFrequency enum value
133449	PartitionLoadFrequencyMonthly = "monthly"
133450)
133451
133452// PartitionLoadFrequency_Values returns all elements of the PartitionLoadFrequency enum
133453func PartitionLoadFrequency_Values() []string {
133454	return []string{
133455		PartitionLoadFrequencyNone,
133456		PartitionLoadFrequencyDaily,
133457		PartitionLoadFrequencyWeekly,
133458		PartitionLoadFrequencyMonthly,
133459	}
133460}
133461
133462const (
133463	// PaymentOptionAllUpfront is a PaymentOption enum value
133464	PaymentOptionAllUpfront = "AllUpfront"
133465
133466	// PaymentOptionPartialUpfront is a PaymentOption enum value
133467	PaymentOptionPartialUpfront = "PartialUpfront"
133468
133469	// PaymentOptionNoUpfront is a PaymentOption enum value
133470	PaymentOptionNoUpfront = "NoUpfront"
133471)
133472
133473// PaymentOption_Values returns all elements of the PaymentOption enum
133474func PaymentOption_Values() []string {
133475	return []string{
133476		PaymentOptionAllUpfront,
133477		PaymentOptionPartialUpfront,
133478		PaymentOptionNoUpfront,
133479	}
133480}
133481
133482const (
133483	// PermissionGroupAll is a PermissionGroup enum value
133484	PermissionGroupAll = "all"
133485)
133486
133487// PermissionGroup_Values returns all elements of the PermissionGroup enum
133488func PermissionGroup_Values() []string {
133489	return []string{
133490		PermissionGroupAll,
133491	}
133492}
133493
133494const (
133495	// PlacementGroupStatePending is a PlacementGroupState enum value
133496	PlacementGroupStatePending = "pending"
133497
133498	// PlacementGroupStateAvailable is a PlacementGroupState enum value
133499	PlacementGroupStateAvailable = "available"
133500
133501	// PlacementGroupStateDeleting is a PlacementGroupState enum value
133502	PlacementGroupStateDeleting = "deleting"
133503
133504	// PlacementGroupStateDeleted is a PlacementGroupState enum value
133505	PlacementGroupStateDeleted = "deleted"
133506)
133507
133508// PlacementGroupState_Values returns all elements of the PlacementGroupState enum
133509func PlacementGroupState_Values() []string {
133510	return []string{
133511		PlacementGroupStatePending,
133512		PlacementGroupStateAvailable,
133513		PlacementGroupStateDeleting,
133514		PlacementGroupStateDeleted,
133515	}
133516}
133517
133518const (
133519	// PlacementGroupStrategyCluster is a PlacementGroupStrategy enum value
133520	PlacementGroupStrategyCluster = "cluster"
133521
133522	// PlacementGroupStrategyPartition is a PlacementGroupStrategy enum value
133523	PlacementGroupStrategyPartition = "partition"
133524
133525	// PlacementGroupStrategySpread is a PlacementGroupStrategy enum value
133526	PlacementGroupStrategySpread = "spread"
133527)
133528
133529// PlacementGroupStrategy_Values returns all elements of the PlacementGroupStrategy enum
133530func PlacementGroupStrategy_Values() []string {
133531	return []string{
133532		PlacementGroupStrategyCluster,
133533		PlacementGroupStrategyPartition,
133534		PlacementGroupStrategySpread,
133535	}
133536}
133537
133538const (
133539	// PlacementStrategyCluster is a PlacementStrategy enum value
133540	PlacementStrategyCluster = "cluster"
133541
133542	// PlacementStrategySpread is a PlacementStrategy enum value
133543	PlacementStrategySpread = "spread"
133544
133545	// PlacementStrategyPartition is a PlacementStrategy enum value
133546	PlacementStrategyPartition = "partition"
133547)
133548
133549// PlacementStrategy_Values returns all elements of the PlacementStrategy enum
133550func PlacementStrategy_Values() []string {
133551	return []string{
133552		PlacementStrategyCluster,
133553		PlacementStrategySpread,
133554		PlacementStrategyPartition,
133555	}
133556}
133557
133558const (
133559	// PlatformValuesWindows is a PlatformValues enum value
133560	PlatformValuesWindows = "Windows"
133561)
133562
133563// PlatformValues_Values returns all elements of the PlatformValues enum
133564func PlatformValues_Values() []string {
133565	return []string{
133566		PlatformValuesWindows,
133567	}
133568}
133569
133570const (
133571	// PrefixListStateCreateInProgress is a PrefixListState enum value
133572	PrefixListStateCreateInProgress = "create-in-progress"
133573
133574	// PrefixListStateCreateComplete is a PrefixListState enum value
133575	PrefixListStateCreateComplete = "create-complete"
133576
133577	// PrefixListStateCreateFailed is a PrefixListState enum value
133578	PrefixListStateCreateFailed = "create-failed"
133579
133580	// PrefixListStateModifyInProgress is a PrefixListState enum value
133581	PrefixListStateModifyInProgress = "modify-in-progress"
133582
133583	// PrefixListStateModifyComplete is a PrefixListState enum value
133584	PrefixListStateModifyComplete = "modify-complete"
133585
133586	// PrefixListStateModifyFailed is a PrefixListState enum value
133587	PrefixListStateModifyFailed = "modify-failed"
133588
133589	// PrefixListStateRestoreInProgress is a PrefixListState enum value
133590	PrefixListStateRestoreInProgress = "restore-in-progress"
133591
133592	// PrefixListStateRestoreComplete is a PrefixListState enum value
133593	PrefixListStateRestoreComplete = "restore-complete"
133594
133595	// PrefixListStateRestoreFailed is a PrefixListState enum value
133596	PrefixListStateRestoreFailed = "restore-failed"
133597
133598	// PrefixListStateDeleteInProgress is a PrefixListState enum value
133599	PrefixListStateDeleteInProgress = "delete-in-progress"
133600
133601	// PrefixListStateDeleteComplete is a PrefixListState enum value
133602	PrefixListStateDeleteComplete = "delete-complete"
133603
133604	// PrefixListStateDeleteFailed is a PrefixListState enum value
133605	PrefixListStateDeleteFailed = "delete-failed"
133606)
133607
133608// PrefixListState_Values returns all elements of the PrefixListState enum
133609func PrefixListState_Values() []string {
133610	return []string{
133611		PrefixListStateCreateInProgress,
133612		PrefixListStateCreateComplete,
133613		PrefixListStateCreateFailed,
133614		PrefixListStateModifyInProgress,
133615		PrefixListStateModifyComplete,
133616		PrefixListStateModifyFailed,
133617		PrefixListStateRestoreInProgress,
133618		PrefixListStateRestoreComplete,
133619		PrefixListStateRestoreFailed,
133620		PrefixListStateDeleteInProgress,
133621		PrefixListStateDeleteComplete,
133622		PrefixListStateDeleteFailed,
133623	}
133624}
133625
133626const (
133627	// PrincipalTypeAll is a PrincipalType enum value
133628	PrincipalTypeAll = "All"
133629
133630	// PrincipalTypeService is a PrincipalType enum value
133631	PrincipalTypeService = "Service"
133632
133633	// PrincipalTypeOrganizationUnit is a PrincipalType enum value
133634	PrincipalTypeOrganizationUnit = "OrganizationUnit"
133635
133636	// PrincipalTypeAccount is a PrincipalType enum value
133637	PrincipalTypeAccount = "Account"
133638
133639	// PrincipalTypeUser is a PrincipalType enum value
133640	PrincipalTypeUser = "User"
133641
133642	// PrincipalTypeRole is a PrincipalType enum value
133643	PrincipalTypeRole = "Role"
133644)
133645
133646// PrincipalType_Values returns all elements of the PrincipalType enum
133647func PrincipalType_Values() []string {
133648	return []string{
133649		PrincipalTypeAll,
133650		PrincipalTypeService,
133651		PrincipalTypeOrganizationUnit,
133652		PrincipalTypeAccount,
133653		PrincipalTypeUser,
133654		PrincipalTypeRole,
133655	}
133656}
133657
133658const (
133659	// ProductCodeValuesDevpay is a ProductCodeValues enum value
133660	ProductCodeValuesDevpay = "devpay"
133661
133662	// ProductCodeValuesMarketplace is a ProductCodeValues enum value
133663	ProductCodeValuesMarketplace = "marketplace"
133664)
133665
133666// ProductCodeValues_Values returns all elements of the ProductCodeValues enum
133667func ProductCodeValues_Values() []string {
133668	return []string{
133669		ProductCodeValuesDevpay,
133670		ProductCodeValuesMarketplace,
133671	}
133672}
133673
133674const (
133675	// ProtocolTcp is a Protocol enum value
133676	ProtocolTcp = "tcp"
133677
133678	// ProtocolUdp is a Protocol enum value
133679	ProtocolUdp = "udp"
133680)
133681
133682// Protocol_Values returns all elements of the Protocol enum
133683func Protocol_Values() []string {
133684	return []string{
133685		ProtocolTcp,
133686		ProtocolUdp,
133687	}
133688}
133689
133690const (
133691	// ProtocolValueGre is a ProtocolValue enum value
133692	ProtocolValueGre = "gre"
133693)
133694
133695// ProtocolValue_Values returns all elements of the ProtocolValue enum
133696func ProtocolValue_Values() []string {
133697	return []string{
133698		ProtocolValueGre,
133699	}
133700}
133701
133702const (
133703	// RIProductDescriptionLinuxUnix is a RIProductDescription enum value
133704	RIProductDescriptionLinuxUnix = "Linux/UNIX"
133705
133706	// RIProductDescriptionLinuxUnixamazonVpc is a RIProductDescription enum value
133707	RIProductDescriptionLinuxUnixamazonVpc = "Linux/UNIX (Amazon VPC)"
133708
133709	// RIProductDescriptionWindows is a RIProductDescription enum value
133710	RIProductDescriptionWindows = "Windows"
133711
133712	// RIProductDescriptionWindowsAmazonVpc is a RIProductDescription enum value
133713	RIProductDescriptionWindowsAmazonVpc = "Windows (Amazon VPC)"
133714)
133715
133716// RIProductDescription_Values returns all elements of the RIProductDescription enum
133717func RIProductDescription_Values() []string {
133718	return []string{
133719		RIProductDescriptionLinuxUnix,
133720		RIProductDescriptionLinuxUnixamazonVpc,
133721		RIProductDescriptionWindows,
133722		RIProductDescriptionWindowsAmazonVpc,
133723	}
133724}
133725
133726const (
133727	// RecurringChargeFrequencyHourly is a RecurringChargeFrequency enum value
133728	RecurringChargeFrequencyHourly = "Hourly"
133729)
133730
133731// RecurringChargeFrequency_Values returns all elements of the RecurringChargeFrequency enum
133732func RecurringChargeFrequency_Values() []string {
133733	return []string{
133734		RecurringChargeFrequencyHourly,
133735	}
133736}
133737
133738const (
133739	// ReplaceRootVolumeTaskStatePending is a ReplaceRootVolumeTaskState enum value
133740	ReplaceRootVolumeTaskStatePending = "pending"
133741
133742	// ReplaceRootVolumeTaskStateInProgress is a ReplaceRootVolumeTaskState enum value
133743	ReplaceRootVolumeTaskStateInProgress = "in-progress"
133744
133745	// ReplaceRootVolumeTaskStateFailing is a ReplaceRootVolumeTaskState enum value
133746	ReplaceRootVolumeTaskStateFailing = "failing"
133747
133748	// ReplaceRootVolumeTaskStateSucceeded is a ReplaceRootVolumeTaskState enum value
133749	ReplaceRootVolumeTaskStateSucceeded = "succeeded"
133750
133751	// ReplaceRootVolumeTaskStateFailed is a ReplaceRootVolumeTaskState enum value
133752	ReplaceRootVolumeTaskStateFailed = "failed"
133753
133754	// ReplaceRootVolumeTaskStateFailedDetached is a ReplaceRootVolumeTaskState enum value
133755	ReplaceRootVolumeTaskStateFailedDetached = "failed-detached"
133756)
133757
133758// ReplaceRootVolumeTaskState_Values returns all elements of the ReplaceRootVolumeTaskState enum
133759func ReplaceRootVolumeTaskState_Values() []string {
133760	return []string{
133761		ReplaceRootVolumeTaskStatePending,
133762		ReplaceRootVolumeTaskStateInProgress,
133763		ReplaceRootVolumeTaskStateFailing,
133764		ReplaceRootVolumeTaskStateSucceeded,
133765		ReplaceRootVolumeTaskStateFailed,
133766		ReplaceRootVolumeTaskStateFailedDetached,
133767	}
133768}
133769
133770const (
133771	// ReplacementStrategyLaunch is a ReplacementStrategy enum value
133772	ReplacementStrategyLaunch = "launch"
133773)
133774
133775// ReplacementStrategy_Values returns all elements of the ReplacementStrategy enum
133776func ReplacementStrategy_Values() []string {
133777	return []string{
133778		ReplacementStrategyLaunch,
133779	}
133780}
133781
133782const (
133783	// ReportInstanceReasonCodesInstanceStuckInState is a ReportInstanceReasonCodes enum value
133784	ReportInstanceReasonCodesInstanceStuckInState = "instance-stuck-in-state"
133785
133786	// ReportInstanceReasonCodesUnresponsive is a ReportInstanceReasonCodes enum value
133787	ReportInstanceReasonCodesUnresponsive = "unresponsive"
133788
133789	// ReportInstanceReasonCodesNotAcceptingCredentials is a ReportInstanceReasonCodes enum value
133790	ReportInstanceReasonCodesNotAcceptingCredentials = "not-accepting-credentials"
133791
133792	// ReportInstanceReasonCodesPasswordNotAvailable is a ReportInstanceReasonCodes enum value
133793	ReportInstanceReasonCodesPasswordNotAvailable = "password-not-available"
133794
133795	// ReportInstanceReasonCodesPerformanceNetwork is a ReportInstanceReasonCodes enum value
133796	ReportInstanceReasonCodesPerformanceNetwork = "performance-network"
133797
133798	// ReportInstanceReasonCodesPerformanceInstanceStore is a ReportInstanceReasonCodes enum value
133799	ReportInstanceReasonCodesPerformanceInstanceStore = "performance-instance-store"
133800
133801	// ReportInstanceReasonCodesPerformanceEbsVolume is a ReportInstanceReasonCodes enum value
133802	ReportInstanceReasonCodesPerformanceEbsVolume = "performance-ebs-volume"
133803
133804	// ReportInstanceReasonCodesPerformanceOther is a ReportInstanceReasonCodes enum value
133805	ReportInstanceReasonCodesPerformanceOther = "performance-other"
133806
133807	// ReportInstanceReasonCodesOther is a ReportInstanceReasonCodes enum value
133808	ReportInstanceReasonCodesOther = "other"
133809)
133810
133811// ReportInstanceReasonCodes_Values returns all elements of the ReportInstanceReasonCodes enum
133812func ReportInstanceReasonCodes_Values() []string {
133813	return []string{
133814		ReportInstanceReasonCodesInstanceStuckInState,
133815		ReportInstanceReasonCodesUnresponsive,
133816		ReportInstanceReasonCodesNotAcceptingCredentials,
133817		ReportInstanceReasonCodesPasswordNotAvailable,
133818		ReportInstanceReasonCodesPerformanceNetwork,
133819		ReportInstanceReasonCodesPerformanceInstanceStore,
133820		ReportInstanceReasonCodesPerformanceEbsVolume,
133821		ReportInstanceReasonCodesPerformanceOther,
133822		ReportInstanceReasonCodesOther,
133823	}
133824}
133825
133826const (
133827	// ReportStatusTypeOk is a ReportStatusType enum value
133828	ReportStatusTypeOk = "ok"
133829
133830	// ReportStatusTypeImpaired is a ReportStatusType enum value
133831	ReportStatusTypeImpaired = "impaired"
133832)
133833
133834// ReportStatusType_Values returns all elements of the ReportStatusType enum
133835func ReportStatusType_Values() []string {
133836	return []string{
133837		ReportStatusTypeOk,
133838		ReportStatusTypeImpaired,
133839	}
133840}
133841
133842const (
133843	// ReservationStatePaymentPending is a ReservationState enum value
133844	ReservationStatePaymentPending = "payment-pending"
133845
133846	// ReservationStatePaymentFailed is a ReservationState enum value
133847	ReservationStatePaymentFailed = "payment-failed"
133848
133849	// ReservationStateActive is a ReservationState enum value
133850	ReservationStateActive = "active"
133851
133852	// ReservationStateRetired is a ReservationState enum value
133853	ReservationStateRetired = "retired"
133854)
133855
133856// ReservationState_Values returns all elements of the ReservationState enum
133857func ReservationState_Values() []string {
133858	return []string{
133859		ReservationStatePaymentPending,
133860		ReservationStatePaymentFailed,
133861		ReservationStateActive,
133862		ReservationStateRetired,
133863	}
133864}
133865
133866const (
133867	// ReservedInstanceStatePaymentPending is a ReservedInstanceState enum value
133868	ReservedInstanceStatePaymentPending = "payment-pending"
133869
133870	// ReservedInstanceStateActive is a ReservedInstanceState enum value
133871	ReservedInstanceStateActive = "active"
133872
133873	// ReservedInstanceStatePaymentFailed is a ReservedInstanceState enum value
133874	ReservedInstanceStatePaymentFailed = "payment-failed"
133875
133876	// ReservedInstanceStateRetired is a ReservedInstanceState enum value
133877	ReservedInstanceStateRetired = "retired"
133878
133879	// ReservedInstanceStateQueued is a ReservedInstanceState enum value
133880	ReservedInstanceStateQueued = "queued"
133881
133882	// ReservedInstanceStateQueuedDeleted is a ReservedInstanceState enum value
133883	ReservedInstanceStateQueuedDeleted = "queued-deleted"
133884)
133885
133886// ReservedInstanceState_Values returns all elements of the ReservedInstanceState enum
133887func ReservedInstanceState_Values() []string {
133888	return []string{
133889		ReservedInstanceStatePaymentPending,
133890		ReservedInstanceStateActive,
133891		ReservedInstanceStatePaymentFailed,
133892		ReservedInstanceStateRetired,
133893		ReservedInstanceStateQueued,
133894		ReservedInstanceStateQueuedDeleted,
133895	}
133896}
133897
133898const (
133899	// ResetFpgaImageAttributeNameLoadPermission is a ResetFpgaImageAttributeName enum value
133900	ResetFpgaImageAttributeNameLoadPermission = "loadPermission"
133901)
133902
133903// ResetFpgaImageAttributeName_Values returns all elements of the ResetFpgaImageAttributeName enum
133904func ResetFpgaImageAttributeName_Values() []string {
133905	return []string{
133906		ResetFpgaImageAttributeNameLoadPermission,
133907	}
133908}
133909
133910const (
133911	// ResetImageAttributeNameLaunchPermission is a ResetImageAttributeName enum value
133912	ResetImageAttributeNameLaunchPermission = "launchPermission"
133913)
133914
133915// ResetImageAttributeName_Values returns all elements of the ResetImageAttributeName enum
133916func ResetImageAttributeName_Values() []string {
133917	return []string{
133918		ResetImageAttributeNameLaunchPermission,
133919	}
133920}
133921
133922const (
133923	// ResourceTypeClientVpnEndpoint is a ResourceType enum value
133924	ResourceTypeClientVpnEndpoint = "client-vpn-endpoint"
133925
133926	// ResourceTypeCustomerGateway is a ResourceType enum value
133927	ResourceTypeCustomerGateway = "customer-gateway"
133928
133929	// ResourceTypeDedicatedHost is a ResourceType enum value
133930	ResourceTypeDedicatedHost = "dedicated-host"
133931
133932	// ResourceTypeDhcpOptions is a ResourceType enum value
133933	ResourceTypeDhcpOptions = "dhcp-options"
133934
133935	// ResourceTypeEgressOnlyInternetGateway is a ResourceType enum value
133936	ResourceTypeEgressOnlyInternetGateway = "egress-only-internet-gateway"
133937
133938	// ResourceTypeElasticIp is a ResourceType enum value
133939	ResourceTypeElasticIp = "elastic-ip"
133940
133941	// ResourceTypeElasticGpu is a ResourceType enum value
133942	ResourceTypeElasticGpu = "elastic-gpu"
133943
133944	// ResourceTypeExportImageTask is a ResourceType enum value
133945	ResourceTypeExportImageTask = "export-image-task"
133946
133947	// ResourceTypeExportInstanceTask is a ResourceType enum value
133948	ResourceTypeExportInstanceTask = "export-instance-task"
133949
133950	// ResourceTypeFleet is a ResourceType enum value
133951	ResourceTypeFleet = "fleet"
133952
133953	// ResourceTypeFpgaImage is a ResourceType enum value
133954	ResourceTypeFpgaImage = "fpga-image"
133955
133956	// ResourceTypeHostReservation is a ResourceType enum value
133957	ResourceTypeHostReservation = "host-reservation"
133958
133959	// ResourceTypeImage is a ResourceType enum value
133960	ResourceTypeImage = "image"
133961
133962	// ResourceTypeImportImageTask is a ResourceType enum value
133963	ResourceTypeImportImageTask = "import-image-task"
133964
133965	// ResourceTypeImportSnapshotTask is a ResourceType enum value
133966	ResourceTypeImportSnapshotTask = "import-snapshot-task"
133967
133968	// ResourceTypeInstance is a ResourceType enum value
133969	ResourceTypeInstance = "instance"
133970
133971	// ResourceTypeInstanceEventWindow is a ResourceType enum value
133972	ResourceTypeInstanceEventWindow = "instance-event-window"
133973
133974	// ResourceTypeInternetGateway is a ResourceType enum value
133975	ResourceTypeInternetGateway = "internet-gateway"
133976
133977	// ResourceTypeKeyPair is a ResourceType enum value
133978	ResourceTypeKeyPair = "key-pair"
133979
133980	// ResourceTypeLaunchTemplate is a ResourceType enum value
133981	ResourceTypeLaunchTemplate = "launch-template"
133982
133983	// ResourceTypeLocalGatewayRouteTableVpcAssociation is a ResourceType enum value
133984	ResourceTypeLocalGatewayRouteTableVpcAssociation = "local-gateway-route-table-vpc-association"
133985
133986	// ResourceTypeNatgateway is a ResourceType enum value
133987	ResourceTypeNatgateway = "natgateway"
133988
133989	// ResourceTypeNetworkAcl is a ResourceType enum value
133990	ResourceTypeNetworkAcl = "network-acl"
133991
133992	// ResourceTypeNetworkInterface is a ResourceType enum value
133993	ResourceTypeNetworkInterface = "network-interface"
133994
133995	// ResourceTypeNetworkInsightsAnalysis is a ResourceType enum value
133996	ResourceTypeNetworkInsightsAnalysis = "network-insights-analysis"
133997
133998	// ResourceTypeNetworkInsightsPath is a ResourceType enum value
133999	ResourceTypeNetworkInsightsPath = "network-insights-path"
134000
134001	// ResourceTypePlacementGroup is a ResourceType enum value
134002	ResourceTypePlacementGroup = "placement-group"
134003
134004	// ResourceTypeReservedInstances is a ResourceType enum value
134005	ResourceTypeReservedInstances = "reserved-instances"
134006
134007	// ResourceTypeRouteTable is a ResourceType enum value
134008	ResourceTypeRouteTable = "route-table"
134009
134010	// ResourceTypeSecurityGroup is a ResourceType enum value
134011	ResourceTypeSecurityGroup = "security-group"
134012
134013	// ResourceTypeSecurityGroupRule is a ResourceType enum value
134014	ResourceTypeSecurityGroupRule = "security-group-rule"
134015
134016	// ResourceTypeSnapshot is a ResourceType enum value
134017	ResourceTypeSnapshot = "snapshot"
134018
134019	// ResourceTypeSpotFleetRequest is a ResourceType enum value
134020	ResourceTypeSpotFleetRequest = "spot-fleet-request"
134021
134022	// ResourceTypeSpotInstancesRequest is a ResourceType enum value
134023	ResourceTypeSpotInstancesRequest = "spot-instances-request"
134024
134025	// ResourceTypeSubnet is a ResourceType enum value
134026	ResourceTypeSubnet = "subnet"
134027
134028	// ResourceTypeTrafficMirrorFilter is a ResourceType enum value
134029	ResourceTypeTrafficMirrorFilter = "traffic-mirror-filter"
134030
134031	// ResourceTypeTrafficMirrorSession is a ResourceType enum value
134032	ResourceTypeTrafficMirrorSession = "traffic-mirror-session"
134033
134034	// ResourceTypeTrafficMirrorTarget is a ResourceType enum value
134035	ResourceTypeTrafficMirrorTarget = "traffic-mirror-target"
134036
134037	// ResourceTypeTransitGateway is a ResourceType enum value
134038	ResourceTypeTransitGateway = "transit-gateway"
134039
134040	// ResourceTypeTransitGatewayAttachment is a ResourceType enum value
134041	ResourceTypeTransitGatewayAttachment = "transit-gateway-attachment"
134042
134043	// ResourceTypeTransitGatewayConnectPeer is a ResourceType enum value
134044	ResourceTypeTransitGatewayConnectPeer = "transit-gateway-connect-peer"
134045
134046	// ResourceTypeTransitGatewayMulticastDomain is a ResourceType enum value
134047	ResourceTypeTransitGatewayMulticastDomain = "transit-gateway-multicast-domain"
134048
134049	// ResourceTypeTransitGatewayRouteTable is a ResourceType enum value
134050	ResourceTypeTransitGatewayRouteTable = "transit-gateway-route-table"
134051
134052	// ResourceTypeVolume is a ResourceType enum value
134053	ResourceTypeVolume = "volume"
134054
134055	// ResourceTypeVpc is a ResourceType enum value
134056	ResourceTypeVpc = "vpc"
134057
134058	// ResourceTypeVpcPeeringConnection is a ResourceType enum value
134059	ResourceTypeVpcPeeringConnection = "vpc-peering-connection"
134060
134061	// ResourceTypeVpnConnection is a ResourceType enum value
134062	ResourceTypeVpnConnection = "vpn-connection"
134063
134064	// ResourceTypeVpnGateway is a ResourceType enum value
134065	ResourceTypeVpnGateway = "vpn-gateway"
134066
134067	// ResourceTypeVpcFlowLog is a ResourceType enum value
134068	ResourceTypeVpcFlowLog = "vpc-flow-log"
134069)
134070
134071// ResourceType_Values returns all elements of the ResourceType enum
134072func ResourceType_Values() []string {
134073	return []string{
134074		ResourceTypeClientVpnEndpoint,
134075		ResourceTypeCustomerGateway,
134076		ResourceTypeDedicatedHost,
134077		ResourceTypeDhcpOptions,
134078		ResourceTypeEgressOnlyInternetGateway,
134079		ResourceTypeElasticIp,
134080		ResourceTypeElasticGpu,
134081		ResourceTypeExportImageTask,
134082		ResourceTypeExportInstanceTask,
134083		ResourceTypeFleet,
134084		ResourceTypeFpgaImage,
134085		ResourceTypeHostReservation,
134086		ResourceTypeImage,
134087		ResourceTypeImportImageTask,
134088		ResourceTypeImportSnapshotTask,
134089		ResourceTypeInstance,
134090		ResourceTypeInstanceEventWindow,
134091		ResourceTypeInternetGateway,
134092		ResourceTypeKeyPair,
134093		ResourceTypeLaunchTemplate,
134094		ResourceTypeLocalGatewayRouteTableVpcAssociation,
134095		ResourceTypeNatgateway,
134096		ResourceTypeNetworkAcl,
134097		ResourceTypeNetworkInterface,
134098		ResourceTypeNetworkInsightsAnalysis,
134099		ResourceTypeNetworkInsightsPath,
134100		ResourceTypePlacementGroup,
134101		ResourceTypeReservedInstances,
134102		ResourceTypeRouteTable,
134103		ResourceTypeSecurityGroup,
134104		ResourceTypeSecurityGroupRule,
134105		ResourceTypeSnapshot,
134106		ResourceTypeSpotFleetRequest,
134107		ResourceTypeSpotInstancesRequest,
134108		ResourceTypeSubnet,
134109		ResourceTypeTrafficMirrorFilter,
134110		ResourceTypeTrafficMirrorSession,
134111		ResourceTypeTrafficMirrorTarget,
134112		ResourceTypeTransitGateway,
134113		ResourceTypeTransitGatewayAttachment,
134114		ResourceTypeTransitGatewayConnectPeer,
134115		ResourceTypeTransitGatewayMulticastDomain,
134116		ResourceTypeTransitGatewayRouteTable,
134117		ResourceTypeVolume,
134118		ResourceTypeVpc,
134119		ResourceTypeVpcPeeringConnection,
134120		ResourceTypeVpnConnection,
134121		ResourceTypeVpnGateway,
134122		ResourceTypeVpcFlowLog,
134123	}
134124}
134125
134126const (
134127	// RootDeviceTypeEbs is a RootDeviceType enum value
134128	RootDeviceTypeEbs = "ebs"
134129
134130	// RootDeviceTypeInstanceStore is a RootDeviceType enum value
134131	RootDeviceTypeInstanceStore = "instance-store"
134132)
134133
134134// RootDeviceType_Values returns all elements of the RootDeviceType enum
134135func RootDeviceType_Values() []string {
134136	return []string{
134137		RootDeviceTypeEbs,
134138		RootDeviceTypeInstanceStore,
134139	}
134140}
134141
134142const (
134143	// RouteOriginCreateRouteTable is a RouteOrigin enum value
134144	RouteOriginCreateRouteTable = "CreateRouteTable"
134145
134146	// RouteOriginCreateRoute is a RouteOrigin enum value
134147	RouteOriginCreateRoute = "CreateRoute"
134148
134149	// RouteOriginEnableVgwRoutePropagation is a RouteOrigin enum value
134150	RouteOriginEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
134151)
134152
134153// RouteOrigin_Values returns all elements of the RouteOrigin enum
134154func RouteOrigin_Values() []string {
134155	return []string{
134156		RouteOriginCreateRouteTable,
134157		RouteOriginCreateRoute,
134158		RouteOriginEnableVgwRoutePropagation,
134159	}
134160}
134161
134162const (
134163	// RouteStateActive is a RouteState enum value
134164	RouteStateActive = "active"
134165
134166	// RouteStateBlackhole is a RouteState enum value
134167	RouteStateBlackhole = "blackhole"
134168)
134169
134170// RouteState_Values returns all elements of the RouteState enum
134171func RouteState_Values() []string {
134172	return []string{
134173		RouteStateActive,
134174		RouteStateBlackhole,
134175	}
134176}
134177
134178const (
134179	// RouteTableAssociationStateCodeAssociating is a RouteTableAssociationStateCode enum value
134180	RouteTableAssociationStateCodeAssociating = "associating"
134181
134182	// RouteTableAssociationStateCodeAssociated is a RouteTableAssociationStateCode enum value
134183	RouteTableAssociationStateCodeAssociated = "associated"
134184
134185	// RouteTableAssociationStateCodeDisassociating is a RouteTableAssociationStateCode enum value
134186	RouteTableAssociationStateCodeDisassociating = "disassociating"
134187
134188	// RouteTableAssociationStateCodeDisassociated is a RouteTableAssociationStateCode enum value
134189	RouteTableAssociationStateCodeDisassociated = "disassociated"
134190
134191	// RouteTableAssociationStateCodeFailed is a RouteTableAssociationStateCode enum value
134192	RouteTableAssociationStateCodeFailed = "failed"
134193)
134194
134195// RouteTableAssociationStateCode_Values returns all elements of the RouteTableAssociationStateCode enum
134196func RouteTableAssociationStateCode_Values() []string {
134197	return []string{
134198		RouteTableAssociationStateCodeAssociating,
134199		RouteTableAssociationStateCodeAssociated,
134200		RouteTableAssociationStateCodeDisassociating,
134201		RouteTableAssociationStateCodeDisassociated,
134202		RouteTableAssociationStateCodeFailed,
134203	}
134204}
134205
134206const (
134207	// RuleActionAllow is a RuleAction enum value
134208	RuleActionAllow = "allow"
134209
134210	// RuleActionDeny is a RuleAction enum value
134211	RuleActionDeny = "deny"
134212)
134213
134214// RuleAction_Values returns all elements of the RuleAction enum
134215func RuleAction_Values() []string {
134216	return []string{
134217		RuleActionAllow,
134218		RuleActionDeny,
134219	}
134220}
134221
134222const (
134223	// ScopeAvailabilityZone is a Scope enum value
134224	ScopeAvailabilityZone = "Availability Zone"
134225
134226	// ScopeRegion is a Scope enum value
134227	ScopeRegion = "Region"
134228)
134229
134230// Scope_Values returns all elements of the Scope enum
134231func Scope_Values() []string {
134232	return []string{
134233		ScopeAvailabilityZone,
134234		ScopeRegion,
134235	}
134236}
134237
134238const (
134239	// SelfServicePortalEnabled is a SelfServicePortal enum value
134240	SelfServicePortalEnabled = "enabled"
134241
134242	// SelfServicePortalDisabled is a SelfServicePortal enum value
134243	SelfServicePortalDisabled = "disabled"
134244)
134245
134246// SelfServicePortal_Values returns all elements of the SelfServicePortal enum
134247func SelfServicePortal_Values() []string {
134248	return []string{
134249		SelfServicePortalEnabled,
134250		SelfServicePortalDisabled,
134251	}
134252}
134253
134254const (
134255	// ServiceStatePending is a ServiceState enum value
134256	ServiceStatePending = "Pending"
134257
134258	// ServiceStateAvailable is a ServiceState enum value
134259	ServiceStateAvailable = "Available"
134260
134261	// ServiceStateDeleting is a ServiceState enum value
134262	ServiceStateDeleting = "Deleting"
134263
134264	// ServiceStateDeleted is a ServiceState enum value
134265	ServiceStateDeleted = "Deleted"
134266
134267	// ServiceStateFailed is a ServiceState enum value
134268	ServiceStateFailed = "Failed"
134269)
134270
134271// ServiceState_Values returns all elements of the ServiceState enum
134272func ServiceState_Values() []string {
134273	return []string{
134274		ServiceStatePending,
134275		ServiceStateAvailable,
134276		ServiceStateDeleting,
134277		ServiceStateDeleted,
134278		ServiceStateFailed,
134279	}
134280}
134281
134282const (
134283	// ServiceTypeInterface is a ServiceType enum value
134284	ServiceTypeInterface = "Interface"
134285
134286	// ServiceTypeGateway is a ServiceType enum value
134287	ServiceTypeGateway = "Gateway"
134288
134289	// ServiceTypeGatewayLoadBalancer is a ServiceType enum value
134290	ServiceTypeGatewayLoadBalancer = "GatewayLoadBalancer"
134291)
134292
134293// ServiceType_Values returns all elements of the ServiceType enum
134294func ServiceType_Values() []string {
134295	return []string{
134296		ServiceTypeInterface,
134297		ServiceTypeGateway,
134298		ServiceTypeGatewayLoadBalancer,
134299	}
134300}
134301
134302const (
134303	// ShutdownBehaviorStop is a ShutdownBehavior enum value
134304	ShutdownBehaviorStop = "stop"
134305
134306	// ShutdownBehaviorTerminate is a ShutdownBehavior enum value
134307	ShutdownBehaviorTerminate = "terminate"
134308)
134309
134310// ShutdownBehavior_Values returns all elements of the ShutdownBehavior enum
134311func ShutdownBehavior_Values() []string {
134312	return []string{
134313		ShutdownBehaviorStop,
134314		ShutdownBehaviorTerminate,
134315	}
134316}
134317
134318const (
134319	// SnapshotAttributeNameProductCodes is a SnapshotAttributeName enum value
134320	SnapshotAttributeNameProductCodes = "productCodes"
134321
134322	// SnapshotAttributeNameCreateVolumePermission is a SnapshotAttributeName enum value
134323	SnapshotAttributeNameCreateVolumePermission = "createVolumePermission"
134324)
134325
134326// SnapshotAttributeName_Values returns all elements of the SnapshotAttributeName enum
134327func SnapshotAttributeName_Values() []string {
134328	return []string{
134329		SnapshotAttributeNameProductCodes,
134330		SnapshotAttributeNameCreateVolumePermission,
134331	}
134332}
134333
134334const (
134335	// SnapshotStatePending is a SnapshotState enum value
134336	SnapshotStatePending = "pending"
134337
134338	// SnapshotStateCompleted is a SnapshotState enum value
134339	SnapshotStateCompleted = "completed"
134340
134341	// SnapshotStateError is a SnapshotState enum value
134342	SnapshotStateError = "error"
134343)
134344
134345// SnapshotState_Values returns all elements of the SnapshotState enum
134346func SnapshotState_Values() []string {
134347	return []string{
134348		SnapshotStatePending,
134349		SnapshotStateCompleted,
134350		SnapshotStateError,
134351	}
134352}
134353
134354const (
134355	// SpotAllocationStrategyLowestPrice is a SpotAllocationStrategy enum value
134356	SpotAllocationStrategyLowestPrice = "lowest-price"
134357
134358	// SpotAllocationStrategyDiversified is a SpotAllocationStrategy enum value
134359	SpotAllocationStrategyDiversified = "diversified"
134360
134361	// SpotAllocationStrategyCapacityOptimized is a SpotAllocationStrategy enum value
134362	SpotAllocationStrategyCapacityOptimized = "capacity-optimized"
134363
134364	// SpotAllocationStrategyCapacityOptimizedPrioritized is a SpotAllocationStrategy enum value
134365	SpotAllocationStrategyCapacityOptimizedPrioritized = "capacity-optimized-prioritized"
134366)
134367
134368// SpotAllocationStrategy_Values returns all elements of the SpotAllocationStrategy enum
134369func SpotAllocationStrategy_Values() []string {
134370	return []string{
134371		SpotAllocationStrategyLowestPrice,
134372		SpotAllocationStrategyDiversified,
134373		SpotAllocationStrategyCapacityOptimized,
134374		SpotAllocationStrategyCapacityOptimizedPrioritized,
134375	}
134376}
134377
134378const (
134379	// SpotInstanceInterruptionBehaviorHibernate is a SpotInstanceInterruptionBehavior enum value
134380	SpotInstanceInterruptionBehaviorHibernate = "hibernate"
134381
134382	// SpotInstanceInterruptionBehaviorStop is a SpotInstanceInterruptionBehavior enum value
134383	SpotInstanceInterruptionBehaviorStop = "stop"
134384
134385	// SpotInstanceInterruptionBehaviorTerminate is a SpotInstanceInterruptionBehavior enum value
134386	SpotInstanceInterruptionBehaviorTerminate = "terminate"
134387)
134388
134389// SpotInstanceInterruptionBehavior_Values returns all elements of the SpotInstanceInterruptionBehavior enum
134390func SpotInstanceInterruptionBehavior_Values() []string {
134391	return []string{
134392		SpotInstanceInterruptionBehaviorHibernate,
134393		SpotInstanceInterruptionBehaviorStop,
134394		SpotInstanceInterruptionBehaviorTerminate,
134395	}
134396}
134397
134398const (
134399	// SpotInstanceStateOpen is a SpotInstanceState enum value
134400	SpotInstanceStateOpen = "open"
134401
134402	// SpotInstanceStateActive is a SpotInstanceState enum value
134403	SpotInstanceStateActive = "active"
134404
134405	// SpotInstanceStateClosed is a SpotInstanceState enum value
134406	SpotInstanceStateClosed = "closed"
134407
134408	// SpotInstanceStateCancelled is a SpotInstanceState enum value
134409	SpotInstanceStateCancelled = "cancelled"
134410
134411	// SpotInstanceStateFailed is a SpotInstanceState enum value
134412	SpotInstanceStateFailed = "failed"
134413)
134414
134415// SpotInstanceState_Values returns all elements of the SpotInstanceState enum
134416func SpotInstanceState_Values() []string {
134417	return []string{
134418		SpotInstanceStateOpen,
134419		SpotInstanceStateActive,
134420		SpotInstanceStateClosed,
134421		SpotInstanceStateCancelled,
134422		SpotInstanceStateFailed,
134423	}
134424}
134425
134426const (
134427	// SpotInstanceTypeOneTime is a SpotInstanceType enum value
134428	SpotInstanceTypeOneTime = "one-time"
134429
134430	// SpotInstanceTypePersistent is a SpotInstanceType enum value
134431	SpotInstanceTypePersistent = "persistent"
134432)
134433
134434// SpotInstanceType_Values returns all elements of the SpotInstanceType enum
134435func SpotInstanceType_Values() []string {
134436	return []string{
134437		SpotInstanceTypeOneTime,
134438		SpotInstanceTypePersistent,
134439	}
134440}
134441
134442const (
134443	// StatePendingAcceptance is a State enum value
134444	StatePendingAcceptance = "PendingAcceptance"
134445
134446	// StatePending is a State enum value
134447	StatePending = "Pending"
134448
134449	// StateAvailable is a State enum value
134450	StateAvailable = "Available"
134451
134452	// StateDeleting is a State enum value
134453	StateDeleting = "Deleting"
134454
134455	// StateDeleted is a State enum value
134456	StateDeleted = "Deleted"
134457
134458	// StateRejected is a State enum value
134459	StateRejected = "Rejected"
134460
134461	// StateFailed is a State enum value
134462	StateFailed = "Failed"
134463
134464	// StateExpired is a State enum value
134465	StateExpired = "Expired"
134466)
134467
134468// State_Values returns all elements of the State enum
134469func State_Values() []string {
134470	return []string{
134471		StatePendingAcceptance,
134472		StatePending,
134473		StateAvailable,
134474		StateDeleting,
134475		StateDeleted,
134476		StateRejected,
134477		StateFailed,
134478		StateExpired,
134479	}
134480}
134481
134482const (
134483	// StaticSourcesSupportValueEnable is a StaticSourcesSupportValue enum value
134484	StaticSourcesSupportValueEnable = "enable"
134485
134486	// StaticSourcesSupportValueDisable is a StaticSourcesSupportValue enum value
134487	StaticSourcesSupportValueDisable = "disable"
134488)
134489
134490// StaticSourcesSupportValue_Values returns all elements of the StaticSourcesSupportValue enum
134491func StaticSourcesSupportValue_Values() []string {
134492	return []string{
134493		StaticSourcesSupportValueEnable,
134494		StaticSourcesSupportValueDisable,
134495	}
134496}
134497
134498const (
134499	// StatusMoveInProgress is a Status enum value
134500	StatusMoveInProgress = "MoveInProgress"
134501
134502	// StatusInVpc is a Status enum value
134503	StatusInVpc = "InVpc"
134504
134505	// StatusInClassic is a Status enum value
134506	StatusInClassic = "InClassic"
134507)
134508
134509// Status_Values returns all elements of the Status enum
134510func Status_Values() []string {
134511	return []string{
134512		StatusMoveInProgress,
134513		StatusInVpc,
134514		StatusInClassic,
134515	}
134516}
134517
134518const (
134519	// StatusNameReachability is a StatusName enum value
134520	StatusNameReachability = "reachability"
134521)
134522
134523// StatusName_Values returns all elements of the StatusName enum
134524func StatusName_Values() []string {
134525	return []string{
134526		StatusNameReachability,
134527	}
134528}
134529
134530const (
134531	// StatusTypePassed is a StatusType enum value
134532	StatusTypePassed = "passed"
134533
134534	// StatusTypeFailed is a StatusType enum value
134535	StatusTypeFailed = "failed"
134536
134537	// StatusTypeInsufficientData is a StatusType enum value
134538	StatusTypeInsufficientData = "insufficient-data"
134539
134540	// StatusTypeInitializing is a StatusType enum value
134541	StatusTypeInitializing = "initializing"
134542)
134543
134544// StatusType_Values returns all elements of the StatusType enum
134545func StatusType_Values() []string {
134546	return []string{
134547		StatusTypePassed,
134548		StatusTypeFailed,
134549		StatusTypeInsufficientData,
134550		StatusTypeInitializing,
134551	}
134552}
134553
134554const (
134555	// SubnetCidrBlockStateCodeAssociating is a SubnetCidrBlockStateCode enum value
134556	SubnetCidrBlockStateCodeAssociating = "associating"
134557
134558	// SubnetCidrBlockStateCodeAssociated is a SubnetCidrBlockStateCode enum value
134559	SubnetCidrBlockStateCodeAssociated = "associated"
134560
134561	// SubnetCidrBlockStateCodeDisassociating is a SubnetCidrBlockStateCode enum value
134562	SubnetCidrBlockStateCodeDisassociating = "disassociating"
134563
134564	// SubnetCidrBlockStateCodeDisassociated is a SubnetCidrBlockStateCode enum value
134565	SubnetCidrBlockStateCodeDisassociated = "disassociated"
134566
134567	// SubnetCidrBlockStateCodeFailing is a SubnetCidrBlockStateCode enum value
134568	SubnetCidrBlockStateCodeFailing = "failing"
134569
134570	// SubnetCidrBlockStateCodeFailed is a SubnetCidrBlockStateCode enum value
134571	SubnetCidrBlockStateCodeFailed = "failed"
134572)
134573
134574// SubnetCidrBlockStateCode_Values returns all elements of the SubnetCidrBlockStateCode enum
134575func SubnetCidrBlockStateCode_Values() []string {
134576	return []string{
134577		SubnetCidrBlockStateCodeAssociating,
134578		SubnetCidrBlockStateCodeAssociated,
134579		SubnetCidrBlockStateCodeDisassociating,
134580		SubnetCidrBlockStateCodeDisassociated,
134581		SubnetCidrBlockStateCodeFailing,
134582		SubnetCidrBlockStateCodeFailed,
134583	}
134584}
134585
134586const (
134587	// SubnetCidrReservationTypePrefix is a SubnetCidrReservationType enum value
134588	SubnetCidrReservationTypePrefix = "prefix"
134589
134590	// SubnetCidrReservationTypeExplicit is a SubnetCidrReservationType enum value
134591	SubnetCidrReservationTypeExplicit = "explicit"
134592)
134593
134594// SubnetCidrReservationType_Values returns all elements of the SubnetCidrReservationType enum
134595func SubnetCidrReservationType_Values() []string {
134596	return []string{
134597		SubnetCidrReservationTypePrefix,
134598		SubnetCidrReservationTypeExplicit,
134599	}
134600}
134601
134602const (
134603	// SubnetStatePending is a SubnetState enum value
134604	SubnetStatePending = "pending"
134605
134606	// SubnetStateAvailable is a SubnetState enum value
134607	SubnetStateAvailable = "available"
134608)
134609
134610// SubnetState_Values returns all elements of the SubnetState enum
134611func SubnetState_Values() []string {
134612	return []string{
134613		SubnetStatePending,
134614		SubnetStateAvailable,
134615	}
134616}
134617
134618const (
134619	// SummaryStatusOk is a SummaryStatus enum value
134620	SummaryStatusOk = "ok"
134621
134622	// SummaryStatusImpaired is a SummaryStatus enum value
134623	SummaryStatusImpaired = "impaired"
134624
134625	// SummaryStatusInsufficientData is a SummaryStatus enum value
134626	SummaryStatusInsufficientData = "insufficient-data"
134627
134628	// SummaryStatusNotApplicable is a SummaryStatus enum value
134629	SummaryStatusNotApplicable = "not-applicable"
134630
134631	// SummaryStatusInitializing is a SummaryStatus enum value
134632	SummaryStatusInitializing = "initializing"
134633)
134634
134635// SummaryStatus_Values returns all elements of the SummaryStatus enum
134636func SummaryStatus_Values() []string {
134637	return []string{
134638		SummaryStatusOk,
134639		SummaryStatusImpaired,
134640		SummaryStatusInsufficientData,
134641		SummaryStatusNotApplicable,
134642		SummaryStatusInitializing,
134643	}
134644}
134645
134646const (
134647	// TelemetryStatusUp is a TelemetryStatus enum value
134648	TelemetryStatusUp = "UP"
134649
134650	// TelemetryStatusDown is a TelemetryStatus enum value
134651	TelemetryStatusDown = "DOWN"
134652)
134653
134654// TelemetryStatus_Values returns all elements of the TelemetryStatus enum
134655func TelemetryStatus_Values() []string {
134656	return []string{
134657		TelemetryStatusUp,
134658		TelemetryStatusDown,
134659	}
134660}
134661
134662const (
134663	// TenancyDefault is a Tenancy enum value
134664	TenancyDefault = "default"
134665
134666	// TenancyDedicated is a Tenancy enum value
134667	TenancyDedicated = "dedicated"
134668
134669	// TenancyHost is a Tenancy enum value
134670	TenancyHost = "host"
134671)
134672
134673// Tenancy_Values returns all elements of the Tenancy enum
134674func Tenancy_Values() []string {
134675	return []string{
134676		TenancyDefault,
134677		TenancyDedicated,
134678		TenancyHost,
134679	}
134680}
134681
134682const (
134683	// TrafficDirectionIngress is a TrafficDirection enum value
134684	TrafficDirectionIngress = "ingress"
134685
134686	// TrafficDirectionEgress is a TrafficDirection enum value
134687	TrafficDirectionEgress = "egress"
134688)
134689
134690// TrafficDirection_Values returns all elements of the TrafficDirection enum
134691func TrafficDirection_Values() []string {
134692	return []string{
134693		TrafficDirectionIngress,
134694		TrafficDirectionEgress,
134695	}
134696}
134697
134698const (
134699	// TrafficMirrorFilterRuleFieldDestinationPortRange is a TrafficMirrorFilterRuleField enum value
134700	TrafficMirrorFilterRuleFieldDestinationPortRange = "destination-port-range"
134701
134702	// TrafficMirrorFilterRuleFieldSourcePortRange is a TrafficMirrorFilterRuleField enum value
134703	TrafficMirrorFilterRuleFieldSourcePortRange = "source-port-range"
134704
134705	// TrafficMirrorFilterRuleFieldProtocol is a TrafficMirrorFilterRuleField enum value
134706	TrafficMirrorFilterRuleFieldProtocol = "protocol"
134707
134708	// TrafficMirrorFilterRuleFieldDescription is a TrafficMirrorFilterRuleField enum value
134709	TrafficMirrorFilterRuleFieldDescription = "description"
134710)
134711
134712// TrafficMirrorFilterRuleField_Values returns all elements of the TrafficMirrorFilterRuleField enum
134713func TrafficMirrorFilterRuleField_Values() []string {
134714	return []string{
134715		TrafficMirrorFilterRuleFieldDestinationPortRange,
134716		TrafficMirrorFilterRuleFieldSourcePortRange,
134717		TrafficMirrorFilterRuleFieldProtocol,
134718		TrafficMirrorFilterRuleFieldDescription,
134719	}
134720}
134721
134722const (
134723	// TrafficMirrorNetworkServiceAmazonDns is a TrafficMirrorNetworkService enum value
134724	TrafficMirrorNetworkServiceAmazonDns = "amazon-dns"
134725)
134726
134727// TrafficMirrorNetworkService_Values returns all elements of the TrafficMirrorNetworkService enum
134728func TrafficMirrorNetworkService_Values() []string {
134729	return []string{
134730		TrafficMirrorNetworkServiceAmazonDns,
134731	}
134732}
134733
134734const (
134735	// TrafficMirrorRuleActionAccept is a TrafficMirrorRuleAction enum value
134736	TrafficMirrorRuleActionAccept = "accept"
134737
134738	// TrafficMirrorRuleActionReject is a TrafficMirrorRuleAction enum value
134739	TrafficMirrorRuleActionReject = "reject"
134740)
134741
134742// TrafficMirrorRuleAction_Values returns all elements of the TrafficMirrorRuleAction enum
134743func TrafficMirrorRuleAction_Values() []string {
134744	return []string{
134745		TrafficMirrorRuleActionAccept,
134746		TrafficMirrorRuleActionReject,
134747	}
134748}
134749
134750const (
134751	// TrafficMirrorSessionFieldPacketLength is a TrafficMirrorSessionField enum value
134752	TrafficMirrorSessionFieldPacketLength = "packet-length"
134753
134754	// TrafficMirrorSessionFieldDescription is a TrafficMirrorSessionField enum value
134755	TrafficMirrorSessionFieldDescription = "description"
134756
134757	// TrafficMirrorSessionFieldVirtualNetworkId is a TrafficMirrorSessionField enum value
134758	TrafficMirrorSessionFieldVirtualNetworkId = "virtual-network-id"
134759)
134760
134761// TrafficMirrorSessionField_Values returns all elements of the TrafficMirrorSessionField enum
134762func TrafficMirrorSessionField_Values() []string {
134763	return []string{
134764		TrafficMirrorSessionFieldPacketLength,
134765		TrafficMirrorSessionFieldDescription,
134766		TrafficMirrorSessionFieldVirtualNetworkId,
134767	}
134768}
134769
134770const (
134771	// TrafficMirrorTargetTypeNetworkInterface is a TrafficMirrorTargetType enum value
134772	TrafficMirrorTargetTypeNetworkInterface = "network-interface"
134773
134774	// TrafficMirrorTargetTypeNetworkLoadBalancer is a TrafficMirrorTargetType enum value
134775	TrafficMirrorTargetTypeNetworkLoadBalancer = "network-load-balancer"
134776)
134777
134778// TrafficMirrorTargetType_Values returns all elements of the TrafficMirrorTargetType enum
134779func TrafficMirrorTargetType_Values() []string {
134780	return []string{
134781		TrafficMirrorTargetTypeNetworkInterface,
134782		TrafficMirrorTargetTypeNetworkLoadBalancer,
134783	}
134784}
134785
134786const (
134787	// TrafficTypeAccept is a TrafficType enum value
134788	TrafficTypeAccept = "ACCEPT"
134789
134790	// TrafficTypeReject is a TrafficType enum value
134791	TrafficTypeReject = "REJECT"
134792
134793	// TrafficTypeAll is a TrafficType enum value
134794	TrafficTypeAll = "ALL"
134795)
134796
134797// TrafficType_Values returns all elements of the TrafficType enum
134798func TrafficType_Values() []string {
134799	return []string{
134800		TrafficTypeAccept,
134801		TrafficTypeReject,
134802		TrafficTypeAll,
134803	}
134804}
134805
134806const (
134807	// TransitGatewayAssociationStateAssociating is a TransitGatewayAssociationState enum value
134808	TransitGatewayAssociationStateAssociating = "associating"
134809
134810	// TransitGatewayAssociationStateAssociated is a TransitGatewayAssociationState enum value
134811	TransitGatewayAssociationStateAssociated = "associated"
134812
134813	// TransitGatewayAssociationStateDisassociating is a TransitGatewayAssociationState enum value
134814	TransitGatewayAssociationStateDisassociating = "disassociating"
134815
134816	// TransitGatewayAssociationStateDisassociated is a TransitGatewayAssociationState enum value
134817	TransitGatewayAssociationStateDisassociated = "disassociated"
134818)
134819
134820// TransitGatewayAssociationState_Values returns all elements of the TransitGatewayAssociationState enum
134821func TransitGatewayAssociationState_Values() []string {
134822	return []string{
134823		TransitGatewayAssociationStateAssociating,
134824		TransitGatewayAssociationStateAssociated,
134825		TransitGatewayAssociationStateDisassociating,
134826		TransitGatewayAssociationStateDisassociated,
134827	}
134828}
134829
134830const (
134831	// TransitGatewayAttachmentResourceTypeVpc is a TransitGatewayAttachmentResourceType enum value
134832	TransitGatewayAttachmentResourceTypeVpc = "vpc"
134833
134834	// TransitGatewayAttachmentResourceTypeVpn is a TransitGatewayAttachmentResourceType enum value
134835	TransitGatewayAttachmentResourceTypeVpn = "vpn"
134836
134837	// TransitGatewayAttachmentResourceTypeDirectConnectGateway is a TransitGatewayAttachmentResourceType enum value
134838	TransitGatewayAttachmentResourceTypeDirectConnectGateway = "direct-connect-gateway"
134839
134840	// TransitGatewayAttachmentResourceTypeConnect is a TransitGatewayAttachmentResourceType enum value
134841	TransitGatewayAttachmentResourceTypeConnect = "connect"
134842
134843	// TransitGatewayAttachmentResourceTypePeering is a TransitGatewayAttachmentResourceType enum value
134844	TransitGatewayAttachmentResourceTypePeering = "peering"
134845
134846	// TransitGatewayAttachmentResourceTypeTgwPeering is a TransitGatewayAttachmentResourceType enum value
134847	TransitGatewayAttachmentResourceTypeTgwPeering = "tgw-peering"
134848)
134849
134850// TransitGatewayAttachmentResourceType_Values returns all elements of the TransitGatewayAttachmentResourceType enum
134851func TransitGatewayAttachmentResourceType_Values() []string {
134852	return []string{
134853		TransitGatewayAttachmentResourceTypeVpc,
134854		TransitGatewayAttachmentResourceTypeVpn,
134855		TransitGatewayAttachmentResourceTypeDirectConnectGateway,
134856		TransitGatewayAttachmentResourceTypeConnect,
134857		TransitGatewayAttachmentResourceTypePeering,
134858		TransitGatewayAttachmentResourceTypeTgwPeering,
134859	}
134860}
134861
134862const (
134863	// TransitGatewayAttachmentStateInitiating is a TransitGatewayAttachmentState enum value
134864	TransitGatewayAttachmentStateInitiating = "initiating"
134865
134866	// TransitGatewayAttachmentStateInitiatingRequest is a TransitGatewayAttachmentState enum value
134867	TransitGatewayAttachmentStateInitiatingRequest = "initiatingRequest"
134868
134869	// TransitGatewayAttachmentStatePendingAcceptance is a TransitGatewayAttachmentState enum value
134870	TransitGatewayAttachmentStatePendingAcceptance = "pendingAcceptance"
134871
134872	// TransitGatewayAttachmentStateRollingBack is a TransitGatewayAttachmentState enum value
134873	TransitGatewayAttachmentStateRollingBack = "rollingBack"
134874
134875	// TransitGatewayAttachmentStatePending is a TransitGatewayAttachmentState enum value
134876	TransitGatewayAttachmentStatePending = "pending"
134877
134878	// TransitGatewayAttachmentStateAvailable is a TransitGatewayAttachmentState enum value
134879	TransitGatewayAttachmentStateAvailable = "available"
134880
134881	// TransitGatewayAttachmentStateModifying is a TransitGatewayAttachmentState enum value
134882	TransitGatewayAttachmentStateModifying = "modifying"
134883
134884	// TransitGatewayAttachmentStateDeleting is a TransitGatewayAttachmentState enum value
134885	TransitGatewayAttachmentStateDeleting = "deleting"
134886
134887	// TransitGatewayAttachmentStateDeleted is a TransitGatewayAttachmentState enum value
134888	TransitGatewayAttachmentStateDeleted = "deleted"
134889
134890	// TransitGatewayAttachmentStateFailed is a TransitGatewayAttachmentState enum value
134891	TransitGatewayAttachmentStateFailed = "failed"
134892
134893	// TransitGatewayAttachmentStateRejected is a TransitGatewayAttachmentState enum value
134894	TransitGatewayAttachmentStateRejected = "rejected"
134895
134896	// TransitGatewayAttachmentStateRejecting is a TransitGatewayAttachmentState enum value
134897	TransitGatewayAttachmentStateRejecting = "rejecting"
134898
134899	// TransitGatewayAttachmentStateFailing is a TransitGatewayAttachmentState enum value
134900	TransitGatewayAttachmentStateFailing = "failing"
134901)
134902
134903// TransitGatewayAttachmentState_Values returns all elements of the TransitGatewayAttachmentState enum
134904func TransitGatewayAttachmentState_Values() []string {
134905	return []string{
134906		TransitGatewayAttachmentStateInitiating,
134907		TransitGatewayAttachmentStateInitiatingRequest,
134908		TransitGatewayAttachmentStatePendingAcceptance,
134909		TransitGatewayAttachmentStateRollingBack,
134910		TransitGatewayAttachmentStatePending,
134911		TransitGatewayAttachmentStateAvailable,
134912		TransitGatewayAttachmentStateModifying,
134913		TransitGatewayAttachmentStateDeleting,
134914		TransitGatewayAttachmentStateDeleted,
134915		TransitGatewayAttachmentStateFailed,
134916		TransitGatewayAttachmentStateRejected,
134917		TransitGatewayAttachmentStateRejecting,
134918		TransitGatewayAttachmentStateFailing,
134919	}
134920}
134921
134922const (
134923	// TransitGatewayConnectPeerStatePending is a TransitGatewayConnectPeerState enum value
134924	TransitGatewayConnectPeerStatePending = "pending"
134925
134926	// TransitGatewayConnectPeerStateAvailable is a TransitGatewayConnectPeerState enum value
134927	TransitGatewayConnectPeerStateAvailable = "available"
134928
134929	// TransitGatewayConnectPeerStateDeleting is a TransitGatewayConnectPeerState enum value
134930	TransitGatewayConnectPeerStateDeleting = "deleting"
134931
134932	// TransitGatewayConnectPeerStateDeleted is a TransitGatewayConnectPeerState enum value
134933	TransitGatewayConnectPeerStateDeleted = "deleted"
134934)
134935
134936// TransitGatewayConnectPeerState_Values returns all elements of the TransitGatewayConnectPeerState enum
134937func TransitGatewayConnectPeerState_Values() []string {
134938	return []string{
134939		TransitGatewayConnectPeerStatePending,
134940		TransitGatewayConnectPeerStateAvailable,
134941		TransitGatewayConnectPeerStateDeleting,
134942		TransitGatewayConnectPeerStateDeleted,
134943	}
134944}
134945
134946const (
134947	// TransitGatewayMulitcastDomainAssociationStatePendingAcceptance is a TransitGatewayMulitcastDomainAssociationState enum value
134948	TransitGatewayMulitcastDomainAssociationStatePendingAcceptance = "pendingAcceptance"
134949
134950	// TransitGatewayMulitcastDomainAssociationStateAssociating is a TransitGatewayMulitcastDomainAssociationState enum value
134951	TransitGatewayMulitcastDomainAssociationStateAssociating = "associating"
134952
134953	// TransitGatewayMulitcastDomainAssociationStateAssociated is a TransitGatewayMulitcastDomainAssociationState enum value
134954	TransitGatewayMulitcastDomainAssociationStateAssociated = "associated"
134955
134956	// TransitGatewayMulitcastDomainAssociationStateDisassociating is a TransitGatewayMulitcastDomainAssociationState enum value
134957	TransitGatewayMulitcastDomainAssociationStateDisassociating = "disassociating"
134958
134959	// TransitGatewayMulitcastDomainAssociationStateDisassociated is a TransitGatewayMulitcastDomainAssociationState enum value
134960	TransitGatewayMulitcastDomainAssociationStateDisassociated = "disassociated"
134961
134962	// TransitGatewayMulitcastDomainAssociationStateRejected is a TransitGatewayMulitcastDomainAssociationState enum value
134963	TransitGatewayMulitcastDomainAssociationStateRejected = "rejected"
134964
134965	// TransitGatewayMulitcastDomainAssociationStateFailed is a TransitGatewayMulitcastDomainAssociationState enum value
134966	TransitGatewayMulitcastDomainAssociationStateFailed = "failed"
134967)
134968
134969// TransitGatewayMulitcastDomainAssociationState_Values returns all elements of the TransitGatewayMulitcastDomainAssociationState enum
134970func TransitGatewayMulitcastDomainAssociationState_Values() []string {
134971	return []string{
134972		TransitGatewayMulitcastDomainAssociationStatePendingAcceptance,
134973		TransitGatewayMulitcastDomainAssociationStateAssociating,
134974		TransitGatewayMulitcastDomainAssociationStateAssociated,
134975		TransitGatewayMulitcastDomainAssociationStateDisassociating,
134976		TransitGatewayMulitcastDomainAssociationStateDisassociated,
134977		TransitGatewayMulitcastDomainAssociationStateRejected,
134978		TransitGatewayMulitcastDomainAssociationStateFailed,
134979	}
134980}
134981
134982const (
134983	// TransitGatewayMulticastDomainStatePending is a TransitGatewayMulticastDomainState enum value
134984	TransitGatewayMulticastDomainStatePending = "pending"
134985
134986	// TransitGatewayMulticastDomainStateAvailable is a TransitGatewayMulticastDomainState enum value
134987	TransitGatewayMulticastDomainStateAvailable = "available"
134988
134989	// TransitGatewayMulticastDomainStateDeleting is a TransitGatewayMulticastDomainState enum value
134990	TransitGatewayMulticastDomainStateDeleting = "deleting"
134991
134992	// TransitGatewayMulticastDomainStateDeleted is a TransitGatewayMulticastDomainState enum value
134993	TransitGatewayMulticastDomainStateDeleted = "deleted"
134994)
134995
134996// TransitGatewayMulticastDomainState_Values returns all elements of the TransitGatewayMulticastDomainState enum
134997func TransitGatewayMulticastDomainState_Values() []string {
134998	return []string{
134999		TransitGatewayMulticastDomainStatePending,
135000		TransitGatewayMulticastDomainStateAvailable,
135001		TransitGatewayMulticastDomainStateDeleting,
135002		TransitGatewayMulticastDomainStateDeleted,
135003	}
135004}
135005
135006const (
135007	// TransitGatewayPrefixListReferenceStatePending is a TransitGatewayPrefixListReferenceState enum value
135008	TransitGatewayPrefixListReferenceStatePending = "pending"
135009
135010	// TransitGatewayPrefixListReferenceStateAvailable is a TransitGatewayPrefixListReferenceState enum value
135011	TransitGatewayPrefixListReferenceStateAvailable = "available"
135012
135013	// TransitGatewayPrefixListReferenceStateModifying is a TransitGatewayPrefixListReferenceState enum value
135014	TransitGatewayPrefixListReferenceStateModifying = "modifying"
135015
135016	// TransitGatewayPrefixListReferenceStateDeleting is a TransitGatewayPrefixListReferenceState enum value
135017	TransitGatewayPrefixListReferenceStateDeleting = "deleting"
135018)
135019
135020// TransitGatewayPrefixListReferenceState_Values returns all elements of the TransitGatewayPrefixListReferenceState enum
135021func TransitGatewayPrefixListReferenceState_Values() []string {
135022	return []string{
135023		TransitGatewayPrefixListReferenceStatePending,
135024		TransitGatewayPrefixListReferenceStateAvailable,
135025		TransitGatewayPrefixListReferenceStateModifying,
135026		TransitGatewayPrefixListReferenceStateDeleting,
135027	}
135028}
135029
135030const (
135031	// TransitGatewayPropagationStateEnabling is a TransitGatewayPropagationState enum value
135032	TransitGatewayPropagationStateEnabling = "enabling"
135033
135034	// TransitGatewayPropagationStateEnabled is a TransitGatewayPropagationState enum value
135035	TransitGatewayPropagationStateEnabled = "enabled"
135036
135037	// TransitGatewayPropagationStateDisabling is a TransitGatewayPropagationState enum value
135038	TransitGatewayPropagationStateDisabling = "disabling"
135039
135040	// TransitGatewayPropagationStateDisabled is a TransitGatewayPropagationState enum value
135041	TransitGatewayPropagationStateDisabled = "disabled"
135042)
135043
135044// TransitGatewayPropagationState_Values returns all elements of the TransitGatewayPropagationState enum
135045func TransitGatewayPropagationState_Values() []string {
135046	return []string{
135047		TransitGatewayPropagationStateEnabling,
135048		TransitGatewayPropagationStateEnabled,
135049		TransitGatewayPropagationStateDisabling,
135050		TransitGatewayPropagationStateDisabled,
135051	}
135052}
135053
135054const (
135055	// TransitGatewayRouteStatePending is a TransitGatewayRouteState enum value
135056	TransitGatewayRouteStatePending = "pending"
135057
135058	// TransitGatewayRouteStateActive is a TransitGatewayRouteState enum value
135059	TransitGatewayRouteStateActive = "active"
135060
135061	// TransitGatewayRouteStateBlackhole is a TransitGatewayRouteState enum value
135062	TransitGatewayRouteStateBlackhole = "blackhole"
135063
135064	// TransitGatewayRouteStateDeleting is a TransitGatewayRouteState enum value
135065	TransitGatewayRouteStateDeleting = "deleting"
135066
135067	// TransitGatewayRouteStateDeleted is a TransitGatewayRouteState enum value
135068	TransitGatewayRouteStateDeleted = "deleted"
135069)
135070
135071// TransitGatewayRouteState_Values returns all elements of the TransitGatewayRouteState enum
135072func TransitGatewayRouteState_Values() []string {
135073	return []string{
135074		TransitGatewayRouteStatePending,
135075		TransitGatewayRouteStateActive,
135076		TransitGatewayRouteStateBlackhole,
135077		TransitGatewayRouteStateDeleting,
135078		TransitGatewayRouteStateDeleted,
135079	}
135080}
135081
135082const (
135083	// TransitGatewayRouteTableStatePending is a TransitGatewayRouteTableState enum value
135084	TransitGatewayRouteTableStatePending = "pending"
135085
135086	// TransitGatewayRouteTableStateAvailable is a TransitGatewayRouteTableState enum value
135087	TransitGatewayRouteTableStateAvailable = "available"
135088
135089	// TransitGatewayRouteTableStateDeleting is a TransitGatewayRouteTableState enum value
135090	TransitGatewayRouteTableStateDeleting = "deleting"
135091
135092	// TransitGatewayRouteTableStateDeleted is a TransitGatewayRouteTableState enum value
135093	TransitGatewayRouteTableStateDeleted = "deleted"
135094)
135095
135096// TransitGatewayRouteTableState_Values returns all elements of the TransitGatewayRouteTableState enum
135097func TransitGatewayRouteTableState_Values() []string {
135098	return []string{
135099		TransitGatewayRouteTableStatePending,
135100		TransitGatewayRouteTableStateAvailable,
135101		TransitGatewayRouteTableStateDeleting,
135102		TransitGatewayRouteTableStateDeleted,
135103	}
135104}
135105
135106const (
135107	// TransitGatewayRouteTypeStatic is a TransitGatewayRouteType enum value
135108	TransitGatewayRouteTypeStatic = "static"
135109
135110	// TransitGatewayRouteTypePropagated is a TransitGatewayRouteType enum value
135111	TransitGatewayRouteTypePropagated = "propagated"
135112)
135113
135114// TransitGatewayRouteType_Values returns all elements of the TransitGatewayRouteType enum
135115func TransitGatewayRouteType_Values() []string {
135116	return []string{
135117		TransitGatewayRouteTypeStatic,
135118		TransitGatewayRouteTypePropagated,
135119	}
135120}
135121
135122const (
135123	// TransitGatewayStatePending is a TransitGatewayState enum value
135124	TransitGatewayStatePending = "pending"
135125
135126	// TransitGatewayStateAvailable is a TransitGatewayState enum value
135127	TransitGatewayStateAvailable = "available"
135128
135129	// TransitGatewayStateModifying is a TransitGatewayState enum value
135130	TransitGatewayStateModifying = "modifying"
135131
135132	// TransitGatewayStateDeleting is a TransitGatewayState enum value
135133	TransitGatewayStateDeleting = "deleting"
135134
135135	// TransitGatewayStateDeleted is a TransitGatewayState enum value
135136	TransitGatewayStateDeleted = "deleted"
135137)
135138
135139// TransitGatewayState_Values returns all elements of the TransitGatewayState enum
135140func TransitGatewayState_Values() []string {
135141	return []string{
135142		TransitGatewayStatePending,
135143		TransitGatewayStateAvailable,
135144		TransitGatewayStateModifying,
135145		TransitGatewayStateDeleting,
135146		TransitGatewayStateDeleted,
135147	}
135148}
135149
135150const (
135151	// TransportProtocolTcp is a TransportProtocol enum value
135152	TransportProtocolTcp = "tcp"
135153
135154	// TransportProtocolUdp is a TransportProtocol enum value
135155	TransportProtocolUdp = "udp"
135156)
135157
135158// TransportProtocol_Values returns all elements of the TransportProtocol enum
135159func TransportProtocol_Values() []string {
135160	return []string{
135161		TransportProtocolTcp,
135162		TransportProtocolUdp,
135163	}
135164}
135165
135166const (
135167	// TunnelInsideIpVersionIpv4 is a TunnelInsideIpVersion enum value
135168	TunnelInsideIpVersionIpv4 = "ipv4"
135169
135170	// TunnelInsideIpVersionIpv6 is a TunnelInsideIpVersion enum value
135171	TunnelInsideIpVersionIpv6 = "ipv6"
135172)
135173
135174// TunnelInsideIpVersion_Values returns all elements of the TunnelInsideIpVersion enum
135175func TunnelInsideIpVersion_Values() []string {
135176	return []string{
135177		TunnelInsideIpVersionIpv4,
135178		TunnelInsideIpVersionIpv6,
135179	}
135180}
135181
135182const (
135183	// UnlimitedSupportedInstanceFamilyT2 is a UnlimitedSupportedInstanceFamily enum value
135184	UnlimitedSupportedInstanceFamilyT2 = "t2"
135185
135186	// UnlimitedSupportedInstanceFamilyT3 is a UnlimitedSupportedInstanceFamily enum value
135187	UnlimitedSupportedInstanceFamilyT3 = "t3"
135188
135189	// UnlimitedSupportedInstanceFamilyT3a is a UnlimitedSupportedInstanceFamily enum value
135190	UnlimitedSupportedInstanceFamilyT3a = "t3a"
135191
135192	// UnlimitedSupportedInstanceFamilyT4g is a UnlimitedSupportedInstanceFamily enum value
135193	UnlimitedSupportedInstanceFamilyT4g = "t4g"
135194)
135195
135196// UnlimitedSupportedInstanceFamily_Values returns all elements of the UnlimitedSupportedInstanceFamily enum
135197func UnlimitedSupportedInstanceFamily_Values() []string {
135198	return []string{
135199		UnlimitedSupportedInstanceFamilyT2,
135200		UnlimitedSupportedInstanceFamilyT3,
135201		UnlimitedSupportedInstanceFamilyT3a,
135202		UnlimitedSupportedInstanceFamilyT4g,
135203	}
135204}
135205
135206const (
135207	// UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
135208	UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed = "InvalidInstanceID.Malformed"
135209
135210	// UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdNotFound is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
135211	UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdNotFound = "InvalidInstanceID.NotFound"
135212
135213	// UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
135214	UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState = "IncorrectInstanceState"
135215
135216	// UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
135217	UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported = "InstanceCreditSpecification.NotSupported"
135218)
135219
135220// UnsuccessfulInstanceCreditSpecificationErrorCode_Values returns all elements of the UnsuccessfulInstanceCreditSpecificationErrorCode enum
135221func UnsuccessfulInstanceCreditSpecificationErrorCode_Values() []string {
135222	return []string{
135223		UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed,
135224		UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdNotFound,
135225		UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState,
135226		UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported,
135227	}
135228}
135229
135230const (
135231	// UsageClassTypeSpot is a UsageClassType enum value
135232	UsageClassTypeSpot = "spot"
135233
135234	// UsageClassTypeOnDemand is a UsageClassType enum value
135235	UsageClassTypeOnDemand = "on-demand"
135236)
135237
135238// UsageClassType_Values returns all elements of the UsageClassType enum
135239func UsageClassType_Values() []string {
135240	return []string{
135241		UsageClassTypeSpot,
135242		UsageClassTypeOnDemand,
135243	}
135244}
135245
135246const (
135247	// VirtualizationTypeHvm is a VirtualizationType enum value
135248	VirtualizationTypeHvm = "hvm"
135249
135250	// VirtualizationTypeParavirtual is a VirtualizationType enum value
135251	VirtualizationTypeParavirtual = "paravirtual"
135252)
135253
135254// VirtualizationType_Values returns all elements of the VirtualizationType enum
135255func VirtualizationType_Values() []string {
135256	return []string{
135257		VirtualizationTypeHvm,
135258		VirtualizationTypeParavirtual,
135259	}
135260}
135261
135262const (
135263	// VolumeAttachmentStateAttaching is a VolumeAttachmentState enum value
135264	VolumeAttachmentStateAttaching = "attaching"
135265
135266	// VolumeAttachmentStateAttached is a VolumeAttachmentState enum value
135267	VolumeAttachmentStateAttached = "attached"
135268
135269	// VolumeAttachmentStateDetaching is a VolumeAttachmentState enum value
135270	VolumeAttachmentStateDetaching = "detaching"
135271
135272	// VolumeAttachmentStateDetached is a VolumeAttachmentState enum value
135273	VolumeAttachmentStateDetached = "detached"
135274
135275	// VolumeAttachmentStateBusy is a VolumeAttachmentState enum value
135276	VolumeAttachmentStateBusy = "busy"
135277)
135278
135279// VolumeAttachmentState_Values returns all elements of the VolumeAttachmentState enum
135280func VolumeAttachmentState_Values() []string {
135281	return []string{
135282		VolumeAttachmentStateAttaching,
135283		VolumeAttachmentStateAttached,
135284		VolumeAttachmentStateDetaching,
135285		VolumeAttachmentStateDetached,
135286		VolumeAttachmentStateBusy,
135287	}
135288}
135289
135290const (
135291	// VolumeAttributeNameAutoEnableIo is a VolumeAttributeName enum value
135292	VolumeAttributeNameAutoEnableIo = "autoEnableIO"
135293
135294	// VolumeAttributeNameProductCodes is a VolumeAttributeName enum value
135295	VolumeAttributeNameProductCodes = "productCodes"
135296)
135297
135298// VolumeAttributeName_Values returns all elements of the VolumeAttributeName enum
135299func VolumeAttributeName_Values() []string {
135300	return []string{
135301		VolumeAttributeNameAutoEnableIo,
135302		VolumeAttributeNameProductCodes,
135303	}
135304}
135305
135306const (
135307	// VolumeModificationStateModifying is a VolumeModificationState enum value
135308	VolumeModificationStateModifying = "modifying"
135309
135310	// VolumeModificationStateOptimizing is a VolumeModificationState enum value
135311	VolumeModificationStateOptimizing = "optimizing"
135312
135313	// VolumeModificationStateCompleted is a VolumeModificationState enum value
135314	VolumeModificationStateCompleted = "completed"
135315
135316	// VolumeModificationStateFailed is a VolumeModificationState enum value
135317	VolumeModificationStateFailed = "failed"
135318)
135319
135320// VolumeModificationState_Values returns all elements of the VolumeModificationState enum
135321func VolumeModificationState_Values() []string {
135322	return []string{
135323		VolumeModificationStateModifying,
135324		VolumeModificationStateOptimizing,
135325		VolumeModificationStateCompleted,
135326		VolumeModificationStateFailed,
135327	}
135328}
135329
135330const (
135331	// VolumeStateCreating is a VolumeState enum value
135332	VolumeStateCreating = "creating"
135333
135334	// VolumeStateAvailable is a VolumeState enum value
135335	VolumeStateAvailable = "available"
135336
135337	// VolumeStateInUse is a VolumeState enum value
135338	VolumeStateInUse = "in-use"
135339
135340	// VolumeStateDeleting is a VolumeState enum value
135341	VolumeStateDeleting = "deleting"
135342
135343	// VolumeStateDeleted is a VolumeState enum value
135344	VolumeStateDeleted = "deleted"
135345
135346	// VolumeStateError is a VolumeState enum value
135347	VolumeStateError = "error"
135348)
135349
135350// VolumeState_Values returns all elements of the VolumeState enum
135351func VolumeState_Values() []string {
135352	return []string{
135353		VolumeStateCreating,
135354		VolumeStateAvailable,
135355		VolumeStateInUse,
135356		VolumeStateDeleting,
135357		VolumeStateDeleted,
135358		VolumeStateError,
135359	}
135360}
135361
135362const (
135363	// VolumeStatusInfoStatusOk is a VolumeStatusInfoStatus enum value
135364	VolumeStatusInfoStatusOk = "ok"
135365
135366	// VolumeStatusInfoStatusImpaired is a VolumeStatusInfoStatus enum value
135367	VolumeStatusInfoStatusImpaired = "impaired"
135368
135369	// VolumeStatusInfoStatusInsufficientData is a VolumeStatusInfoStatus enum value
135370	VolumeStatusInfoStatusInsufficientData = "insufficient-data"
135371)
135372
135373// VolumeStatusInfoStatus_Values returns all elements of the VolumeStatusInfoStatus enum
135374func VolumeStatusInfoStatus_Values() []string {
135375	return []string{
135376		VolumeStatusInfoStatusOk,
135377		VolumeStatusInfoStatusImpaired,
135378		VolumeStatusInfoStatusInsufficientData,
135379	}
135380}
135381
135382const (
135383	// VolumeStatusNameIoEnabled is a VolumeStatusName enum value
135384	VolumeStatusNameIoEnabled = "io-enabled"
135385
135386	// VolumeStatusNameIoPerformance is a VolumeStatusName enum value
135387	VolumeStatusNameIoPerformance = "io-performance"
135388)
135389
135390// VolumeStatusName_Values returns all elements of the VolumeStatusName enum
135391func VolumeStatusName_Values() []string {
135392	return []string{
135393		VolumeStatusNameIoEnabled,
135394		VolumeStatusNameIoPerformance,
135395	}
135396}
135397
135398const (
135399	// VolumeTypeStandard is a VolumeType enum value
135400	VolumeTypeStandard = "standard"
135401
135402	// VolumeTypeIo1 is a VolumeType enum value
135403	VolumeTypeIo1 = "io1"
135404
135405	// VolumeTypeIo2 is a VolumeType enum value
135406	VolumeTypeIo2 = "io2"
135407
135408	// VolumeTypeGp2 is a VolumeType enum value
135409	VolumeTypeGp2 = "gp2"
135410
135411	// VolumeTypeSc1 is a VolumeType enum value
135412	VolumeTypeSc1 = "sc1"
135413
135414	// VolumeTypeSt1 is a VolumeType enum value
135415	VolumeTypeSt1 = "st1"
135416
135417	// VolumeTypeGp3 is a VolumeType enum value
135418	VolumeTypeGp3 = "gp3"
135419)
135420
135421// VolumeType_Values returns all elements of the VolumeType enum
135422func VolumeType_Values() []string {
135423	return []string{
135424		VolumeTypeStandard,
135425		VolumeTypeIo1,
135426		VolumeTypeIo2,
135427		VolumeTypeGp2,
135428		VolumeTypeSc1,
135429		VolumeTypeSt1,
135430		VolumeTypeGp3,
135431	}
135432}
135433
135434const (
135435	// VpcAttributeNameEnableDnsSupport is a VpcAttributeName enum value
135436	VpcAttributeNameEnableDnsSupport = "enableDnsSupport"
135437
135438	// VpcAttributeNameEnableDnsHostnames is a VpcAttributeName enum value
135439	VpcAttributeNameEnableDnsHostnames = "enableDnsHostnames"
135440)
135441
135442// VpcAttributeName_Values returns all elements of the VpcAttributeName enum
135443func VpcAttributeName_Values() []string {
135444	return []string{
135445		VpcAttributeNameEnableDnsSupport,
135446		VpcAttributeNameEnableDnsHostnames,
135447	}
135448}
135449
135450const (
135451	// VpcCidrBlockStateCodeAssociating is a VpcCidrBlockStateCode enum value
135452	VpcCidrBlockStateCodeAssociating = "associating"
135453
135454	// VpcCidrBlockStateCodeAssociated is a VpcCidrBlockStateCode enum value
135455	VpcCidrBlockStateCodeAssociated = "associated"
135456
135457	// VpcCidrBlockStateCodeDisassociating is a VpcCidrBlockStateCode enum value
135458	VpcCidrBlockStateCodeDisassociating = "disassociating"
135459
135460	// VpcCidrBlockStateCodeDisassociated is a VpcCidrBlockStateCode enum value
135461	VpcCidrBlockStateCodeDisassociated = "disassociated"
135462
135463	// VpcCidrBlockStateCodeFailing is a VpcCidrBlockStateCode enum value
135464	VpcCidrBlockStateCodeFailing = "failing"
135465
135466	// VpcCidrBlockStateCodeFailed is a VpcCidrBlockStateCode enum value
135467	VpcCidrBlockStateCodeFailed = "failed"
135468)
135469
135470// VpcCidrBlockStateCode_Values returns all elements of the VpcCidrBlockStateCode enum
135471func VpcCidrBlockStateCode_Values() []string {
135472	return []string{
135473		VpcCidrBlockStateCodeAssociating,
135474		VpcCidrBlockStateCodeAssociated,
135475		VpcCidrBlockStateCodeDisassociating,
135476		VpcCidrBlockStateCodeDisassociated,
135477		VpcCidrBlockStateCodeFailing,
135478		VpcCidrBlockStateCodeFailed,
135479	}
135480}
135481
135482const (
135483	// VpcEndpointTypeInterface is a VpcEndpointType enum value
135484	VpcEndpointTypeInterface = "Interface"
135485
135486	// VpcEndpointTypeGateway is a VpcEndpointType enum value
135487	VpcEndpointTypeGateway = "Gateway"
135488
135489	// VpcEndpointTypeGatewayLoadBalancer is a VpcEndpointType enum value
135490	VpcEndpointTypeGatewayLoadBalancer = "GatewayLoadBalancer"
135491)
135492
135493// VpcEndpointType_Values returns all elements of the VpcEndpointType enum
135494func VpcEndpointType_Values() []string {
135495	return []string{
135496		VpcEndpointTypeInterface,
135497		VpcEndpointTypeGateway,
135498		VpcEndpointTypeGatewayLoadBalancer,
135499	}
135500}
135501
135502const (
135503	// VpcPeeringConnectionStateReasonCodeInitiatingRequest is a VpcPeeringConnectionStateReasonCode enum value
135504	VpcPeeringConnectionStateReasonCodeInitiatingRequest = "initiating-request"
135505
135506	// VpcPeeringConnectionStateReasonCodePendingAcceptance is a VpcPeeringConnectionStateReasonCode enum value
135507	VpcPeeringConnectionStateReasonCodePendingAcceptance = "pending-acceptance"
135508
135509	// VpcPeeringConnectionStateReasonCodeActive is a VpcPeeringConnectionStateReasonCode enum value
135510	VpcPeeringConnectionStateReasonCodeActive = "active"
135511
135512	// VpcPeeringConnectionStateReasonCodeDeleted is a VpcPeeringConnectionStateReasonCode enum value
135513	VpcPeeringConnectionStateReasonCodeDeleted = "deleted"
135514
135515	// VpcPeeringConnectionStateReasonCodeRejected is a VpcPeeringConnectionStateReasonCode enum value
135516	VpcPeeringConnectionStateReasonCodeRejected = "rejected"
135517
135518	// VpcPeeringConnectionStateReasonCodeFailed is a VpcPeeringConnectionStateReasonCode enum value
135519	VpcPeeringConnectionStateReasonCodeFailed = "failed"
135520
135521	// VpcPeeringConnectionStateReasonCodeExpired is a VpcPeeringConnectionStateReasonCode enum value
135522	VpcPeeringConnectionStateReasonCodeExpired = "expired"
135523
135524	// VpcPeeringConnectionStateReasonCodeProvisioning is a VpcPeeringConnectionStateReasonCode enum value
135525	VpcPeeringConnectionStateReasonCodeProvisioning = "provisioning"
135526
135527	// VpcPeeringConnectionStateReasonCodeDeleting is a VpcPeeringConnectionStateReasonCode enum value
135528	VpcPeeringConnectionStateReasonCodeDeleting = "deleting"
135529)
135530
135531// VpcPeeringConnectionStateReasonCode_Values returns all elements of the VpcPeeringConnectionStateReasonCode enum
135532func VpcPeeringConnectionStateReasonCode_Values() []string {
135533	return []string{
135534		VpcPeeringConnectionStateReasonCodeInitiatingRequest,
135535		VpcPeeringConnectionStateReasonCodePendingAcceptance,
135536		VpcPeeringConnectionStateReasonCodeActive,
135537		VpcPeeringConnectionStateReasonCodeDeleted,
135538		VpcPeeringConnectionStateReasonCodeRejected,
135539		VpcPeeringConnectionStateReasonCodeFailed,
135540		VpcPeeringConnectionStateReasonCodeExpired,
135541		VpcPeeringConnectionStateReasonCodeProvisioning,
135542		VpcPeeringConnectionStateReasonCodeDeleting,
135543	}
135544}
135545
135546const (
135547	// VpcStatePending is a VpcState enum value
135548	VpcStatePending = "pending"
135549
135550	// VpcStateAvailable is a VpcState enum value
135551	VpcStateAvailable = "available"
135552)
135553
135554// VpcState_Values returns all elements of the VpcState enum
135555func VpcState_Values() []string {
135556	return []string{
135557		VpcStatePending,
135558		VpcStateAvailable,
135559	}
135560}
135561
135562const (
135563	// VpcTenancyDefault is a VpcTenancy enum value
135564	VpcTenancyDefault = "default"
135565)
135566
135567// VpcTenancy_Values returns all elements of the VpcTenancy enum
135568func VpcTenancy_Values() []string {
135569	return []string{
135570		VpcTenancyDefault,
135571	}
135572}
135573
135574const (
135575	// VpnEcmpSupportValueEnable is a VpnEcmpSupportValue enum value
135576	VpnEcmpSupportValueEnable = "enable"
135577
135578	// VpnEcmpSupportValueDisable is a VpnEcmpSupportValue enum value
135579	VpnEcmpSupportValueDisable = "disable"
135580)
135581
135582// VpnEcmpSupportValue_Values returns all elements of the VpnEcmpSupportValue enum
135583func VpnEcmpSupportValue_Values() []string {
135584	return []string{
135585		VpnEcmpSupportValueEnable,
135586		VpnEcmpSupportValueDisable,
135587	}
135588}
135589
135590const (
135591	// VpnProtocolOpenvpn is a VpnProtocol enum value
135592	VpnProtocolOpenvpn = "openvpn"
135593)
135594
135595// VpnProtocol_Values returns all elements of the VpnProtocol enum
135596func VpnProtocol_Values() []string {
135597	return []string{
135598		VpnProtocolOpenvpn,
135599	}
135600}
135601
135602const (
135603	// VpnStatePending is a VpnState enum value
135604	VpnStatePending = "pending"
135605
135606	// VpnStateAvailable is a VpnState enum value
135607	VpnStateAvailable = "available"
135608
135609	// VpnStateDeleting is a VpnState enum value
135610	VpnStateDeleting = "deleting"
135611
135612	// VpnStateDeleted is a VpnState enum value
135613	VpnStateDeleted = "deleted"
135614)
135615
135616// VpnState_Values returns all elements of the VpnState enum
135617func VpnState_Values() []string {
135618	return []string{
135619		VpnStatePending,
135620		VpnStateAvailable,
135621		VpnStateDeleting,
135622		VpnStateDeleted,
135623	}
135624}
135625
135626const (
135627	// VpnStaticRouteSourceStatic is a VpnStaticRouteSource enum value
135628	VpnStaticRouteSourceStatic = "Static"
135629)
135630
135631// VpnStaticRouteSource_Values returns all elements of the VpnStaticRouteSource enum
135632func VpnStaticRouteSource_Values() []string {
135633	return []string{
135634		VpnStaticRouteSourceStatic,
135635	}
135636}
135637
135638const (
135639	// WeekDaySunday is a WeekDay enum value
135640	WeekDaySunday = "sunday"
135641
135642	// WeekDayMonday is a WeekDay enum value
135643	WeekDayMonday = "monday"
135644
135645	// WeekDayTuesday is a WeekDay enum value
135646	WeekDayTuesday = "tuesday"
135647
135648	// WeekDayWednesday is a WeekDay enum value
135649	WeekDayWednesday = "wednesday"
135650
135651	// WeekDayThursday is a WeekDay enum value
135652	WeekDayThursday = "thursday"
135653
135654	// WeekDayFriday is a WeekDay enum value
135655	WeekDayFriday = "friday"
135656
135657	// WeekDaySaturday is a WeekDay enum value
135658	WeekDaySaturday = "saturday"
135659)
135660
135661// WeekDay_Values returns all elements of the WeekDay enum
135662func WeekDay_Values() []string {
135663	return []string{
135664		WeekDaySunday,
135665		WeekDayMonday,
135666		WeekDayTuesday,
135667		WeekDayWednesday,
135668		WeekDayThursday,
135669		WeekDayFriday,
135670		WeekDaySaturday,
135671	}
135672}
135673